Versions Compared

Key

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

...

Code Block
languagenone
titleDR_RD ($09), read DOR record
IN:
     B = record type
     C = buffer length
     DE = user buffer address (to store information of read, always local, in S0 or S1)
     IX = DOR handle

OUT, if call successful:
     Fc = 0
     original IX DOR handle is still valid
     C = actual length of information

OUT, if call failed:
     Fc = 1
     original IX is still valid
     A = error code
          RC_HAND ($08), bad DOR handle
          RC_BAD ($04), bad argument
          RC_FAIL ($16), information is not present

Registers changed after return:
     ..B.DEHL/IXIY same
     AF.C..../.... different

...

Code Block
titleDR_WR ($0A), read DOR record
IN:
     B = record type
     C = buffer length
     DE = user buffer address (to store information to be written, always local, in S0 or S1)
     IX = DOR handle

OUT, if call successful:
     Fc = 0
     original IX DOR handle is still valid
     C = length of information written


OUT, if call failed:
     Fc = 1
     original IX is still valid
     A = error code
          RC_HAND ($08), bad DOR handle
          RC_BAD ($04), bad argument
          RC_FAIL ($16), information is not present

Registers changed after return:
     ..B.DEHL/IXIY same
     AF..C..../.... different


Code Block
titleDR_OP ($0B), open explicit filename (OZ 5.0 and newer)
IN:
     C = number of segment to parse (0 for all, default)
     DE = filename buffer (always local, in S0 or S1)

OUT, if call successful:
     Fc = 0
        IX = handle (device type, always)
        A  = DOR type (device, file, directory, EPROM)
        B  = segment count in explicit filename
        HL = last character parsed in filename (separator or null terminator)

OUT, if call failed:
     Fc = 1
     	A  = RC_Fail, buffer not in S0 or S1
        A  = RC_Onf, filename does not exist

Registers changed after return:
     ...CDE.. / ..IY same
     AFB...HL / IX.. different

...