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 | |||||||