Difference between revisions of "84PCE:Ports:A000"

From WikiTI
Jump to: navigation, search
(Synopsis)
Line 2: Line 2:
 
  [[Category:84PCE:Ports:By_Address|A000 - Keyboard]] [[Category:84PCE:Ports:By_Name|Keyboard]]
 
  [[Category:84PCE:Ports:By_Address|A000 - Keyboard]] [[Category:84PCE:Ports:By_Name|Keyboard]]
 
== Synopsis ==
 
== Synopsis ==
'''Port Number:''' A000-?
+
'''Port Number:''' A000-A003
  
 
'''Memory-mapped address:''' F50000
 
'''Memory-mapped address:''' F50000
  
'''Function:''' Keyboard array read
+
'''Function:''' Set the mode of the keypad controller
  
The ports in this range are for reading from the keyboard. More information to come soon.
+
Bits 0-1: Scan mode
 +
Mode 0: Idle.
 +
Mode 1: Indiscriminate key detection. Data registers are not updated, but whenever any key is pressed, interrupt bit 2 is set (and cannot be cleared until the key is released).
 +
Mode 2: Single scan. The keypad is scanned once, and then the mode returns to 0.
 +
Mode 3: Continuous scan. When scanning completes, it just starts over again after a delay.
 +
Bits 2-15: Number of APB cycles to wait before scanning each row
 +
Bits 16-31: Number of APB cycles to wait between scans

Revision as of 02:28, 31 March 2015

Synopsis

Port Number: A000-A003

Memory-mapped address: F50000

Function: Set the mode of the keypad controller

Bits 0-1: Scan mode Mode 0: Idle. Mode 1: Indiscriminate key detection. Data registers are not updated, but whenever any key is pressed, interrupt bit 2 is set (and cannot be cleared until the key is released). Mode 2: Single scan. The keypad is scanned once, and then the mode returns to 0. Mode 3: Continuous scan. When scanning completes, it just starts over again after a delay. Bits 2-15: Number of APB cycles to wait before scanning each row Bits 16-31: Number of APB cycles to wait between scans