EDAS-Arbeitszellen

von Mario Leubner

Vielfach wurde der Wunsch geäußert, die Arbeitszellen von EDAS zu veröffentlichen. Ich habe EDAS V1.4 weiterbearbeitet zu den Versionen 1.5 und 1.6 und deshalb die vollständige Liste aller Arbeitszellen. Leider liegt mir kein Quelltext von EDAS V1.4 mehr vor, so daß ich nicht genau sagen kann, welche Änderungen es gegeben hat. Da aber EDAS V1.4 die Ausgangsbasis war, dürfte es (abgesehen von den Erweiterungen) keine großen Unterschiede geben.

Beim Start von EDAS V1.5/1.6 mit dem Menüwort "EDAS" lassen sich die zu benutzenden RAM-Bereiche einstellen. EDAS V1.5/1.6 kann auch mit dem RAM-8 arbeiten, wobei der IRM ausgeblendet wird. EDAS schaltet keine Module! Die vorgegebenen Werte entsprechen den mit den aktuell zugeschalteten Speicherbereichen möglichen maximalen Werten:

Top of Text: 0200 untere RAM-Grenze
End of Text: C000 oberen RAM-Grenze
Start of MC: 0200 Standard-MC-Adresse
ASM-Offset : 0000 Assembleroffset für Option "O"

Der Quelltext liegt grundsätzlich geteilt vor, Trennstelle ist der Bildschirmanfang. Nach TOP liegt der Text ganz hinten, nach BOTTOM ganz vorn. Die Markentabelle liegt im Anschluß an den zweiten Textteil. Der in der Statuszeile angegebene freie Speicher ist der Zwischenraum zwischen den beiden Teiltexten. Während des Assemblerlaufes liegt der Text ungeteilt am Speicheranfang, so daß die Markentabelle von der vereinbarten Speicherobergrenze nach unten wachsen kann. Dabei wird überwacht, daß sie nicht in den Text hineinwächst.

 | Text 1  |  freier Speicher  |  Text 2  |  Markentabelle  |
+---------+-------------------+----------+-----------------+
| | | | |
T1A T1E T2A T2E/MTOP MBOT
0200H C000H

1. Editor-Arbeitszellen:

Name:    Adr.: Länge:   init.   Bedeutung:
NAME 0 11 aktueller Dateiname
T1A 40H 2 0201H Beginn Text 1
T2E 42H 2 BFFFH Ende Text 2
T1E 44H 2 0201H Ende Text 1
T2A 46H 2 BFFFH Beginn Text 2
COL 48H 1 0 EDIT-Cursor (Spalte)
LIN 49H 1 0 EDIT-Cursor (Zeile)
M4A 4AH 1 0 wenn ungleich 0 - no Memory
STRING 4BH 33 - String-Puffer (für FIND-Funktion)
STAT 6CH 1 13H Kassetten-/Diskettenstatus
Bit 0 = 1 - Floppy vorhanden
Bit 1 = 1 - Umleitung auf Floppy
Bit 2 = 1 - Diskettenfehler
Bit 3 = 1 - Option 'S' merken
Bit 4 = 1 - DEP mit LW-Steuerung
Bit 7 = 1 - END-Befehl erkannt

2. Assembler-Arbeitszellen:

Name:    Adr.: Länge:   init.   Bedeutung:
OPT 6DH 1 0 Assembler-Optionen
Bit 0 L - Listing ausgeben
Bit 1 P - Umschaltung Drucker
Bit 2 + - Markentab. erweitern
Bit 3 1 - nur PASS 1!
Bit 4 3 - PASS 3 läuft (Save MC)
Bit 5 B - Bildschirmformat
Bit 6 O - MC in Speicher laden
Bit 7 2 - nur PASS 2
OFFS 6EH 2 0000H Assembler-Offset
MCA 70H 2 0200H Beginn Maschinencode
MBOT 72H 2 C000H RAM-Ende+1
MTOP 74H 2 C000H Marken-Tabelle (Anfang)
PBL 76H 18 - Rechenregister für Assemblerlauf
NERR 88H 64 - Assemblierpuffer

Die in der Spalte "init." eingetragenen Werte entstehen, wenn EDAS am KC85/4 mit Floppy und DEP2.2 gestartet und alle Eingabemöglichkeiten beim Programmstart mit Enter übergangen wurden. Der Textbeginn auf 201H ist programmtechnisch erforderlich, auf 200H steht ein 0DH. Beide Teiltexte und die Markentabelle sind leer.

Die Markentabelle, die meist nur im RAM8 steht, kann unter CAOS4.3 einfach mit MODIFY/DISPLAY angezeigt werden, indem man vorher mit SWITCH 1 0 den IRM ausblendet. Die Arbeit von EDAS bleibt davon unverändert. Auch SAVE, LOAD, FSAVE und FLOAD ist dann von der CAOS-Kommandoebene aus möglich. Unter älteren CAOS- Versionen ist es natürlich nicht so einfach möglich.

Viel Spaß beim Probieren wünscht Euch
Mario Leubner