Register parameters

IN:
     A = FN_AH ($01), allocate handle
          B = handle type
          B = 0, does not allocate a handle properly - the next handle is
          given the SAME number

OUT, if successful:
     Fc = 0
     IX = handle
OUT, if failed:
     Fc = 1
          A = RC_ROOM

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

IN:
      A = FN_VH ($02), verify handle
          B = handle type
          IX = handle
OUT, if successful:
     Fc = 0
OUT, if failed
     Fc = 1
          A = RC_ROOM

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

IN:
     A = FN_FH ($03), free handle
          B = handle type
          IX = handle
OUT, if successful:
     Fc = 0
     IX = 0
OUT, if failed:
     Fc = 1
          A = RC_HAND

Registers changed after return:
     ..BCDEHL/..IY same
     AF....../IX.. different
 
IN:
     A = FN_GH ($04), get (find) handle (OZ 4.6 and newer)
          IX = first handle to test, 0 to begin with first handle
          B = handle type
          C = dyn id, 0 to bypass the check
OUT, if successful:
     Fc = 0
     IX = handle
OUT, if failed:
     Fc = 1
          A = RC_EOF

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

IN:
     A = FN_NH ($05), get next handle of same type (OZ 4.6 and newer)
          IX = handle to test
OUT, if successful:
     Fc = 0
     IX = handle
OUT, if failed:
     Fc = 1
          A = RC_EOF

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

Notes

 

IN:  A = FN_AH ($01)
	 B = handle type
     B = 0, does not allocate a handle properly - the next handle is given the SAME number

OUT, if successful:
     Fc = 0, IX = handle

OUT, if failed:
     Fc = 1, A = RC_ROOM

Registers changed after return:
     ..BCDEHL/..IY same
     AF....../IX.. different
IN:  A = FN_VH ($02)
     B = handle type
     IX = handle

OUT, if successful:
     Fc = 0

OUT, if failed
     Fc = 1, A = RC_ROOM

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


IN:  A = FN_FH ($03)
     B = handle type
     IX = handle

OUT, if successful:
     Fc = 0, IX = 0

OUT, if failed:
     Fc = 1, A = RC_HAND

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


IN:  B = handle type
     B = 0, does not allocate a handle properly - the next handle is given the SAME number

OUT, if successful:
     Fc = 0, IX = handle

OUT, if failed:
     Fc = 1, A = RC_ROOM

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





Internal operating system usage. This call is used to allocate all I/O type handles. The handle type and structure is documented in handle.def file.