Das Grafikbuch zum Commodore 64
Das Grafikbuch zum Commodore 64 | |||
---|---|---|---|
Sprache | deutsch | ||
Autor(en) | Axel Plenge | ||
Verlag | Data Becker | ||
Jahr | 1984 | ||
ISBN | ISBN 3-89011-009-6 | ||
Neupreis | DM 39,- | ||
Datenträger | |||
Seitenzahl | 295 | ||
letzte Auflage | 1. Auflage 1984 | ||
Genre | Programmieren / Grafik | ||
Information |
Vorwort[Bearbeiten | Quelltext bearbeiten]
Grafik ist nicht nur eine der Hauptstärken des COMMODORE 64; COMMODORE hat diese Stärke auch sehr sorgfältig versteckt. Der Basic - Anfänger kennt Grafik nur bewundernd von den vielen fertigen Programmen und Aktionspielen, die natürlich über entsprechende Routinen - meist in Maschinensprache - die grafischen Fähigkeiten des COMMODORE 64 voll ausnutzen. Dieses Buch soll nun jedem COMMODORE 64 - Anwender die Möglichkeit geben, auch in eigenen Programmen die Vielzahl grafischer Möglichkeiten seines Computers zu nutzen.
Als Autor konnten wir Herrn Axel Plenge gewinnen, der den COMMODORE 64, besonders von der Grafikseite her, wie kaum ein anderer kennt und dies mit der beliebten Supergraphik ja bereits eindeutig unter Beweis gestellt hat. Ihm machte das Schreiben dieses Buches so viel Spaß, und er entdeckte dabei so viele interessante Sachen, daß das Grafikbuch gleich fast 50 Seiten umfangreicher wurde als geplant. Für Sie als Leser hat dies viele Vorteile, und wir dürfen Ihnen viel Spaß beim Ausprobieren der vielen Anregungen und Programme von Axel Plenge wünschen.
Dr. Achim Becker
Inhaltsverzeichnis[Bearbeiten | Quelltext bearbeiten]
1. Kapitel Einleitung................................................6 2. Kapitel Bits and Bytes............................................9 2.1. Dezimalsystem........................................9 2.2. Dualsystem..........................................10 2.3. Hexadezimalsystem...................................13 2.4. Logische Operationen................................14 3. Kapitel Hardwaregrundlagen.......................................16 3.1. Die Register des VIC................................16 3.2. Betriebsarten des VIC...............................23 3.3. Speicherverwaltung des CBM 64.......................28 3.3.1. Die Speicherzugriffe des 6510................31 3.3.1.1. Lesen eines Bytes...................31 3.3.1.2. Schreiben einesw Bytes..............34 3.3.2. Die Speicherzugriffe des VIC.................35 3.3.2.1. Speicherfunktionen des VIC..........36 3.3.2.2. VIC-Speicheransteuerung.............38 3.3.2.3. Verschieben der Bildschirmspeicher..39 3.4. Punkt-Graphik.......................................45 3.4.1. Farben.......................................45 3.4.2. Hochauflösende Graphik (HGR).................46 3.4.3. Multicolor-Graphik (MC)......................52 3.5. Sprite..............................................55 3.5.1. Aufbau und Farbe normaler Sprites............56 3.5.2. Multicolor-Spriteaufbau......................57 3.5.3. Spritedefinition - Farbe.....................59 3.5.4. Weitere Spriteeigenschaften..................63 3.5.4.1. Positionieren.......................63 3.5.4.2. Vergrößern..........................65 3.5.4.3. Priorität...........................66 3.5.4.4. Kollisionen.........................67 3.6. Text- und Zeichenverwaltung.........................68 3.6.1. Textseitenorganisation.......................68 3.6.2. Zeichensatzorganisation......................72 3.7. IRQ-Möglichkeiten...................................72 3.7.1. Bildschirmrasterzeilen.......................80 3.7.5. Lightpen.....................................84 3.7.3. Sprite-Kollisionen...........................86 4. Kapitel Grundsätzliche Graphikprogrammierung.....................88 4.1. Text und Graphik auf dem Low-Res-Bildschirm.........89 4.2. Programmierung der Punktgraphik....................102 4.2.1. Initialisierung der Graphik.................104 4.2.1.1. Einschalten der Graphik............104 4.2.1.2. Löschen der Graphik................106 4.2.1.3. Löschen der Farbe..................107 4.2.1.4. Ausschalten der Grafphik...........108 4.2.2. Einfache Figuren in der Punktgraphik........109 4.2.2.1. Punkt..............................109 4.2.2.2. Linie..............................114 4.2.2.3. Ellipse/Kreis......................119 4.3. Spriteprogrammierung...............................122 4.3.1. Erstellung von Sprites (Spriteeditor).......123 4.3.2. Darstellung und Programmierung der Spreiteeigenschaften....................145 4.4. Zeichensatzprogrammierung..........................157 4.4.1. Änderung einiger Zeichen....................158 4.4.2. Änderung eines Zeichensatzes (Zeichenformer)163 4.5. Eingabe/Ausgabe von Graphik und Zeichensatz........181 4.5.1. Abspeichern/Laden...........................182 4.5.2. Hardcopy....................................184 4.6. IRQ-Handhabung.....................................187 4.6.1. Rasterzeilen-IRQ............................188 4.6.2. Lightpen....................................194 4.7. Ein kleines Graphik-Paket..........................199 5. Kapitel Anwendungen.............................................218 5.1. Graphikanwendungen.................................218 5.1.1. Funktionendarstellungen.....................219 5.1.2. 3-Dimensionale Graphik - CAD................232 5.1.2.1. Parallel-Projektion................233 5.1.2.2. Zentral-Projektion.................240 5.1.2.3. 3-D-Funktionen.....................242 5.1.2.4. Bewegte Bilder in 3-D..............248 5.1.3. Graphische Statistik........................251 a) Kurvenstatistik..........................251 b) Balkendiagramme..........................251 c) Kuchendiagramme..........................255 5.2. Laufschriften......................................261 5.3. Das Geheimnis der Spiele...........................266 5.3.1. Animation...................................267 5.3.2. Scrolling...................................271 6. Kapitel Anhang..................................................279 6.1. Programmoptimierung................................279 6.2. Graphikspeicheraufbau..............................282 6.2.1. Graphikspeicher.............................282 6.2.2. Videoram....................................283 6.3. Farbtabelle........................................284 6.4. Bildschirmcodes....................................285 6.5. Dez-Hex-Dual - Konversionstabelle..................287 6.6. Spriteentwurfsblatt................................288 6.7. Zeichenentwurfsblatt...............................289 6.8. VIC-Register-Übersicht.............................290 6.9. Literaturhinweise..................................293 6.10. Nachtrag zu Abschnitt 4.1.........................295
Leseprobe[Bearbeiten | Quelltext bearbeiten]
(Seite 182; Kapitel "4.5.1. Abspeichern/Laden")
Das Problem bei der Ein- und Ausgabe von Graphiken oder eines Zeichensatzes auf Diskette oder Kassette ist das Abspeichern, da hierbei dem Computer Anfangs- und Endadresse des zu speichernden Bereichs angegeben werden muß und kein entsprechender Befehl hierzu existiert. Bei normalen Basisprogrammen sind dem Rechner diese Dinge bekannt, Maschinenprogramme oder sonstige Daten jedoch müssen auf etwas kompliziertere Art und Weise auf das Speichermedium übertragen werden. Grundsätzlich kann dies durch die folgende Routine geschehen. Sie ist wieder so gehalten, daß Sie sich reibungslos in Ihre gesammelten Graphikroutinen einfügt:
10 REM *************************** 20 REM ** ** 30 REM ** GRAPHIKABSPEICHERUNG ** 40 REM ** ** 50 REM *************************** 60 REM 70 FI$="GRAPHIK" : GA = 8 : REM FILENAME UND GERAETEADRESSE 80 BE = 8192 : EN = 16192 : REM START- UND ENDADRESSE (HIER GRAPHIK BEI $2000) 90 GOSUB 11200 : END : REM SPEICHERN 11200 REM 11210 REM ******************* 11220 REM ** ABSPEICHERN ** 11230 REM ******************* 11240 REM 11250 SYS 57812 FI$,GA : REM DISKPARAMETEREUBERNAME (AN $E1D4) 11260 X = EN/256 11270 POKE 175, INT(X) : REM HIGH-BYTE ENDADRESSE ($AF) 11280 POKE 174, (X-INT(X))*256 : REM LOW-BYTE ENDADRESSE ($AE) 11290 X = BE/256 11300 POKE 194, INT(X) : REM HIGH-BYTE STARTADRESSE ($C2) 11310 POKE 193, (X-INT(X))*256 : REM LOW-BYTE STARTADRESSE ($C1) 11320 SYS 62954 : REM SAVE-ROUTINE ($F5EA) 11330 RETURN
Meinung[Bearbeiten | Quelltext bearbeiten]
User: "...."