----------------------
--- SUPERGRAFIK 64 ---
----------------------

Basic-Erweiterung mit Befehlen fr Grafik, Sound und mehr.
(c) 1986 DATA BECKER GmbH
Programmierer: Axel Plenge


== Vorstellung ==

- zwei unabhngige hochauflsende (320x200) oder Multicolor (160x200) Grafikseiten.
- eine Standard-Low-Grafik-Seite (80x50 Punkte) gemeinsam im Textmodus
- Verdecktes Zeichnen (z.B. Text sichtbar, Grafikseite 2 wird erstellt etc.)
- Bildschirmfensterbehandlung
- 16 unabhngige und unterschiedliche Sprites gleichzeitig auf dem Bildschirm
  und in allen Parametern vernderlich durch Bildschirmfenstertechnik (Windowing).
- Alle 16 Sprites definiert durch einen Befehl
- Positionieren und Bewegen von 8 bzw. 16 Sprites gleichzeitig und unabhngig voneinander,
  whrend das brige Programm weiterluft, durch bedingungslosen Einsatz der Interrupttechnik.
- Stndige Sprite-Kollisionsberprfung, Joystickuntersttzung, Paddleabfrage (A/D-Wandler),
  dadurch Mglichkeit des Einsatzes z.B. des Koala Grafiktabletts z.B. zum Zeichnen.
- Automatische Unterbrechung des BASIC-Programms bei Kollisionen (Interrupt),
  Sprung in Unterbrechungsroutine, dann Weiterfhrung des Hauptprogrammes.
- Fr jede Anwendung kombinierbare Befehle und Befehls-
  kombinationen (alle Befehle anwendbar auf alle Grafikarten):

  1.) Fr alle Zeichenbefehle whlbare Zwischenmodi:

    Zeichnen, 
    Lschen,
    Invertieren, 
    Punktieren, 
    Pinselwahl, 
    Grafikcursor bewegen,
    Zeichnen mit/ohne Farbsetzung,
    Punkte zhlen.

  2.) Durch einfache Befehle zu steuernde Grafikfiguren:

    Punkt,
    Linie,
    Linienschar,
    Linie vom Grafikcursor,
    Kreise,
    Kreisbgen,
    Ellipsen,
    Ellipsenbgen,
    Vielecke (geschlossen und offen),
    Selbstdefinierbare Figuren,
    Rotieren und Vergrern dieser Figuren,
    Rahmen,
    Felder,
    Text in Grafik,
    Beliebige Flchen ausfllen.

  3.) Weitere Grafikbefehle:

    Grafikseiten- und Modulwechsel,
    Grafik und Bildschirmfenster maskiert lschen,
    Grafik und Bildschirmfenster maskiert invertieren,
    Kopieren einer Grafikseite in die andere,
    ODER-, UND- und EXKLUSIV-ODER-Verknpfung der beiden Grafikseiten
    Kopieren und Verschieben von Grafikfenstern
    ODER-, UND- und EXKLUSIV-ODER-Verknpfung von Bildschirmfenstern
    Originalgetreues Kopieren eines TEXT-Bildschirms in eine Grafikseite, 
     dadurch Hardcopy auch des Text-Bildschirms, Scrolling von Text- und Grafik
    Whlen der Rahmen-, Hintergrund-, Zeichen- oder Punktfarbe.

- Gleichzeitige Anzeige von Text und Grafik durch Bildschirmfensterdefinition!
- Speichern und Laden von Grafik, Farbe und Text auf Diskette (Kassette) (auch verdeckt)
  in selbst whlbarem Format, dadurch Mglichkeit des Einladens aller "Fremd"-Grafiken 
  und deren weitere Bearbeitung durch Hardcopy etc. (auch z.B. aller KoalaPad-Bilder)
- Hardcopies fr EPSON mit DATA-BECKER-Interface, CBM 1526, CBM MPS 801, Seikosha GP 100 VC,
  Farbdrucker Seikosha GF 700 (farbige Hardcopies von Koala-Pad-Bildern etc.) und andere.
