Supergrafik
Supergrafik | |
---|---|
Entwickler | Axel Plenge |
Firma | Data Becker GmbH |
Verleger | Data Becker GmbH |
Release | 1986 |
Lizenz | Vollversion |
Plattform(en) | C64 |
Genre | BASIC-Erweiterung |
Steuerung | |
Medien | |
Sprache(n) | , Anleitung |
Information | aka Supergraphik 64 |
Die BASIC-Erweiterung Supergrafik mit Fokus auf Grafik und Sound deckt mit ihrem Angebot an zusätzlichen Befehlen jene Lücken ab, die das Standard-BASIC-V2 bei all den Fähigkeiten eines C64 hinterlassen wurden. Diese von Axel Plenge entwickelte Erweiterung wurde ab 1986 von Data Becker GmbH vermarktet.
Die hier vorgestellte Version der Supergrafik wurde als Diskette zusammen mit dem SUPERGRAFIK Buch zum Commodore 64 verkauft. Das Programm wurde zuvor bereits von Data Becker ohne das Buch unter dem Namen "Supergrafik 64" angeboten.
Beschreibung[Bearbeiten | Quelltext bearbeiten]
Supergrafik bietet:
- Zwei unabhängige hochauflösende (320×200) oder Multicolor (160×200) Grafikseiten.
- Eine Standard-Low-Grafik-Seite (80×50 Punkte) gemeinsam im Textmodus.
- Verdecktes Zeichnen (z.B. Text sichtbar, Grafikseite 2 wird erstellt, usw.).
- Bildschirmfensterbehandlung; gleichzeitige Anzeige von Text und Grafik möglich.
- 2×8 unabhängige und unterschiedliche Sprites gleichzeitig auf dem Bildschirm, und in allen Parametern veränderlich durch Bildschirmfenstertechnik (Windowing).
- Automatische Unterbrechung des BASIC-Programms bei Kollisionen (Interrupt), Sprung in Unterbrechungsroutine, dann Weiterführung des Hauptprogramms.
- Joystickunterstützung, Paddleabfrage (A/D-Wandler).
- Befehlskombinationen durch zusätzlichen Parameter.
- Durch einfache Befehle zu steuernde Grafikfiguren.
- Speichern und Laden von Grafik, Farbe und Text auf Diskette (Kassette) (auch verdeckt) in selbst wählbarem Format, dadurch Möglichkeit des Einladens aller "Fremdgrafiken".
- Sound-Programmierung mit Verstellung aller möglichen Sound-Parameter (Lautstärke, Klang, Filter, Tonhöhe, Tonlänge) unabhängig vom übrigen Programmablauf.
- Programmier-Set (Utilities).
Starten der Supergrafik[Bearbeiten | Quelltext bearbeiten]
Gestartet wird die BASIC-Erweiterung durch Eingabe folgender Befehle:
LOAD "SUPERGRAPHIK",8 RUN
Die Supergrafik-Befehle[Bearbeiten | Quelltext bearbeiten]
Die folgende Befehlsübersicht soll einen Einblick in die Möglichkeiten der BASIC-Erweiterung geben.
Eine ausführlichere Dokumentation einschließlich der nötigen Parameter gibt es im weiterführenden Artikel Supergrafik Befehle.
Grundbefehle: PLOT : Setzen (Löschen, usw.) eines Punktes PLOT ... TO ...) : Setzen (Löschen, usw.) einer oder mehrerer Linien PLOT TO ...) : Setzen (Löschen, usw.) einer Linie vom Grafikcursor CIRCLE : Setzen (Löschen, usw.) einer Ellipse, eines Kreises oder Setzen (Löschen, usw.) von Kreis-, Ellipsen- oder Vieleck-Bögen DRAW : Setzen (Löschen, usw.) einer frei definierbaren Figur FRAME : Setzen (Löschen, usw.) eines Rahmens definierter Dicke FILL : Setzen (Löschen, usw.) eines Feldes TEXT : Setzen (Löschen, usw.) eines Textes als Grafik PAINT : Ausfüllen einer beliebigen geschlossenen Fläche GMODE : Bestimmen von Grafikseite und Grafikmodus GCLEAR : Löschen des Grafikbildschirms bzw. eines Bildschirmfensters INVERS : Invertieren des Grafikbildes oder eines Grafikfensters mit 256 verschieden Masken GCOMB : Verknüpfung beider Grafikseiten, zweier Bildschirmfenster, Verschiebung eines Grafikfensters TRANS : Kopieren der Textseite in die Grafik GMOVE : Horizontales Rollen/Verschieben des Bildschirms SCALE= : Rotieren und Vergrößern einer DRAW-Figur
Farbbefehle: COLOR= : Festlegen der Rahmen- und Hintergrundfarbe SCOL= : Festlegen der Zeichenfarbe für den gesamten Bildschirm PCOL= : Festlegen der Zeichenfarbe GSAVE : Speichern der Grafik, Farbe oder Text GLOAD : Laden der Grafik, Farbe oder Text HCOPY : Hardcopy der Grafikanzeige
Sprite-Befehle: SREAD : Einlesen von 63 Sprite-Daten SDEFINE : Sprite-Definition-Einschalten/Ausschalten SPOWER : Abschalten des zweiten Sprite-Satzes SMODE : Bestimmen der Sprite-Eigenschaften (Farbe, Vergrößerung, Priorität vor Hintergrund) SSET : Positionieren eines Sprites SSET... TO... : Bewegen eines Sprites von einer Position zu einer anderen SSET TO... : Bewegen eines Sprites von der momentanen Position einer anderen SWAIT : Warten bis Sprite s steht IF# ... THEN ... : Bedingtes Verzweigen unter definierten Bedingungen (Joystick, Kollision) IRETURN : Beenden der Unterbrechungsroutine
Ton-Befehle: VOLUME= : Einstellen der Lautstärke SOUND : Einstellen des Klangbildes FILTER : Einstellen der Filter TUNE : Spielen eines Tones (Tonlänge, Note, Oktave, Verstimmung)
Utlities: DIRECTORY : Anzeigen des Disketteninhaltsverzeichnisses ohne Programmverlust MERGE : Anhängen eines BASIC-Programms von Diskette an ein im Speicher befindliches RENUM : Umnummerierung von Zeilennummern eines BASIC-Programms DTASET : Setzen des DATA-Zeigers auf eine bestimmte Zeile KEY : Umprogrammieren der Funktionstasten PADDLE : Auslesen der A/D-Wandler (Paddle-Werte) POS= : Positionieren des Text-Cursors
Befehlsabkürzungen und Token[Bearbeiten | Quelltext bearbeiten]
In der folgenden Tabelle ist beim Kürzel die Kleinschreibung die entsprechende Taste ohne und in Großschreibung mit gedrückter Shift -Taste. Zusätzlich findet sich hier auch die verwendeten Token-Codes der jeweiligen Supergrafik-Befehle.
Befehl | Kürzel | Token |
---|---|---|
CIRCLE | cI | $F2 |
COLORn | cO | $F5 |
DIRECTORY | dI | $D7 |
DRAW | dR | $ED |
DTASET | dT | $DA |
FILTER | fI | $E3 |
FILL | fiL | $EE |
FRAME | fR | $EF |
GCLEAR | GVL | $EA |
GCOMB | gC | $D9 |
GLOAD | gL | $F9 |
GMODE | gN | $E9 |
GMOVE | gmoV | $EB |
GSAVE | gS | $F8 |
HCOPY | nC | $FA |
IF# | iF | $FC |
INVERS | iN | $F0 |
IRETURN | iR | $FB |
KEY | kE | $DD |
MERGE | nE | $DB |
PADDLE | pA | $F3 |
PAINT | paI | $FD |
PCOL= | pC | $F7 |
PLOT | pL | $EC |
RENUM | rE | $DC |
SCALE= | sC | $F4 |
SCOL= | scO | $F6 |
SDEFINE | sD | $E5 |
SMODE | sM | $E8 |
SOUND | sO | $E1 |
SPOWER | sP | $D8 |
SREAD | sR | $E4 |
SSET | sS | $E6 |
SWAIT | sW | $E7 |
TEXT | tE | $F1 |
TRANS | tR | $DE |
TUNE | tU | $E0 |
VOLUME= | vO | $E2 |
Speicherbelegung[Bearbeiten | Quelltext bearbeiten]
Übersicht über die Speicherbereiche, die Supergrafik im Computer belegt (gemeint ist stets RAM):
$0000-OOFF: diverse Arbeitsspeicher $0100-0IFF: normaler Stack $0200-03FF: unverändert genutzt $0400-07E7: Text-LGR-Speicher $0800- ...: BASIC-Speicherbereich $7700-9FFF: SuperGrafik - Betriebssystem $A000-BFFF: Grafikseite 2 $C000-C3FF: Grafikseite 1-Farbe (Videoram) Sprite-Vektoren $C400-05FF: Hardcopy-Routine $C600-C7FF: diverse Speicher $CC00-COFF: Grafikseite 2-Farbe (Videoram) $CCOO-CFFF: Grafikseite 2-Farbe (Farbram) $D000-D1FF: Sprite-Bewegungsregister $D200-D5FF: Sprite-Definitionen $D600-DFFF: diverse Massen-Hilfsspeicher (f. RENUMBER/GMOVE/PAINT) $E000-FFFF: Grafikseite 1
überlagert: $D800-DBFF: originales Farbram 1
Das SUPERGRAFIK Buch zum Commodore 64[Bearbeiten | Quelltext bearbeiten]
Das SUPERGRAFIK Buch zum Commodore 64 | |||
---|---|---|---|
Sprache | deutsch | ||
Autor(en) | Axel Plenge | ||
Verlag | Data Becker | ||
Jahr | 1986 | ||
ISBN | ISBN 3-89011-213-7 | ||
Neupreis | DM 49.- sFr 47.- öS 382.- | ||
Datenträger | |||
Seitenzahl | 726 | ||
letzte Auflage | 2. Auflage 1988 | ||
Genre | Programmieren / Grafik | ||
Information |
Auf mehr als 720 Seiten erklärt das Supergrafik-Buch nicht nur die Basic-Erweiterung, sondern auch viele Grundlagen der Grafikprogrammierung. Ein besonderer Leckerbissen ist das kommentierte Quellcode-Listing. Das Buch ist eine erweiterte Auflage des Grafikbuchs zum Commodore 64.
Inhaltsverzeichnis (kurz)
Die acht Kapitel des Buches:
- Einleitung
- Supergrafik für Einsteiger: Vorstellung der Befehle und Anwendungsbeispiele
- Anwendungen: diverse allgemeine Grafik-Anwendungen mit und ohne Supergrafik-Unterstützung
- Hardwaregrundlagen: VIC und andere Grundlagen
- Supergrafik intern: Grundsätzliche Grafikprogrammierung in BASIC und Maschinensprache
- Kommentiertes Assembler-Listing der Supergrafik
- Anhang: Begriffserklärungen und Kurzanleitung der Supergrafik mit Befehlsreferenz
- Stichwortverzeichnis
Leseprobe[Bearbeiten | Quelltext bearbeiten]
Seite 71: (2.6.2 Kleine Spielereien 2.Beispiel)
Das folgende Programmbeispiel stammt von der Diskette.
100 REM ************************ 110 REM ** ** 120 REM ** SPIELEREIEN II ** 130 REM ** ** 140 REM ** NACH IDEEN VON ** 150 REM ** NORBERT TREITZ ** 160 REM ** ** 170 REM ************************ 180 REM 190 PI=3.14159265 200 REM 210 REM *************** 220 REM ** ** 230 REM ** FIGUR 1 ** 240 REM ** ** 250 REM *************** 260 REM 270 GMODE 0,1 : GCLEAR : SCOL= 1,7 : COLOR= 2,2 280 R=141 290 A=160 : B=100 300 FOR W=PI/4 TO 3.6 STEP 0.05 310 X=R*COS(W) : Y=R*SIN(W) 320 PLOT ,A+X,B-Y TO A-Y,B-X 330 PLOT ,A-Y,B-X TO A-X,B+Y 340 REM PLOT ,A-X,B+Y TO A+X,B-Y 350 PLOT ,A-X,B+Y TO A+Y,B+X 360 PLOT ,A+Y,B+X TO A+X,B-Y 370 R=R*0.94 380 NEXT W 390 GOSUB 680 400 REM 410 REM *************** 420 REM ** ** 430 REM ** FIGUR 2 ** 440 REM ** ** 450 REM *************** 460 REM 470 FOR N=4 TO 100 STEP 5 480 GCLEAR 490 R1=99 : R2=50 500 DW=PI/N*2 510 FOR I=0 TO 4 520 R3=99-R1 : R4=99-R2 530 FOR W=DW TO 2*PI+DW*2 STEP DW 540 A=160+R3*COS(W) 550 B=100-R3*SIN(W) 560 PLOT ,A,B TO 160+R4*COS(W+DW),100-R4*SIN(W+DW) 570 PLOT ,A,B TO 160+R4*COS(W-DW),100-R4*SIN(W-DW) 580 NEXT W 590 R1=R1/2 : R2=R2/2 600 NEXT I 610 GOSUB 680 620 NEXT N 630 END 640 REM 650 REM 660 REM WARTESCHLEIFE: 670 REM 680 FOR T=1 TO 4000 690 GET A$ : IF A$="" THEN NEXT T 700 RETURN
Die erste dieser Figuren stellt ein sich drehendes Quadrat dar, das sich bis zur Unkenntlichkeit verkleinert. Grundlage dieses Programms ist die Kreisformel mit:
x=r*cos(w)+mx y=r*sin(w)+my mit x: x-Koordinate eines Kreispunktes y: y-Koordinate eines Kreispunktes w: Winkel zwischen y-Achse und Linie: Kreispunkt-Mittelpunkt r: Radius mx: x-Koordinate Kreismittelpunkt my: y-Koordinate Kreismittelpunkt
Die vier Eckpunkte des Quadrates werden als Punkte eines Kreises gesehen, dessen Mittelpunkt im Nullpunkt eines rechtwinkligen Koordinatensystems liegt. Im Laufe der Routine werden a) der Radius verringert b) die Eckpunkte des Quadrats um einen Winkel w um den Mittelpunkt des Kreises gedreht. Wie das ganze genau funktioniert, erfahren Sie im Grundlagenkapitel unter "Kreisberechnung" beim Thema "Achtelkreistechnik". Die zweite Figur (oder die Figuren, denn es werden eine ganze Menge Figuren gezeichnet) zeigt einen hübschen Effekt, der ebenfalls auf der Kreisberechnung basiert (oder auf der Anwendung von Polarkoordinaten, je nachdem, was einem lieber ist). Verändern Sie auch hier ruhig ein paar Parameter, um zu sehen, was passiert.
Die Diskette zum Buch[Bearbeiten | Quelltext bearbeiten]
Inhaltsverzeichnis der Supergrafik-Diskette:
0 "SUPERGRAPHIKBUCH" AP 2A 7 "CIRCLE-DEMOS" PRG 3 "ANIMATION-1" PRG 6 "SUPERGRAPHIK" PRG 2 "TEXT-TEXT-TEXT.." PRG 4 "ANIMATION-2" PRG 41 "SUPERGRAPHIK.O" PRG 5 "VERGROESSERUNG" PRG 6 "SCROLL-ASSEMBLER" PRG 2 "CBM 1526" PRG 6 "SPIEGELUNG" PRG 4 "SCROLLING-DEMO" PRG 2 "7-NADEL" PRG 2 "DREHUNG" PRG 42 "BILDSCH.FENSTER" PRG 2 "GP-700A" PRG 4 "KUGELPROJEKTION" PRG 4 "LOW-GRAPIK/PRINT" PRG 2 "PLOT-DEMO" PRG 6 "SHAPES" PRG 9 "LOW-GRAPHIK/CHR$" PRG 2 "BLINKER" PRG 14 "SHAPE-DEMO" PRG 11 "LOW-GRAPHIK/POKE" PRG 2 "DER RASENDE..." PRG 4 "SPRITES" PRG 6 "GRAPHIK-INITROUT" PRG 2 "INVERTIERUNG" PRG 8 "SMODE-SSET" PRG 4 "PUNKTBERECHNUNG" PRG 2 "POSITIONSLICHTER" PRG 5 "SPRITEDEMO" PRG 9 "SINUSKURVE" PRG 4 "LGR-SINUSKURVE" PRG 6 "KOLLISIONEN" PRG 9 "GERADE" PRG 6 "SPRINGTEUFEL" PRG 7 "16 SPRITES" PRG 8 "ELLIPSE" PRG 2 "RASTER-SPIELE" PRG 4 "SCOL-FARBEN..." PRG 43 "SPRITEFORMER" PRG 3 "SEITENWECHSEL" PRG 4 "PCOL-NOCH MEHR.." PRG 12 "SPRITE-BEISPIEL" PRG 2 "TIEF VERSTECKT.." PRG 13 "136 FARBEN I" PRG 8 "SPRITE-KOLLISION" PRG 6 "SUPER-SNAKE" PRG 12 "136 FARBEN II" PRG 21 "ZEICHENFORMER" PRG 3 "HAUS V. NIKOLAUS" PRG 4 "INVERSER" PRG 21 "MULTICOLOR" PRG 2 "ZEICHENMODI" PRG 4 "ROLLEN-SCROLLEN" PRG 34 "ERLAEUTERUNGEN" PRG 2 "DEMO" PRG 3 "ROLL-DEMO" PRG 4 "GRAPHIKABSPEICH." PRG 2 "FUNKTIONSKISTE" PRG 8 "POSTERHARDCOPY" PRG 5 "GRAPHIK-HARDCOPY" PRG 5 "SPIELEREIEN" PRG 2 "QUADRATFUNKTION" PRG 4 "RASTERZEILEN-IRQ" PRG 5 "SPIELEREIEN II" PRG 11 "FUNKTIONSPLOTTER" PRG 12 "LIGHTPEN" PRG 3 "RECHTECKE 1" PRG 9 "3-D DESIGNER" PRG 2 "LIGHTPEN-IRQ" PRG 1 "RECHTECKE 2" PRG 3 "3-D/Y↑2-X↑2" PRG 16 "GRAPHIK-PAKET" PRG 2 "FLAECHEN" PRG 4 "3-D/Y↑2-X↑2/VERN" PRG 9 "GRAPHIK-P.-DEMO" PRG 7 "CIRCLE" PRG 6 "BALKENDIAGRAMM" PRG 16 "CAD-ZEICHNER 4" PRG 2 "POLYGONE" PRG 8 "KUCHENDIAGRAMME" PRG 3 BLOCKS FREE. 10 "CIRCLE-KOMPLETT" PRG 20 "LAUFSCHRIFTEN" PRG 14 "DIE UHRZEIT..." PRG 7 "CIRCLE-DEMOS" PRG
Meinung[Bearbeiten | Quelltext bearbeiten]
Petrus: "Diese Erweiterung füllt gezielt die Lücke, die das BASIC V2 bezüglich der Grafik-, Sound- und Sprite-Befehle hinterlässt. Die Syntax der Befehle ist gelegentlich nicht ganz leicht zu verstehen, bietet aber oft viele Möglichkeiten. Das Buch ist sehr ausführlich und das Programm durch das kommentierte Assembler-Listing hervorragend dokumentiert. Dass Supergrafik von einigen Compilern (Basic 64, Basic-Boss) gut unterstützt wird, rundet den positiven Eindruck ab."
Weblinks[Bearbeiten | Quelltext bearbeiten]
- supergrafik.zip d64 auf cbmhardware filebase
- Supergrafik Archiv mit d64 bei c64-online.com
- Cover-Liste mit "Data Becker, 64 Das Super Grafik Buch" Mini-Cover zur Supergrafik-Version von 1988, bei doc64.de
- Katalog der Deutschen Nationalbibliothek: 3-89011-213-7
- Das SUPER GRAFIK Buch zum Commodore 64 im Internet Archiv