The following codes use/return system handles:
NQ_Ain
IN: BC = NQ_Ain IX = application handle from OS_Poll OUT, if call successful: Fc = 0 BHL = pointer to application name (null-terminated) BDE = pointer to application DOR A = CLI-related attributes C = preferred code letter. OUT, if call failed: Fc = 1 A = RC_HAND Registers changed after return: ......../IXIY same AFBCDEHL/.... different
Notes
CLI-related attributes refers to Application Type Byte 1 in application DOR.
NQ_Khn
IN: BC = NQ_Khn OUT: IX = keyboard handle Registers changed after return: A.BCDEHL/..IY same .F....../IX.. different
Notes
Use ":INP" device instead.
NQ_Shn
IN: BC = NQ_Shn OUT: IX = screen handle Registers changed after return: A.BCDEHL/..IY same .F....../IX.. different
Notes
Use ":SCR" device instead.
NQ_Phn
IN: BC = NQ_Phn OUT: IX = printer indirected handle Registers changed after return: A.BCDEHL/..IY same .F....../IX.. different
NQ_Nhn
IN: BC = NQ_Hhn OUT: IX = null handle Registers changed after return: A.BCDEHL/..IY same .F....../IX.. different
Notes
Use ":NUL" device instead
NQ_Wai
IN: BC = NQ_Wai OUT: IX = static process handle C = dynamic process handle (PID) B = 0 Registers changed after return: A...DEHL/..IY same .FBC..../IX.. different
Notes
- Static process handle is unique to each application. It follows slot number and application order in slot (1-31 for internal slot, 32-63 for slot 1, 64-95 for slot 2, 96-127 for slot 3, 128-255 for installed applications). Index handle is always 1, Pipedream handle is 3...
- Dynamic process handle (PID equivalent) is unique to each suspended or running process (range 2-127, Index PID is always number 1).
NQ_Com
IN: BC = NQ_Com OUT: IX = comms handle Registers changed after return: A.BCDEHL/..IY same .F....../IX.. different
Notes
Use ":COM" device instead.
NQ_Ihn
IN: BC = NQ_Ihn OUT: IX = IN handle Registers changed after return: A.BCDEHL/..IY same .F....../IX.. different
Notes
Use ":INP" device instead.
NQ_Ohn
IN: BC = NQ_Ohn OUT: IX = OUT handle Registers changed after return: A.BCDEHL/..IY same .F....../IX.. different
Notes
Use ":OUT" device instead.
NQ_Rhn
IN: BC = NQ_Rhn OUT: IX = printer direct handle Registers changed after return: A.BCDEHL/..IY same .F....../IX.. different
NQ_Voz
IN: A = check OZ version (for example $45 for OZ V4.5) BC = NQ_Voz OUT, if call successful: Fc = 0 Running OZ is equal to or higher than specified version OUT, if call reported incompatible OZ ROM: Fc = 1 A = RC_QUIT ($67) Registers changed after return: A.BCDEHL/IXIY same .F....../.... different
Notes:
if OS_Nq, NQ_Voz is used on OZ ROM's earlier than V4.5, a standard "Internal Error" popup window is displayed to prompt the user to press ESC (the NQ_Voz doesnt exist).
For OZ V4.5 and later a similar but more correct window is displayed with "This application requires OZ VX.Y or newer" message if the specified OZ release is newer than what is currently running.
NQ_Roz
IN: - OUT: DEBC = OZ revision number Registers changed after return: AF....HL/IXIY same ..BCDE../.... different
Notes:
Used by system information page in Index.
NQ_Btl
IN: - OUT: Fz = 0, Battery is good Fz = 1, Battery is low Registers changed after return: A.BCDEHL/IXIY same .F....../.... different
Notes:
Used by system information page in Index.