Added RESTORE LOCAL statement
This commit is contained in:
1 parent
68415af1b6
commit
ae939a3acb
5 files changed
+21
-20
No files matched your search
+5
-3
@@ -1,4 +1,4 @@
|
|||||||
New features in BBC BASIC (Z80) version 5.00, June 2024:
|
New features in BBC BASIC (Z80) version 5.00, January 2025:
|
||||||
|
|
||||||
1. BASIC V statements
|
1. BASIC V statements
|
||||||
|
|
||||||
@@ -54,8 +54,9 @@ New features in BBC BASIC (Z80) version 5.00, June 2024:
|
|||||||
4.4 RETURNed parameters from FN/PROC
|
4.4 RETURNed parameters from FN/PROC
|
||||||
4.5 Compound assignment (+=, -=, *=, /= etc.)
|
4.5 Compound assignment (+=, -=, *=, /= etc.)
|
||||||
4.6 Assigning to a sub-string: LEFT$()=, MID$()= , RIGHT$()=
|
4.6 Assigning to a sub-string: LEFT$()=, MID$()= , RIGHT$()=
|
||||||
4.7 Hooks for CIRCLE,ELLIPSE,FILL,LINE,MOUSE,ORIGIN,RECTANGLE,SYS,TINT,WAIT
|
4.7 Hooks for CIRCLE, ELLIPSE, FILL, LINE, ORIGIN, RECTANGLE (graphics)
|
||||||
4.8 Hooks for ON, OFF, MODE function, TINT function, WIDTH function
|
4.8 Hooks for MOUSE, OFF, ON, SYS, TINT, WAIT (statements)
|
||||||
|
4.9 Hooks for MODE function, TINT function, WIDTH function
|
||||||
|
|
||||||
5. Extensions to Acorn's BASIC V, compatible with BB4W, BBCSDL and BBCTTY
|
5. Extensions to Acorn's BASIC V, compatible with BB4W, BBCSDL and BBCTTY
|
||||||
|
|
||||||
@@ -67,6 +68,7 @@ New features in BBC BASIC (Z80) version 5.00, June 2024:
|
|||||||
5.6 == synonymous with = in comparisons
|
5.6 == synonymous with = in comparisons
|
||||||
5.7 DIM a global array inside a FN/PROC (use RETURN)
|
5.7 DIM a global array inside a FN/PROC (use RETURN)
|
||||||
5.8 DIM var LOCAL -1 returns the stack pointer, even outside a FN/PROC
|
5.8 DIM var LOCAL -1 returns the stack pointer, even outside a FN/PROC
|
||||||
|
5.9 RESTORE LOCAL restores local variables without exiting the FN/PROC
|
||||||
|
|
||||||
Note: The token for PUT has changed from &CE in version 3 to &0E in version 5.
|
Note: The token for PUT has changed from &CE in version 3 to &0E in version 5.
|
||||||
If this token is present in existing programs it will list as ENDWHILE rather
|
If this token is present in existing programs it will list as ENDWHILE rather
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
+16
-17
@@ -13,6 +13,7 @@
|
|||||||
;VERSION 5.0, 12-07-2024
|
;VERSION 5.0, 12-07-2024
|
||||||
;VERSION 5.1, 28-12-2024
|
;VERSION 5.1, 28-12-2024
|
||||||
;VERSION 5.2, 11-01-2025
|
;VERSION 5.2, 11-01-2025
|
||||||
|
;VERSION 5.3, 31-01-2025
|
||||||
;
|
;
|
||||||
GLOBAL XEQ
|
GLOBAL XEQ
|
||||||
GLOBAL RUN0
|
GLOBAL RUN0
|
||||||
@@ -1823,32 +1824,30 @@ CLR: CALL CLEAR
|
|||||||
LD HL,(PAGE)
|
LD HL,(PAGE)
|
||||||
JR RESTR1
|
JR RESTR1
|
||||||
;
|
;
|
||||||
;RESTORE ERROR
|
;RESTORE DATA / ERROR / LOCAL
|
||||||
;
|
;
|
||||||
RESERR: INC IY
|
RESDEL: INC IY ;Skip DATA / ERROR / LOCAL
|
||||||
LD A,2
|
LD A,C ;Save error code
|
||||||
|
EX AF,AF'
|
||||||
|
LD A,B ;1=DATA, 2=ERROR, 0=LOCAL
|
||||||
CALL RESLOC
|
CALL RESLOC
|
||||||
JR NZ,XEQGO5
|
JR NZ,XEQGO5
|
||||||
LD A,53 ;ON ERROR not LOCAL
|
EX AF,AF' ;Get error code
|
||||||
ERROR5: JP ERROR
|
|
||||||
;
|
|
||||||
;RESTORE DATA
|
|
||||||
;
|
|
||||||
RESDAT: INC IY
|
|
||||||
LD A,1
|
|
||||||
CALL RESLOC
|
|
||||||
JR NZ,XEQGO5
|
|
||||||
LD A,54 ;'DATA not LOCAL'
|
|
||||||
DEFB 21H
|
DEFB 21H
|
||||||
NOLINE: LD A,41 ;'No such line'
|
NOLINE: LD A,41 ;'No such line'
|
||||||
JR ERROR5
|
ERROR5: JP ERROR
|
||||||
;
|
;
|
||||||
;RESTORE [line]
|
;RESTORE [line | +n | DATA | ERROR | LOCAL]
|
||||||
;
|
;
|
||||||
RESTOR: CP TERROR
|
RESTOR: CP TERROR
|
||||||
JR Z,RESERR
|
LD BC,200H + 53 ;'ON ERROR not LOCAL'
|
||||||
|
JR Z,RESDEL
|
||||||
CP TDATA
|
CP TDATA
|
||||||
JR Z,RESDAT
|
LD BC,100H + 54 ;'DATA not LOCAL'
|
||||||
|
JR Z,RESDEL
|
||||||
|
CP TLOCAL
|
||||||
|
LD BC,12 ;'Not in a FN or PROC'
|
||||||
|
JR Z,RESDEL
|
||||||
CP '+'
|
CP '+'
|
||||||
JR Z,RESREL
|
JR Z,RESREL
|
||||||
LD HL,(PAGE)
|
LD HL,(PAGE)
|
||||||
|
|||||||
Binary file not shown.
Reference in new issue
Block a user