Format of Phar Lap configuration buffer:
Offset Size Description )
00h DWORD flags 1 (see #01366)
04h DWORD flags 2 (unused through v5.0)
08h DWORD flags 3 (unused through v5.0)
0Ch DWORD 386|DOS-Extender major version
10h DWORD 386|DOS-Extender minor version
14h DWORD first letter of text after minor version number in version str
18h DWORD beta flag (00h normal release, 01h beta release)
1Ch DWORD processor (3 = 386, 4 = 486)
20h DWORD coprocessor (4 = none, 6 = 287, 7 = 387/486)
24h DWORD Weitek coprocessor flag (0 = none, 1 = present)
28h DWORD machine type (0 = IBM PC compatible, 1 = NEC 9800 series)
2Ch DWORD machine class
IBM: bus type (0=ISA, 1=MCA, 2=XT, 3=EISA)
NEC: 0=normal mode, 1=high-res mode
30h DWORD VCPI flag (0 = none, 1 = present)
34h DWORD -WEITEK/-1167 switch (0 = AUTO, 1 = ON, 2 = OFF)
38h DWORD -MINREAL setting
3Ch DWORD -MAXREAL setting
40h DWORD -MINIBUF setting
44h DWORD -MAXIBUF setting
48h DWORD size in bytes of DOS call data buffer
4Ch DWORD number of interrupt stacks (-NISTACK)
50h DWORD interrupt stack size (-ISTKSIZE)
54h DWORD -REALBREAK setting
58h DWORD -CALLBUFS
5Ch DWORD -HWIVEC
60h DWORD -PRIVEC
64h DWORD -INTMAP
68h DWORD -PRIMAP
6Ch DWORD VCPI: master 8259 interrupt vector base (IRQ0 mapping)
70h DWORD VCPI: slave 8259 interrupt vector base (IRQ8 mapping)
74h DWORD BIOS print screen interrupt vector (0 if NEC)
78h DWORD -EXTLOW setting
7Ch DWORD -EXTHIGH setting
80h DWORD lowest physical extended-memory address allocatable
84h DWORD highest physical extended-memory address allocatable + 1
88h DWORD special memory's physical base address (00000000h if none)
8Ch DWORD special memory size in bytes (00000000h if none)
90h DWORD -MAXVCPIMEM setting
94h DWORD -VSCAN
98h DWORD -SWAPCHK (0 = OFF, 1 = ON, 2 = FORCE, 3 = MAX)
9Ch DWORD -CODESIZE setting
A0h DWORD minimum swap file size (-MINSWFSIZE)
A4h DWORD maximum swap fiel size (-MAXSWFSIZE)
A8h DWORD page replacement policy (0 = LFU, 1 = NUR)
ACh DWORD number of GDT entries (-NGDTENT)
B0h DWORD number of LDT entries (-NLDTENT)
B4h DWORD program's privilege level (0-3)
---386|DOS-Extender v3.0+ ---
B8h DWORD -LOCKSTACK setting
BCh DWORD -MAXEXTMEM
C0h DWORD -MAXXMSMEM
C4h DWORD -MAXPGMMEM
C8h DWORD -DATATHRESHOLD
CCh DWORD virtual memory manager flag (0 = not present, 1 = present)
D0h DWORD Cyrix coprocessor flag (0 = no Cyrix EMC387, 1 = present)
D4h DWORD -CYRIX setting (0 = AUTO, 1 = ON, 2 = OFF)
D8h DWORD DPMI flag (0 = not present, 1 = present)
DCh DWORD DPMI major version
E0h DWORD DPMI minor version
E4h DWORD DPMI capabilities flags (see #01367)
E8h DWORD VCPI major version
ECh DWORD VCPI minor version
F0h WORD VCPI: IRQ0-7 physical base interrupt vector
F2h WORD VCPI: IRQ8-15 physical base interrupt vector
F4h DWORD XMS flag (0 = none, 1 = present)
F8h DWORD XMS major version
FCh DWORD XMS minor version
100h WORD application's CS selector
102h WORD application's DS selector
104h WORD application's PSP selector
106h WORD application's environment selector
108h WORD selector mapping entire first megabyte
10Ah WORD selector mapping text video memory
10Ch WORD selector mapping video memory (text for IBM, graphics for NEC)
10Eh WORD selector mapping Weitek address space, 0000h if not present
110h WORD selector mapping Cyrix EMC387 address space, 0000h if none
112h WORD reserved (0)
114h DWORD real-mode FAR entry point to call to switch to protected mode
with no saved context
118h DWORD size of LDT in bytes
---386|DOS-Extender v5.0+ ---
11Ch DWORD Windows flag (0 = not present, 1 = Windows present)
120h DWORD Windows major version
124h DWORD Windows minor version
128h DWORD Windows mode (0 = real/standard, 1 = enhanced)
12Ch DWORD OS/2 flag (0 = not present, 1 = OS/2 present)
130h DWORD OS/2 major version
134h DWORD OS/2 minor version
138h 50 DWORDs reserved (0)