Versions Compared

Key

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

...

Code Block
titleSI_PX (L = $1E), put multiple bytes to serial port, using default timeout (OZ 4.5)
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

SI_GXT

Code Block
titleSI_GXT (L = $21), get multiple bytes until terminator, using default timeout (OZ 4.5)
IN:  
      A  = terminator that will stop incoming serial flow
      BC = number of byte to get from serial port, maximum 16384, one bank
      DE = destination
          DE = 0, write bytes to a file opened with its handle in IX 
          DE > 0, write bytes to memory at (DE)
      IX = file handle (if DE = 0)


Out if call succeeded:
      Fc = 0
      BC = remaining time (SI_TMO)
      DE = points at last byte fetched + 1 (if DE(IN) > 0)


Out if call failed:
 Fc = 1
      A = RC_TIME, timeout elapsed
      A = RC_EOF, end of file reached
      A = RC_WP, input device is read protected
 
      BC = number of bytes not read


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