PEEKs POKEs und CALLs
Man braucht sie immer gerade dann wenn man sie gerade nicht zur Hand bzw. im Kopf hat. Da man aber in der Regel (und beim Programmieren) nicht ohne sie auskommt, hier nun die wichtigsten Peeks, Pokes, in/Outs und Calls des PC-1600 Betriebssystems.

 

Peeks/Pokes/Outs
Auswirkung
   
POKE &F07F,0 Keybuffer leeren. Kann prima für eine Inkey Routine in Basic gebraucht werden. Damit 'entprellt' man praktisch die Tastatur. Zum Keybuffer an dieser Stelle eine Bemerkung: er kann maximal 62 Zeichen enthalten.
POKE &F9F8,12 Kein Reset für Plotter beim Einschalten (Call #4,&4002, manuelles Reset).
POKE &F9F8,1 CSize X LList in beliebiger Größe.
POKE &FIBC,192 PC-1500-Mode mit Erweiterungen eigentlich 'nur' für PC-1600.
POKE &F9FF,0 Mode-Taste sperren, 255 hebt wieder auf.
POKE &F9F5,1 bis 15 Ermöglicht ein CSize von 1-15 und nicht nur von 1 bis 9! Als Peek kann auch die Schriftgröße abgefragt werden
CALL #2,&8600 Inhaltsverzeichnis von S2: im Dir-Format (nicht wie in Ausgabe in Files oder ähnlich!)
Ist PEEK#(5,&4008) = 126 Dann ist CE-1600P nicht angeschlossen.
Ist PEEK (&F016) = &FF Dann Sl: ist eine RAM-Disk.
Ist PEEK (&F020) = &FF  Dann S2: ist eine RAM-Disk.
Ist PEEK (&F9EF) = 128 Dann Paper C
Wert von PEEK (&F184) Druckfarbe
Wert von PEEK (&F05F) Cursorposition Y
Wert von PEEK (&F060) Cursorposition X
Wert von PEEK (&F067) Cursorstatus, 0 = aus, 1 = Unterstrich, 2 = Rechteck, 3 = Space
In Adresse &FC46 Schreib-/ Leseadresse für Diskoperationen von Maschinensprache aus.
Adresse &F015-&F01E Arbeitsbereich Sl:
Adresse &F01F-&F028 Arbeitsbereich S2:
Wert von PEEK (&F02D) Maxfiles abfragen.
POKE &F0BB,1 OFF-Taste gesperrt bei Print-Operation.
Adresse &F8C0-&F8FF Inhalt der Standardvariablen A$-D$ in Basic. Jeweils 16 Byte.
Adresse &F650-&F6FF Inhalt der Standardvariablen E$-O$ in Basic. Jeweils 16 Byte.
Adresse &F750-&F7FF Inhalt der Standardvariablen P$-Z$ in Basic. Jeweils 16 Byte
Adresse &F900-&F9CF Inhalt der Standardvariablen A-Z, jeweils 8 Byte.
Wert von Port (INP&78 AND 8) = 0 Disk im Laufwerk?
OUT&17,&41 Display an.
OUT&17,0 Display aus.
OUT&35,&1F Interrupts sperren 1/2s
OUT&35,&4F Interrupts sperren 1/64s
OUT&35,&0F Interrupts sperren beide
OUT&35,&5F alle Interrupts freigeben
A=0,1,2 oder 3: CALL &011B,A Displayzeile n invertieren
Call &0166 Warten auf Tastendruck.
Call &012D Scroll Up ( Bildschirmzeilen werden Zilenweise nach Oben verschoben).
Call &0130 Scroll Down ( Bildschirmzeilen werden Zilenweise nach Unten verschoben).
Call 5 Rechner aus mit der Möglichkeit im Programm da fortzufahren, wo der Rechner gerade stand.
Call #5,&5FF0 ganze Disk kopieren obne Wechseln ( man muß 80 KBytes Arbeitsspeicher besitzen! )
Call &0109 Cursor Home ( Links Oben Display).
Call &0112 CLS ( Löscht ganzes Display ).
Call &027A alle geöffneten Dateien schließen.

  Anbei noch die interne Speicheraufteilung des gesamten Systems und des normalen RAM Bereichs.