Commodore 128 - Peeks & Pokes

Aus C64-Wiki
Zur Navigation springenZur Suche springen


Commodore 128 - Peeks & Pokes
Cover/Buchdeckel
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:

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.

Fehler[Bearbeiten | Quelltext bearbeiten]

Meinung[Bearbeiten | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]