Versions Compared

Key

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

...

Code Block
languagenone
titleDR_GET ($01), get a handle for a DOR name (internal usage)
 IN:      HL = pointer to a string (full path with device name)-

OUT, if call successful:
     Fc = 0
     IX = DOR handle
     A = minor type (device, always)

Registers changed after return:
     ..BCDEHL/..IY same
     AF....../IX.. different

Do not use this call. Instead use GN_Opf with A = OP_DOR to obtain a DOR handle.

...

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)
     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

Note

...


Code Block
languagenone
titleDR_WR ($0A), write DOR record
IN:
     B = record type
     C = buffer length
     DE = user buffer address (to copy information of store)
     IX = DOR handle

OUT, if call successful:
     Fc = 0
     original IX DOR handle is still valid

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

Registers changed after return:
     ..BCDEHL/IXIY same
     AF....../.... different


Code Block
languagenone
titleDR_WR ($0A), write DOR record
IN:  C = requested segment to open in filename, zero for latest, address range in segment 0 or 1 ($0000-$7FFF)
     DE = explicit filename including device

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

OUT, if call failed:
     Fc = 1
     A = error code
          RC_FAIL, filename address is in segment 2 or 3
          RC_ONF, bad filename

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



Code Block
languagenone
titleDR_WR ($0A), write DOR record
IN:
     B = record type
     C = buffer length
     DE = user buffer address (to copy information of store)
     IX = DOR handle

OUT, if call successful:
     Fc = 0
     original IX DOR handle is still valid

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

Registers changed after return:
     ..BCDEHL/IXIY same
     AF....../.... different



Code Block
languagenone
titleDR_WR ($0A), write DOR record
IN:
     B = record type
     C = buffer length
     DE = user buffer address (to copy information of store)
     IX = DOR handle

OUT, if call successful:
     Fc = 0
     original IX DOR handle is still valid

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

Registers changed after return:
     ..BCDEHL/IXIY same
     AF....../.... different

Note

...