From 0b6ae8cc96f27738816793cfda6be833677ae2c8 Mon Sep 17 00:00:00 2001 From: Richard Russell Date: Fri, 12 Jul 2024 15:42:16 +0100 Subject: [PATCH] Added hooks for ON and OFF --- WHATSNEW.TXT | 2 +- bin/acorn/BBCBASIC.COM | Bin 18944 -> 19200 bytes bin/acorn/MAKE.SUB | 2 +- bin/cpm/BBCBASIC.COM | Bin 18944 -> 18944 bytes src/ACORN.Z80 | 22 +++++++++++++++++++++- src/EXEC.Z80 | 34 ++++++++++++++++++++-------------- src/HOOK.Z80 | 4 ++++ 7 files changed, 47 insertions(+), 17 deletions(-) diff --git a/WHATSNEW.TXT b/WHATSNEW.TXT index 5f16e52..bb105a9 100644 --- a/WHATSNEW.TXT +++ b/WHATSNEW.TXT @@ -55,7 +55,7 @@ New features in BBC BASIC (Z80) version 5.00, June 2024: 4.5 Compound assignment (+=, -=, *=, /= etc.) 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.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 diff --git a/bin/acorn/BBCBASIC.COM b/bin/acorn/BBCBASIC.COM index 73774386188966c710da05c604c40c0348b6ab47..dc5cbff8d1bbe2f31bef05157c7a7a05cb74a228 100644 GIT binary patch delta 11830 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 OxlZc;_e+F`|9=4?6`7U* delta 12041 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≦ZSKzDP!A)5_+%(c>xkvYGY5 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 l{;Qpo2aKD`yyt)p4&Yzyo?iUFavt1)`ZY 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