***************************************************************************** *** 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] [Ins] [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 : 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
: 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 ....] : This is used to enter either bytes and strings in memory. - dc.w [,number ....] : This allows you to insert words in memory in the 65816 format (LO-HI). - dc.t [,number ....] : The same with twentyfourbits. - dc.l [,number ....] : The same with longwords. - blk.b , : Fill bytes of memory with the value. - blk.w , : The same with words. - blk.l , : 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
: 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 .