Versions Compared

Key

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

...

Code Block
titleSI_GXT (L = $21), get multiple bytes until ESC <x> terminator, using default timeout (SI_TMO)
IN:  
      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:
       Fz =   Fc = 01,
               BC <> 0, A = ESC terminator encountered, number of bytes not read
       Fz = 0,
               A = FFh
               BC = remaining time (SI_TMO) 0, all bytes read, no terminator encountered
       DE = points at last byte fetched + 1 (if DE(INin) > 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

...