###   Projekte und Informationen rund um den KC85   ### 

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