C64 Superspiele selbstgemacht
C64 Superspiele selbstgemacht | |||
---|---|---|---|
Sprache | deutsch | ||
Autor(en) | Rüdiger Linden | ||
Verlag | Data Becker | ||
Jahr | 1985 | ||
ISBN | ISBN 3-89011-087-8 | ||
Neupreis | DM29,00 | ||
Datenträger | |||
Seitenzahl | 235 S. | ||
letzte Auflage | |||
Genre | Programmieren | ||
Information |
Buchrückseite[Bearbeiten | Quelltext bearbeiten]
DAS STEHT DRIN:
Mit diesem Buch wird das Programmieren auch anspruchsvollerer Videospiele auf dem Commodore 64 wirklich leichtgemacht. Neben einer umfassenden Einführung in die Grundlagen der Spieleprogrammierung enthält es ausführlich erläuterte Beispielprogramme sowie viele nützliche Routinen zur Entwicklung eigener Spiele.
Aus dem Inhalt:
- Sprites
- Sprite-Editor
- Hochauflösende Grafik
- Soundprogrammierung
- Data-Erzeuger
- Basic kontra Maschinensprache
- Umwandlungspregramm für Zahlensysteme
- Pink Panther
- Labyrinth
- Bird
- 3-D-Autorennen
und vieles mehr.
UND GESCHRIEBEN HAT DIESES BUCH:
Rüdiger Linden beschäftigt sich engagiert mit der Entwicklung von Videospielen und programmiert sie selbst
seit langem auf seinem Commodore 64.
Inhaltsverzeichnis[Bearbeiten | Quelltext bearbeiten]
Einleitung 1 ...................................... 1 TEIL 1 1.1 Die CPU ....................................... 3 1.2 Das ROM ....................................... 4 1.2.1 Das Betriebssystem .......................... 4 1.2.2 Der (BASIC-) Interpreter .................... 4 1.2.3 Der Interrupt ............................... 5 1.3 Das RAM ....................................... 6 1.3.1 Die Speicherverteilung des C-64 ............. 7 1.3.2 Die Zero-Page ............................... 8 1.3.3 Das Byte 1 .................................. 9 2.1 Speicher schützen ............................. 11 2.2 Abspeichern geschützter RAM-Bereichen ......... 14 2.3 Programme verketten ........................... 16 TEIL 2 3.1 Die Grafik .................................... 19 3.2 Die Blockgrafik ............................... 19 3.3 Hochauflösende Grafik ......................... 20 3.3.1 Einschalten der hochauflösenden Grafik ...... 23 3.4 Blockgrafik mit selbstdefinierten Zeichen ..... 26 3.4.1 Extended-Color-Modus ........................ 26 3.4.2 Multi-Color-Modus ........................... 27 3.5 Zeichen selbst definieren ..................... 29 4. Sprite-Grafik .................................. 34 4.1 Sprites einschalten ........................... 34 4.2 Vergrößern von Sprites ........................ 35 4.3 Farbgebung .................................... 36 4.4 Multi-Color-Sprites ........................... 37 4.5 Priorität ..................................... 38 4.6 Sprites bewegen ............................... 40 4.7 Veränderung der Form .......................... 41 4.8 Kollisionen ................................... 43 4.8.1 Sprite-Sprite-Kollisionen ................... 43 4.8.2 Sprite-Hintergrund-Kollisionen .............. 43 5. Sound-Programmierung ........................... 45 5.1 Der SID ....................................... 45 5.2 Lautstärke .................................... 45 5.3 Die Hüllkurve ................................. 46 5.4 Das Tastverhältnis ............................ 47 5.5 Die Frequenz .................................. 47 5.6 Die Wellenform ................................ 48 6. Der Joystick ................................... 51 7. Das Hexadezimalsystem .......................... 53 8. Das Binärsystem ................................ 55 9. Binäre Arithmetik .............................. 58 9.1 AND ........................................... 58 9.2 OR ............................................ 59 9.3 NOT ........................................... 60 9.4 XOR (EOR) ..................................... 61 10. Basic kontra Maschinensprache ................. 63 10.1 Was ist "Maschinensprache"? .................. 64 11. Maschinensprache-Einführung ................... 67 11.1 Wie funktioniert eigentlich ein Computer? .... 67 11.2 Abschied von den Variablen ................... 68 11.3 Liste der Maschinensprachebefehle ............ 70 12. Interrupt-Erweiterungen ....................... 81 12.1 Veränderung des Interrupts ................... 82 12.2 Veränderung des Interrupt-Vektors ............ 83 13. Tele-Spiele ................................... 85 14. Basic für Telespiele .......................... 89 TEIL 3 14.1 Die Spielidee ................................ 95 14.2 Überprüfung auf Durchführbarkeit ............. 98 14.3 Überwachung der Spielzustände ................ 99 14.4 Die Programmierung ........................... 102 14.5 Beispielprogramme ............................ 103 14.5.1 Labyrinth .................................. 103 14.5.2 Car ........................................ 113 14.5.3 3-D-Autorennen ............................. 121 14.5.4 Bird ....................................... 176 TEIL 4 15.1 Sprites über den Bildschirm bewegen .......... 225 15.2 Sprite-Editor ................................ 227 15.3 DATA-Erzeuger ................................ 233 15.4 DEZ in N ..................................... 234
Leseprobe[Bearbeiten | Quelltext bearbeiten]
(Seite 81, Kapitel "12. Interrupt-Erweiterungen")
Eine sehr bequeme und elegante Art, bewegliche Objekte auf den Bildschirm und vor allem in Bewegung zu bringen, ist es, die Interrupt-Routine zu erweitern.
Die Vorteile der Technik:
Kein Zeitverlust für die Abfrage von Joystick, Bewegung von Sprites.
Schnelle Bewegungen sind einfach zu programmieren.
Gleichmäßige Bewegungen. Es gibt keine abgehackten Bewegungen, wie Sie sie von Basic-Programmen her kennen.
Man kann ohne Probleme auch 8 Sprites bewegen. Die Bewegungen bleiben flüssig und schnell.
Basic-Programme laufen mit fast der gleichen Geschwindigkeit ab, mit der sie ohne erweiterten Interrupt ablaufen würden (Bei einer Zählschleife von 1 bis 1000 mit Bildschirmausgabe der Zahl; inklusive Scrolling brauchte das Programm mit dem normalen Interrupt genauso lange (mit der Stoppuhr gemessen, nicht mit TI$) wie dasselbe Programm mit veränderter Interrupt-Routine, nur mit dem Unterschied, daß während des zweiten Durchgangs noch Sprites auf dem Bildschirm bewegt wurden).
Allerdings müssen so viele Vorteile auch mit einem Nachteil erkauft werden: Mit Basic läßt sich keine erweiterte Interrupt-Routine schreiben.
Nachteil:
Programmierung nur in Maschinensprache möglich.
Dieser Nachteil soll uns aber nicht abschrecken. Zur Steuerung von Sprites würde man in Basic mit POKEs arbeiten, so etwas ist aber auch in Maschinensprache sehr leicht zu machen.