Z-System-Ecke
von Mario Leubner
Wer mit dem Z-System arbeitet, kann sich schnell an den Komfort dieser Oberfläche gewöhnen. Wie leicht ist es doch möglich in den Speicher zu sehen oder Bytes zu ändern. Entweder man benutzt dazu die RCP-Kommandos P und POKE oder die als Ersatz verfügbaren Typ-4 Programme PEEK.COM und POKE.COM. Ich erinnere nur an die Technik, die man ,,GET, POKE, und GO`` oder einfach POKE&GO nennt. Man lädt zunächst das gewünschte Programm in den Speicher, ohne es zu starten. Mittels POKE verändert man dann Einstellungen oder bekannte Werte. Schließlich startet man das so veränderte Programm mit dem GO-Befehl. Ich nutze diese Technik zum Beispiel für das Textprogramm TPKC, das normalerweise im Dokument-Modus startet. Für Quelltexte wünsche ich aber einen Start im ASCII-Modus. Jetzt könnte man zwar TPKC.COM ein zweites Mal mit dieser Installation abspeichern, aber ein ALIAS tut dies genauso, deshalb steht in der Datei ALIAS.CMD bei mir die Zeile:
Auf der Adresse 0392H steht der Installationsparameter für den Modus in dem TPKC startet. Ich überschreibe diesen Parameter also vor dem Start von TPKC mit dem Wert 0FFH. Wenn ich jetzt einen Quelltext editieren will, schreibe ich einfach in die Kommandozeile:
EDIT DUDEL.Z80
und TPKC startet im ASCII-Modus, so als wenn ich diesen vorher installiert hätte.
Den gleichen Komfort wollte ich nun auch mit dem Speicher im Grundgerät haben. Unter CAOS kann man die Befehle MODIFY und DISPLAY benutzen, doch wenn man in der PC-Betriebsart ist...? Dazu habe ich PEEK und POKE entsprechend umgeschrieben und so ist VPEEK und VPOKE entstanden. Die Programmnamen sind an die BASIC-Befehle angelehnt, von der Syntax aber wie PEEK und POKE zu verwenden. Alle Werte sind hexadezimal anzugeben und es ist auch keine Umrechnung der IRM-Adressen erforderlich. Der Zugriff erfolgt auf den gerade aktiven Speicherbereich, also ab 8000H immer auf den IRM. Vorteilhaft kann man VPEEK benutzen zur Kontrolle, ob die Treiber richtig übertragen wurden und korrekt arbeiten. Mit VPOKE sollte man jedoch vorsichtig sein und diesen Befehl nur verwenden, wenn man genau weiß, welche Werte man verändern kann.
Beispiele:
VPEEK B700 | zeigt den Inhalt vom Kassettenpuffer |
VPEEK B780 | zeigt die CAOS-Arbeitszellen im IRM |
VPEEK B800 | zeigt den Modulsteuerwortspeicher |
VPEEK 0380 | zeigt den Koppeltreiber |
VPOKE B7A8 00 BA | stellt die Zeichenbildtabelle für die Kleinbuchstaben auf BA00H um |
VPEEK.COM und VPOKE.COM sind Programme vom Typ-4, werden also auf die höchstmögliche Adresse im TPA geladen. Das ist immer dann vorteilhaft, wenn noch ein anderes Programm im TPA startbereit ist. Wie PEEK.COM arbeitet VPEEK.COM fortlaufend, wenn keine Adresse angegeben wird. Dazu wird die nächste Adresse in einem Register abgelegt. Das Register ist mit ZCNFG einstellbar, verwendet wird die zu PEEK.COM erstellte Konfigurationsdatei PEEK10.CFG.