!pr0
!lm12
!rm75
S-C Macro Assembler Version 1.1

A new version of the S-C Macro Assembler is just about ready, and it's going to be great!

I have added many new features, corrected a few problems, and created a special version to take advantage of the extra features of the new Apple //e computer.  Here's a summary of the new items, so far:

!lm+4
!pp-4
New or Extended Features:

1.  80-column support!  The release disk will now include versions for the Videx, STB, and maybe other 80-column cards.

2.  The .HS directive now allows optional "." characters before and after each pair of hex digits.  (e.g., .HS ..12..34..AB)  This makes for easier counting of bytes, and allows you to put meaningful comments above or below the .HS lines.

3.  .DO--.FIN can now be nested to 63 levels, rather than just 8 levels.

4.  Comment lines may now begin with either "*" or ";".

5.  Added .SE directive, which allows re-definable symbols.  Now a macro can tell how many times it has been called.

6.  Binary constants are now supported.  The syntax is "%11000011101" (up to 16 bits).

7.  ASCII literals with the high-bit set are now allowed, and are signified with the quotation mark:  LDA #"X generates A9 D8.  Note that a trailing "-mark is optional, just as is a trailing apostrophe with previous ASCII literals.

8.  The TEXT/ <filename> command now outputs the current TAB character (default ctrl-I).  It used to put out control-I no matter what the current TAB character was.

9.  Now allow USER parameters to override memory protection.  $101C-101D contains lower bound, and $101E-101F contains the upper bound of an area the user wants to UN-PROTECT.  (The parameter for the starting page of the symbol table has moved from $101D to $1021, or $D01D to $D021.)

10. Added .PH and .EP directives, to start and end a phase.  With these directives you can assemble a section of code that is intended to be moved and run somewhere else, without having to create a separate Target File.

11. Added .DUMMY and .ED to start and end a dummy section.

12. The TAB character may now be set to any character, including non-control characters, if you so desire.

!pr1
Fixes to Known Problems:

1.  .TI now properly spaces at top of each page, and at beginning of symbol table.

2.  .AS and .AT now assemble lower case properly.

3.  Changed the way the relative branches are assembled, so that "*" is equal to the location of the opcode byte.  It used to be the location offset byte, which was non-standard.

4.  Now pass two errors emit the proper number of object bytes, so that false range errors are not indicated.

Features added in support of Apple //e:

1.  The Apple //e version allows you to change between 80- and 40- column screens at will, using PR#3 to go to 80-columns, or ESC-^Q to go to 40-columns.

2.  In both normal input and edit modes, the DELETE key acts like a backspace key.  It is interpreted the same as a left arrow (^H).
!lm-4
!pp0

I haven't made up my mind yet about a new price, how we'll handle the upgrades, or how much the charge will be.  We'll have the final details in next month's AAL.
