Difference between revisions of "OSBYTE &FE"

From BeebWiki
Jump to: navigation, search
m (1 revision)
(.)
 
(2 intermediate revisions by one other user not shown)
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.00)
+
     (Acorn MOS 2.xx)
 
     This value returns 1 and is otherwise undefined
 
     This value returns 1 and is otherwise undefined
     (Acorn MOS 3.20)
+
     (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 non zero value means shift is ignored.
+
     keyboard counterparts. A nonzero value means shift is ignored.
     (RISC OS 1.00)
+
     (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/BBC/OsbyteA6
+
* 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

Jgharston 23:21, 26 May 2009 (UTC) Jgharston (talk) 04:57, 20 July 2020 (CEST)