Laser BASIC

Aus C64-Wiki
Zur Navigation springenZur Suche springen
Laser BASIC
Laser BASIC Startbildschirm
Entwickler David Hunter
Firma Oasis Software
Verleger Ocean
Release 1985
Plattform(en) C64,
Amstrad CPC 464/664/6128,
ZX Spectrum
Genre BASIC-Erweiterung
Steuerung Icon tastatur.png
Medien Icon disk525.png, Icon kassette.png
Sprache(n) Sprache:englisch, Handbuch Sprache:englisch

Laser BASIC ist eine BASIC-Erweiterung von Oasis Software mit über 200 neuen Befehlen, die besonders die Programmierung von Spielen unterstützt. Sie wurde von Ocean Software herausgegeben. Die letzte Version 1.3 für den Commodore 64 ist aus dem Jahr 1985.

Beschreibung[Bearbeiten | Quelltext bearbeiten]

Zusammen mit dem mitgelieferten Editor für Software-Sprites und dem extra zu beziehenden Laser BASIC Compiler ist Laser BASIC ein leistungsfähiges Spiele-Entwicklungssystem für BASIC-Programmierer, von Ocean als The secret of advanced game programming beworben.

Das Programm wurde auf einer beidseitig beschriebenen Diskette bzw. zwei Kassetten ausgeliefert. Sie enthielten den BASIC-Interpreter, das Sprite-Generierungsprogramm "SPTGEN" mit drei Sprite-Bibliotheken und ein Demo in (Laser-)BASIC und in kompilierter Form. Dabei lag ein englischsprachiges Handbuch.

Bedienung[Bearbeiten | Quelltext bearbeiten]

Geladen und gestartet wird die BASIC-Erweiterung mit LOAD "LBI",8,1 von Diskette - dabei wird ein eigener Schnelllader benutzt (in Vice muss daher die True-Drive-Emulation aktiv sein) - bzw. mit LOAD "LBI",1,1 von Kassette.

Nach der Anzeige der Startgrafik erscheint ein Menü, in dem ausgewählt wird, welche der beiden Zusatzoptionen - "Turbo-Tape" oder "Multi-Tasking" - benutzt werden sollen. Je nach Auswahl wird der für das BASIC-Programm zur Verfügung stehende Speicherplatz verändert:

Modus Turbo-Tape Multi-Tasking BASIC-Start Bytes free
1 ON ON $5B01 17661
2 OFF ON $5801 18429
3 ON OFF $5101 20221
4 OFF OFF $4E01 20989

Achtung: ist Multi-Tasking deaktiviert (Modus 3 oder 4), sind nicht nur die Mulit-Tasking-Befehle, sondern auch RENUM, AUTO und OLD nicht mehr benutzbar!

Dem Programmierer stehen nun mehr als 200 neue Befehle und Funktionen aus den Bereichen Toolkit, strukturierte Programmierung, Sound und Grafik zur Verfügung. Ein ausführliches Studium des Handbuchs ist notwendig, um mit dieser Fülle von Möglichkeiten sinnvoll arbeiten zu können.

Unterschiede zum Standard-BASIC[Bearbeiten | Quelltext bearbeiten]

Die Befehle des BASIC V2 sind unter Laser BASIC wie gewohnt zu benutzen, wenn man einige Ausnahmen beachtet.

  • Abkürzungen von Standard-Befehlen mit <SHIFT>, wie z.B. chR statt chr$, funktonieren nicht mehr.
Statt dessen müssen die neuen Abkürzungen mit dem Punkt am Ende (siehe Tabelle der Schlüsselwörter) benutzt werden,
im obigen Beispiel also CHR$   →   CH.

Im Vergleich zu BASIC V2 neue bzw. geänderte Befehle ohne neues Schlüsselwort:

  • LIST: Syntax geändert, Komma statt Minuszeichen:
