Difference between revisions of "GeneveOS XOP Definitions"
Jump to navigation
Jump to search
m |
m |
||
Line 1: | Line 1: | ||
MDOS makes frequent use of XOPs and offers them for user programs. An XOP (extended operation) is a special command of the TMS processor family which causes a [[Terminology#C|context switch]], transferring control to a location that is specified in a table. | |||
== General usage of XOPs == | == General usage of XOPs == | ||
== XOP five: Keyboard == | == XOP five: Keyboard == |
Revision as of 23:27, 5 November 2011
MDOS makes frequent use of XOPs and offers them for user programs. An XOP (extended operation) is a special command of the TMS processor family which causes a context switch, transferring control to a location that is specified in a table.
General usage of XOPs
XOP five: Keyboard
Input | R0 LSB | Scan mode |
Output | R0 LSB | Scan mode |
R1 MSB | Scan code | |
R2 MSB | Joystick Y value (see TI, 8376) | |
R2 LSB | Joystick X value (see TI, 8377) | |
EQ bit | if a new key has been pressed |
The scan modes 0-5 are identical to those in the TI console. Scan mode 7 is specifically used to check the BREAK key (EQ set), and scan mode 8 returns the raw scan code in R1 MSB. If no key was pressed, R1 MSB contains 0xFF.