Added hooks for ON and OFF

This commit is contained in:
Richard Russell committed 2024-07-12 15:42:16 +01:00
1 parent 7c3c72f0cf
commit 0b6ae8cc96
7 files changed
+47 -17

No files matched your search

+1 -1
View File
@@ -55,7 +55,7 @@ New features in BBC BASIC (Z80) version 5.00, June 2024:
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,MOUSE,ORIGIN,RECTANGLE,SYS,TINT,WAIT
4.8 Hooks for MODE function, TINT function, WIDTH function 4.8 Hooks for ON, OFF, 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
Binary file not shown.
+1 -1
View File
@@ -7,7 +7,7 @@ z80asm amos/rmf
z80asm acorn/rmf z80asm acorn/rmf
z80asm data/rmf z80asm data/rmf
era bbctube.com era bbctube.com
link bbctube=/p:0100,main,exec,eval,asmb,math,acorn,amos,/p:4B00,data link bbctube=/p:0100,main,exec,eval,asmb,math,acorn,amos,/p:4C00,data
hexbin bbctube hexbin bbctube
era bbctube.hex era bbctube.hex
ren bbctube.com=bbctube.bin ren bbctube.com=bbctube.bin
Binary file not shown.
+21 -1
View File
@@ -3,7 +3,7 @@
;PATCH FOR BBC BASIC TO CP/M 2.2 & 3.0 ;PATCH FOR BBC BASIC TO CP/M 2.2 & 3.0
;* ACORN COMPUTERS Z80 TUBE VERSION * ;* ACORN COMPUTERS Z80 TUBE VERSION *
;(C) COPYRIGHT R.T.RUSSELL, 02-01-1984 ;(C) COPYRIGHT R.T.RUSSELL, 02-01-1984
;VERSION 5.0, 18-06-2024 ;VERSION 5.0, 12-07-2024
; ;
OSWRCH EQU 0FFEEH OSWRCH EQU 0FFEEH
OSWORD EQU 0FFF1H OSWORD EQU 0FFF1H
@@ -61,6 +61,8 @@ TFILL EQU 03H
GLOBAL TINT GLOBAL TINT
GLOBAL WAIT GLOBAL WAIT
GLOBAL SYS GLOBAL SYS
GLOBAL CSRON
GLOBAL CSROFF
; ;
GLOBAL PUTIMS GLOBAL PUTIMS
GLOBAL GETIMS GLOBAL GETIMS
@@ -385,6 +387,24 @@ GCOL0: LD H,L
CALL WRCH3 ;DLH CALL WRCH3 ;DLH
XEQGO1: JP XEQ XEQGO1: JP XEQ
; ;
;CSRON - Turn caret on
;CSROFF - Turn caret off
;
CSRON: LD C,1
JR CSRGO
;
CSROFF: LD C,0
CSRGO: LD A,23
CALL OSWRCH
LD A,1
CALL OSWRCH
LD A,C
LD B,8
CSRGO1: CALL OSWRCH
XOR A
DJNZ CSRGO1
JR XEQGO1
;
;LINE x1,y1,x2,y2 ;LINE x1,y1,x2,y2
; ;
LINE: CALL EXPRI LINE: CALL EXPRI
+20 -14
View File
@@ -10,7 +10,7 @@
; ;
;VERSION 2.1, 22-01-1984 ;VERSION 2.1, 22-01-1984
;VERSION 3.1, 11-06-1987 ;VERSION 3.1, 11-06-1987
;VERSION 5.0, 16-06-2024 ;VERSION 5.0, 12-07-2024
; ;
GLOBAL XEQ GLOBAL XEQ
GLOBAL RUN0 GLOBAL RUN0
@@ -58,6 +58,8 @@
EXTRN BYE EXTRN BYE
EXTRN NXT EXTRN NXT
EXTRN NLIST EXTRN NLIST
EXTRN CSRON
EXTRN CSROFF
; ;
EXTRN OSWRCH EXTRN OSWRCH
EXTRN OSLINE EXTRN OSLINE
@@ -358,6 +360,16 @@ CLI: CALL EXPRS
CALL OSCLI CALL OSCLI
JR XEQ JR XEQ
; ;
EXTRAS: CP TELSE-TCMD
JR Z,REM ;ELSE
CP TERROR-TCMD
JR Z,THROW ;ERROR
CP TLINE-TCMD
JP Z,LINE ;LINE
CP TOFF-TCMD
JP Z,CSROFF ;OFF
JP SYNTAX
;
;REM, * ;REM, *
; ;
EXT: PUSH IY EXT: PUSH IY
@@ -372,14 +384,6 @@ REM: PUSH IY
POP IY POP IY
JP XEQ0 JP XEQ0
; ;
EXTRAS: CP TELSE-TCMD
JR Z,REM ;ELSE
CP TERROR-TCMD
JR Z,THROW ;ERROR
CP TLINE-TCMD
JP Z,LINE ;LINE
JP SYNTAX
;
;ERROR num,string$ ;ERROR num,string$
; ;
THROW: CALL EXPRI THROW: CALL EXPRI
@@ -833,7 +837,9 @@ XEQGO3: JP XEQ
;ON ERROR [LOCAL] statement [:statement...] ;ON ERROR [LOCAL] statement [:statement...]
;ON ERROR [LOCAL] OFF ;ON ERROR [LOCAL] OFF
; ;
ON: CP TERROR ON: CALL TERMQ
JP Z,CSRON
CP TERROR
JR Z,ONERR ;"ON ERROR" JR Z,ONERR ;"ON ERROR"
CALL EXPRI CALL EXPRI
LD A,(IY) LD A,(IY)
@@ -1791,7 +1797,7 @@ ENDWH1: PUSH IY
CLS: CALL CLRSCN CLS: CALL CLRSCN
XOR A XOR A
LD (COUNT),A LD (COUNT),A
JP XEQ JR XEQGO5
; ;
;STOP ;STOP
; ;
@@ -1808,7 +1814,7 @@ STOP: CALL TELL
;REPORT ;REPORT
; ;
REPOR: CALL REPORT REPOR: CALL REPORT
JP XEQ JR XEQGO5
; ;
;CLEAR ;CLEAR
; ;
@@ -1821,7 +1827,7 @@ CLR: CALL CLEAR
RESERR: INC IY RESERR: INC IY
LD A,2 LD A,2
CALL RESLOC CALL RESLOC
JP NZ,XEQ JR NZ,XEQGO5
LD A,53 ;ON ERROR not LOCAL LD A,53 ;ON ERROR not LOCAL
ERROR5: JP ERROR ERROR5: JP ERROR
; ;
@@ -1830,7 +1836,7 @@ ERROR5: JP ERROR
RESDAT: INC IY RESDAT: INC IY
LD A,1 LD A,1
CALL RESLOC CALL RESLOC
JP NZ,XEQ JR NZ,XEQGO5
LD A,54 ;'DATA not LOCAL' LD A,54 ;'DATA not LOCAL'
DEFB 21H DEFB 21H
NOLINE: LD A,41 ;'No such line' NOLINE: LD A,41 ;'No such line'
+4
View File
@@ -19,6 +19,8 @@
GLOBAL TINT GLOBAL TINT
GLOBAL WAIT GLOBAL WAIT
GLOBAL SYS GLOBAL SYS
GLOBAL CSRON
GLOBAL CSROFF
; ;
GLOBAL ADVAL GLOBAL ADVAL
GLOBAL POINT GLOBAL POINT
@@ -55,6 +57,8 @@ MODEFN:
WIDFN: WIDFN:
WAIT: WAIT:
SYS: SYS:
CSRON:
CSROFF:
XOR A XOR A
CALL EXTERR CALL EXTERR
DEFM 'Sorry' DEFM 'Sorry'