FrancisL wrote:
I do need for my program to be able to detect the presence of shadow RAM otherwise the user would get a bad mode error on a BBC B if they tried to use a 20k screen mode.
So, you need to know before trying to change screen mode. I often use:
MODE &83:IF HIMEM>&7FFF:MODE &80
In general, no code should try to detect the
presence of features, they should just go ahead and try to use them, and not use the features if the features are not selected, and you certainly must not Stalinistically say "there is no way product X, which is the only one I have any experience of, can possible ever ever have the features I'm looking for, so I prohibit the user from even trying"
Electron can have shadow screen.
BBC B can have shadow screen.
*Any* BBC serial computer can have shadow screen, real-time clock, MODE 7, serial port, ADC, printer port. Just use the call to try to use it and respond to the "doesn't exist" return value if it doesn't exist.