OSBYTE &FE (254) - Read/Write available RAM, keyboard extensions
(BBC MOS 1.xx)
These bits refer to 16K/32K machine:
When read &40=16K
This value returns 0 and is otherwise undefined
(Acorn MOS 2.xx)
This value returns 1 and is otherwise undefined
(Acorn MOS 3.xx)
Read/Write effect of shift on Numeric pad
A zero in this location makes SHIFT-keypad presses act like their main
keyboard counterparts. A nonzero value means shift is ignored.
A zero in this location enables both SHIFT and CTRL-keypad presses:
For keys 128 and above (ie. the base has been altered with OSByte 238)
CTRL-keypad gives keypad key EOR&20
SHIFT-keypad gives keypad key EOR&10
For keys below 128
CTRL and SHIFT are ignored
On non-Acorn systems with full keyboards, if bit 7 is set, bit 6 indicates
whether function keys return native regular character codes, or return
RISC OS semi-regular key codes.
b7=1, b6=0 - return whatever the host system's native keycodes
b7=1, b6=1 - return semi-regular key codes, f0-f9=&80-&89, f10-f12=&CA-&CC.
*FX254,128 can be used to portably select native keycodes. Where *FX254 is not
supported, native keycodes will be used anyway. Where *FX254 is supported, it
will select native keycodes, which should be the default on startup.
*FX254,192 can be used to portably select RISCOS-style semi-regular keycodes.
Where *FX254,192 is not supported, this will normally be RISC OS, which will
be using semi-regular keycodes anyway. Where *FX254,192 is supported, it will
select RISCOS-style semi-regular keycodes.
The only incompatability is if this is used on a 16K BBC model A.
Jgharston 23:21, 26 May 2009 (UTC)
Jgharston (talk) 04:57, 20 July 2020 (CEST)