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

F. FILE

When reading a disk-file, SOURCGEN assumes that the next sector is also the next physical sector on the disk. Therefore, when you wish to create a source-code listing of a disk-file, it may be advisable to first copy the file onto a freshly formatted empty (or almost empty) disk.
Remember, for instance, that there are sectors in the middle of the disk that are reserved for the directory. Also, if files have been erased from the disk at some time, the freed sectors may cause problems. In this case SOURCGEN will give you an approriate error-message.
This small inconvenience was unavoidable in guaranteeing the shortest time for SOURCGEN to access an address in a file.

1. D<x>:<FILENAME>[.<EXT>] 

opens a disk-file (load-file only) and shows the address-range of each of its segments. e.g.

Segment 1: 3000 to 30E6
Segment 2: 2E0  to 2E3
Segment 3: 1F00 to 20A8
Segment 4: 20A9 to 2800>
Segment 5: 2900 to 3200
END OF FILE

The ">" at the end of line 4 indicates that segment 4 is a direct continuation of segment 3.

2. <SEGMENT> [/D<x>:<FILENAME>.<EXT>]


The table is displayed only down to <SEGMENT>.
Hitting <RETURN> will then give you the listing beginning at <SEGMENT>.
This function is necessary because sometimes the address from which you wish to begin listing is
present in more than one segment. When you list from <ADR>, (see G. GO), SOURCGEN will first look for <ADR> in the present segment. If <ADR> is not found there, then SOURCGEN will go to the
beginning of the file and seek through the segments one after the other.

3. FF

Entering FF closes the file. SOURCGEN will now read directly from RAM.
<F> followed by /<RETURN> will reopen the file.

4. <NUM> <ADR1> [<ADR2>]/D<x>:<FILENAME>.<EXT> (V.3.2)

Any disk file is opened. <ADR1> is the start address. You can enter any value for <NUM>.
Hit <RETURN>. SOURCGEN reads through the File and then displays the end address.
If you are not using a ram-disk you should make a note of the end address. Then the next time you open this file you can also enter the end address <ADR2>. SOURCGEN will then check the end address without first reading through the whole file. Entering an incorrect value for <ADR2> will cause an error message.

This function is used when a machine language program is not in the form of a load-file. Sometimes a larger file will be loaded into RAM by means of a small loader program. Only the loader program is in the form of a load-file. In this case, you must find the address (<ADR1>) of the main program by first investigating the loader.

5. <NUM> <ADR1> [<ADR2>] (V.3.2)

The file name need not be re-entered, not even after a BAD LOAD FILE error message.

V.3.2 supports double density disks.
V.3.2: D: can be ommited for drive 1.