Difference between revisions of "83:ROMCalls:4010"

From WikiTI
Jump to: navigation, search
m (83Plus to 83)
(Describe key repeat handling.)
 
(One intermediate revision by one other user not shown)
Line 6: Line 6:
 
'''Call Address:''' 4010
 
'''Call Address:''' 4010
  
This routine scans the keyboard for any key presses and updates the memory location [[83:RAM:0000|kbdScanCode]].
+
This routine scans the keyboard for any key presses and updates the memory location [[83:RAM:8000|kbdScanCode]].
  
 
=== Inputs ===
 
=== Inputs ===
Line 12: Line 12:
  
 
=== Outputs ===
 
=== Outputs ===
* ([[83:RAM:0000|kbdScanCode]]) = scan code of key press
+
* ([[83:RAM:8000|kbdScanCode]]) = scan code of key press
  
 
=== Registers Destroyed ===
 
=== Registers Destroyed ===
Line 19: Line 19:
 
== Comments ==
 
== Comments ==
 
Normally this routine is called by the interrupt handler. If interrupts are not enabled, this can be used prior to the [[83:ROMCalls:4014|Getcsc]] romcall to achieve the same results.
 
Normally this routine is called by the interrupt handler. If interrupts are not enabled, this can be used prior to the [[83:ROMCalls:4014|Getcsc]] romcall to achieve the same results.
 +
 +
Key repeat is handled here, when scanning the keyboard. If any of the arrow keys or DEL is held, they will first be repeated after about 48 calls and every 10 after the first. Holding other keys will not update kbdScanCode until the key is released.

Latest revision as of 18:31, 17 June 2020

This article is missing some information (namely Destroys). You can help WikiTI by filling in the missing information.


Synopsis

Official Name: KbdScan

Call Address: 4010

This routine scans the keyboard for any key presses and updates the memory location kbdScanCode.

Inputs

  • none

Outputs

Registers Destroyed

  •  ??

Comments

Normally this routine is called by the interrupt handler. If interrupts are not enabled, this can be used prior to the Getcsc romcall to achieve the same results.

Key repeat is handled here, when scanning the keyboard. If any of the arrow keys or DEL is held, they will first be repeated after about 48 calls and every 10 after the first. Holding other keys will not update kbdScanCode until the key is released.