home *** CD-ROM | disk | FTP | other *** search
/ Commodore 64 Scene Diskmags Assortment / Playback_01_1992_-_de.d64 / t.basicv2+ < prev    next >
Text File  |  2023-02-26  |  8KB  |  225 lines

  1. BASIC V2 plus
  2.  
  3. BASIC-Erweiterungen f{CBM-X}r den C64 gibt's schon etliche, mit mehr oder weniger komfortablen Befehlen, die das karge Basic V 2.0  dieses Commodore-Computers auf Vordermann bringen. Diese Erweiterung, BASIC V 2.+, widmet sich speziell und in hervorragender Manier den grafischen und musikalischen F{CBM-F}higkeiten Ihres C64, wobei einige unerl{CBM-F}{CBM-V}liche Zusatzfunktionen wie Old, Renumber, Merge nicht fehlen.
  4. Dem Autor waren, wie er schreibt, "die bisherigen BASIC-Erweiterungen f{CBM-X}r den C64 h{CBM-F}ufig zu lang, schleppten zuviel Ballast mit sich herum, den man sowieso nicht braucht - oder sie waren zu speziell. Besonders die Grafik- und die Soundprogrammierung werden von BASIC V 2+ unterst{CBM-X}tzt, so da{CBM-V} es auch vielen Anf{CBM-F}ngern oder unerfahrenen Programmierern ein Leichtes sein sollte, sich damit zu besch{CBM-F}ftigen. Ich wei{CBM-V}, da{CBM-V} der POKE-Dschungel, der ansonsten durchk{CBM-F}mpft werden mu{CBM-V}, oft sehr abschreckend wirkt."
  5. Doch nun zum Programm selbst: Beachten Sie bitte, da{CBM-V} Sie BASIC V 2.+" (obwohl in reiner Maschinensprache geschrieben) wie ein normales BASIC-Programm mit LOAD "BASIC V 2.+",8 laden und mit "RUN" starten k{CBM-C}nnen. Erst dann wird der MC-Code blitzschnell nach $ 9000 (36864 dez.) geschrieben, die Systemeinschaltmeldung erscheint. Nach einem Reset l{CBM-F}{CBM-V}t sich die Befehlserweiterung mit der Anweisung SYS 39713 wieder starten.
  6. Auf Ihrer Diskette finden Sie auch noch zwei Demo-Programme abgespeichert (1. u. 2. Demo), die Sie danach ganz normal laden und mit "RUN" starten k{CBM-C}nnen. Sehen und staunen Sie, zu welchen K{CBM-X}nsten der C64 jetzt f{CBM-F}hig ist! Die folgende Zusammenstellung der Befehle des BASIC V 2.+, eingeleitet von der Speicheraufteilung und einer {SHIFT--}bersicht der benutzten Speicherbereiche, gibt Ihnen eine umfassende {SHIFT--}bersicht {CBM-X}ber die Handhabung der 23 neuen Befehle, die Ihr C64 jetzt zus{CBM-F}tzlich zu den bereits bekannten versteht. Zur Identifizierung der neuen Befehle besitzt BASIC V 2.+ eine eigene Routine. Der Zeiger in $ 308 (Low-Byte) und $ 309 (High-Byte) wird auf diese "Befehlserkennung" gesetzt. Die neuen Befehle werden durch die einheitliche Verwendung des Rautenzeichens vor den Befehlsw{CBM-C}rtern dem Computer kenntlich gemacht. Das normale Interpreter-ROM des BASIC V 2.0 bleibt somit unangetastet. Es kann also zu keinen Kollisionen mit anderen Maschinenprogrammen kommen, sofern diese die erw{CBM-F}hnten Zeiger nicht ver{CBM-F}ndern oder Speicherbereiche belegen, die das Maschinenprogramm von BASIC V 2.+ selber braucht (s. Speicherbelegung).
  7.  
  8. Benutzte Speicherbereiche:
  9.  
  10. - Zeropage: verschiedene Speicher-
  11.   stellen in der Nullseite sind
  12.   benutzt, so da{CBM-V} auf sie nicht f{CBM-X}r
  13.   eigene Zwecke zur{CBM-X}ckgegriffen werden
  14.   sollte.
  15.  
  16. - $02A7-$02FF
  17.   $033C-$03FF: teilweise f{CBM-X}r verschie-
  18.   dene Zwischenspeicherungen
  19.  
  20. - $0801-$167C: BASIC V2+ (nur direkt
  21.   nach dem Laden)
  22.  
  23. - $9000-$9D7C:
  24.   BASIC V2+ (regul{CBM-F}r)
  25.  
  26. - $C000-$C3FF: Bildschirmspeicher im
  27.   HiRes-Modus (wird benutzt als Farb-
  28.   speicher)
  29.  
  30. - $CF00-$CFFF: Zwischenspeicher f{CBM-X}r
  31.   Textausgaben im HiRes-Modus
  32.  
  33. - $E000-$FFFF: Bitmap im HiRes-Modus
  34.  
  35.  
  36. Beschreibung der neuen Befehle:
  37. -------------------------------
  38. 1.  Grafikbefehle 
  39. 1.1 Ausgabekontrolle
  40.  
  41. PLACE
  42. -----
  43. Syntax: #PLACE,zle,spl
  44. mit     zle = Zeile (0-24)
  45.         spl = Spalte (0-39)
  46. Funktion: PLACE setzt den Cursor an die angegebene Stelle, bzw. die n{CBM-F}chste Ausgabe erfolgt an der durch zle und spl festgelegten Stelle.
  47.  
  48. MARGIN
  49. ------
  50. Syntax: #MARGIN,col
  51. mit     col = Farbbcode (0-15)
  52. Funktion: Bestimmung der Rahmenfarbe (Farbcodes siehe Handbuch).
  53.  
  54. SCREEN
  55. ------
  56. Syntax: #SCREEN,col
  57. mit     col = Farbcode (0-15)
  58. Funktion: Bestimmung der Hintergrundfarbe.
  59.  
  60.  
  61. PEN
  62. ---
  63. Syntax: #PEN,col
  64. mit     col=Farbcode (0..15)
  65. Funktion: Bestimmung der Zeichenfarbe.
  66.  
  67. LOWER
  68. -----
  69. Syntax: #LOWER
  70. Funktion: Umschaltung in den zweiten Commodore-Zeichensatz (Gro{CBM-V}-/Kleinschrift)
  71.  
  72. UPPER
  73. -----
  74. Syntax: #UPPER
  75. Funktion: Umschaltung in den Gro{CBM-V}schrift-/Grafik-Modus.
  76.  
  77. 1.2 Hochaufl{CBM-C}sende (Bitzuordnungs-) Grafik
  78.  
  79. COLOUR
  80. ------
  81. Syntax: #COLOUR,rhmcol,hngcol,blpcol
  82. mit     rhmcol=Rahmenfarbe (0-15)
  83.         hngcol=Hintergrundfarbe (0-15)
  84.         blpcol=Bildpunktfarbe (0-15)
  85. Funktion: Setzen der Farben f{CBM-X}r die hochaufl{CBM-C}sende Grafik. Die Farbbestimmung sollte vor Einschalten der Grafik geschehen.
  86.  
  87. HIRES
  88. -----
  89. Syntax: #HIRES,mod
  90. mit     mod=Modus
  91.         0=R{CBM-X}ckkehr in den Textmodus
  92.         (HiRes aus)
  93.         1=Einschalten des Hires-Modus
  94.         2=L{CBM-C}schen der Bitmap +
  95.         Einschalten der Grafik
  96. Funktion: L{CBM-C}schen, Einschalten bzw. Ausschalten des HiRes-Modus.
  97.  
  98. PLOT
  99. ----
  100. Syntax: #PLOT,mod,x,y
  101. mit     mod=Modus
  102.         0=L{CBM-C}schen des Bildpunktes
  103.         1=Setzen des Bildpunktes
  104.         x = horizontale Koordinate
  105.         des Bildpunktes (0-319)
  106.         y = vertikale Koordinate
  107.         des Bildpunktes (0-199)
  108. Funktion: Setzen bzw. L{CBM-C}schen eines bestimmten Bildpunktes.
  109.  
  110. TEXT
  111. ----
  112. Syntax: #TEXT,zle,spl,"text"
  113. mit     zle=Zeile (0-24)
  114.         spl=Spalte (0-39)
  115. Funktion: Einbringen von Text in die hochaufl{CBM-C}sende Grafik. Als Steuerzeichen sind RVS ON/RVS OFF erlaubt, die eine inverse Ausgabe bewirken.
  116.  
  117. CIRCLE
  118. ------
  119. Syntax: #CIRCLE,xm,ym,r
  120. mit     xm=X-Koordinate des Kreis-
  121.         mittelpunktes
  122.         ym=Y-Koordinate des
  123.         Mittelpunktes
  124.         r=Radius
  125. Funktion: Zeichnen eines Kreises. Zu beachten ist, da{CBM-V} xm minus r und xm plus r sowie ym minus r und ym plus r die Koordinaten des Bildschirmes nicht {CBM-X}ber- oder unterschreiten d{CBM-X}rfen.
  126.  
  127. LINE
  128. ----
  129. Syntax: #LINE,x0,y0,x1,y1
  130. mit     x0,y0=Koordinaten des
  131.         Anfangspunktes
  132.         x1,y1=Koordinaten des
  133.         Endpunktes der Linie
  134.         (x:0-319; y:0-199)
  135. Funktion: Zeichnen einer Strecke in der HiRes-Grafik.
  136.  
  137. REC
  138. ---
  139. Syntax: #REC,xA,yA,xB,yB
  140. mit     xA,yA=Koordinaten der linken
  141.         oberen Ecke
  142.         xB,yB=Koordinaten der rechten
  143.         unteren Ecke des Rechteckes.
  144. Funktion: Zeichnen eines beliebigen Rechteckes in der HiRes-Grafik.
  145.  
  146. 2. Befehle zur Tonerzeugung
  147.  
  148. VOLUME
  149. ------
  150. Syntax: #VOLUME,vol
  151. mit     vol=Lautst{CBM-F}rke(0-15)
  152. Funktion: Einstellen der Lautst{CBM-F}rke.
  153.  
  154. ENVELOPE
  155. --------
  156. Syntax: #ENVELOPE,st,A,D,S,R
  157. mit     st=Stimme (1-3)
  158.         A=Attack - Dauer der
  159.         Anschwellphase
  160.         D=Decay - Dauer der
  161.         Abschwellphase
  162.         S=Sustain - Lautst{CBM-F}rke in der
  163.         Haltephase
  164.         R=Release - Dauer der
  165.         Ausklingphase (A,D,S,R:0-15)
  166. Funktion: Festlegen der ADSR-H{CBM-X}llkurve f{CBM-X}r eine Stimme.
  167.  
  168. VOICE
  169. -----
  170. Syntax: #VOICE,st,f,w,d
  171. mit     st=Stimme (1-3)
  172.         f=Frequenz (0-65535)
  173.         w=Wellenform:
  174.           1=Dreieck
  175.           2=S{CBM-F}gezahn
  176.           3=Rechteck
  177.           4=Rauschen
  178.         d=Tondauer (0-65535)
  179. Funktion: Einstellen der {CBM-X}brigen Stimmenparameter. Bei d=0 wird der Ton gem{CBM-F}{CBM-V} der ADSR-H{CBM-X}llkurve einmal angeschlagen.
  180.  
  181. PULSE
  182. -----
  183. Syntax: #PULSE,st,pb
  184. mit     st=Stimme (1-3)
  185.         pb=Pulsbreite (0-65535)
  186. Funktion: Festlegen der Pulsbreite (nur, wenn als Wellenform Rechteck gew{CBM-F}hlt).
  187.  
  188. 3. Sonstige Befehle
  189.  
  190. KEYPRESS
  191. --------
  192. Syntax: #KEYPRESS
  193. Funktion: H{CBM-F}lt das laufende Programm an, bis eine beliebige Taste gedr{CBM-X}ckt wird.
  194.  
  195. OFF 
  196. --
  197. Syntax: #OFF
  198. Funktion: Ausschalten von STOP und STOP-RESTORE.
  199.  
  200. REVIVE
  201. ------
  202. Syntax: #REVIVE
  203. Funktion: Wiedereinschalten von STOP und STOP-RESTORE.
  204.  
  205.  
  206. OLD
  207. ---
  208. Syntax: #OLD
  209. Funktion: Zur{CBM-X}ckholen (retten) eines BASIC-Programms nach NEW oder RESET.
  210.  
  211. RENUMBER
  212. --------
  213. Syntax: RENUMBER,ezle,sw
  214. mit     ezle=erste neue BASIC-
  215.         Zeilennummer
  216.         sw=Schrittweite (0-255)
  217. Funktion: Numeriert die Zeilennummern des BASIC-Programms im Speicher neu durch. Sprungbefehle innerhalb des Programms (GOTO, etc.) m{CBM-X}ssen "per Hand" angepa{CBM-V}t werden.
  218.  
  219. MERGE
  220. Syntax: #MERGE,"name",ga
  221. mit     name= Name des anzuh{CBM-F}ngenden
  222.         Programms
  223.         ga=Ger{CBM-F}teadresse (1/8)
  224. Funktion: L{CBM-F}dt ein Programm von Diskette oder Kassette und h{CBM-F}ngt es an das im Speicher enthaltene an. Es ist darauf zu achten, da{CBM-V} die Zeilennummern des nachzuladenden Programmes h{CBM-C}her sind als die des im Speicher befindlichen (evtl. vorher=RENUMBER).
  225.