Process Management and OZ information
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/.... differentNotes
CLI-related attributes refer to Application Type Byte 1 in application DOR.
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.. differentNotes
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.. differentNotes
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.. differentNotes
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.. differentNotes
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
NQ_Com ($8612), Read comms handle
IN: BC = NQ_Com
OUT: IX = comms handle
Registers changed after return:
A.BCDEHL/..IY same
.F....../IX.. differentNotes
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.. differentNotes
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.. differentNotes
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 = OZ version required (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_VOZ ($38), OZ version not compatible
Registers changed after return:
A.BCDEHL/IXIY same
.F....../.... differentNotes:
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 V5.0 and later, the "OZ version not compatible" message is displayed as a fatal error using a OS_BYE with A unchanged if Fc = 1.
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../.... differentNotes:
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....../.... differentNotes:
Battery low condition is set when under 4.2V. Coma state is entered by NMI when battery voltage falls under 3.2V.
This call is used by system information page in Index.