A Tiny Little Symass Doc File

In most ways, this unofficial version of Symass (let's call it 3.9) is just
like Brad Templeton's (commercial) assembler Pal, so if you know Pal, you're
laughing. If you don't know Pal, here's a few things you should know, along
with some points particular to Symass. If you have questions, address them
to Karl Hildon (76703,4242) or Nick Sullivan (76703,4353) on CompuServe's
CBMPRG Forum.

1) Unlike Pal, Symass was written by Robert Huehn, with additional features
by Tim Buist. The program is copyright by Transactor Publishing Inc., and
may be freely redistributed but not sold commercially. If you want to include
it in your user group library, that's okay, but you should really wait for
the official version 4.0 release, coming soon on a Transactor disk, with
a few bug fixes and some further enhancements.

2) Known bugs in this version

  a) the stack is not restored properly after assembly. This is not a major
  problem, but if it bothers you, do a CLR in direct mode to clean the stack.
  
  b) the .byte and .word pseudo-ops work properly only if there are no
  embedded spaces in the data. Thus:
  
     .byte $57,$4f,$52,$4b,$53      ;works
     
     .byte $46, $41, $49, $4c, $53  ;fails
     
3) To start this version of Symass, load "boot",8 and run. The assembler
must be on the disk in device 8, drive 0, under the name Symass3.9. It loads
under the Basic ROM at $A000, consuming about 5K. A short interface routine
is located at address 700, where it is put by the boot program.

4) Write your source as a Basic program file with SYS 700 at the start of
your 6502 code, and .END at the end. Specify the start address with a line
like:

     110 *= $c000
     
5) The .OPT pseudo-op specifies output options. The main one is .OPT OO,
which means to assemble to memory at the specified address. You can also
specify assembly to disk with .OPT #, where # is a logical file you opened
in a line before the SYS 700, like this:

     100 OPEN 2,8,2,"0:MUTANT FEET,P,W"
     110 SYS 700
     120 .OPT O2
     130 *= $1000
     
Symass closes the file for you after assembly - you don't have to do it
yourself.
     
6) Set up equates using the equals sign, not EQU or whatever. Like this:

     150 CHROUT = $FFD2
     160 SKIDOO = $23
     
7) Many of Pal's more rococo features are not supported by Symass, e.g.
the relocating object option, the .BAS and .FILE pseudo-ops and division in
expressions. At least .FILE will probably be added for the next version.


Nick Sullivan
Transactor
READING FILE FROM IMAGE