OSBYTE &AD

From BeebWiki
Revision as of 17:12, 13 November 2020 by Jgharston (talk | contribs) (Added template.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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

Keyboard system

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)