Difference between revisions of "GeneveOS Utility Functions"
Jump to navigation
Jump to search
m (→User-task XOPs) |
|||
Line 30: | Line 30: | ||
|- | |- | ||
| R0 | | R0 | ||
| 0000 || | | 0000 || - | ||
|- | |- | ||
| Status | | Status |
Latest revision as of 20:32, 17 July 2016
Accessing devices (floppy disk, hard disk, serial connector, printer) is possible in GeneveOS via XOP calls.
User-task XOPs
User-task XOPs are available for use in application programs. Here is a typical example:
UTIL DATA 9 PARSE DATA >0008 ... LI R0,PARSE opcode LI R2,PABADD+15 target buffer; here: name field of PAB LI R3,>5000 first byte is maximum length of buffer MOVB R3,*R2 CLR R3 normal mode XOP @UTIL,0 JEQ OK
Similar as with the TI-99/4A device service routine concept (DSR), a Peripheral Access Block (PAB) must be set up prior to invoking the XOP.
Utility functions
Opcode 0: Validate time
Checks whether the clock chip contains a valid time setting.
Input | Output | |
---|---|---|
R0 | 0000 | - |
Status | - | EQ=1 if time is valid |
Opcode 8: Parse filename
Input | Output | |
---|---|---|
R0 | 0008 | Delimiter |
R1 | Pointer to logical name | Error code |
R2 | Pointer to target buffer | - |
R3 | Alias flag | - |
Status | - | EQ=1 when successfully parsed |