Register parameters
RST 20H, DEFB $7B
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
FN_AH (A = $01), Allocate handle
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
FN_VH (A = $02), Verify handle
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
FN_FH (A = $03), Free handle
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
FN_AH (A = $01), Allocate handle
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.