MatrixBrandy
MatrixBrandy copied to clipboard
Variables and functions not found when they really are there
Using test program at http://mdfs.net/temp/vdata.zip
Unzip, will give: ViewData Acorn tokenised BASIC program 0 Teletext page file
From Brandy, CHAIN "ViewData". Teletext test page displayed ok. Press Escape. Gives error: Cannot find function 'FNerr' LIST Program has vanished. LOAD "ViewData" LIST 1140,1160 - the function definition is there. PRINT FNerr Cannot find variable 'flg%' at line 1150 Ok. flg%=0:PRINT FNerr Cannot find variable 'flg%' at line 1150 Yerwot???
If I edit line 1150, delete flg% then retype it, doing flg%=0:PRINT FNerr works. If I RUN the program it goes back to the initial problem, FNerr not found, program vanishes.
I'm trying to track down what is causing this and trying to create a minimum test case.
Matrix v1.22.10 (MinGW/x86-32/SDL) 14 Feb 2021
Trawling back to very old versions via git, the version prior to where I merged your Banana Brandy changes fell over with Unsupported BASIC V feature on the USR&FFDD statement on line 1510. After the merge, it fell over with a segfault on 64-bit, and losing its program on 32-bit on an error condition. But I am quite confused......
Incidentally, OSFILE via &FFDD is not supported, but is a no-op.
On 11-03-2021 13:34, Michael McConnell wrote:
Trawling back to very old versions via git, the version prior to where I merged your Banana Brandy changes fell over with Unsupported BASIC V feature on the USR&FFDD statement on line 1510.
Odd, it shouldn't even be getting that far.
IF PAGE<&FFFF THEN BBC API call PAGE is &verybignumber something like &015D0000 on my system.
After the merge, it fell over with a segfault on 64-bit, and losing its program on 32-bit on an error condition. But I am quite confused......
Me too. :)
-- J.G.Harston - @.*** - mdfs.net/jgh
Ah, in those old versions the addressing was relative to the workspace memory block so PAGE=0.