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.