GeneveOS Utility Functions

From Ninerpedia
Revision as of 20:10, 17 July 2016 by Mizapf (talk | contribs) (Created page with "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 app...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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:

PABADD EQU  >F180   
UTIL   DATA 9
...
       LI   R0,PABADD
       XOP  @UTIL,0
       MOVB @PABADD+2,R0
       JNE  ERROR
       ...

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 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 physical name -
R3 Alias flag -
Status - EQ