sydney wrote: ↑Sat May 28, 2022 4:46 pm
I've spotted another issue, I hope it's OK to report here if not I'll try reporting any other issues on github.
Here is fine.
sydney wrote: ↑Sat May 28, 2022 4:46 pm
I'm currently messing about with BBC Basic and Tom Seddon's update of Acornsoft BASIC Editor.
When using the pi frame buffer on the 65C02 processor scrolling up through the program no longer works other than for the top line.
Pressing F2 to return to the top of the program works but if you scroll down and try to scroll back up only the top line updates.
This works fine without the pi frame buffer in use.
There are certain limitations to the 256-byte VDU driver that's squeezed into some free memory at &2C0-3FF on the 6502 Co Pro.
Currently the 6502 VDU driver doesn't currently override the following VDU related MOS API calls:
- OSBYTE &09 (Set flash mark time)
- OSBYTE &0A (Set flash space time)
- OSBYTE &13 (Wait for VSYNC)
- OSBYTE &86 (Read text cursor position - POS and VPOS)
- OSBYTE &87 (Read character at text cursor position)
- OSBYTE &A0 (Read VDU variable)
- OSWORD &09 (Read pixel value)
So when these are called, the return values reflect the host display rather than the Pi display.
Of these, its most likely OSBYTE &86/87 that are causing problems with the editor. I'll try to confirm that tomorrow. It's also possible this is something else entirely.
(The lack of these calls also break the Master Welcome Disk Menu)
Implementing these is not difficult, but it will make the VDU driver grow, and we might need to look at putting it elsewhere.
But I think you have prompted me to have a go at this tomorrow (I need a break from BeebFPGA!)
Dave