The following codes use/return system handles:
NQ_Ain
NQ_Ain ($8600), Application enquiry (system use only)
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
NQ_Khn
NQ_Khn ($8603), Read keyboard handle
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
NQ_Shn ($8606), Read screen handle
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
NQ_Phn ($8609), Read printer indirected handle
IN: BC = NQ_Phn
OUT: IX = printer indirected handle
Registers changed after return:
A.BCDEHL/..IY same
.F....../IX.. different
NQ_Nhn
NQ_Nhn ($860C), Read null handle
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
NQ_Wai ($860F), Who am I? (system use only)
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 (0-31 for slot 0, 32-63 slot 1, 64-95 slot 2, 96-127 slot 3, 128-255 installed applications).
- Dynamic process handle (PID equivalent) is unique to each suspended or running process (range 2-127, Index is always number 1).
NQ_Com
NQ_Com ($8612), Read comms handle
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
NQ_Ihn ($8615), Read IN handle
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
NQ_Ohn ($8618), Read OUT handle
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
NQ_Rhn ($861B), Read direct printer handle
IN: BC = NQ_Rhn
OUT: IX = printer direct handle
Registers changed after return:
A.BCDEHL/..IY same
.F....../IX.. different
NQ_Voz
NQ_Voz ($861E), Application verifies running OZ version (OZ V4.5 and newer)
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
NQ_Roz ($8621), Read OZ revision number (OZ V4.5 and newer)
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
NQ_Btl ($8624), Read battery status (OZ V4.5 and newer)
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.