Beta3 2024/05/31: Fix keyword abbreviations
This commit is contained in:
1 parent
dd5b8b369d
commit
4b2b530017
5 files changed
+80
-75
No files matched your search
+4
-4
@@ -21,9 +21,9 @@ New features in BBC BASIC (Z80) version 5.00, May 2024:
|
||||
2.3 REPORT$
|
||||
2.4 Binary constants
|
||||
2.5 LEFT$ & RIGHT$ with last parameter omitted
|
||||
2.6 MOD(array)
|
||||
2.7 SUM(array)
|
||||
2.8 SUMLEN(array)
|
||||
2.6 MOD(array())
|
||||
2.7 SUM(array())
|
||||
2.8 SUMLEN(array())
|
||||
2.9 GET$#file
|
||||
|
||||
3. BASIC V whole array operations
|
||||
@@ -56,7 +56,7 @@ New features in BBC BASIC (Z80) version 5.00, May 2024:
|
||||
5. Extensions to Acorn's BASIC V, compatible with BB4W, BBCSDL and BBCTTY
|
||||
|
||||
5.1 EXIT REPEAT / WHILE / FOR [var]
|
||||
5.2 Address-of operator ^
|
||||
5.2 Address-of operator (^)
|
||||
5.3 Byte variables and arrays (& suffix)
|
||||
5.4 'BY len' and 'TO term' qualifiers to GET$#file
|
||||
5.5 ELSE IF <condition> THEN; (trailing semicolon)
|
||||
|
||||
Binary file not shown.
+9
-9
@@ -1,12 +1,12 @@
|
||||
m80 dist,dist.lst=dist.z80 /z
|
||||
m80 main,main.lst=main.z80 /z
|
||||
m80 exec,exec.lst=exec.z80 /z
|
||||
m80 eval,eval.lst=eval.z80 /z
|
||||
m80 asmb,asmb.lst=asmb.z80 /z
|
||||
m80 cmos,cmos.lst=cmos.z80 /z
|
||||
m80 math,math.lst=math.z80 /z
|
||||
m80 hook,hook.lst=hook.z80 /z
|
||||
m80 data,data.lst=data.z80 /z
|
||||
z80asm dist/rmf
|
||||
z80asm main/rmf
|
||||
z80asm exec/rmf
|
||||
z80asm eval/rmf
|
||||
z80asm asmb/rmf
|
||||
z80asm cmos/rmf
|
||||
z80asm math/rmf
|
||||
z80asm hook/rmf
|
||||
z80asm data/rmf
|
||||
era bbcbasic.com
|
||||
link bbcbasic=dist,main,exec,eval,asmb,math,hook,cmos,/p:4B00,data
|
||||
hexbin bbcbasic
|
||||
|
||||
+13
-6
@@ -39,6 +39,7 @@
|
||||
EXTRN FREE
|
||||
EXTRN HIMEM
|
||||
EXTRN CURLIN
|
||||
EXTRN AUTONO
|
||||
EXTRN USER
|
||||
EXTRN VERMSG
|
||||
;
|
||||
@@ -1256,7 +1257,8 @@ WRCH1: CALL BDOS0
|
||||
SET 1,(HL)
|
||||
RET
|
||||
;
|
||||
TOGGLE: LD A,(FLAGS)
|
||||
TOGGLE: LD BC,0
|
||||
LD A,(FLAGS)
|
||||
XOR 00000100B
|
||||
LD (FLAGS),A
|
||||
RET
|
||||
@@ -1319,6 +1321,8 @@ LIMIT: CALL Z,KEYGET ;READ KEYBOARD
|
||||
OR A ;TEST FOR ESCAPE
|
||||
LD A,C
|
||||
JP M,OSEXIT
|
||||
CP 'P' AND 1FH
|
||||
JP Z,TOGGLE
|
||||
CP (IX-11) ;CURSOR UP (IX-11)
|
||||
JP Z,LEFT
|
||||
CP (IX-10) ;CURSOR DOWN (IX-10)
|
||||
@@ -1328,13 +1332,11 @@ LIMIT: CALL Z,KEYGET ;READ KEYBOARD
|
||||
JR Z,BACK
|
||||
CP (IX-9) ;START OF LINE (IX-9)
|
||||
JR Z,LEFT
|
||||
CP (IX-7) ;CLEAR RIGHT (IX-7)
|
||||
JR Z,DELETE
|
||||
CP (IX-8) ;END OF LINE (IX-8)
|
||||
JP Z,RIGHT
|
||||
CP (IX-7) ;CLEAR RIGHT (IX-7)
|
||||
JR Z,DELETE
|
||||
LD C,0 ;INHIBIT REPEAT
|
||||
CP 'P' AND 1FH
|
||||
JP Z,TOGGLE
|
||||
CP (IX-1) ;INSERT / OVR (IX-1)
|
||||
JP Z,INSERT
|
||||
CP (IX-6) ;DELETE LEFT (IX-6)
|
||||
@@ -1359,10 +1361,15 @@ OSEXIT: LD A,(HL)
|
||||
JP NZ,ABORT ;ESCAPE
|
||||
LD A,LF
|
||||
CALL OSWRCH
|
||||
LD DE,(CURLIN)
|
||||
XOR A
|
||||
LD L,A
|
||||
LD (EDPTR),HL
|
||||
LD DE,(CURLIN)
|
||||
CP D
|
||||
RET NZ
|
||||
CP E
|
||||
RET NZ
|
||||
LD DE,(AUTONO)
|
||||
CP D
|
||||
RET NZ
|
||||
CP E
|
||||
|
||||
+54
-56
@@ -10,7 +10,7 @@
|
||||
;
|
||||
;VERSION 2.3, 07-05-1984
|
||||
;VERSION 3.0, 01-03-1987
|
||||
;VERSION 5.0, 27-05-2024
|
||||
;VERSION 5.0, 31-05-2024
|
||||
;
|
||||
EXTRN XEQ
|
||||
EXTRN RUN0
|
||||
@@ -174,7 +174,7 @@ PURGE: LD (HL),A ;CLEAR SCRATCHPAD
|
||||
CALL NEWIT
|
||||
JP NZ,CHAIN0 ;AUTO-RUN
|
||||
CALL TELL
|
||||
VERMSG: DEFM 'BBC BASIC (Z80) Version 5beta2'
|
||||
VERMSG: DEFM 'BBC BASIC (Z80) Version 5beta3'
|
||||
DEFB CR
|
||||
DEFB LF
|
||||
NOTICE: DEFM '(C) Copyright R.T.Russell 2024'
|
||||
@@ -220,7 +220,10 @@ NOAUTO: LD HL,ACCS
|
||||
JR NZ,NOTCMD
|
||||
ADD A,A
|
||||
LD C,A
|
||||
LD B,0
|
||||
LD A,H
|
||||
OR L
|
||||
JR NZ,INAUTO
|
||||
LD B,A
|
||||
LD HL,CMDTAB
|
||||
ADD HL,BC
|
||||
LD A,(HL) ;TABLE ENTRY
|
||||
@@ -231,6 +234,7 @@ NOAUTO: LD HL,ACCS
|
||||
CALL NXT
|
||||
JP (HL) ;EXECUTE COMMAND
|
||||
;
|
||||
INAUTO: LD IY,ACCS
|
||||
NOTCMD: LD A,H
|
||||
OR L
|
||||
CALL Z,LINNUM
|
||||
@@ -339,8 +343,6 @@ KEYWDS: DEFB 80H
|
||||
DEFM 'CHAIN'
|
||||
DEFB 0BDH
|
||||
DEFM 'CHR$'
|
||||
DEFB 01H
|
||||
DEFM 'CIRCLE' ; v5
|
||||
DEFB 0D8H
|
||||
DEFM 'CLEAR '
|
||||
DEFB 0D9H
|
||||
@@ -353,6 +355,8 @@ KEYWDS: DEFB 80H
|
||||
DEFM 'COS'
|
||||
DEFB 9CH
|
||||
DEFM 'COUNT '
|
||||
DEFB 01H
|
||||
DEFM 'CIRCLE' ; v5
|
||||
DEFB 0DCH
|
||||
DEFM 'DATA'
|
||||
DEFB 9DH
|
||||
@@ -365,16 +369,14 @@ KEYWDS: DEFB 80H
|
||||
DEFM 'DIM'
|
||||
DEFB 0DFH
|
||||
DEFM 'DRAW'
|
||||
DEFB 02H
|
||||
DEFM 'ELLIPSE' ; v5
|
||||
DEFB 0CBH
|
||||
DEFM 'ENDCASE ' ; v5
|
||||
DEFB 0CDH
|
||||
DEFM 'ENDIF ' ; v5
|
||||
DEFB 0E1H
|
||||
DEFM 'ENDPROC '
|
||||
DEFB 0CEH
|
||||
DEFM 'ENDWHILE ' ; v5
|
||||
DEFB 0CBH
|
||||
DEFM 'ENDCASE ' ; v5
|
||||
DEFB 0CDH
|
||||
DEFM 'ENDIF ' ; v5
|
||||
DEFB 0E0H
|
||||
DEFM 'END '
|
||||
DEFB 0E2H
|
||||
@@ -389,16 +391,18 @@ KEYWDS: DEFB 80H
|
||||
DEFM 'ERROR'
|
||||
DEFB 0C5H
|
||||
DEFM 'EOF '
|
||||
DEFB 10H
|
||||
DEFM 'EXIT ' ; v5
|
||||
DEFB 82H
|
||||
DEFM 'EOR'
|
||||
DEFB 9FH
|
||||
DEFM 'ERR '
|
||||
DEFB 10H
|
||||
DEFM 'EXIT ' ; v5
|
||||
DEFB 0A1H
|
||||
DEFM 'EXP'
|
||||
DEFB 0A2H
|
||||
DEFM 'EXT '
|
||||
DEFB 02H
|
||||
DEFM 'ELLIPSE' ; v5
|
||||
DEFB 0E3H
|
||||
DEFM 'FOR'
|
||||
DEFB 0A3H
|
||||
@@ -427,12 +431,12 @@ KEYWDS: DEFB 80H
|
||||
DEFM 'INKEY$'
|
||||
DEFB 0A6H
|
||||
DEFM 'INKEY'
|
||||
DEFB 0CH
|
||||
DEFM 'INSTALL' ; v5
|
||||
DEFB 0A8H
|
||||
DEFM 'INT'
|
||||
DEFB 0A7H
|
||||
DEFM 'INSTR('
|
||||
DEFB 0CH
|
||||
DEFM 'INSTALL' ; v5
|
||||
DEFB 86H
|
||||
DEFM 'LINE'
|
||||
DEFB 92H
|
||||
@@ -455,24 +459,22 @@ KEYWDS: DEFB 80H
|
||||
DEFM 'MODE'
|
||||
DEFB 83H
|
||||
DEFM 'MOD'
|
||||
DEFB 04H
|
||||
DEFM 'MOUSE' ; v5
|
||||
DEFB 0ECH
|
||||
DEFM 'MOVE'
|
||||
DEFB 04H
|
||||
DEFM 'MOUSE' ; v5
|
||||
DEFB 0EDH
|
||||
DEFM 'NEXT'
|
||||
DEFB 0ACH
|
||||
DEFM 'NOT'
|
||||
DEFB 05H
|
||||
DEFM 'ORIGIN' ; v5
|
||||
DEFB 0CCH
|
||||
DEFM 'OTHERWISE' ; v5
|
||||
DEFB 0EEH
|
||||
DEFM 'ON'
|
||||
DEFB 87H
|
||||
DEFM 'OFF '
|
||||
DEFB 0CAH
|
||||
DEFM 'OF ' ; v5
|
||||
DEFB 05H
|
||||
DEFM 'ORIGIN' ; v5
|
||||
DEFB 84H
|
||||
DEFM 'OR'
|
||||
DEFB 8EH
|
||||
@@ -483,6 +485,8 @@ KEYWDS: DEFB 80H
|
||||
DEFM 'OPENUP'
|
||||
DEFB 0FFH
|
||||
DEFM 'OSCLI'
|
||||
DEFB 0CCH
|
||||
DEFM 'OTHERWISE' ; v5
|
||||
DEFB 0F1H
|
||||
DEFM 'PRINT'
|
||||
DEFB 90H
|
||||
@@ -495,12 +499,12 @@ KEYWDS: DEFB 80H
|
||||
DEFM 'PLOT'
|
||||
DEFB 0B0H
|
||||
DEFM 'POINT('
|
||||
DEFB 0EH
|
||||
DEFM 'PUT' ; Token changed
|
||||
DEFB 0F2H
|
||||
DEFM 'PROC'
|
||||
DEFB 0B1H
|
||||
DEFM 'POS '
|
||||
DEFB 0EH
|
||||
DEFM 'PUT' ; Token changed
|
||||
DEFB 06H
|
||||
DEFM 'QUIT ' ; v5
|
||||
DEFB 0F8H
|
||||
@@ -551,18 +555,18 @@ KEYWDS: DEFB 80H
|
||||
DEFM 'SYS' ; v5
|
||||
DEFB 0B7H
|
||||
DEFM 'TAN'
|
||||
DEFB 8CH
|
||||
DEFM 'THEN'
|
||||
DEFB 0B8H
|
||||
DEFM 'TO'
|
||||
DEFB 8AH
|
||||
DEFM 'TAB('
|
||||
DEFB 0FCH
|
||||
DEFM 'TRACE'
|
||||
DEFB 8CH
|
||||
DEFM 'THEN'
|
||||
DEFB 91H
|
||||
DEFM 'TIME '
|
||||
DEFB 0AH
|
||||
DEFM 'TINT'
|
||||
DEFB 0B8H
|
||||
DEFM 'TO'
|
||||
DEFB 0FCH
|
||||
DEFM 'TRACE'
|
||||
DEFB 0B9H
|
||||
DEFM 'TRUE '
|
||||
DEFB 0FDH
|
||||
@@ -575,14 +579,14 @@ KEYWDS: DEFB 80H
|
||||
DEFM 'VAL'
|
||||
DEFB 0BCH
|
||||
DEFM 'VPOS '
|
||||
DEFB 0FEH
|
||||
DEFM 'WIDTH'
|
||||
DEFB 0BH
|
||||
DEFM 'WAIT ' ; v5
|
||||
DEFB 0C9H
|
||||
DEFM 'WHEN' ; v5
|
||||
DEFB 0C7H
|
||||
DEFM 'WHILE' ; v5
|
||||
DEFB 0C9H
|
||||
DEFM 'WHEN' ; v5
|
||||
DEFB 0BH
|
||||
DEFM 'WAIT ' ; v5
|
||||
DEFB 0FEH
|
||||
DEFM 'WIDTH'
|
||||
;'LEFT' TOKENS:
|
||||
DEFB 0CFH
|
||||
DEFM 'PTR'
|
||||
@@ -832,7 +836,7 @@ LENSUB EQU $-TOKSUB
|
||||
DELETE: CALL DLPAIR
|
||||
DELET1: LD A,(HL)
|
||||
OR A
|
||||
JP Z,WARM
|
||||
JR Z,WARMNC
|
||||
INC HL
|
||||
LD E,(HL)
|
||||
INC HL
|
||||
@@ -856,7 +860,7 @@ LISTO: INC IY ;SKIP "O"
|
||||
EXX
|
||||
LD A,L
|
||||
LD (LISTON),A
|
||||
CLOOP1: JP CLOOP
|
||||
JP CLOOP
|
||||
;
|
||||
;LIST
|
||||
;LIST line
|
||||
@@ -1006,10 +1010,7 @@ RENUM1: LD A,(HL) ;BUILD TABLE
|
||||
POP HL
|
||||
EX DE,HL
|
||||
JR C,RENUM1 ;CONTINUE
|
||||
CALL EXTERR ;"Out of space"
|
||||
DEFB 16H
|
||||
DEFB 18H
|
||||
DEFB 0
|
||||
JP ERROR ;'No room' (A = 0)
|
||||
;
|
||||
RENUM2: EX DE,HL
|
||||
LD (HL),-1
|
||||
@@ -1021,7 +1022,7 @@ RENUM2: EX DE,HL
|
||||
RENUM3: LD C,(HL)
|
||||
LD A,C
|
||||
OR A
|
||||
JP Z,WARM
|
||||
JR Z,WARMNC
|
||||
EXX
|
||||
EX DE,HL
|
||||
INC HL
|
||||
@@ -1114,6 +1115,15 @@ BAD: CALL TELL ;"Bad program'
|
||||
NEW: CALL NEWIT
|
||||
JR CLOOP0
|
||||
;
|
||||
;LOAD filename
|
||||
;
|
||||
LOAD: CALL EXPRS ;GET FILENAME
|
||||
LD A,CR
|
||||
LD (DE),A
|
||||
CALL LOAD0
|
||||
CALL CLEAR
|
||||
JR WARM0
|
||||
;
|
||||
;OLD
|
||||
;
|
||||
OLD: LD HL,(PAGE)
|
||||
@@ -1131,15 +1141,6 @@ OLD: LD HL,(PAGE)
|
||||
CALL CLEAN
|
||||
CLOOP0: JP CLOOP
|
||||
;
|
||||
;LOAD filename
|
||||
;
|
||||
LOAD: CALL EXPRS ;GET FILENAME
|
||||
LD A,CR
|
||||
LD (DE),A
|
||||
CALL LOAD0
|
||||
CALL CLEAR
|
||||
JR WARM0
|
||||
;
|
||||
;SAVE filename
|
||||
;
|
||||
SAVE: CALL EXPRS ;FILENAME
|
||||
@@ -1203,7 +1204,7 @@ ERROR2: LD SP,(HIMEM)
|
||||
LD E,0
|
||||
CALL C,OSSHUT ;CLOSE ALL FILES
|
||||
CALL CRLF
|
||||
JP CLOOP
|
||||
JR CLOOP0
|
||||
;
|
||||
;SUBROUTINES:
|
||||
;
|
||||
@@ -1442,12 +1443,9 @@ LOUT: BIT 0,E
|
||||
CALL OUT
|
||||
RET
|
||||
;
|
||||
INDADD: INC E
|
||||
RET
|
||||
;
|
||||
INDSUB: DEC E
|
||||
JP P,INDRET
|
||||
INC E
|
||||
INDADD: INC E
|
||||
INDRET: RET
|
||||
;
|
||||
;CRLF - SEND CARRIAGE RETURN, LINE FEED.
|
||||
|
||||
Reference in new issue
Block a user