- Komfortable Soundprogrammierung mit Verstellung aller mglichen Sound-Parameter 
  (Lautstrke, Klang, Filter, Tonhhe, Tonlnge) ebenfalls unabhngig vom brigen   Programmablauf.
- Eingebautes Programmier-Set mit:
  RENUMBER (auch GOTO, GOSUB, ON ... GOTO, ON ... GOSUB, RUN, LIST, THEN-nderung), 
  MERGE (anhngen eines BASIC-Programmes an ein anderes),     
  DIRECTORY (anzeigen des Disketten Inhaltsverzeichnisses ohne Programmverlust),
  DTASET (setzen des DATA-Zeigers auf eine bestimmte Zeile (auch indirekt),   
  KEY (Programmierung der 8 Funktionstasten mit 16 Zeichen pro Taste.
- Cursorpositionierung im Textmodus.
- Erleichtertes Programmieren durch "tolerante" Fehlerakzeptanz (ILLEGAL QUANTITY etc.).


== Starten der Supergrafik ==

  LOAD "SUPERGRAPHIK",8 (RETURN)
  RUN (RETURN)

== Kurzbeschreibung der Supergrafik-Befehle ==

=== A. Grundbefehle:

a) Zeichenmodi:
   ------------

 zm Wirkung               Beispiel
 0  Figur zeichnen        PLOT 0,160,100
 1  Figur loeschen        PLOT 1,160,100
 2  Figur invertieren     PLOT 2,160,100
 3  Figur punktieren      PLOT 3,160,100
 4  Grafikcursor bewegen  PLOT 4,160,100

b) Secundrbefehle:
   ----------------

 c     - Zeichnen mit Farbsetzung 

    Beispiel: PLOT C 1,100,150

 B m,  - Pinselwahl

    Beispiel: PLOT B 4520,40

 T var,-

    PLOT               (zm),x,y
    PLOT C             (zm),x,y
    PLOT   B m,        (zm),x,y
    PLOT C B m,        (zm),x,y
    PLOT        T var, (zm),x,y
    PLOT C      T var, (zm),x,y 
    PLOT   B m, T var, (zm),x,y 
    PLOT C B m, T var, (zm),x,y

c) Befehle:
   --------

PLOT	

  Befehl:    PLOT zm,x,y
  Beispiel:  PLOT 1,100,199
  Parameter: zm: Zeichenmodus
             x:  x-Koordinate
             y:  y-Koordinate
  Funktion:  Setzen (Loeschen etc.) eines Punktes
------------------------------------------------------------------

PLOT... TO ...	

  Befehl:    PLOT zm,x1,yl TO x2,y2 (TO x3,y3 TO ...)
  Beispiel:  PLOT 0,100,199 TO 0,20
  Parameter: zm: Zeichenmodus
             x1:  x-Startkoordinate
             y1:  y-Startkoordinate
             x2:  x-Zielkoordinate
             y2:  y-Zielkoordinate
  Funktion:  Setzen (Loeschen etc.) einer oder mehrerer Linien
------------------------------------------------------------------

PLOT TO ...	

  Befehl:    PLOT zm, TO x2,y2 (TO x3,y3 TO ...)
  Beispiel:  PLOT 2, TO 100,199
  Parameter: zm: Zeichenmodus
             x2:  x-Zielkoordinate
             y2:  y-Zielkoordinate
  Funktion:  Setzen (Loeschen etc.) einer Linie vom Grafikcursor
-------------------------------------------------------------------

CIRCLE

  Befehl:    CIRCLE zmxm,ym,xr,yr
  Beispiel:  CIRCLE 0,,160,100,80,90 
  Parameter: zm: Zeichenmodus
             xm:  x-Mittelpunktskoordinate
             ym:  y-Mittelpunktskoordinate
             xr:  x-Radius
             yr:  y-Radius
  Funktion:  Setzen (Loeschen etc.) einer Ellipse, Kreis
------------------------------------------------------------------

