Commodore PLUS/4 Tips & Tricks

Aus C64-Wiki
Zur Navigation springenZur Suche springen


Commodore PLUS/4 Tips & Tricks
Cover/Buchdeckel
Sprache deutsch
Autor(en) Said Baloui
Verlag Data Becker
Jahr 1986
ISBN ISBN 3-89011-203-X
Neupreis DM 29.-
Datenträger
Seitenzahl 221
letzte Auflage 1., unveränderte Auflage 1986
Genre Programmieren für Fortgeschrittene
Information




Einleitung[Bearbeiten | Quelltext bearbeiten]

Die in diesem Buch vorgestellten Programme sind in mehrere Gruppen unterteilt (Graphik, Mathematik etc.). Zuerst werden jeweils die Eigenschaften eines Programms kurz erläutert. Die Möglichkeiten, die es bietet, und die Grenzen des Einsatzes werden dargestellt.

Im Anschluss daran wird die Programmbedienung beschrieben. Diese "Bedienungsanleitung" kann im Rahmen dieses Buches verständlicherweise nicht derart ausführlich sein, wie es bei käuflichen Programmen der Fall ist, der Leser wird jedoch in die Lage versetzt, mit dem Programm zu arbeiten und vertraut zu werden.

Nach der Bedienung wird das eigentliche Programm in Form eines Listings vorgestellt, das prinzipiell abtippfertig ist und von Ihnen sofort eingegeben werden kann. Die Eingabe bereitet keine Schwierigkeiten, da es sich meist um reine BASIC-Programme handelt, und auch Maschinenspracheprogramme in Form sogenannter "Data-Zeilen" in BASIC-Programme eingebunden sind.

Den Abschluß der Programmvorstellung bildet eine eingehende Erläuterung des Programmablaufs, die vor allem für die angehenden "Selbstprogrammierer" unter den PLUS/4-Besitzern interessant sein dürfte. Im Rahmen dieser Erläuterung wird auf die wichtigsten im Programm verwendeten Variablen und Unterprogramme eingegangen, und es werden die verwendeten Algorithmen erklärt (Algorithmus = endliche Folge von Schritten zur Lösung eines Problems).

Tricks wie zum Beispiel der simulierte Direktmodus werden ausführlich erläutert. Sollten dennoch Verständnisschwierigkeiten auftreten, empfehle ich Ihnen die Lektüre jenes Kapitels, in dem die häufig verwendeten programmtechnischen Feinheiten gesondert erläutert werden.

Viele der vorgestellten Programme verwenden Dateien zur dauerhaften Sicherung von Informationen. Die Handhabung dieser Dateien wurde speziell auf das Diskettenlaufwerk zugeschnitten, das vom Großteil der PLUSj4-Besitzer verwendet wird. Ein eigenes Kapitel erläutert die notwendigen Änderungen, die Besitzer einer Datasette zur Anpassung vornehmen müssen. Eine solche Programmumstellung ist völlig unproblematisch, wenn Sie sich an die in dem erwähnten Kapitel gegebenen Hinweise halten.

Inhaltsverzeichnis[Bearbeiten | Quelltext bearbeiten]

1.     Einleitung .................................... 11

2.     Hinweise zur Eingabe der Programme ............ 13

3.     Verwendung der Datasette ...................... 17

4.     Anwenderprogramme ............................. 21

4.1.   Spiele ........................................ 21
4.1.1. Schiffe versenken ............................. 21
4.1.2. Reaktionstest ................................. 27
4.1.3. Conway's Life ................................. 32
4.1.4. ASW ........................................... 41
4.1.5. Indianapolis .................................. 46
4.1.6. Space Invaders ................................ 52

4.2.   Graphik ....................................... 59
4.2.1. Malprogramm ................................... 60
4.2.2. Laufschrift ................................... 72
4.2.3. Funktionsdarstellung .......................... 80

4.3.   Text- und Dateiverarbeitung ................... 87
4.3.1. Textverarbeitung/Dateiverwaltung .............. 87
4.3.2. Vokabeltrainer ............................... 109
4.3.3. KFZ-Überwachung .............................. 118

4.4.   Mathematik ................................... 127
4.4.1. Zinzeszins ................................... 127
4.4.2. Determinantenberechnung ...................... 129
4.4.3. Zahlentheorie ................................ 130

