SOURCGEN Re-assembler for Atari 800 XL

ATARI HOME
Introduction
Definitions
Disk Contents
Starting SOURCGEN
Symbol-Table & Editor
Generating Source Code
- from an SMB file
- for the ATARI OS
Creating SMB files
The Function Keys
The Functions A - U
A. ADDR/symb search
B. BYTE-change
C. CODE-search
D. DELETE symbols
E. EDIT
F. FILE
G. GO
H. HEAD
I. INDEX
J. JUNK?
K. KEY (0..9)
L. LIST symbols
M. MINIMUM-label
N. NEW
O. OBTAIN symbols
P. PREPARE labels
Q. QUIT (1)
R. RE-ADDRESS
S. SAVE symbols
T. TRACE
U. UTILITY (V. 3.2)
The Fram-disk
Output Menu
Error Messages
Reference card
New in V.3.2

U. UTILITY ( V. 3.2 )

1. Command Chains

/;<COMMANDCHAIN>

The command chain will be executed by hitting <RETURN> and can be repeated at any time by hitting <@> (<SHIFT-8>).

E.g. Entering /;FD:FRAMDISK^OD:FRAMDISK^P540^H540 6FE/F: will do the following:

The file "FRAMDISK" is opened.
The corresponding symbol file is loaded into memory.
SOURCGEN prepares the labels.
The source code is written into the Fram-disk.

The character "^" is interpreted by SOURCGEN as "<RETURN>".

Command chains can easily be entered into the symbol table and then saved as an SMB file. You can use the addresses $100 to $1FF for this. Since the 6502 stack is located in this address area, it is unlikely that there will be any normal symbol entries there.
Using a symbol, you can name the command chain. The actual command chain begins after the ';'.
To execute a command chain that is stored in the symboltable:

- Use the A or L function to list the command chain on the screen.
- Hit <U>.
- Move the cursor to the line of the command chain.
- Hit <RETURN> to execute the command chain.
- Hit <@> (<SHIFT-8>) to re-execute the command chain.

You might wish to save all your command chains to the AUTOLOAD.SMB file so that they will always be accessible immediately after loading SOURCGEN.

2. Using the Fram-disk

[<SIZE>]/[FILENAME]

Type the name of a disk file and hit <RETURN>. The file will now be copied into the Fram-disk.

By entering a value for <SIZE>, you determine the number of double-density sectors in the ram-disk . (A sector comprises 253 ($FD) Bytes.)
Entering a value less than $39 or entering nothing at all will cause the size of the ram-disk to be $38. This corresponds exactly to the free memory under the operating system (from $C000) and suffices for a file with 113 ($71) single density sectors. (A single density sectors has 125 ($7D) bytes.)
E.g. To load the program TURBO-BASIC (that's 145 ($91) sectors on disk) initialize the Fram-disk with $48.
(By the way: Turbo-Basic will not run with the Fram-disk because it, too, uses the free RAM under the operating system.)

If no file name is entered the last file opened using F. FILE will be loaded into the Fram-disk.

When a file is loaded, the start address of the ram-disk is displayed. $BC00 to $C000 remain unused since this is usually the location of the Display List and the screen RAM.

If you simply want to set the size of the ram-disk without loading a file, just enter <SIZE> followed by the character "/".
Do this when you are creating a large source code listing that you wish to assemble with ATMAS-II. Use the H. HEAD function of SOURCGEN to write the source code directly to the Fram-disk . Then quit to DOS, load ATMAS-II, and from there type "<ESC>RF:<ESC><ESC>" to load the source code into ATMAS-II.