Bgen:	

  Befehl:    CIRCLE zm,(sl),xm,ym,xr,yr,wa,we
  Beispiel:  CIRCLE 0,2,160,100,80,90,30,130
  Parameter: zm: Zeichenmodus
             sl:  Seitenlnge (0-255)
             xm:  x-Mittelpunktskoordinate
             ym:  y-Mittelpunktskoordinate
             xr:  x-Radius
             yr:  y-Radius
             wa:  Anfangswinkel (0-360)
             we:  Endwinkel (0-360)
  Funktion:  Setzen (Loeschen etc.) von Kreis-, Ellipsen- oder
             Vieleck-Bgen
------------------------------------------------------------------

DRAW

  Befehl:    DRAW zm,str$ ON x,y
  Beispiel:  DRAW 2,A$ ON 160,100
  Parameter: zm:   Zeichenmodus
             str$: Definitionsstring
             x:    x-Koordinate
             y:    y-Koordinate
  Funktion:  Setzen (Loeschen etc.) einer frei definierbaren Figur

  0 - hoch
  1 - rechts
  2 - runter
  3 - links

  Befehl:    DRAW zm,str$ 
  Beispiel:  DRAW 2,A$	
  Parameter: zm:   Zeichenmodus
             str$: Definitionsstring
  Funktion:  Setzen (Loeschen etc.) einer frei definierbaren Figur
             Grafikcursor aus
------------------------------------------------------------------
	 
FRAME	

  Befehl:    FRAME zm,d,x1,yl TO x2,y2
  Beispiel:  FRAME 0,10,100,100 TO 200,150
  Parameter: zm: Zeichenmodus 
             d:  Rahmendicke
             x1: x-Eckkoordinate 1
             y1: y-Eckkoordinate 1
             x2: x-Eckkoordinate 2
             y2: y-Eckkoordinate 2
  Funktion:  Setzen (Loeschen etc.) eines Rahmens definierter
             Dicke
-------------------------------------------------------------

FILL

  Befehl:    FILL zm,x1,yl TO x2,y2
  Beispiel:  FILL 0,100,100 TO 200,150	
  Parameter: zm: Zeichenmodus	
             x1: x-Eckkoordinate 1
             y1: y-Eckkoordinate 1
             x2: x-Eckkoordinate 2
             y2: y-Eckkoordinate 2
  Funktion:  Setzen (Loeschen etc.) eines Feldes
-------------------------------------------------------------

TEXT

  Befehl:    TEXT zm,str$,x,y,m
  Beispiel:  TEXT 0,"HALLO",100,130,0
  Parameter: zm:   Zeichenmodus
             str$: zu schreibender Text
             x:    x-Koordinate
             y:    y-Koordinate
             m:    Textmodus (0,1)
  Funktion:  Setzen (Loeschen etc.) eines Textes als Grafik	  

  m = 0: Gro/Grafikmodus
  m = 1: Gro/Kleinschrift
------------------------------------------------------------

PAINT	

  Befehl:    PAINT zm,x,y
  Beispiel:  PAINT ,160,100
  Parameter: zm: Zeichenmodus
             x:  x-Koordinate des Testpunktes
             y:  y-Koordinate des Testpunktes
  Funktion:  Ausfllen einer beliebigen geschlossenen Flche
------------------------------------------------------------


=== B. Weiter Grafikbefehle

GMODE

  Befehl:    GMODE (s)(,m)(,or,ur)
  Beispiele: GMODE 0,1
             GMODE 2,7,30,70
  Parameter: s:   Seitenmodus (s.u.)
             m:   Grafikmodus (s.u.)
             or:  oberer Textrand bei m=7/8 
             ur:  unterer Textrand bei m=7/8
  Funktion:  bestimmen des Grafikmodus

  s=0:   Grafikseite 1 wird angezeigt und befehligt
  s=1:   Grafikseite 1 wird angezeigt, Seite 2 aber befehligt
  s=2:   Grafikseite 2 wird angezeigt und befehligt
  s=3:   Grafikseite 2 wird angezeigt, Seite 1 aber befehligt 

  m=0:   Textmodus bzw. LGR werden angezeigt und auch befehligt
  m=1:   HGR wird angezeigt und befehligt
  m=2:   MC wird angezeigt und befehligt
  m=3:   HGR wird angezeigt, LGR jedoch gefehligt, 
         d.h. die Grafikbefehle beziehen sich auf die unsichtbare LowGrafik
  m=4:   MC wird angezeigt, jedoch LGR befehligt
  m=5:   LGR und normaler Text werden angezeigt,
         die Befehle gelten aber fr die hochauflsende Grafik
  m=6:   LGR bzw. Text werden angezeigt, MC jedoch befehligt
  m=7:   Gemischte Text- und Grafikanzeige, LGR wird befehligt.
         Im Anschlu wird die Angabe der Fensterposition verlangt
  m=8:   Gemischte Text- und Grafikanzeige, HGR wird befehligt;
         Angabe der Fensterposition 
