Jump to content
Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

BIOS Keyboard Functions

From CPCWiki - THE Amstrad CPC encyclopedia!
Revision as of 21:56, 24 January 2010 by Nocash (talk | contribs) (Created page with '== Keyboard Manager == BB00 KM_INITIALIZE BB03 KM_RESET == Keyboard Queue == BB06 KM_WAIT_CHAR out: A=char (waits until valid char) ;\function keys BB09 KM_READ_CHA…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Keyboard Manager

 BB00 KM_INITIALIZE
 BB03 KM_RESET

Keyboard Queue

 BB06 KM_WAIT_CHAR     out: A=char (waits until valid char)  ;\function keys
 BB09 KM_READ_CHAR     out: A=char, or cy=0=none             ;/expanded
 BB0C KM_CHAR_RETURN   in: A=char (writeback max one char to keybuf)
 BB18 KM_WAIT_KEY      out: A=char (waits until key pressed) ;\function keys
 BB1B KM_READ_KEY      out: A=char, or cy=0=none             ;/not expanded
 BD3D KM_FLUSH_664     calls KM_READ_CHAR until cy=0 (664 and up only)

Keyboard Key States

 BB1E KM_TEST_KEY      in: A=keyno, out: nz=pressed, C=ctrl/shift flags
 BB24 KM_GET_JOYSTICK  out: H=joystick 0, L=joystick 1
 BB21 KM_GET_LOCKS     out: H=caps lock (caps), L=shift lock (ctrl+caps)
 BD3A KM_SET_LOCKS_664 in: H=caps lock (caps), L=shift lock (664 and up only)

Keyboard Character Translation

 BB27 KM_SET_TRANSLATE in: A=keyno, B=char (normal)
 BB2A KM_GET_TRANSLATE in: A=keyno, out: A=char (normal)
 BB2D KM_SET_SHIFT     in: A=keyno, B=char (with shift)
 BB30 KM_GET_SHIFT     in: A=keyno, out: A=char (with shift)
 BB33 KM_SET_CTRL      in: A=keyno, B=char (with control)
 BB36 KM_GET_CTRL      in: A=keyno, out: A=char (with control)

Keyboard Function Key Translation

 BB0F KM_SET_EXPAND    in: B=code, HL=ptr to new string, C=length
 BB12 KM_GET_EXPAND    in: A=code (0-1F,80-9F), L=index, out:A=char, cy,zf
 BB15 KM_EXP_BUF_RESET in: de=begin, hl=length of buffer, out: cy: 1=okay

Keyboard Repeat Enable/Delay

 BB39 KM_SET_REPEAT    in: A=keyno, B=repeat flag (FFh=on)
 BB3C KM_GET_REPEAT    in: A=keyno, out: nz=repeat
 BB3F KM_SET_DELAY     in: H=1st delay, L=repeat delay  ;HL=1E02h=default
 BB42 KM_GET_DELAY     out: H=1st delay, L=repeat delay

Keyboard Break

 BB45 KM_ARM_BREAK     in: de=procedure, c=ROM config
 BB48 KM_DISARM_BREAK  in: none
 BB4B KM_BREAK_EVENT
 BDEE HOOK_KM_TEST_BREAK
 BDF4 HOOK_KM_SCAN_KEYS_664 (664 and up only)