LIST 100-   →   LIST 100,
LIST 10-50   →   LIST 10,50
LIST -1000   →   LIST,1000
Ausgabe eines BASIC-Listings:
Auf dem Schirm werden die Zeilen um drei Zeichen eingerückt angezeigt. Der Modus Klein-/Großschrift wird benutzt, wobei Schlüsselwörter zur besseren Lesbarkeit durch Großschrift hervorgehoben sind. Die Ausgabe des Listings kann mit der Leertaste angehalten oder wieder wieder fortgesetzt werden.
Bei der Ausgabe mit dem Drucker (hier Gerät 4) sind zwei Dinge zu beachten:
  1. Vor dem Listen sollte der Text mit UCASE auf Groß-/Grafikzeichen gestellt werden.
  2. Der übliche Code OPEN4,4:CMD4:LIST:CLOSE4 führt unter Laser BASIC − nicht jedoch unter BASIC Lightning − zu einem SYNTAX ERROR. Es geht aber:
OPEN4,4:CMD4:LIST
CLOSE4
  • PRINT erweitert mit "PRINT AT":
PRINT@x,y"Text" : 'schreibt Text in Spalte x, Zeile y
  • Hochkomma als alternatives REM
10 ' Kommentar

Software-Sprites[Bearbeiten | Quelltext bearbeiten]

Die weitaus größte Zahl der Befehle gehört zum Bereich Grafik.
Die beim C64 bekannten 24x21 Pixel großen Sprites werden unter Laser BASIC "Hardware-Sprites" genannt. Daneben verwaltet Laser BASIC bis zu 254 "Software-Sprites" (Nummer 1 bis 254), die aus Kacheln in beliebiger Form zusammengesetzt sind - das Maximum für Höhe und Breite ist jeweils 255 Kacheln. In der Standardkonfiguration reserviert Laser BASIC für sie einen Speicherplatz von 7 KByte. Sprite Nummer 0 ist immer dem Grafikschirm zugeordnet, Sprite Nr. 255 dem Textschirm. Mit dem Programm "SPTGEN" werden Software-Sprites entworfen, mit den vielen Grafik-Befehlen können sie im Programm auf nahezu jede denkbare Art manipuliert werden.

Grafiktest[Bearbeiten | Quelltext bearbeiten]

Mit dem Testprogramm aus dem Artikel HSG wird die Geschwindigkeit der Grafikroutinen (Kreise und Linien malen) verglichen. Das Programm sieht in Laser BASIC so aus:

10 INIT:PRINT CHR$(147)"LASER-BASIC-DEMO":PRINT
15 GOSUB 210
20 FGND WHITE:BGND BLACK:ATTON:SCLR 0,ATTR:HIRES:HBORDER .BLUE:I=10
30 FORX=5TO165STEPI:POLY 0,159,99,X,165=X,0,0:NEXTX
40 GOSUB 230:T1$=TM$:GOSUB210
50 SCLR 0,ATR:FGND RED:HBORDER GRAY3
60 FORX=0TO149 STEP10+I
70 FORY=189 TO 0 STEP-10-I
80 DRAW 0,X,Y,310-X,190-Y
90 NEXTY,X
100 GOSUB230:T2$=TM$:INIT
120 PRINT "KREISE ";T1$;" SEC"
130 PRINT "LINIEN ";T2$;" SEC"
140 PRINT "TASTE"":WAIT 198,1:END
200 REM:INIT TOD CLOCK
210 FORI=2TO3:POKE56331-I,0:NEXT:RETURN
220 REM:READ TOD CLOCK
230 TM$="":FORI=2TO3:T(I)=PEEK(56331-I)
240 TM$=TM$+CHR$(48+(T(I)AND240)/16)+CHR$(48+(T(I)AND15))+","
250 NEXTI:TM$=LEFT$(TM$,5):RETURN

Angaben in Sekunden.