------------------------------------------------------------------

GCLEAR	

  Befehl:    GCLEAR (m)(,xl,yl TO x2,y2)
  Beispiele: GCLEAR
             GCLEAR 255
             GCLEAR 4,30,40 TO 50,70
  Parameter: m:  Lschmaske
             x1:  x-Koordinate Fenster oben links
             y1:  y-Koordinate Fenster oben links
             x2:  x-Koordinate Fenster unten rechts
             y2:  y-Koordinate Fenster unten rechts
  Funktion:  Lschen des Grafikbildschirms bzw. eines Bild-
             schirmfensters
----------------------------------------------------------------

INVERS

  Befehl:    INVERS (m)(,xl,yl TO x2,y2)
  Beispiele: INVERS
             INVERS 240
             INVERS 240,20,30 TO 60,70
  Parameter: m:   Invertierungsmaske
             x1:  x-Koordinate Fenster oben links
             y1:  y-Koordinate Fenster oben links
             x2:  x-Koordinate Fenster unten rechts
             y2:  y-Koordinate Fenster unten rechts
  Funktion:  Invertieren des Grafikbildes oder eines Grafik- 
             fensters mit 256 verschieden Masken
-------------------------------------------------------------

GCOMB

  Befehl:    GCOMB m (,xl,yl TO x2,y2 (TO x3,y3))
  Beispiele: GCOMB 1
             GCOMB 2,20,30 TO 50,120
             GCOMB 3,40,10 TO 90,130 TO 30,50
  Parameter: m:  Verknpfungsmodus (0-7)
             x1:  x-Koordinate Fenster oben links
             y1:  y-Koordinate Fenster oben links
             x2:  x-Koordinate Fenster unten rechts
             y2:  y-Koordinate Fenster unten rechts
             x3:  x-Koordinate Zielfenster oben links
             y3:  y-Koordinate Zielfenster oben links
  Funktion:  Verknpfung beider Grafikseiten, zweier Bild-
             schirmfenster, Verschiebung eines Grafikfensters 

  m=0, m=4: UND-Verknpfung zweier Seiten
  m=1, m=5: ODER-Verknpfung zweier Seiten
  m=2, m=6: EXKLUSIV-ODER-Verknpfung der Seiten
  m=3, m=7: Kopieren eines Bildschirmfensters in die andere Seite 
------------------------------------------------------------------

TRANS

  Befehl:    TRANS m
  Beispiel:  TRANS 1
  Parameter: m: Zeichensatz (0/1)
  Funktion:  Kopieren der Textseite in die Grafik
 
  m=0: Gro-/Grafiksatz 
  m=1: Gro-/Kleinschrift 
------------------------------------------------------------------

GMOVE

  Befehl:    GMOVE m,za,ze
  Beispiel:  GMOVE 0,10,20
  Parameter: m:  Verschiebemodus (0-3)
             za: Anfangszeile (0-24)
             ze: Endzeile (0-24)
  Funktion:  Horizontales Rollen/Verschieben des Bildschirms
 
  m=0: Links rollen
  m=1: Rechts rollen
  m=2: Links verschieben
  m=3: Rechts verschieben 
------------------------------------------------------------------

SCALE=

  Befehl:    SCALE= r,s
  Beispiel:  SCALE= 1,5
  Parameter: r:  Rotationswinkel
             s:  Gre
  Funktion:  Rotieren und Vergrern einer DRAW-Figur
------------------------------------------------------------------


=== B. Farbbefehle:

