Commodore 128 - Tips & Tricks
| Commodore 128 - Tips & Tricks | |||
|---|---|---|---|
| Sprache | deutsch | ||
| Autor(en) | Ralf Hornig, Tobias Weltner, Jens Trapp | ||
| Verlag | Data Becker | ||
| Jahr | 1986 | ||
| ISBN | ISBN 3-89011-097-5 | ||
| Neupreis | 49 DM | ||
| Datenträger | |||
| Seitenzahl | ca. 350 Seiten | ||
| letzte Auflage | 2. Auflage | ||
| Genre | Programmieren / Hardware | ||
| Information | Mehrere Auflagen erschienen | ||
Buchrückseite[Bearbeiten | Quelltext bearbeiten]
Das STEHT DRIN:
128 Tips & Tricks ist eine riesige Fundgrube für jeden 128er
Besitzer, der mehr mit seinem Rechner machen will. Dieses
Buch enthält nicht nur viele Beispielprogramme, sondern
erläutert auch leichtverständlich den Aufbau des Rechners
und seine Programmierung.
Aus dem Inhalt:
- Grafik auf dem Commodore 128
- Arbeiten mit mehreren Bildschirmen
- Eigener Zeichensatz
- Sprite-Handling
- Grafik mit den eingebauten Befehlen
- Simulation mehrerer Windows
- Listing-Konveter
- Modifiziertes Input
- Software-Schutz auf dem Commodore 128
- Zeilen einfügen
- Rund um die Tastatur
- Befehlserweiterung - selbst gemacht
- Banking
- Weitere Möglichkeiten der MMUAutostart
- Der Speicher
- Wechseln des Betriebssystems
- Der 64er-Modus auf dem C-128
- Die 10er-Tastatur am C-64
und vieles mehr
UND GESCHRIEBEN HAT DIESES BUCH:
Das Autorenteam mit Tobias Weltner, Ralf Hornig und Jens
Trapp (64 Tips & Tricks Band II) arbeitet mit dem 128er, seit es
diesen Rechner gibt. Alle sind begeisterte Programmierer,
die Ihre gesamte Erfahrung in dieses Buch gesteckt haben.
Inhaltsverzeichnis[Bearbeiten | Quelltext bearbeiten]
0. Vorwort .................................................... 1
1. Grafik auf dem Commodore 128 ........................... 3
1.1. Umschalten: 40 / 80 Zeichen ........................... 5
1.2. Der 40-Zeichen-Bildschirm ................................ 5
1.3. Der 40-Zeichen-Charactergenerator ....................... 6
1 3 1. Verändern des Zeichensatzes ......................... 11
1.3.2. Zeichen-Editor ......................................... 12
1.4. Verschieben des Bildschirmspeichers ..................... 13
1.4.1. Arbeiten mit mehreren Bildschirmen .................... 13
1.5. Der 80-Zeichen-Bildschirm ............................... 15
1.6. Bildschirm- und Farb-RAM ................................. 16
1.7. Registerbeschreibung des 80-Zeichen-
Controllers .............................................. 16
1.8. Der Display-Controller .................................. 17
1.9. Zuverlässiger Video-RAM-Zugriff ......................... 20
1.10. POKE-Simulation ......................................... 22
1.11. Der Charactergenerator .................................. 24
1.12. Auslesen des Zeichengenerators ........................ 24
1.13. Big Script mit Strings ................................ 25
1.14. Transparente drucken für den Heimgebrauch .............. 26
1.15. Definition eines eigenen Zeichensatzes .................. 26
1.16. Mit dem Zeichen-Editor: Definition leicht
gemacht ................................................. 29
1.17. Arbeiten mit mehreren Bildschirmen .................... 33
1.18. Sinnvolle Manipulationen des VCD 8563 .................. 37
1.19. Manipulation des Bildschirmformats ..................... 39
1.20. So geht's effektiver für Grünmonitor-Besitzer ........... 41
1.21. Der erste Schritt zur neuen Matrix ................... 43
1.22. Echte Manipulation der Punktematrix ................... 44
1.23. Doppelt hohe Zeichen .................................. 46
1.24. Interne Verschiebungen im Video-RAM .................... 49
1.25. Farbe für den 80-Zeichen-Schirm ........................ 52
1.26. Ein zusätzlicher Zeichengenerator ..................... 54
1.27. Systemroutinen für den Hausgebrauch ..................... 58
1.28. Hochauflösende Grafik .................................. 62
1.29. Zeichengenerator einmal anders .......................... 65
2. Grafik mit den eingebauten Befehlen ........................ 67
2.1. Der CIRCLE-Befehl ........................................ 68
2.2. Tortengrafik ............................................. 69
2.3. Die .Balkengrafik ........................................ 70
2.4. Funktionsplotter ......................................... 71
2.5. Windows .................................................. 72
2.5.1. Wie man ein Fenster verläßt . ........................ 72
2.5.2. Abfragen der Window-Koordinaten ....................... 73
2.5.3. Alternatives Fenster setzen ........................... 74
2.5.4. Vertikale Laufschrift .................................. 76
2.5.5. Das Fenster als Eingabebegrenzung .................... 76
2.5.6. PRINT AT mit Windows ................................... 77
2.5.7. Löschen eines Teil-Bildschirms ......................... 78
2.5.8. Window-Inhalt sichern .................................. 79
2.5.9. Simulation mehrerer Fenster ............................ 82
2.6. Sprite-Handling .......................................... 83
2.6.1. Design im Listing....................................... 84
2.6.2. Komfortable Sprite-Editierung .......................... 85
3. Nützliche Programme ........................................ 87
3.1. Fehlerbehandlung 88
3.2. Listing-Konverter ........................................ 94
3.3. OLD ...................................................... 99
3.4. Musik nebenbei ........................................... 101
3.5. Echtzeituhr auf dem Commodore 128 ........................ 104
3.6. Analoguhr ................................................ 106
3.7. LLIST .................................................... 107
3.8. Textverarbeitung Marke Eigenbau .......................... 108
3.9. Modifiziertes INPUT ...................................... 110
3.10. Signalton ............................................... 111
4. Software-Schutz auf dem Commodore 128 ...................... 115
4.1. Schutz durch Doppelpunkte ................................ 116
4.2. Zeilennummern-Roulette ................................... 118
4.3. Manipulation des Zeilen-Links ........................... 120
4.4. Künstliche Steuerzeichen ein kleiner Kobold .............. 121
4.5. Schutz durch Pokes ....................................... 123
4.5.1. Verhindern des LIST-Befehls ............................ 123
4.5.2. Ausschalten von RUN-STOP / RESTORE ..................... 124
4.5.3. Verhindern von SAVE .................................... 125
4.6. Kopierschutz für Disk .................................... 126
4.7. Directory-Klauer ......................................... 126
5. Das System der 1000 Möglichkeiten: Zeilen einfügen ......... 129
5.1. Anpaßbare Rechenroutine .................................. 132
5.2. DATA-Generator ........................................... 133
6. Der Datenrekorder .......................................... 137
6.1. Software-Steuerung der Datasette ........................ 138
6.2. Abfrage der Bandtasten .................................. 139
6.3. Ungewöhnliches mit dem Datenrichtungsregister
6.4. Ein etwas anderer Kopierschutz ........................... 141
6.5. "HiFi"-Klänge - die Datasette als begnadete
"Musikbox" ............................................... 142
6.6. Saven auf Datasette - einmal anders! ..................... 144
7. Rund um die Tastatur ..................................... 147
7.1. Die Tastaturbelegung .................................... 148
7.2. Ändern der Tastaturbelegung ............................. 151
7.3. Hextastatur für den C-128 ................................ 154
7.4. Doppelbelegungen ......................................... 155
7.5. Die Hilftasten .......................................... 159
7.5.1. Nutzung der Hilfstasten ............................... 159
7.6. Vier zusätzliche Funktionstasten ........................ 160
7.7. Tastatur-Piep ............................................ 162
7.8. Die STOP-Taste ........................................... 163
7.9. Belegung der HELP-Taste .................................. 165
8. Befehlserweiterung - selbst gemacht ........................ 167
8.1. Was ist die CHRGET-Routine? ............................ 169
8.2. Wie verändert man die CHRGET-Routine? .................... 172
8.3. Das "Verhalten" der neuen Befehle ........................ 177
8.4. Mehrere zusätzliche Befehle .............................. 178
9. Banking .................................................... 183
9.1. Theoretische Grundlagen ................................. 184
9.2. Banking beim C-128 ....................................... 185
9.3. Umschalten der Banks über die MMU ........................ 186
9.4. Weitere Möglichkeiten der MMU ........................... 189
10. Autostarts ................................................ 191
10.1. Autostart mit der Floppy ................................ 192
10.1.1. Die Routine boot-call ................................. 193
10.1.2. Die Verwendung von boot-call .......................... 206
10.2. Autostart bei Modulen ................................... 212
11. Der Speicher .............................................. 217
11.1. Nützliche Adressen des C-128 ............................ 218
11.2. Sprungtabellen .......................................... 234
11.2.1. Kernal ................................................ 234
11.2.2. Vektor-Lade-Tabelle ................................... 247
11.2.3. Kernal-Aufruf ......................................... 248
11.3. Freier Speicher ......................................... 249
11.3.1. Verwendbare Adressen in der Zeropage .................. 249
11.3.2. Verwendbarer Speicher für Maschinen
programme ............................................. 250
12. Wechseln des Betriebssystemes ........................... 253
13. Der 64er-Modus auf dem C-128 .............................. 259
13.1. High-Speed für den C-64 ................................ 260
13.2. Der Zugriff auf den 80-Zeichen-Controller ............... 262
13.2.1. Zusätzlicher Speicher ................................. 263
13.2.2. Wer ist da? ........................................... 267
13.3. Zehnertastatur am 64er .................................. 268
14. Z80 ....................................................... 269
14.1. Ein Beispielprogramm .................................... 270
14.2. Reine Z80-Programme ..................................... 273
14.3. Zwei Z80-Routinen ....................................... 275
15. Der Tabulator ............................................ 277
16. Cursor-Spielereien ........................................ 281
16.1. Cursor setzen durch SYS-Befehle ......................... 282
16.2. Cursor setzen durch POKE-Befehle ........................ 283
16.3. Der Hintergrundcursor (40-Zeichen-
Bildschirm) ............................................. 284
16.4. Der individueller Cursor ................................ 285
16.5. Cursor im Programm (80-Zeichen-Bildschirm)............ 289
17. Weitere nützliche Programme ............................... 291
17.1. Print Screen ............................................ 292
18. Kurz-Tips & -Tricks ....................................... 297
18.1. Start-Adresse ermitteln ................................ 298
18.2. Vom Umgang mit Head-Cleaning-Disks ...................... 299
18.3. Gescratchtes Programm retten ............................ 300
18.4. Directory einmal anders ................................. 301
18.5. Dateien finden leichtgemacht ............................ 302
18.6. Ein Tip zur sequentiellen Datei ......................... 303
18.7. Bildschirm verschieben mit Einzeiler .................... 303
18.8. Der Computer verabschiedet sich ......................... 305
18.9. Cursor anpassen ......................................... 306
18.10. Musikausgabe einmal anders ............................. 306
18.11. Unbekannte CTRL-Funktionen ............................. 307
18.12. Ein neckischer Einzeiler ............................... 308
18.13. IF-THEN-ELSE-Ersatz .................................... 308
18.14. Bytes sparen mit CONT .................................. 309
18.15. Bildschirmausgabe verlangsamen ......................... 310
19. Rasterinterrupt-Programmierung ............................ 313
19.1. Ein erstes Beispiel ..................................... 314
19.2. Rasterzeilen-Interrupt und BASIC Interpreter............. 316
19.3. Rasterinterrupt und Sprites ............................. 318
20. Betriebssystem-Routinen ................................... 323
20.1. Routinen zum Bildschirm-Handling ........................ 324
20.2. Routinen zum Datasetten-Handling ........................ 332
20.3. Verschiedenes ........................................... 333
21. Anhang .................................................... 337
21.1. Token-Tabelle ........................................... 338
22. Programmlistings .......................................... 345
Leseprobe[Bearbeiten | Quelltext bearbeiten]
(2. Auflage - Seite 124: Kapitel "4. Softwareschutz auf dem Commodore 128"; Unterkapitel "4.5.2. Ausschalten von RUN-STOP / RESTORE")
4.5.2. Ausschalten von RUN-STOP / RESTORE
Schon früh sind Leute auf die Idee gekommen, Code-Worte in ihre Programme einzubauen. Kein Problem für unterlaubte Eindringlinge - sie betätigten einfach RUN-STOP & RESTORE, verließen so das Programm und schauten einfach das Code-Wort nach.
Ganz so leicht geht es nun nicht mehr. Mit
POKE 808,PEEK(808) - 3
werden diese beide Tasten einfach ihrer Funktion beraubt.
Nun kann man sie sogar noch abfragen:
10 POKE 808,PEEK(808) - 3 20 PRINT"DAS IST EIN TEST "; 30 GET A$: IF A$=CHR$C3) THEN PRINT: PRINT"*BREAK*" 40 GOTO 20
Der Phantasie sind hier keine Grenzen gesetzt.
Nur RESTORE kann übrigens mit
POKE 792,51: POKE 793,255
ausgeschaltet werden.
Nur RUN-STOP kann sogar in BASIC abgefangen werden:
10 TRAP 1000 20 PRINT'"DAS IST EIN TEST "; 30 GOTO 20 1000 PRINT*BREAK*'" 1010 RESUME NEXT
Hierbei wird ausgenutzt, das die Fehlermeldung "BREAK", die ja bei Drücken der RUN-STOP-Taste auftritt, eine Fehlermeldung wie jede andere auch ist, und so wird einfach die eingebaute "ON ERROR GOTO"-Variante benutzt. Nähere Erklärungen dazu finden Sie im Kapitel 3: "Fehlerbehandlung". Allerdings: Ganz sicher ist diese Methode nicht (drücken Sie einmal mehrmals schnell hintereinander auf die RUN-STOP-Taste).
