Commodore 128 - Peeks & Pokes
Commodore 128 - Peeks & Pokes | |||
---|---|---|---|
Sprache | deutsch | ||
Autor(en) | Hans-Joachim Liesert, Rüdiger Linden | ||
Verlag | Data Becker | ||
Jahr | 1986 | ||
ISBN | ISBN 3-89011-138-6 | ||
Neupreis | 29 DM | ||
Datenträger | |||
Seitenzahl | 257 | ||
letzte Auflage | 2. erweiterte und überarbeitete Auflage; 1986 | ||
Genre | Fortgeschrittene | ||
Information |
Buchrückseite[Bearbeiten | Quelltext bearbeiten]
DAS STEHT DRIN:
Schlagen Sie dem Betriebssystem Ihres C-128 ein Schnippchen. Wie? Mit PEEKS & POKES natürlich! Dieses Buch erklärt leichtverständlich den Umgang damit. Mit einer riesigen Anzahl wichtiger POKES und ihren Anwendungsmöglichkeiten. Nebenbei wird der interne Aufbau Ihres neuen C-128 primaeerklärt.
Aus dem Inhalt:
- Die Arbeitsweise des Rechners
- Was ist ein Betriebssystem
- Wie arbeitet der Interpreter
- RAM-Erweiterungsbefehle
- Bankswitching
- Die Zeropage
- Pointer & Stacks
- Speicherbelegungsplan
- Massenspeicherung & Peripherie
- Der 40-/80-Zeichen-Bildschirm
- Sprites
- Grafik mit 640 x 200 Punkten
- Tonerzeugung
- Die Tastatur
- Der User-Port
- BASIC und Betriebssystem
- Grundlagen der Maschinensprache
- 8502-/Z80-Maschinensprache
UND GESCHRIEBEN HABEN DIESES BUCH:
Hans-Joachim Liesert, Informatikstudent an der RWTH-Aachen, ist langjähriger Commodore-Spezialist und hat schon das erfolgreiche Peeks & Pokes zum 64er geschrieben. Rüdiger Linden ist ebenfalls Student an der RWTH-Aachen, im Fachbereich Maschinenbau, und als DATA BECKER-Autor mit seinem Buch "C-64 Superspiele selbstgemacht" bekannt geworden.
Inhaltsverzeichnis[Bearbeiten | Quelltext bearbeiten]
1. Die Arbeitsweise des Rechners ...................... 15 1.1 Ein Datenverarbeiter: der Mikroprozessor ........... 15 1.2 Was ist ein Betriebssystem? ........................ 16 1.3 Wie arbeitet der Interpreter? ...................... 19 1.4 PEEK, POKE und andere Gemeinheiten ................. 20 1.4.1 PEEK & POKE ...................................... 21 1.4.2 SYS & USR ........................................ 22 1.4.3 Ein kleiner Ausflug in die Binärarithmetik ....... 23 1.4.4 Warten auf ...? .................................. 27 1.4.5 RAM-Erweiterungsbefehle .......................... 28 1.4.6 BANK ............................................. 28 1.5 Parallelen schneiden sich in der MMU ............... 29 1.5.1 Der 64er-Modus ................................... 29 1.5.2 Der 128er-Modus .................................. 32 1.5.3 Der CP/M-Modus ................................... 33 2. Die Zeropage ........................................ 35 2.1 Die Zeropage ist keine Null ........................ 35 2.2 Pointer & Stacks ................................... 36 3. Der Speicher ........................................ 41 3.1 Der Speicherbelegungsplan .......................... 41 3.2 Bankswitching - wie funktioniert das? .............. 41 3.2.1 Das Konfigurationsregister der MMU ............... 41 3.2.2 Der Präkonfigurationsmechanismus ................. 44 3.2.3 Das Moduskonfigurationsregister .................. 44 3.2.4 Das RAM-Konfigurationsregister ................... 45 3.2.5 Speicherseitenzeiger und Versionsregister ........ 46 3.2.6 So schaltet und waltet der Interpreter ........... 46 3.2.7 Bankswitching im C-64-Modus ...................... 47 3.3 Speicher schützen .................................. 48 3.4 Freier Speicher .................................... 52 4. Massenspeicherung und Peripherie .................... 55 4.1 Abspeichern von Grafiken, Bildschirminhalten usw. .. 55 4.2 Merge per Hand ..................................... 56 4.3 Programmfiles ...................................... 59 4.4 Directories ........................................ 60 4.5 Die Status variable ST ............................. 62 5. Der 40-Zeichen-Bildschirm ........................... 63 5.1 Balkengraphik ...................................... 63 5.2 Die Betriebsarten im Zeichenmodus .................. 65 5.3 Charaktergenerator verlegen ........................ 71 5.4 Video-RAM verlegen ................................. 75 5.5 Verschiedene Tricks für die 40-Zeichen-Darstellung.. 78 6. Hochauflösende Graphik .............................. 83 6.1 Die Grafik-Modi .................................... 83 6.2 Die Bit-Map ........................................ 84 6.3 Spiralen ........................................... 86 6.4 Tortendiagramme .................................... 87 6.5 Das Malprogramm .................................... 88 6.6 Hardcopy ........................................... 89 6.7 3D-Grafiken ........................................ 92 6.8 Rasterzeilen-Interrupt ............................. 97 7. Sprites ............................................. 99 7.1 Kollisionen ........................................ 99 7.2 Prioritäten und Bewegungsbereich ................... 105 7.3 Ideen für die Spriteprogrammierung ................. 106 8. Der 80-Zeichenbildschirm ............................ 111 8.1 Der RAM-Bereich des VDC ............................ 112 8.2 Das Auslesen und Beschreiben von Registern ......... 114 9. Grafik mit 640 x 200 Punkten ........................ 119 9.1 Die Bit-Map ........................................ 119 9.1.1 Anordnung der Bytes in der Bit-Map ............... 119 9.1.2 Punktesetzen ..................................... 121 10. Tonerzeugung ....................................... 125 10.1 Die Arbeitsweise des SID .......................... 125 10.2 Die Musikbefehle des BASIC 7.0 .................... 126 10.2.1 PLAY und ENVELOPE ............................... 126 10.2.2 SOUND ........................................... 128 11. Die Tastatur ....................................... 131 11.1 Aufbau und Funktionsweise der Tastatur ............ 131 11.2 Gleichzeitige Abfrage von zwei Tasten ............. 132 11.3 Tasten sperren .................................... 136 11.4 Die Repeatfunktion ................................ 137 11.5 Tastaturabfrage einmal anders ..................... 138 12. Der USER-PORT ...................................... X 12.1 Allgemeines über Schnittstellenbausteine .......... X 12.1.1 Der serielle Port ............................... X 12.1.2 Der Timer ....................................... X 12.1.3 Der parallele Port .............................. X 12.2 Wie benutze ich den USER-PORT? .................... X 12.3 Anwendungsbeispiele ............................... X 13. BASIC und Betriebssystem ........................... X 13.1 Erzeugen von BASIC-Zeilen per Programm ............ X 13.2 Listschutz ........................................ X 13.3 Renew ............................................. X 13.4 Verschiedene Tricks ............................... X 14. Grundlagen der Maschinensprache .................... 157 14.1 Was ist Maschinensprache überhaupt? ............... 157 14.2 Der Takt .......................................... 158 14.3 Der Aufbau der Prozessoren ........................ 158 14.4 Die Funktionsweise eines Mikroprozessors .......... 160 14.5 Das Hexadezimalsystem ............................. 161 14.6 Binärarithmetik ................................... 163 14.6.1 Addition ........................................ 163 14.6.2 Subtraktion ..................................... 165 14.6.3 Multiplikation .................................. 167 14.6.4 Division ........................................ 168 14.7 Wie funktionieren Vergleiche? ..................... 168 15. 8502-Maschinensprache .............................. 173 15.1 Das erste 8502-Programm ........................... 173 15.2 Der zweite Schritt: 16-Bit-Addition ............... 176 15.3 Subtraktion ....................................... 177 15.4 Multiplikation .................................... 178 16. Z-80-Programmierung ................................ 181 16.1 Das erste Z-80-Programm ........................... 181 16.2 Wie wird eine Schleife programmiert? .............. 184 16.3 Weitere Arithmetikroutinen ........................ 185 16.3.1 16-Bit-Addition ................................. 185 16.3.2 Multiplikation .................................. 187 16.4 Nützliche Maschinenroutinen ....................... 189 16.5 Die Adressierungsmöglichkeiten .................... 193 16.6 Wie funktioniert das Umschalten der Prozessoren ... 194 16.7 Ausblicke ......................................... 195 Anhang I. Maschinenbefehle 8502 ............................... 197 II. Opcodeliste 8502 ................................... 205 III. Der Befehlsschatz des Z-80 ........................ 209 IV. Z-80-0pcodes ....................................... 221 V. Speicherbelegung im 128er-Modus ..................... 239 VI. Speicherbelegung 64er-Modus ........................ 245 VII. VIC und VDC ....................................... 251 VIII. Stichwortregister ................................ 253
Leseprobe[Bearbeiten | Quelltext bearbeiten]
(1. Auflage - Seite 201: Kapitel "16. Z-80 Programmierung"; Unterkapitel "16.4. Wie funktioniert das Umschalten der Prozessoren?")
Sie haben sich vielleicht schon gefragt, wie die beiden Betriebssystemroutinen funktionieren. Vielleicht ist Ihnen dabei auch aufgefallen, daß die Sprungadresse für die Z80-Routine an das Ende des Unterprogrammes zum 8502-Einschalten gePOKEd wird - scheinbar ein Widerspruch.
Wenn man die Prozessoren durch das zugehörige MMU-Bit umschaltet, so wird nicht einfach für einen der beiden der Saft abgedreht. Vielmehr wird er nur da angehalten, wo er gerade ist - mitten im Umschaltprogramm. Wird der Prozessor später wieder eingeschaltet, so macht er auch genau dort weiter, nämlich nach seinem letzten Ausschalten. An diese Stelle POKEn wir einen Sprungbefehl auf unsere eigenen Programme - was der Prozessor auch folgsam ausführt.
Für den 8502 setzen wir allerdings keinen JMP-Befehl ein, sondern CLI und ein RTS. Damit wird der Interrupt wieder eingeschaltet und der RTS-Befehl bewirkt einen Rücksprung ins BASIC.
Das Umschalten muß immer in BANK 0 oder 1 geschehen, da sich die Betriebssystemroutinen nur dort durch POKEs ändern lassen.