Difference between revisions of "OSBYTE &AD"

From BeebWiki
Jump to: navigation, search
(Keyboard number.)
m (Added See Also links.)
Line 1: Line 1:
 
[[Category:OSBYTE]]__NOTOC__
 
[[Category:OSBYTE]]__NOTOC__
== OSBYTE &AD (173) - Read address of keyboard translation table ==
+
==OSBYTE &AD (173) - Read address of keyboard translation table==
 
''On entry:'' '''newvalue''' = ('''oldvalue''' AND Y) EOR X
 
''On entry:'' '''newvalue''' = ('''oldvalue''' AND Y) EOR X
  
Line 11: Line 11:
  
 
If Y<>%11xxxxxx (ie Y < &C0), the byte holds the keyboard number and implementation-specific flags:
 
If Y<>%11xxxxxx (ie Y < &C0), the byte holds the keyboard number and implementation-specific flags:
* b0-b4 : keyboard number &00-&1F, &00=none or default
+
* b0-b5 : keyboard number &00-&3F, &00=none or default
* b5
+
* b6    : International keyboard driver: NUL needed flag
* b6    : International keyboard drive: NUL needed flag
 
 
* b6-b7 : MOS or external keyboard driver
 
* b6-b7 : MOS or external keyboard driver
  
 
==See Also==
 
==See Also==
* [[OSBYTE &AC]]
+
* [[OSBYTE &46]] - Set country (both keyboard and alphabet)
 +
* [[OSBYTE &47]] - Set keyboard and alphabet
 +
* [[OSBYTE &AC]] - Read/write keyboard handler setting
 +
* [[OSBYTE &F0]] - Read/write country code
 +
* http://mdfs.net/Docs/Comp/BBC/Osbyte00
 
* http://mdfs.net/Docs/Comp/BBC/OsbyteA6
 
* http://mdfs.net/Docs/Comp/BBC/OsbyteA6
 +
* http://mdfs.net/System/ROMs/AcornMOS/Compact511
  
 
[[User:Jgharston|Jgharston]] 22:24, 26 May 2009 (UTC)
 
[[User:Jgharston|Jgharston]] 22:24, 26 May 2009 (UTC)
 
[[User:Jgharston|Jgharston]] ([[User talk:Jgharston|talk]]) 21:52, 13 September 2019 (CEST)
 
[[User:Jgharston|Jgharston]] ([[User talk:Jgharston|talk]]) 21:52, 13 September 2019 (CEST)
 
[[User:Jgharston|Jgharston]] ([[User talk:Jgharston|talk]]) 03:26, 15 October 2020 (CEST)
 
[[User:Jgharston|Jgharston]] ([[User talk:Jgharston|talk]]) 03:26, 15 October 2020 (CEST)
 +
[[User:Jgharston|Jgharston]] ([[User talk:Jgharston|talk]]) 23:23, 18 October 2020 (CEST)

Revision as of 22:23, 18 October 2020

OSBYTE &AD (173) - Read address of keyboard translation table

On entry: newvalue = (oldvalue AND Y) EOR X

On exit: X=high byte of address of keyboard translation table or keyboard number. See OSBYTE &AC.

The top bits indicate if the MOS keyboard driver is being used or an alternative keyboard driver is being used.

  • If Y=%11xxxxxx, MOS keyboard driver
  • If Y=%10xxxxxx, sideways ROM keyboard driver
  • If Y=%0xxxxxxx, International keyboard driver.

If Y<>%11xxxxxx (ie Y < &C0), the byte holds the keyboard number and implementation-specific flags:

  • b0-b5 : keyboard number &00-&3F, &00=none or default
  • b6  : International keyboard driver: NUL needed flag
  • b6-b7 : MOS or external keyboard driver

See Also

Jgharston 22:24, 26 May 2009 (UTC) Jgharston (talk) 21:52, 13 September 2019 (CEST) Jgharston (talk) 03:26, 15 October 2020 (CEST) Jgharston (talk) 23:23, 18 October 2020 (CEST)