Open hoglet67 opened 7 years ago
2001E XOS_Module Used by the BASIC command to RMRun itself, the ARM equivalent of FX142,n
31 READVDUVARIABLES used in A=VDU(x) 61 SETCOLOUR 65 SCREENMODE Simple enough to implement. READVDUVARIABLES(n)=OSBYTE(160,n) SETCOLOUR(n):VDU 17,n or VDU 18,k,n as appropriate. The read functions can be implemented with the algorithm worked out at http://beebwiki.mdfs.net/Reading_current_colours
SCREENMODE: I think this is only used with MODE "string". MODE number does VDU 22,number, so returning a SWI not known error would probably be most appropriate.
40140+x SOUND_* Not really sure how we could implement these, as the BBC doesn't have the hardware required. These are only called with SOUND with five parameters, SOUND with four parameters calls the standard OSWORD 7 SOUND call.
DC OS_ConvertInteger4 used in module MOVEMEMORY Called if BASIC's memory is moved. Not needed until we implement a multi-tasking task manager :)
Not all the APIs that BBC Basic uses are currently implemented.
(Updated 7/9/2021)
There are implemented:
These are not implemented:
A stretch goal might be to reach parity with Sprow's ARM7TDMI Co Pro: http://www.sprow.co.uk/bbc/hardware/armcopro/armtubeoscalls.pdf
For GCOL syntax, see here