Matrix Brandy V1.23.3 released
Hi,
I have released version 1.23.3 of Matrix Brandy.
Changes include:
- General: Implemented code tidy-ups recommended by OpenBSD. Thank you to Jag Talon for this!
- Build: Added build option -DBRANDY_NOVERCHECK to disable new version checking on startup.
- BASIC: Implemented EXIT FOR, EXIT REPEAT and EXIT WHILE, based on the extensions in Richard Russell's BB4W, BBCSDL, BBCTTY and BBCZ80v5.
- BASIC: Implement == to be synonymous with = in comparisons. Another compatility follow from Richard Russell's BASICs.
- BASIC: Allow DIM var LOCAL -1 outside of FN/PROC (as per BB4W, BBCSDL, BBCTTY and BBCZ80v5).
- BASIC: Implement BBCSDL's PLOT BY x,y (equivalent to PLOT 65,x,y), and equivalent to POINT BY x,y in ARM BASIC V.
- BASIC: WIDTH is now operational for GUI mode and the 'tbrandy' text-mode builds. Note that unlike RISC OS it affects almost ALL output (VDU excluded), including from built-in *-commands (but not external commands).
Source and binary downloads are available from the website, source is also available from GitHub.
Edit: Clarify WIDTH correctly does not affect VDU output.
I have released version 1.23.3 of Matrix Brandy.
Changes include:
- General: Implemented code tidy-ups recommended by OpenBSD. Thank you to Jag Talon for this!
- Build: Added build option -DBRANDY_NOVERCHECK to disable new version checking on startup.
- BASIC: Implemented EXIT FOR, EXIT REPEAT and EXIT WHILE, based on the extensions in Richard Russell's BB4W, BBCSDL, BBCTTY and BBCZ80v5.
- BASIC: Implement == to be synonymous with = in comparisons. Another compatility follow from Richard Russell's BASICs.
- BASIC: Allow DIM var LOCAL -1 outside of FN/PROC (as per BB4W, BBCSDL, BBCTTY and BBCZ80v5).
- BASIC: Implement BBCSDL's PLOT BY x,y (equivalent to PLOT 65,x,y), and equivalent to POINT BY x,y in ARM BASIC V.
- BASIC: WIDTH is now operational for GUI mode and the 'tbrandy' text-mode builds. Note that unlike RISC OS it affects almost ALL output (VDU excluded), including from built-in *-commands (but not external commands).
Source and binary downloads are available from the website, source is also available from GitHub.
Edit: Clarify WIDTH correctly does not affect VDU output.
0
Comments
-
-
Yes, you are correct. The check is in the send-string-to-VDU function emulate_vdustr(), which is bypassed by direct VDU calls, but is used by emulate_printf() which is why it also affects internal *-commands such as *HELP, *BRANDYINFO and even *FX0, hence the comparison with RISC OS BBC BASIC where WIDTH has no effect on *-commands.0
-
hence the comparison with RISC OS BBC BASIC where WIDTH has no effect on *-commands.
Exactly the same applies to COUNT, which is again a BASIC language feature. External star commands can't change the value of COUNT because the language never sees them at all. COUNT and WIDTH are inextricably linked, which is why I was so surprised to see one of them implemented in Matrix Brandy but not the other.
That's now fixed, but as you know WIDTH still isn't working properly; for example TAB(n) can misbehave when WIDTH is active (non-zero).
0 -
I will investigate that one, thank you.0
-
Hopefully this is now fixed...0