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

Wenn SOURCGEN ein File auf Diskette liest, nimmt es immer an, dass der nächste Sektor, den es lesen muss, auch der nächste physikalische Sektor auf der Diskette ist. Da dies aber nicht immer der Fall ist, ist es ratsam, erst das File auf eine frisch formatierte, leere oder fast leere Diskette zu kopieren. Bedenken Sie z.B., dass ein Sektor mitten auf der Diskette für das Directory reserviert ist. Oder wenn ein File irgendwann von der Diskette gelöscht wurde, könnten die frei gewordene Sektoren Probleme verursachen. In den meisten Fällen wird SOURCGEN Ihnen eine Fehlermeldung geben, aber Sie sollten sich nicht darauf verlassen. Diese kleine Unannehmlichkeit war im Zusammenhang mit einem möglichst schnellen Diskettenzugriff nicht zu vermeiden.

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

Ein Diskettenfile wird geöffnet - dabei muss es sich um ein LOAD-File handeln - und die Segmente des Files werden mit Adressenangaben angezeigt.
Eine solche Tabelle könnte zum Beispiel so aussehen:

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

Das Zeichen ">" in der 4. Zeile macht darauf aufmerksam, dass das Segment 4 eine direkte Fortsetzung von Segment 3 ist.

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

Die Tabelle wird nur bis zum Segment <SEG> ausgegeben.
Drücken Sie nochmals auf <RETURN> so wird das Listing ab dem Segment <SEG> ausgegeben.
Diese Einrichtung ist deswegen notwendig, da es durchaus vorkommen kann, dass die gleiche Adresse in mehr als einem Segment vorkommt.
Wenn Sie ab Adresse <ADR> listen (G. GO), sucht SOURCGEN erst in dem aktuellen Segment.
Wird <ADR> hier nicht gefunden so geht SOURCGEN zum Anfang des Files zurück und sucht die Segmente der Reihe nach durch.

3. FF

Wenn Sie die Zahl FF eingeben, wird das File geschlossen und SOURCGEN liest direkt vom RAM.
Sie können aber jeder Zeit durch das Drücken von <F>/<RETURN> das File wieder aufrufen.

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

Es wird von einem beliebigen Diskettenfile gelesen. <ADR1> gilt als Anfangsadresse. Sie können für <NUM> eine beliebige Zahl eingeben.
Nach dem Drücken von <RETURN> liest SOURCGEN das File durch und gibt dann die zu <ADR1> passende Endadresse aus. Wenn Sie nicht mit einem Ramdisk arbeiten empfehlt es sich die Endadresse zu notieren. Wenn Sie dann das nächste Mal das File aufrufen, können Sie anstelle von <ADR2> die Endadresse mit angeben. Anstatt das ganze File dann durchlesen, was bei einem größeren File schon
einige Zeit in Anspruch nehmen kann, überprüft SOURCGEN gleich ob <ADR2> tatsächlich die entsprechende Endadresse ist. Eine falsche Angabe verursacht hier eine Fehlermeldung.

Die obenbeschriebene Funktion ist eine sinnvolle Erweiterung zu SOURCGEN, da nicht alle Maschinenspracheprogramme als Load-Files aufgezeichnet sind. Es kommt zum Beispiel vor, dass ein größeres File durch ein kleineres 'Loader'-Programm in den Speicher geladen wird, wobei nur der Loader sich als Load-File auf der Diskette befindet. Es gilt dann erst das Code für den Loader anzuschauen um die
Speicherbelegung (bzw. <ADR1>) des Hauptprogrammes festzustellen.

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

Beim Wiederholen der Funktion, muß der Dateiname nicht nochmals eingegeben werden.

V.3.2 erkennt double density Disketten.
V.3.2: D: kann für Laufwerk-1 weggelassen werden