Difference between revisions of "GeneveOS Device Operation"

From Ninerpedia
Jump to navigation Jump to search
(Available memory pages)
m (User-task XOPs)
Line 11: Line 11:
         XOP  @FILE,0
         XOP  @FILE,0
         MOVB @PABADD+2,R0
         MOVB @PABADD+2,R0
         JNE  SF7
         JNE  ERROR

Revision as of 21:13, 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:

PABADD EQU  >F180   
       LI   R0,PABADD
       XOP  @FILE,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.

Device Service Routine Call

Input Output
R0 Pointer to PAB Pointer to PAB

The actual operation is contained in the Peripheral Access Block (PAB).