Erweiterung Simons' Basic Supergrafik HSG Laser Basic
Disk Modul BASIC Kompilat
Kreise 35,01 34,06 4,02 1,03 15,00 14,06
Linien 18,06 15,05 9,06 4,03 10,09 8,08

Die Grafikroutinen von Laser BASIC werden offenbar durch das Kompilieren nicht mehr beschleunigt. Im Vergleich ist Laser BASIC deutlich schneller als Simons' Basic, kommt aber beim Zeichnen der Kreise nicht an Supergrafik oder gar HSG heran.

Speicherbereiche[Bearbeiten | Quelltext bearbeiten]

Geänderte Vektoren[Bearbeiten | Quelltext bearbeiten]

Adresse Bedeutung Start
$0300-$0301 BASIC-Warmstart $31CF
$0302-$0303 Eingabe einer Zeile $397B
$0304-$0305 Umwandlung in Interpretercode $3B14
$0308-$0309 BASIC-Befehlsadresse holen $3285
$030A-$030B Ausdruck auswerten $4399
$0314-$0315 IRQ-Vektor $0895
$0316-$0317 BRK-Vektor $3370
$0318-$0319 NMI-Vektor $3352
$031A-$031B OPEN-Vektor $0811
$031C-$031D CLOSE-Vektor $081C
$0324-$0325 INPUT-Vektor $07F5
$0326-$0327 OUTPUT-Vektor $07FE
$0328-$0329 STOP-Vektor $312B
$032A-$032B GET-Vektor $0830
$0330-$0331 LOAD-Vektor $0839
$0332-$0333 SAVE-Vektor $0844

Speicherverteilung[Bearbeiten | Quelltext bearbeiten]

$03FE-$05FF Diverse Speicherstellen für Grafik-Befehle
$0600-$57FF * Laser BASIC Interpreter
$5800-$9FFF * BASIC-Programm und Variablen (Modus 1-4: $5B01, $5801, $5101, $4E01)
$A000-$BBFF * Software-Sprites
$BC00-$BFFF Diverse Speicherstellen für Grafik-Befehle
$C000-$C7FF Zeichensatz und/oder Hardware-Sprites
$C800-$CBFF Textschirm
$CC00-$CFFF Farbinformation (1. Attribute) für Hires-Grafik
$D000-$D7FF I/O
$D800-$DBFF Farb-RAM (2. Attribute) für Text- bzw. Hires-Schirm
$DC00-$DFFF I/O
$E000-$FFFF Hires Bitmap
$E000-$FFFF Kernal

(*) Diese können variieren, abhängig davon, ob Multi-Tasking oder Turbo-Tape gewählt wurde und ob RESERVE benutzt worden ist.

Laser BASIC Handbuch[Bearbeiten | Quelltext bearbeiten]

Laser BASIC Handbuch

Das über 200 Seiten starke englischsprachige Handbuch dokumentiert ausführlich die Befehle, Funktionen und Schlüsselwörter von Laser BASIC. Leider ist es auf farbigem Papier gedruckt, was früher einmal ein Schutz gegen unerlaubtes Kopieren darstellte.

Das Inhaltsverzeichnis des Handbuchs:

CONTENTS
1. INTRODUCTION Loading Laser BASIC: tape users disk users
2. STRUCTURED PROGRAMMING
2.1 IF-THEN-ELSE 2.2 CIF-CELSE-CEND 2.3 Labels 2.4 REPEAT-UNTIL 2.5 WHILE-WEND 2.6 EXIT 2.7 CASE-OF-CASEND 2.8 Procedures 2.9 VAR Parameters 2.10 Arrays as Parameters 2.11 Multiple-Line Functions
3. TOOLKIT COMMANDS AND MISCELLANEOUS KEYWORDS
3.1 Hexadecimal Numbers 3.2 Double-Byte PEEK and POKE 3.3 Turning off the Stop Key 3.4 Loading and Saving Programs with Disk 3.5 Popping a Return Address 3.6 PI 3.7 Printing a Disk Directory 3.8 Recovering a NEWed Program 3.9 Automatic Line Numbering 3.10 Renumbering a Program
4. GRAPHICS COMMANDS
4.1 Graphics Modes 4.2 Sprites 4.3 Sprite Utilities 4.4 Sprite Variables 4.5 SAVING and LOADING Sprites 4.6 Setting up the Display 4.7 HIRES Graphics Commands 4.8 Sprite 'Block Move' Commands 4.9 Sprite Transformations and Other Miscellaneous Commands 4.10 Scrolling Commands 4.11 Reading the Keyboard, Joystick and Llghtpen 4.12 Character Set Manipulation 4.13 Hardware Sprites 4.14 Miscellaneous Commands 4.15 Character Sprites and Smooth Scrolling
5. SOUND COMMANDS
5.1 Initialising the SID 5.2 Setting the Master Volume 5.3 Setting the Frequency 5.4 Setting the Envelope 5.5 Setting the Waveform 5.6 Making a Sound 5.7 Playing Music under Interrupt 5.8 Filtering 5.9 Ring Modulation 5.10 Synchronisation 5.11 Dynamic Effects
6. MULTI TASKING
6.1 Allocating Memory 6.2 Starting a Concurrent Task 6.3 Stopping a Concurrent Task 6.4 Error Messages with Multi-Tasking 6.5 Communication between Tasks 6.6 Using Multi-Tasking with Graphics
7. THE SPRITE GENERATOR PROGRAM
7.1 Glossary 7.2 MODE:1 7.3 MODE:2 7.4 MODE:3 7.5 MODE:4 7.6 MODE:5 7.7 A Sample Session with the Sprite Generator 7.8 Function Key Summary
APPENDIX A: LASER BASIC KEYWORD SUMMARY
APPENDIX B: ERROR MESSAGES
APPENDIX C: DIFFERENCES BETWEEN BASIC LIGHTNING AND LASER BASIC
APPENDIX D: GLOSSARY OF TERMS
APPENDIX E: SCREEN DISPLAY CODES
APPENDIX F: ASCII AND CHR$ CODES
APPENDIX G: MEMORY MAP
APPENDIX H: SPRITE LIBRARY - "SPRITESA" "SPRITESB" "SPRITESC"
APPENDIX I: MUSIC NOTE VALUES

Schlüsselwörter[Bearbeiten | Quelltext bearbeiten]

Da bei den Schlüsselwörtern des BASIC V2 (Token 128 bis 255) unter Laser BASIC die Abkürzungen geändert wurden, sind sie hier auch mit aufgeführt.

