*****************************************************************************
*** 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