COLOR=

  Befehl:    COLOR= r,h
  Beispiel:  COLOR= 2,6
  Parameter: r:  Rahmenfarbe (0-15)
             h:  Hintergrundfarbe (0-15)
  Funktion:  Festlegen der Rahmen- und Hintergrundfarbe 
------------------------------------------------------------------

SCOL=

  Befehl:    SCOL= n,f
  Beispiel:  SCOL= 1,14
  Parameter: n:  Farbregister (0-3)
             f:  Farbe
  Funktion:  Festlegen der Zeichenfarbe fr den gesamten Bildschirm 
------------------------------------------------------------------

PCOL=

  Befehl:    PCOL= n,f
  Beispiel:  PCOL= 1,14
  Parameter: n: Farbregisternummer/Registermodus (0-4)
             f:  Farbnummer (0-15)/Farbregisternummer (0-3)
  Funktion:  Festlegen der Zeichenfarbe
------------------------------------------------------------------

GSAVE

  Befehl:    GSAVE (LGCF),s,"filename"(,ga)
  Beispiel:  GSAVE GCF,1,"MULTICOLOR",8
  Parameter: LGCF : Formatsteuerung (s.u.)
             s:   Angesteuerte Grafikseite
             ga:  Gerteadresse
  Funktion:  Speichern der Grafik, Farbe oder Text

  L: Low-Grafik (Text)(1000 Bytes)
  G: Grafikspeicher (8000 Bytes)
  C: Farbvideoram (1000 Bytes)
  F: Farbram (1000 Bytes)
------------------------------------------------------------------

GLOAD

  Befehl:    GLOAD (LGCF),s,"filename"(,ga)
  Beispiel:  GLOAD GCF,1,"MULTICOLOR",8
  Parameter: LGCF:  Formatsteuerung (s.u.)
             s:   Angesteuerte Grafikseite
             ga:  Gerteadresse
  Funktion:  Laden der Grafik, Farbe oder Text
------------------------------------------------------------------

HCOPY	

  Befehl:    HCOPY# n
  Beispiel:  HCOPY# 1
  Parameter: n:  logische Filenummer
  Funktion:  Fertigen einer Hardcopy der Grafikanzeige

  - HCOPYD cf,df - Farbzuordnung (Nur Farbdrucker)
  - HCOPY#n,d - HCOPY nur fr Farbdrucker
------------------------------------------------------------------


=== E. Sprite-Befehle:	

SREAD	

  Befehl:    SREAD str$
  Beispiel:  SREAD A$
  Parameter: str$ : Zielstringvariable
  Funktion:  Einlesen von 63 Spritedaten
------------------------------------------------------------------

SDEFINE

  Befehl:    SDEFINE s,str$
  Beispiel:  SDEFINE 9,A$
  Parameter: s:    Spritenummer (0-15)
             str$: Definitionsstring	
  Funktion:  Spritedefinition-Einschalten/Ausschalten
------------------------------------------------------------------

SPOWER

  Befehl:    SPOWER or,ur
  Beispiel:  SPOWER 100,150
  Parameter: or:  oberer Fensterrand
             ur:  unterer Fensterrand
  Funktion:  Zuschalten des zweiten Spritesatzes 
	
  Befehl:    SPOWER
  Beispiel:  SPOWER
  Parameter: ---
  Funktion:  Abschalten des zweiten Spritesatzes
------------------------------------------------------------------

SMODE

  Befehl:    SMODE s,m,f1 (,f2,f3)
  Beispiele: SMODE 1,3,7	
             SMODE 1,8,7,2,14
  Parameter: s:   Spritenummer
             m:   Spritemodus (s.u.)
             f1:  Farbe 1 (individuell)(0-15)
             f2:  Farbe 2 (Multicolor-einheitlich)(0-15)
             f3:  Farbe 3 (Multicolor-einheitlich)(0-15)
  Funktion:  Bestimmen der Spriteeigenschaften

  m | m |     Vergrerung    | Prioritt vor
  MC|HGR|x-Richtung|y-Richtung| dem Hintegrund
  --+---+----------+----------+---------------
   8|  0|   nein   |   nein   |    ja
   9|  1|    ja    |   nein   |    ja
  10|  2|   nein   |    ja    |    ja
  11|  3|    ja    |    ja    |    ja
  12|  4|   nein   |   nein   |   nein
  13|  5|    ja    |   nein   |   nein
  14|  6|   nein   |    ja    |   nein
  15|  7|    ja    |    ja    |   nein	
