Format of PC-MOS/386 Task Control Block:
Offset Size Description )
00h BYTE signature byte "H" if allocated from system memory pool
01h BYTE header block ID, "T" = TCB
02h WORD length of block in paragraphs
04h WORD segment address of next header block (0000h if last)
06h WORD segment address of previous header block (0000h if first)
08h WORD pointer to next TCB
0Ah WORD pointer to previous TCB
0Ch WORD pointer to associated TCB (if applicable)
0Eh WORD reserved
---TCB---
10h WORD TCB task ID
12h WORD native context save area
14h WORD start address of task
16h WORD end address of task
18h BYTE task priority
19h BYTE task time slice
1Ah BYTE "TCBWAIT" run status of task
1Bh BYTE "TCBSTAT" what the task is waiting for
1Ch DWORD address of polling routine
20h BYTE error code from last function call
21h 11 BYTEs name of currently executing task
2Ch 4 BYTEs ???
30h BYTE keyboard disabled if bit 1 set
31h BYTE current shift state and toggles
32h 2 BYTEs ???
34h BYTE current video mode
35h BYTE current video page
36h BYTE number of text columns per screen
37h BYTE number of text rows per screen
38h WORD length of video buffer
3Ah WORD video page length
3Ch WORD apge start address in video RAM
3Eh 4 WORDs current cursor positions for four screen pages
46h 8 BYTEs ???
4Eh WORD current cursor type
50h BYTE current palette setting
51h BYTE original video mode
52h BYTE start CRT row (00h or 01h)
53h BYTE video RAM in task active
54h WORD handle of video save area
56h WORD page count of video save area
58h WORD segment address of video save area
5Ah WORD poitner to first Task File Block (see #04009)
5Ch WORD pointer to first Current Directory Block (see #04012)
5Eh WORD pointer to active Current Directory Block (see #04012)
60h BYTE number of drives
61h BYTE current drive (0=A:, etc.)
62h DWORD disk transfer address
66h 4 BYTEs ???
6Ah BYTE verify flag (nonzero = on)
6Bh BYTE break flag (nonzero = on)
6Ch WORD share/lock retry count
6Eh WORD ticks between share/lock retries
70h BYTE remote printer flags (see #04007)
71h BYTE ETX/ACK delay count
72h WORD spooler segment address
74h 2 BYTEs ???
76h 3 BYTEs remote printer redirection for LPT1 through LPT3 (see #04008)
79h 2 BYTEs ???
7Bh DWORD offset of username in TCB
7Fh BYTE current output class
80h 7 BYTEs protection access rights, 2 bits per class (writeable!)
87h 122 BYTEs ???
101h BYTE TCB sleep downcounter value
102h 20 BYTEs ???
116h BYTE last scan code
...
5D0h DWORD far pointer to Device Driver Terminal's entry point
5D4h WORD offset of logical screen
5D6h WORD segment of logical screen
5D8h WORD cursor offset within page
5DAh BYTE screen columns
5DBh WORD async port number (0000h = none)
5DDh DWORD physical baudrate
5E1h 19 BYTEs reserved for Device Driver Terminal (DDT)
...
7A6h DWORD far pointer to unregister calling chain