Difference between revisions of "83:ROMCalls:4010"
From WikiTI
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: | + | 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: | + | * ([[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
- (kbdScanCode) = scan code of key press
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.