------------------------------------------------------------------

SSET

  Befehl:    SSET s,x,y (,sp)	
  Beispiele: SSET 1,100,120	
             SSET 1,100,120,4	
  Parameter: s:  Spritenummer	
             x:  Sprite-x-Koordinate	
             y:  Sprite-y-Koordinate	
             sp: Geschwindigkeit fr Spritebewegung
  Funktion:  Positionieren eines Sprites
------------------------------------------------------------------

SSET... TO...	

  Befehl:    SSET s,xl,yl TO x2,y2 (,sp)
  Beispiele: SSET 1,100,120 TO 50,40	
             SSET 1,100,120 TO 50,40,4
  Parameter: s:  Spritenummer	
             x1: Sprite-x-Startkoordinate
             y1: Sprite-y-Startkoordinate
             x2: Sprite-x-Zielkoordinate
             y2: Sprite-y-Zielkoordinate
             sp: Geschwindigkeit fr Spritebewegung
  Funktion:  Bewegen eines Sprites von xl,yl nach x2,y2
------------------------------------------------------------------

SSET TO...	

  Befehl:    SSET s TO x2,y2 (,sp)
  Beispiele: SSET 1 TO 50,40
             SSET 1 TO 50,40,4
  Parameter: s:  Spritenummer
             x2: Sprite-x-Zielkoordinate
             y2: Sprite-y-Zielkoordinate
             sp: Geschwindigkeit fr Spritebewegung
  Funktion:  Bewegen eines Sprites von der momentanen Position
             nach x2,x2
------------------------------------------------------------------

SWAIT

  Befehl:    SWAIT s
  Beispiel:  SWAIT 2
  Parameter: s:  Spritenummer
  Funktion:  Warten bis Sprite s steht
------------------------------------------------------------------

IF# ... THEN ...

  Befehl:    IF# par THEN ...
  Beispiel:  IF# U,1 THEN ...
  Parameter: par: Secundrfunktion
  Funktion:  Bedingtes Verzweigen
             unter definierten Bedingungen

  IF# U p THEN ... :
  Verzweigung bei Joystick in Port p nach oben gedrckt
	
  IF# D p THEN ... :
  Verzweigung bei Joystick nach unten.

  IF# R p THEN ... :
  Verzweigung bei Joystick nach rechts.

  IF# L p THEN ... :
  Verzweigung bei Joystick nach links.

  IF# B p THEN ... :
  Verzweigung, wenn der Feuerknopf (Button) Ihres Joysticks ge-
  drckt ist.	
	
  IF# CN THEN ...:
  Verzweigung, wenn gerade im Augenblick eine Kollision eines 
  Sprites mit einem anderen Sprite oder mit einem Hintergrund-
  zeichen stattfindet.

  IF# C THEN ...:
  Einschalten des Kollisionsinterrupt-Modus.

  IF# CC THEN ... :
  Ausschalten des Kollisionsinterrupt-Modus. 
------------------------------------------------------------------

IRETURN

  Befehl:    IRETURN
  Beispiel:  IRETURN
  Parameter: ---
  Funktion:  Beenden der Unterbrechungsroutine 
------------------------------------------------------------------

=== F. Ton-Befehle:	

VOLUME=	

  Befehl:    VOLUME= v
  Beispiel:  VOLUME= 15
  Parameter: v:  Lautstrke
  Funktion:  Einstellen der Lautstrke
------------------------------------------------------------------

SOUND
	
  Befehl:    SOUND st,w,a,d,s,r (,f (,p))
  Beispiele: SOUND 1,3,12,11,5,5
             SOUND 1,3,12,11,5,5,1
             SOUND 1,3,12,11,5,5,1,100
  Parameter: st: Stimme (1-3)
             w:  Wellenform (0-8)
             a:  Attack (Anschwellzeit)
             d:  Decay (Abschwellzeit)
             s:  Sustain (Haltelautstrke)
             r:  Release (Ausklingzeit)
             f:  Filter an/aus (0-1)
             p:  Pulsrate (Tastverhltnis)(0-4095)
  Funktion: Einstellen des Klangbildes

  w=0: Stimme ist stumm
  w=1: Dreiecksschwingung
  w=2: Sgezahn
  w=3: Dreieck und Sgezahn
  w=4: Rechteck
  w=5: Dreieck und Rechteck
  w=6: Sgezahn und Rechteck
  w=7: Dreieck, Sgezahn und Rechteck
  w=8: Rauschen	
