Format of DESQview object |
Offset | Size | Description | |||||||
---|---|---|---|---|---|---|---|---|---|
00h |
WORD |
offset in common memory of previous object of same type | |||||||
02h |
WORD |
offset in common memory of next object of same type | |||||||
04h |
WORD |
(DV 2.42-) | signature FEDCh | ||||||
(DV 2.50+) | signature FEDCh or object number | ||||||||
06h |
WORD |
object type (see #00413) | |||||||
08h |
DWORD |
object handle to return to caller | |||||||
0Ch |
DWORD |
canonicalized object address (segment = common memory) | |||||||
10h |
WORD |
offset in common memory of owning task (0000h for unowned OBJECTQs) | |||||||
12h |
WORD |
mapping context offset in common memory of mapping context record (see #00416) |
|||||||
remainder varies by object type and DESQview version |
|||||||||
---v2.42 keyboard object--- |
|||||||||
14h |
WORD |
flag bits (see also AH=12h/BH=0Ah"OBJECT")
|
|||||||
16h |
4 BYTEs |
??? | |||||||
1Ah |
WORD |
priority in OBJECTQ??? | |||||||
1Ch |
... |
||||||||
25h |
WORD |
offset in common memory of ??? task | |||||||
27h |
4 BYTEs |
??? | |||||||
---v2.42 objectq object--- |
|||||||||
14h |
WORD |
flag bits (see also AH=12h/BH=0Ah"OBJECT")
|
|||||||
16h |
2 BYTEs |
??? | |||||||
18h |
WORD |
offset in common memory of ??? task | |||||||
1Ah |
6 BYTEs |
??? | |||||||
---v2.42 mailbox object--- |
|||||||||
14h |
WORD |
flag bits (see also AH=12h/BH=0Ah"OBJECT")
|
|||||||
1Ah |
WORD |
priority in OBJECTQ??? | |||||||
1Ch |
6 BYTEs |
??? | |||||||
22h |
WORD |
offset in common memory of mailbox name
(counted string) 0000h if no name |
|||||||
24h |
<= 5 BYTEs |
??? | |||||||
---v2.22-2.42,2.52,2.60 window/task object--- |
|||||||||
14h |
BYTE |
|
|||||||
15h |
BYTE |
internal (not Switch menu) window number??? | |||||||
16h |
BYTE |
internal (not Switch menu) window number??? | |||||||
17h |
WORD |
segment of internal window record (see #00417) | |||||||
19h |
2 BYTEs |
??? | |||||||
1Bh |
BYTE |
cursor row | |||||||
1Ch |
BYTE |
cursor column | |||||||
1Dh |
BYTE |
visible window origin, row | |||||||
1Eh |
BYTE |
visible window origin, column | |||||||
1Fh |
BYTE |
window height (logical) | |||||||
20h |
BYTE |
window width (logical) | |||||||
21h |
BYTE |
window position, row | |||||||
22h |
BYTE |
window position, column | |||||||
23h |
BYTE |
window height (visible) | |||||||
24h |
BYTE |
window width (visible) | |||||||
25h |
BYTE |
row of top of frame (or window if unframed) | |||||||
26h |
BYTE |
column of left of frame (or window if unframed) | |||||||
27h |
BYTE |
window height (physical, including frame) | |||||||
28h |
BYTE |
window width (physical, including frame) | |||||||
29h |
BYTE |
unzoomed visible origin, row (00h before first zoom) | |||||||
2Ah |
BYTE |
unzoomed visible origin, column (00h before first zoom) | |||||||
2Bh |
BYTE |
unzoomed window position, row (00h before first zoom) | |||||||
2Ch |
BYTE |
unzoomed window position, column (00h before first zoom) | |||||||
2Dh |
BYTE |
unzoomed window height (00h before first zoom) | |||||||
2Eh |
BYTE |
unzoomed window width (00h before first zoom) | |||||||
unzoomed parameters above are updated when window is zoomed to full screen |
|||||||||
2Fh |
BYTE |
??? initially logical window height | |||||||
30h |
BYTE |
??? initially logical window width | |||||||
31h |
2 BYTEs |
??? | |||||||
33h |
BYTE |
minimum height of window | |||||||
34h |
BYTE |
minimum width of window | |||||||
35h |
BYTE |
maximum height of window | |||||||
36h |
BYTE |
maximum width of window | |||||||
37h |
3 BYTEs |
??? | |||||||
3Ah |
8 BYTEs |
window frame characters: ul,ur,ll,lr,t,b,l,r | |||||||
42h |
24 BYTEs |
attributes??? | |||||||
5Ah |
8 BYTEs |
window frame characters: ul,ur,ll,lr,t,b,l,r | |||||||
62h |
3 BYTEs |
??? | |||||||
65h |
BYTE |
??? bitflags | |||||||
66h |
BYTE |
bit 0: window is zoomed | |||||||
67h |
BYTE |
??? | |||||||
68h |
WORD |
offset in common memory of window name or 0000h if untitled | |||||||
6Ah |
WORD |
length of window name | |||||||
6Ch |
2 BYTEs |
??? | |||||||
6Eh |
WORD |
offset of logical cursor in window (in character cells) | |||||||
70h |
DWORD |
pointer to field table for window | |||||||
74h |
BYTE |
??? | |||||||
75h |
2 BYTEs |
??? | |||||||
77h |
BYTE |
number of last-visited field | |||||||
78h |
DWORD |
pointer to field table entry for last-visited field | |||||||
7Ch |
3 BYTEs |
??? | |||||||
7Fh |
BYTE |
select field marker character | |||||||
80h |
BYTE |
??? bit flags:
|
|||||||
81h |
BYTE |
??? | |||||||
82h |
DWORD |
notification function (manager stream opcode 8Ah) no notification if segment = 0000h | |||||||
86h |
DWORD |
notification argument (manager stream opcode 8Bh) | |||||||
8Ah |
WORD |
offset in common memory of ??? window object or 0000h | |||||||
8Ch |
WORD |
offset in common memory of ??? window object or 0000h | |||||||
8Eh |
WORD |
offset in common memory of ??? window object or 0000h | |||||||
90h |
BYTE |
??? bitflags | |||||||
91h |
BYTE |
??? | |||||||
---task object only |
|||||||||
92h |
BYTE |
bit flags (bits 0-4) | |||||||
93h |
BYTE |
character for ??? (default 20h) | |||||||
94h |
BYTE |
??? flag | |||||||
95h |
WORD |
offset in common memory of ??? | |||||||
97h |
2 BYTEs |
??? | |||||||
99h |
WORD |
??? | |||||||
9Bh |
BYTE |
??? bit flags:
|
|||||||
9Ch |
BYTE |
??? | |||||||
9Dh |
WORD |
offset in common memory of current register save record (see #00415). No register save record in use if < 01C0h | |||||||
9Fh |
WORD |
offset in common memory of task's keyboard object | |||||||
A1h |
WORD |
offset in common memory of task's OBJECTQ object | |||||||
A3h |
WORD |
offset in common memory of task's mailbox object | |||||||
A5h |
WORD |
semaphore: FFFFh if on user stack, else on task's private stack | |||||||
A7h |
DWORD |
user's SS:SP | |||||||
ABh |
WORD |
task's private SP (SS read from offset 0Ah) | |||||||
ADh |
6 BYTEs |
??? | |||||||
B3h |
BYTE |
??? bit flags:
|
|||||||
B4h |
BYTE |
??? | |||||||
B5h |
BYTE |
??? bitflags | |||||||
B6h |
BYTE |
task status (see #00555 at AX=DE2Ch) | |||||||
B7h |
9 BYTEs |
??? | |||||||
C0h |
WORD |
head pointer for keyboard buffer (wraps back to 00h after 80h) | |||||||
C2h |
WORD |
tail pointer for keyboard buffer (wraps back to 00h after 80h) | |||||||
C4h |
2 BYTEs |
??? (0000h) | |||||||
C6h |
WORD |
segment of keyboard buffer for task | |||||||
C8h |
WORD |
offset in common memory of ??? keyboard object | |||||||
CAh |
BYTE |
??? | |||||||
---v2.22-2.42 |
|||||||||
CBh |
WORD |
offset in common memory of ??? object | |||||||
CEh |
BYTE |
??? flag | |||||||
CFh |
WORD |
offset in common memory of default notify window for task or 0000h if none | |||||||
D1h |
4 BYTEs |
??? | |||||||
D5h |
BYTE |
window number on Switch Window menu | |||||||
D6h |
5 BYTEs |
??? | |||||||
DBh |
WORD |
offset in common memory of ??? object | |||||||
DDh |
2 BYTEs |
??? | |||||||
DFh |
WORD |
API level for task | |||||||
E1h |
WORD |
offset in common memory of object task is waiting on if task status is 'waiting', else 0000h | |||||||
E7h |
WORD |
segment of ??? | |||||||
E9h |
4 BYTEs |
??? | |||||||
EDh |
WORD |
EMS handle of virtualization buffer, 0000h if no virtualization | |||||||
F1h |
12 BYTEs |
??? | |||||||
FBh |
WORD |
??? | |||||||
FDh |
BYTE |
??? | |||||||
FFh |
12 BYTEs |
??? | |||||||
10Bh |
DWORD |
pointer to process record (see #00418,#00419) | |||||||
10Dh |
10 BYTEs |
??? | |||||||
119h |
DWORD |
SS:SP for ??? | |||||||
11Dh |
4 BYTEs |
??? | |||||||
121h |
DWORD |
pointer to ??? | |||||||
125h |
25 BYTEs |
??? | |||||||
13Eh |
DWORD |
pointer to ??? in system memory | |||||||
---v2.22 |
|||||||||
142h |
3 BYTEs |
??? | |||||||
145h |
|
task's default keyboard object | |||||||
---v2.42 |
|||||||||
142h |
DWORD |
pointer to first task instance data record in system memory | |||||||
148h |
DWORD |
pointer to last task instance data record in system memory (see #00420) | |||||||
14Ah |
BYTE |
??? | |||||||
14Dh |
42 BYTEs |
task's default keyboard object | |||||||
177h |
32 BYTEs |
task's ObjectQ object | |||||||
197h |
41 BYTEs |
task's default mailbox object | |||||||
1C0h |
24 BYTEs |
first register save record | |||||||
450h |
-- |
default top of private stack | |||||||
---v2.52 (probably all DV/X) |
|||||||||
Same as v2.60 below except there is an extra 29 bytes inserted somewhere before offset 9Fh, but not yet known exactly where. Also, for the WAIT_ON field (v2.60 offset E3h), some X apps (probably waiting on a socket) have 0000h even when waiting. |
|||||||||
---v2.60 |
|||||||||
CBh |
WORD |
??? (added in 2.50 - rest is same as 2.42) | |||||||
CDh |
WORD |
offset in common memory of ??? object | |||||||
D0h |
BYTE |
??? flag | |||||||
D1h |
WORD |
offset in common memory of default notify window for task or 0000h if none | |||||||
D3h |
4 BYTEs |
??? | |||||||
D7h |
BYTE |
window number on Switch Window menu | |||||||
D8h |
5 BYTEs |
??? | |||||||
DDh |
WORD |
offset in common memory of ??? object | |||||||
DFh |
2 BYTEs |
??? | |||||||
E1h |
WORD |
API level for task | |||||||
E3h |
WORD |
If status at B6h=waiting, offset in common memory of object that task is waiting on, else 0000h. (Task with CPU also has 0000h here) | |||||||
E9h | WORD | segment of ??? | |||||||
EBh | 4 BYTEs | ??? | |||||||
EFh | WORD | EMS handle of virtualization buffer, 0 if no virtualization | |||||||
F3h | 12 BYTEs | ??? | |||||||
FDh | WORD | ??? | |||||||
FFh | BYTE | ??? | |||||||
101h | ??? | ||||||||
109h | DWORD | pointer to process record in system memory | |||||||
10Dh | 14 BYTEs | ??? | |||||||
11Bh | DWORD | SS:SP for ??? | |||||||
11Fh | 4 BYTEs | ??? | |||||||
123h | DWORD | pointer to ??? | |||||||
127h | 25 BYTEs | ??? | |||||||
140h | DWORD | pointer to ??? in system memory | |||||||
144h | DWORD | pointer to first task instance data record in system memory | |||||||
148h | DWORD | pointer to last task instance data record in system memory (from INT 15/AX=DE27h) (see #00420) | |||||||
14Ch | BYTE | ??? | |||||||
14Eh | 42 BYTEs | task's default keyboard object | |||||||
179h | 32 BYTEs | task's ObjectQ object | |||||||
199h | 41 BYTEs | task's default mailbox object | |||||||
1C2h | 24 BYTEs | first register save record | |||||||
452h | -- | default top of private stack |