scene.org File Archive

File download

<root>­/­resources­/­tools­/­snes/fasm.lha

File size:
12 992 bytes (12.69K)
File date:
2021-10-29 05:45:02
Download count:
all-time: 678

Preview

  • ARexx\RX 968B
  • ARexx\save_exe.ced 659B
  • FAsm 13.00K
  • FAsm.DOCS 6.74K
  • FAsm.History 1.43K
  • PACK.README 406B
  • S\65816_CED_ASM.script 47B
  • S\65816_CED_DEL.script 20B
  • S\ceddefaults 640B
  • S\RexxCommands 804B
  • S\Startup-Sequence 75B
  • SNES_Sources\Example.SFS 224B

file_id.diz

*****************************************************************************
***                                 The                                   ***
**                     H A L F - B R A I N S   T E A M                     **
**                                presents                                 **
**                                                                         **
**                   S U P E R   F A S M I C O M   v0.52                   **
**                       (Amiga -> SNES X-Assembler)                       **
**                                                                         **
***                    Program written by:  Mr.MADNESS                    ***
*****************************************************************************


 - INTRODUCTION

The FAsm is a special tool for all SNES programmers, which allows you to
assemble 65816 sources written with your favourite Text Editor [See section
'CED Linking']. The FAsm produces a Super Magicom executable file which can
be sent to the Super Magicom through the Parallel Port or loaded from the
Magicom Drive (MS-DOS Format).



 - SOURCE FORMAT

The FAsm requires a strictly formatted kind of source; an usual FAsm source
line looks like this:

Field1  Field2  Field3
<--20-->	<3>	<--n-->	<--n-->
Label   	Ins	Operand	;Comment

Spaces are not allowed but in the comment, you must use TABs to separate
fields:
[Label] <TAB> [Ins] <TAB> [Operand] [Comment]

This is an example of a valid source:

* Example source *
	size	1
	sei
	rep	#$30
	lda	#$ff ; Repeat loop 255 times.
Loop:	dec	a
	bne	Loop
	rts

The assembler is not case sensitive.



 - OPERAND FORMAT

You can use either numbers or symbols in the operands, you can also force
their size to bytes, words or twentyfour bits just suffixing ".b" ".w" ".t"
to the number or symbol or let FAsm choose for you (See Special Assembler
Directives section).
You can insert numbers in hexadecimal (using the '$' character before the
number) or decimal format (just typing them as they are). This beta release
doesn't support Binary nor Octal formats nor expressions.



 - SPECIAL ASSEMBLER DIRECTIVES

This version of FAsm just implements the following directives:

 - size <banks>                  : This directive must be at the beginning of
                                   each source. This allows you to select the
                                   size of the DataFile. The operand is the
                                   number of 32Kb banks you want to create.

 - org <address>                 : Allows you to assemble what follows from a
                                   specific Famicom memory address.
                                   The FAsm simulates the Famicom Memory Map
                                   so that you can only originate code in the
                                   highest 32Kb of any Bank. That means that
                                   the lower 16bits of the  address must be
                                   greater than $8000.

 - dc.b <number> [,number ....]  : This is used to enter either bytes and
                                   strings in memory.

 - dc.w <number> [,number ....]  : This allows you to insert words in memory
                                   in the 65816 format (LO-HI).

 - dc.t <number> [,number ....]  : The same with twentyfourbits.

 - dc.l <number> [,number ....]  : The same with longwords.

 - blk.b <size>,<byte>           : Fill <size> bytes of memory with the
                                   <byte> value.

 - blk.w <size>,<word>           : The same with words.

 - blk.l <size>,<longword>       : The same with longwords.

 - accu [8|16]                   : Forces the accumulator size to 8 or 16
                                   bits (Default is 8).

 - index [8|16]                  : Forces the index (x,y) size to 8 or 16
                                   bits (Default is 8).

 - equ <address>                 : This sets the previous label value to
                                   the specified address.

 - CED LINKING

If you've got a Cygnus Editor and the ARexx facility, you can directly assemble
the program you are editing just pressing a function key. The FAsm will grab
from the CEd buffer the source to assemble. This pack also includes an ARexx
script which runs the FAsm and if an error occurs a requester will pop up on
the CED screen showing the error name and the cursor will be positioned on the
incriminated line.

We suggest you to install the Save_EXE.CED file in your REXX: directory.
To install the AREXX command in the CED, you just have to go in the menu and
select 'Special -> Dos/ARexx interface -> Install Dos/ARexx command...' and
enter the command "rexx:rx rexx:save_exe.ced".

*** NOTE : THE 'SAVE_EXE.CED' SCRIPT IS CHANGED IN THIS VERSION. YOU CAN'T
           USE THE PREVIOUS ONE ANYMORE.


 - HOW TO REACH US

If you want to get in touch with us for bugs reporting (We think there will
be many of 'em), suggestions, swapping SNES Infos or just to meet some
friends drop us a mail on:


     ____________/\_______ __  ---/\ _________ ____
  ---\ __  _/\__/ /____/ // //\ -/ // /_  _  //_  /
   -- \// //  \/ / ____\/ \//  \/ / \/ / / \/_ / /   Amiga  3000T
   -   / // /\  / / __/ /\ / /\  //\  / / / _/ \/    1.8 GByte HD
 -- /\/ // / / / / /   / // / / // / / / / /_/\_  4 Nodes (5th private)
-- /_____//  \/  \/  --\// /  \/ \/  \/  \_____/
      --\/[SP]        -- \/_______   ____ ______       --/\      _____
                        -- \__/\_ \/\\__ \\____/\ /\  /\/  \   /\\_  /
1200 to 16800 HST-DS     --- / / \ \/__/ /___ / //  \/   /\ \ / /__\/
  Programmers BBS         - / /  / // __// _/ \// /\ \/\/  \ \\/__ \
  ~~~~~~~~~~~~~~~       -- / /__/ / \ \_/ /_/\ / /_/\ \_____\ \__/ /
    Sysop:SHARK          - \/____/   \__\_____\\____/\_______\/___/
                             __ __     __     __ ___ __
            (__|   |   ||\ |(_ (__    (__ \_/(__  | (_  |\/|
               |   |__ || \|(__ __)    __) /  __) | (__ |  |
          ___     ___       __   __  ___       __    ____ __  ___   _
     /__//__//   /__  ___  / _) /__)/__///\  /(_      /  /_  /__//\//
    /  //  //__ /         /___)/  \/  ///  \/___)    /  /__ /  //  /
       ___ __      _         __ ___ _   ___     ___ __  ____ __ __  __
 /   //  //__)/   / \   /__//_ /__// \ /  //  //__//__)  /  /_ /__)(_
/_/\//__//  \/__ /__/  /  //__/  //__//__X(__//  //  \  /  /__/  \___)

                  +39-2-58105803 : 4 Nodes Roll Over

               Running /X v3.0 (BETA).  16 Conferences:

AMIGA / PC / SNES / GAMEBOY / MEGADRIVE / GAME GEAR / MACHINTOSH / C=64
                 ASSEMBLER / C / REXX / MUSIC / IMAGES

            <+> THE SNES CODERS CONFERENCE  IS NOW OPEN <+>


                                                           Signed:

                                                   Mr.MADNESS & DDT & SHARK