------------------------------------------------------------------

FILTER

  Befehl:    FILTER fa (,ff,rf)
  Beispiel:  FILTER 4
             FILTER 4,1000,14
  Parameter: fa:  Filterart (0-7)
             ff:  Filtergrenzfrequenz (0-2047)
             rf:  Filterresonanzfrequenz (0-15)
  Funktion:  Einstellen der Filter
	
  fa=0: kein Filter an
  fa=1: Tiefpass
  fa=2: Bandpass
  fa=3: Tief- und Bandpass
  fa=4: Hochpass
  fa=5: Hoch- und Tiefpass (Bandsperre)
  fa=6: Hoch- und Bandpass
  fa=7: Hoch-, Band- und Tiefpass (Bandsperre) 
------------------------------------------------------------------

TUNE

  Befehl:    TUNE st,l,n,o (,v)
  Beispiele: TUNE 2,30,3,4
             TUNE 2,30,3,4,14 
  Parameter: st: Stimme (1-3)
             l:  Lnge des Tones (0-65535)
             n:  Note (0-12)
             o:  Oktave (0-7)
             v:  Verstimmung (0-255)
  Funktion:  Spielen eines Tones

  c ,cis, d ,dis, e, f ,fis, g, gis, a, ais, h
  1   2   3   4   5  6   7   8   9  10   11 12

  v=1-127: Verstimmung um v nach oben
  v=255-128: Verstimmung um 256-v nach unten 
------------------------------------------------------------------

=== G. Utilities:	

DIRECTORY
	
  Befehl:    DIRECTORY
  Beispiel:  DIRECTORY
  Parameter: ---
  Funktion : Anzeigen des Disketteninhaltsverzeichnisses
             ohne Programmverlust
------------------------------------------------------------------

MERGE

  Befehl:    MERGE "filename",ga
  Beispiel:  MERGE "HUSTENBONBON",8
  Parameter: ga:  Gerteadresse
  Funktion:  Anhngen eines Basicprogrammes von Diskette an
             ein im Speicher befindliches
------------------------------------------------------------------

RENUM

  Befehl:    RENUM sz,a
  Beispiel:  RENUM 10,50
  Parameter: sz: Startzeile der neuen Version
             a:  Abstand der Basiczeilen (1-255)
  Funktion:  Umnumerierung eines Basicprogrammes
------------------------------------------------------------------

DTASET
	
  Befehl:    DTASET zn
  Beispiel:  DTASET 100
  Parameter: zn: Zeilennummer
  Funktion:  Setzen des DATA-Zeigers auf eine bestimmte Zeile
------------------------------------------------------------------

KEY

  Befehl:    KEY ft,"definition"
  Beispiel:  KEY 2,"LIST"+CHR$(13)
  Parameter: ft:  angewhlte Funktionstaste (1-8)
             "definition": 16 Zeichen-Wort
  Funktion:  Umprogrammieren der Funktionstasten

  Vorbelegung der Funktionstasten in Supergrafik:
  f1: "LIST"+CHR$(13)       f2: CHR$(147)+"LIST"+CHR$(13)
  f3: "DIRECTORY"+CHR$(13)  f4: "GMODE,7,161,250"+CHR$(13)
  f5: "GMODE,0"+CHR$(13)    f6: "GMODE,8,161,250"+CHR$(13)
  f7: "GMODE,1"+CHR$(13)    f8: "RENUM10,10"+CHR$(13)
------------------------------------------------------------------

PADDLE
	
  Befehl:    PADDLE var,pn
  Beispiel:  PADDLE A,2
  Parameter: var: Zielvariable
             pn:  Paddlenummer (1-4)
  Funktion: Auslesen der A/D-Wandler (Paddle-Werte)
