Commodore 128 - Tips & Tricks

Aus C64-Wiki
Zur Navigation springenZur Suche springen


Commodore 128 - Tips & Tricks
Cover/Buchdeckel
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).

Fehler[Bearbeiten | Quelltext bearbeiten]

Meinung[Bearbeiten | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]