Difference between revisions of "GeneveOS XOP Definitions"
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
| m | |||
| Line 37: | Line 37: | ||
| == XOP seven: Memory == | == XOP seven: Memory == | ||
| [[MDOS Memory Management Functions]] | |||
| == XOP eight: Device operation == | == XOP eight: Device operation == | ||
Revision as of 12:40, 11 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.
XOP six: Video
XOP seven: Memory
MDOS Memory Management Functions