------------------------------------------------------------------

POS=

  Befehl:    POS- s,z
  Beispiel:  POS- 10,15
  Parameter: s:  Spalte (0-39)
             z:  Zeile (0-24)
  Funktion:  Positionieren des Text-Cursors



== Wichtiger Hinweis zur Befehls-Syntax ==

Bei allen Befehlen ist zu beachten:
Folgt einer IF...THEN-Konstruktion ein Befehl des Supergrafik-Befehlsvorrats,
so ist nach dem "THEN" unbedingt ein ":" (Doppelpunkt) zu setzen, also z.B.

 10 IF A=3 THEN : PLOT 0,100,50


== Befehlsabkrzungen und Token ==

Zustzlich zu den bekannten Krzeln (s. Handbuch) knnen Sie fr die Befehle Ihrer SuperGrafik 64 noch folgende Abkrzungen verwenden (zustzliche Buchstaben werden an das Krzel angehngt). ^ bedeutet, dieser Buchstabe wird gleichzeitig mit der <shift>-Taste gedrckt. Weiterhin haben Sie hier eine bersicht ber die Befehlstokens, mit denen die Supergrafik jeden Befehl im Programmspeicher abgekrzt vermerkt:

Befehl    Krzel   Token
---------+--------+------
CIRCLE ... C^I .... $F2
COLORn ... C^0 .... $F5
DIRECTORY  D^i .... $D7
DRAW ..... D^R .... SED
DTASET ... D^T .... $DA
FILTER ... F^I .... $E3
FILL ..... FI^L ... SEE
FRAME .... F^R .... SEF
GCLEAR ... GVL .... SEA
GCOMB .... G^c .... $D9
GLOAD .... G^L .... $F9
GMODE .... G^N .... $E9
GMOVE .... GMO^V .. SEB
GSAVE .... G^S .... $F8
HCOPY .... N^C .... SFA
IF# ...... I^F .... SFC
INVERS ... I^N .... $F0
IRETURN .. I^R .... SFB
KEY ...... K^E .... $DD
MERGE .... N^E .... SDB
PADDLE ... P^A .... $F3
PAINT .... PA^I ... $FD
PCOL= .... P^C .... $F7
PLOT ..... P^L .... SEC
RENUM .... R^E .... $DC
SCALE= ... S^C .... $F4
SCOL= .... SC^0 ... $F6
SDEFINE .. S^D .... $E5
SMODE .... S^M .... $E8
SOUND .... S^O .... SEI
SPOWER ... S^P .... $D8
SREAD .... S^R .... $E4
SSET ..... S^S .... SE6
SWAIT .... S^W .... $E7
TEXT ..... T^E .... $FI
TRANS .... T^R .... $DE
TUNE ..... T^U .... $E0
VOLUME= .. V^O .... SE2


=== Speicherbelegungen

Im folgenden sei eine kurze bersicht ber die Speicherbereiche gegeben, die SuperGrafik 64 im Computer belegt (gemeint ist stets RAM):

 $0000-OOFF: diverse Arbeitsspeicher
 $0100-0IFF: normaler Stock 
 $0200-03FF: unverndert genutzt 
 $0400-07E7: Text-LGR-Speicher 
 $0800-	...: Basic-Speicherbereich 
 $7700-9FFF: SuperGrafik - Betriebssystem
 $A000-BFFF: Grafikseite 2
 $C000-C3FF: Grafikseite 1-Farbe (Videorom)
             Spritevektoren 
 $C400-05FF: Hardcopy-Routine 
 $C600-C7FF: diverse Speicher
 $CC00-COFF: Grafikseite 2-Farbe (Videorain)
 $CCOO-CFFF: Grafikseite 2-Farbe (Farbrom)
 SDOOO-D1FF: Spritebewegungsregister
 $D200-D5FF: Spritedefinitionen 
 $D600-DFFF: diverse Massen-Hilfsspeicher
            (f. RENUMBER/GMOVE/PAINT)
 SE000-FFFF: Grafikseite 1

 berlagert:
 $D800-DBFF: originaler Farbram 1


