Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Full details of this call's reason codes are found below. This interface is used by OZ internally, and don't work on application level. For Application level serial port I/O, use GN_Opf to get serial port handle and use OS_Gb / OS_Pb to transmit data. Applications might use OS_Si to reset serial port buffers, and interact with the Panel. Block transfer is implemented since OZ version 4.5.

Other information of this call can be found in the The Serial Interface section.

...

Code Block
languagenone
titleSI_TMO (L = $18), set default timeout
IN:  BC = new value for default timeout
OUT: Fc = 0

Registers changed after return:
     A.BCDEHL/IXIY same
     .F....../.... different



SI_TMO

Code Block
titleSI_PX (L = $1E), put multiple bytes to serial port, using default timeout (SI_TMO)
IN:  
      BC = number of byte to write to serial port, maximum 16384, one bank
      DE = input
          DE = 0, input is a file/device opened with its handle in IX 
          DE > 0, input is memory at (DE)
      IX = file handle (if DE = 0)

Out if call succeeded:
      Fc = 0
      BC = remaining time (SI_TMO)
 
Out if call failed:
      Fc = 1
      A = RC_TIME, timeout elapsed
      A = RC_EOF, end of file reached
      A = RC_RP, input device is read protected
      BC = number of bytes not written

Registers changed after return:
      ......../IXIY same
      AFBCDEHL/.... different


If you set the default to $FFFF then when the default is used (by setting a timeout value of $FFFF in get and put byte routines) then the system will wait forever. A soft reset sets the default timeout to 10 minutes. This timeout is completely independent of the system timeout, which is set by the Panel.

...