4.5.   Hilfsprogramme ............................... 134
4.5.1. Hardcopy ..................................... 135
4.5.2. REM-Killer ................................... 137
4.5.3. Merge ........................................ 145
4.5.4. Eingabe-Routine .............................. 148
4.5.5. Shape-Editor ................................. 153

4.6.   Sonstige Programme ........................... 158
4.6.1. Etikettendruck ............................... 158
4.6.2. Lottozahlen .................................. 165
4.6.3. Datumsberechnung ............................. 166

5.     Die wichtigsten verwendeten Tricks ........... 171

5.1.   Cursor setzen ................................ 171
5.2.   Dauerfunktion für alle Tasten ................ l72
5.3.   Insert-Modus löschen ......................... 172
5.4.   Cursornachlauf verhindern .................... 174
5.5.   Cursorsimulation im Programmodus ............. 175
5.6.   Simulierter Direktmodus ...................... 176

6.     Programmierung des PLUS/4 in Maschinensprache  181

6.l.   Von BASIC zu Assembler ....................... l81
6.2.   Der integrierte Monitor ...................... 187
6.3.   Einbindung von Maschinenroutinen ............. 191
6.4.   Die wichtigsten Zeropage-Adressen ............ 193
6.5.   Betriebssystemroutinen ....................... 194
6.6.   Routinen des BASIC-Interpreters .............. 196

7.     Tips & Tricks für Fortgeschrittene ........... 199

7.1.   Verbesserte LIST-Routine ..................... 199
7.2.   Graphiken abspeichern und laden .............. 205
7.3.   Zeileninvertierung ........................... 210
7.4.   Komfortable Menüverwaltung ................... 215

Leseprobe[Bearbeiten | Quelltext bearbeiten]

Seite 175, (5.5. Cursorsimulation im Programmodus)

Im Direktmodus sehen Sie zu jedem Zeitpunkt den Cursor auf dem Bildschirm. Im Programmmodus leider nur, wenn für Eingaben der "INPUT"-Befehl verwendet wird, der siehe "Eingabe-Routine" - leider manchen Nachteil besitzt. Professionelle Eingaberoutinen werden immer mit dem Befehl "GET" programmiert, wobei der Cursor jedoch - wie im Programmodus üblich - ausgeschaltet ist. Ein einfacher - nicht blinkender - Cursor kann simuliert werden, indem das Zeichen an der momentanen Cursorposition invertiert dargestellt wird. Wenn der Cursor bewegt wird, wird die Darstellung des betreffenden Zeichens wieder normalisiert und das Zeichen an der neuen Cursorposition invertiert.

Beispiel:

10 cp=3072+peek(202)+40*peek(205)
20 cz=peek(cp)
30 poke cp,cz and 128
40 getkey a$
50 print a$;
60 poke cp,cz
70 goto 10

Um dieses Beispiel zu verstehen, muss man wissen, dass jeder Bildschirmposition eine Speicherstelle im sogenannten "Bildschirmspeicher" des PLUS/4 entspricht, in der das dargestellte Zeichen gespeichert ist.

Die Speicherung erfolgt im sogenannten "Bildschirmcode". In Zeile 10 wird jene Speicherstelle im Bildschirmspeicher "cp" ermittelt, die der momentanen Cursorposition entspricht (cp=Anfangsadresse des Bildschirmspeichers plus Spalte plus 40 mal Cursorzeile ).

"cz" ist der Code des Zeichens an der betreffenden Position. Dieser Code (diese Zahl) wird mit "OR 128" verknüpft. Der Wert, der sich durch diese Verknüpfung ergibt, entspricht der reversen Darstellung des gleichen Zeichens.

Dieser Wert wird in die entsprechende Speicherstelle "gepokt". Das Zeichen an der aktuellen Cursorposition wird dadurch invers dargestellt.

Nun wird auf eine Eingabe des Benutzers gewartet. Bevor das betreffende Zeichen ausgegeben und dadurch der Cursor bewegt wird, wird das invertierte Zeichen wieder normalisiert, indem der ursprüngliche Zeichencode "cz" in die ermittelte Speicherstelle "gepokt" wird.

Meinung[Bearbeiten | Quelltext bearbeiten]

Werner: Das Buch hat mich nicht wirklich überzeugt. Es entspricht fast zur Gänze dem Buch "C16 Tips & Tricks". Es wurde lediglich Kapitel 7 hinzugefügt. Leider sind immer noch einige Programme fehlerhaft (siehe Programm der Leseprobe)."

Weblinks[Bearbeiten | Quelltext bearbeiten]