Difference between revisions of "OSBYTE &FE"
m (1 revision) |
(.) |
||
Line 1: | Line 1: | ||
[[Category:OSBYTE]] | [[Category:OSBYTE]] | ||
− | OSBYTE &FE (254) - Read/Write available RAM | + | ==OSBYTE &FE (254) - Read/Write available RAM, keyboard extensions== |
+ | (BBC MOS 1.xx) | ||
These bits refer to 16K/32K machine: | These bits refer to 16K/32K machine: | ||
When read &40=16K | When read &40=16K | ||
Line 7: | Line 8: | ||
(Electron OS) | (Electron OS) | ||
This value returns 0 and is otherwise undefined | This value returns 0 and is otherwise undefined | ||
− | (Acorn MOS 2. | + | (Acorn MOS 2.xx) |
This value returns 1 and is otherwise undefined | This value returns 1 and is otherwise undefined | ||
− | (Acorn MOS 3. | + | (Acorn MOS 3.xx) |
Read/Write effect of shift on Numeric pad | Read/Write effect of shift on Numeric pad | ||
A zero in this location makes SHIFT-keypad presses act like their main | A zero in this location makes SHIFT-keypad presses act like their main | ||
− | keyboard counterparts.A | + | keyboard counterparts. A nonzero value means shift is ignored. |
− | (RISC OS | + | (RISC OS) |
A zero in this location enables both SHIFT and CTRL-keypad presses: | 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) | + | For keys 128 and above (ie. the base has been altered with OSByte 238) |
CTRL-keypad gives keypad key EOR&20 | CTRL-keypad gives keypad key EOR&20 | ||
SHIFT-keypad gives keypad key EOR&10 | SHIFT-keypad gives keypad key EOR&10 | ||
For keys below 128 | For keys below 128 | ||
CTRL and SHIFT are ignored | CTRL and SHIFT are ignored | ||
+ | (Other) | ||
+ | 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. | ||
==See Also== | ==See Also== | ||
− | * http://mdfs.net/Docs/Comp/ | + | * http://mdfs.net/Docs/Comp/KeyMap/RISCOS |
+ | * http://mdfs.net/Docs/Comp/KeyMap/Regular | ||
+ | * http://mdfs.net/Docs/Comp/KeyMap/BBFW | ||
[[User:Jgharston|Jgharston]] 23:21, 26 May 2009 (UTC) | [[User:Jgharston|Jgharston]] 23:21, 26 May 2009 (UTC) | ||
+ | [[User:Jgharston|Jgharston]] ([[User talk:Jgharston|talk]]) 04:57, 20 July 2020 (CEST) |
Latest revision as of 03:57, 20 July 2020
OSBYTE &FE (254) - Read/Write available RAM, keyboard extensions
(BBC MOS 1.xx) These bits refer to 16K/32K machine: When read &40=16K &80=32K (Electron OS) 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. (RISC OS) 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 (Other) 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.
See Also
- http://mdfs.net/Docs/Comp/KeyMap/RISCOS
- http://mdfs.net/Docs/Comp/KeyMap/Regular
- http://mdfs.net/Docs/Comp/KeyMap/BBFW
Jgharston 23:21, 26 May 2009 (UTC) Jgharston (talk) 04:57, 20 July 2020 (CEST)