Nr. Token Schlüsselwort Abk.
BASIC V2
128 $80 END E.
129 $81 FOR F.
130 $82 NEXT N.
131 $83 DATA D.
132 $84 INPUT# I.
133 $85 INPUT -
134 $86 DIM DI.
135 $87 READ R.
136 $88 LET L.
137 $89 GOTO G.
138 $8A RUN RU.
139 $8B IF -
140 $8C RESTORE RES.
141 $8D GOSUB GOS.
142 $8E RETURN RE.
143 $8F REM -
144 $90 STOP ST.
145 $91 ON O.
146 $92 WAIT W.
147 $93 LOAD LO.
148 $94 SAVE SA.
149 $95 VERIFY V.
150 $96 DEF DE.
151 $97 POKE P.
152 $98 PRINT# PR.
153 $99 PRINT ?
154 $9A CONT C.
155 $9B LIST LI.
156 $9C CLR CL.
157 $9D CMD CM.
158 $9E SYS SY.
159 $9F OPEN OP.
160 $A0 CLOSE CLO.
161 $A1 GET GE.
162 $A2 NEW NE.
163 $A3 TAB( T.
164 $A4 TO -
165 $A5 FN -
166 $A6 SPC( SP.
167 $A7 THEN TH.
163 $A8 NOT NO.
169 $A9 STEP S.
170 $AA + -
171 $AB - -
172 $AC * -
173 SAD / -
174 $AE ^ -
175 $AF AND A.
176 $B0 OR -
177 $B1 > -
178 $B2 = -
179 $B3 < -
180 $B4 SGN SG.
181 $B5 INT' -
182 $B6 ABS AB.
183 $B7 USR US.
184 $B8 FRE FR.
185 $B9 POS -
186 $BA SQR SQ.
187 $BB RND RN.
188 $BC LOG -
189 $BD EXP EX.
190 $BE COS -
191 $BF SIN SI.
192 $C0 TAN -
193 $C1 ATN AT.
194 $C2 PEEK PE.
195 $C3 LEN -
196 $C4 STR$ STR.
197 $C5 VAL VA.
198 $C6 ASC AS.
199 $C7 CHR$ CH.
200 $C8 LEFT$ LEF.
201 $C9 RIGHT$ RI.
202 $CA MID$ M.
203 $CB GO -
Laser BASIC
204 $CC ELSE EL.
205 $CD HEX$ H.
206 $CE DEEK DEE.
207 $CF TRUE TR.
208 $D0 IMPORT TM.
209 $D1 CFN CF.
210 $D2 SIZE SIZ.
211 $D3 FALSE FA.
212 $D4 SFRE SF.
213 $D5 LPX LP.
214 $D6 LPY -
215 $D7 COMMON% COM.
216 $D8 CROW CR.
217 $D9 CCOL CC.
218 $DA ATR -
219 $DB INC -
220 $DC NUM NU.
221 $DD ROW2 RO.
222 $DE COL2 COL.
223 $DF SPN2 SPN.
224 $E0 HGT HG.
225 $E1 WID WI.
226 $E2 ROW -
227 $E3 COL -
228 $E4 SPN -
229 $E5 TASK TAS.
230 $E6 HALT HA.
231 $E7 REPEAT REP.
232 $E8 UNTIL UN.
233 $E9 WHILE WH.
234 $EA WEND WE.
235 $EB CIF CI.
236 $EC CELSE CE.
237 $ED CEND CEN.
238 $EE LABEL LA.
239 $EF DOKE DO.
240 $F0 EXIT EX.
241 $F1 ALLOCATE AL.
242 $F2 DISABLE DIS.
243 $F3 PULL PU.
244 $F4 DLOAD DL.
245 $F5 DSAVE DS.
246 $F6 VAR -
247 $F7 LOCAL LOC.
248 $F8 PROCEND PRO.
249 $F9 PRCC -
250 $FA CASEND CA.
251 $FB OF -
252 $FC CASE -
253 $FD RPT RP.
254 $FE SETATR SE.
255 $FF PI -
Nr. Token Schlüsselwort Abk.
1,0 $01 $00 unbenutzt
1,1 $01 $01 SCLR SC.
1,2 $01 $02 SPRITE SPR.
1,3 $01 $03 WIPE WIP.
1,4 $01 $04 RESET RESE.
1,5 $01 $05 H3COL H3C.
1,6 $01 $06 LORES LOR.
1,7 $01 $07 HIRES HI.
1,8 $01 $08 PLOT PL.
1,9 $01 $09 BOX BO.
1,1 $01 $0A POLY POL.
1,11 $01 $0B DRAW DR.
1,12 $01 $0C MODE MO.
1,13 $01 $0D S2COL S2.
1,14 $01 $0E S4COL S4.
1,15 $01 $0F H40COL H4.
1,16 $01 $10 SCRX SCR.
1,17 $01 $11 WRR1 WR.
1,18 $01 $12 WRL1 WRL.
1,19 $01 $13 SCR1 -
1,20 $01 $14 SCL1 -
1,21 $01 $15 WRR2 -
1,22 $01 $16 WRL2 -
1,23 $01 $17 SCR2 -
1,24 $01 $18 SCL2 -
1,25 $01 $19 WRR8 -
1,26 $01 $1A WRL8 -
1,27 $01 $1B SCR8 -
1,28 $01 $1C SCL8 -
1,29 $01 $1D ATTR ATT.
1,30 $01 $1E ATTL -
1,31 $01 $1F ATTUP ATTU.
1,32 $01 $20 ATTDN ATTD.
1,33 $01 $21 CHAR CHA.
1,34 $01 $22 WINDOW WIN.
1,35 $01 $23 MULTI MU.
1,36 $01 $24 MONO MON.
1,37 $01 $25 TBORDER TB.
1,38 $01 $26 HBORDER HB.
1,39 $01 $27 TPAPER TP.
1,40 $01 $28 HPAPER HP.
1,41 $01 $29 WRAP WRA.
1,42 $01 $2A SCROLL SCRO.
1,43 $01 $2B INK -
1,44 $01 $2C SETA -
1,45 $01 $2D ATTGET ATTG.
1,46 $01 $2E ATT20N ATT2.
1,47 $01 $2F ATTON ATTO.
1,48 $01 $30 ATTOFF ATTOF.
1,49 $01 $31 MIR -
1,50 $01 $32 MAR MA.
1,51 $01 $33 WCLR WC.
1,52 $01 $34 INV -
1,53 $01 $35 SPIN SPI.
1,54 $01 $36 MOVBLK MOV.
1,55 $01 $37 MOVXOR MOVX.
1,56 $01 $38 MOVAND MOVA.
1,57 $01 $39 MOVOR MOVO.
1,58 $01 $3A MOVATT MOVAT
1,59 $01 $3B EXX -
1,60 $01 $3C EXY -
1,61 $01 $3D GETBLK GET.
1,62 $01 $3E POTBLK PUT.
1,63 $01 $3F CPYBLK CP.
1,64 $01 $40 GETXOR GETX.
1,65 $01 $41 PUTXOR PUTX.
1,66 $01 $42 CFYXOR CPYX.
1,67 $01 $43 GETOR GETO.
1,68 $01 $44 PUTOR PUTO.
1,69 $01 $45 CPYOR CPYO.
1,70 $01 $46 GETAND GETA.
1,71 $01 $47 PUTAND PUTA.
1,72 $01 $48 CPYAND CPYA.
1,73 $01 $49 DBLANK DB.
1,74 $01 $4A DSHOW DSH.
1,75 $01 $4B PUTCHR PUTC.
1,76 $01 $4C LCASE LC.
1,77 $01 $4D UCASE UC.
1,78 $01 $4E CONV -
1,79 $01 $4F HON HO.
1,80 $01 $50 HOFF HOF.
1,81 $01 $51 HSET HS.
1,82 $01 $52 FLIPA EL.
1,83 $01 $53 H4COL H4.
1,84 $01 $54 H2COL H2.
1,85 $01 $55 H1COL H1.
1,86 $01 $56 H3COL H3C.
1,87 $01 $57 HEXX -
1,88 $01 $58 HSHX HSH.
1,89 $01 $59 HEXY -
1,90 $01 $5A HSHY -
1,91 $01 $5B HX -
1,92 $01 $5C HY -
1,93 $01 $5D HCOL HC.
1,94 $01 $5E OVER OV.
1,95 $01 $5F UNDER UND.
1,96 $01 $60 SWAPATT SW.
1,97 $01 $61 DTCTON DT.
1,98 $01 $62 DTCTOFF DTCTOF.
1,99 $01 $63 BLK%BLK BLK.
1,100 $01 $64 OR%BLK OR.
1,101 $01 $65 AND%BLK AND.
1,102 $01 $66 XOR%BLK XO.
1,103 $01 $67 BLK%OR BLK%0.
1,104 $01 $68 OR%OR OR%0.
1,105 $01 $69 AND%OR AND%0.
1,106 $01 $6A XOR%OR XOR%0.
1,107 $01 $6B BLK%AND BLK%A.
1,108 $01 $6C OR%AND OR%A.
1,109 $01 $6D AND%AND AND%A.
1,110 $01 $6E XOR%AND XOR%A.
1,111 $01 $6F BLK%XOR BLK%X.
1,112 $01 $70 OR%XOR OR%X.
1,113 $01 $71 AND%XOR AND%X.
1,114 $01 $72 XOR%XOR XOR%X.
1,115 $01 $73 TEXT TE.
1,116 $01 $74 FLIP -
1,117 $01 $75 HIT -
1,118 $01 $76 SCAN SCA.
1,119 $01 $77 POINT POI.
1,120 $01 $78 DFA DF.
1,121 $01 $79 AFA2 AF.
1,122 $01 $7A AFA -
1,123 $01 $7B KB -
1,124 $01 $7C FIRE1 FI .
1,125 $01 $7D FIRE2 -
1,126 $01 $7E JS1 -
1,127 $01 $7F JS2 J.
 
 
Nr. Token Schlüsselwort Abk.
2,0 $02 $00 unbenutzt
2,1 $02 $01 BLACK BLA.
2,2 $02 $02 WHITE WHIT.
2,3 $02 $03 RED -
2,4 $02 $04 CYAN CY.
2,5 $02 $05 PURPLE PUR.
2,6 $02 $06 GREEN GR.
2,7 $02 $07 BLUE BLU.
2,8 $02 $08 YELLOW Y.
2,9 $02 $09 ORANGE ORA.
2,10 $02 $0A BROWN BR.
2,11 $02 $0B .RED .R.
2,12 $02 $0C GRAY1 GRA.
2,13 $02 $0D GRAY2 -
2,14 $02 $0E .GREEN .G.
2,15 $02 $0F .BLUE .B.
2,16 $02 $10 GRAY3 -
2,17 $02 $11 OSC OS.
2,18 $02 $12 ENV -
2,19 $02 $13 FRQ -
2,20 $02 $14 NOISE NOI.
2,21 $02 $15 PULSE PULS.
2,22 $02 $16 SAW -
2,23 $02 $17 TRI -
2,24 $02 $18 RING RIN.
2,25 $02 $19 SYNC SYN.
2,26 $02 $1A MUSIC MUS.
2,27 $02 $1B ADSR AD.
2,28 $02 $1C FILTER FIL.
2,29 $02 $1D MUTE MUT.
2,30 $02 $1E VOLUME VO.
2,31 $02 $1F CUTOFF CU.
2,32 $02 $20 RESONANCE RESO.
2,33 $02 $21 PASS PAS.
2,34 $02 $22 SCRY SCR.
2,35 $02 $23 RECALL REC.
2,36 $02 $24 STORE STOR.
2,37 $02 $25 SIDCLR SID.
2,38 $02 $26 MERGE ME.
2,39 $02 $27 RESEQ -
2,40 $02 $28 MEM -
2,41 $02 $29 OLD -
2,42 $02 $2A DIR -
2,43 $02 $2B DSTORE DST.
2,44 $02 $2C DRECALL DRE.
2,45 $02 $2D DMERGE DM.
neu in LASER BASIC:
2,50 $02 $32 AUTO AU.
2,51 $02 $33 RENUM REN.
2,53 $02 $35 CSPRITE CS.
2,54 $02 $36 CPUT CPU.
2,55 $02 $37 CGET CG.
2,56 $02 $38 CSWAP CSW.
2,57 $02 $39 FILL -
2,58 $02 $3A RASTER RA.
2,59 $02 $3B EBACK EB.
2,60 $02 $3C BG0 BG.
2,61 $02 $3D BG1 -
2,62 $02 $3E BG2 -
2,63 $02 $3F BG3 -
2,64 $02 $40 SWITCH SWI.
2,65 $02 $41 NORM NOR.
2,66 $02 $42 KEYOFF KEYOF.
2,67 $02 $43 KEYON KE.
2,68 $02 $44 MCOL1 MC.
2,69 $02 $45 MCOL2 -
2,70 $02 $46 MCOL3 -
2,71 $02 $47 FGND FG.
2,72 $02 $48 BGND BGN.
2,73 $02 $49 EI -
2,74 $02 $4A DI -
2,75 $02 $4B UNSYNC UNS.
2,76 $02 $4C RSYNC RS.
2,77 $02 $4D INIT INI.


Unterschiede zu BASIC Lightning[Bearbeiten | Quelltext bearbeiten]

BASIC Lightning

Laser BASIC ist ein Update des älteren BASIC Lightning. Die meisten der Programme, die mit BASIC Lightning geschrieben worden sind, laufen auch unter Laser BASIC.

Einige Befehle sind in Laser BASIC neu hinzugekommen - siehe oben am Ende der Tabelle der Schlüsselwörter. Mehrere Befehle schreiben sich anders, haben aber die gleichen Token.

Nr. Token LASER BASIC BASIC LIGHTNING
Schlüsselwort Abk. Schlüsselwort Abk.
212 $D4 SFRE SF. Reserved
1,16 $01 $10 SCRX SCR. SCRLX SCR.
1,59 $01 $3B EXX - XPANDX X.
1,60 $01 $3C EXY - XPANDY -
1,78 $01 $4E CONV - SPRCONV SPRC.
1,79 $01 $4F HON HO. .ON .O.
1,80 $01 $50 HOFF HOF. .OFF .OF.
1,81 $01 $51 HSET HS. .SET .S.
1,82 $01 $52 FLIPA EL.
1,83 $01 $53 H4COL H4. .4COL .4.
1,84 $01 $54 H2COL H2. . 2COL .2.
1,85 $01 $55 H1COL H1. .COL0 .C.
1,86 $01 $56 H3COL H3C. .COL1 -
1,87 $01 $57 HEXX - .XPANDX .X.
1,88 $01 $58 HSHX HSH. .SHRINKX .SH.
1,89 $01 $59 HEXY - .XPANDY -
1,90 $01 $5A HSHY - .SHRINKY -
1,91 $01 $5B HX - .XPOS .XPO.
1,92 $01 $5C HY - .YPOS .Y.
1,93 $01 $5D HCOL HC. .COL -
1,94 $01 $5E OVER OV. .OVER .OV.
1,95 $01 $5F UNDER UND. .UNDER .U.
1,115 $01 $73 TEXT TE. STRPLOT STRP.
1,117 $01 $75 HIT - .HIT .H.
2,34 $02 $22 SCRY SCR. SCRLY -
  • Der Speicherplatz für Sprites ist von 8191 auf 7167 Bytes verringert.
  • Multitasking erlaubt nur noch 3 statt 5 Tasks.
  • CUTOFF erlaubt Frequenzen von 0 bis 65535 statt 0 bis 2047.
  • SIDCLR verändert nicht mehr die Lautstärke.
  • Turbo-Tape ist dazugekommen.

Ähnliche Programme[Bearbeiten | Quelltext bearbeiten]

  • Vor BASIC Lightning gab es das Spiele-Entwicklungssystem als Forth-Version White Lightning.
  • Der dritte Teil der Laser-Familie ist das Maschinensprache-Entwicklungsprogramm Laser Genius.

Weblinks[Bearbeiten | Quelltext bearbeiten]

C64[Bearbeiten | Quelltext bearbeiten]

BASIC Lightning und White Lightning

Amstrad CPC 464/664/6128[Bearbeiten | Quelltext bearbeiten]

ZX Spectrum 48K[Bearbeiten | Quelltext bearbeiten]