INT 21 P - Phar Lap 386/DOS-Extender - GET CONFIGURATION INFORMATION AX = 2526h ??? Return: ??? Notes: details are not yet available this function takes a pointer to the configuration buffer (see #01365) and a poitner to a BYTE as arguments Format of Phar Lap configuration buffer: Offset Size Description (Table 01365) 00h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. flags 1 (see #01366) 04h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. flags 2 (unused through v5.0) 08h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. flags 3 (unused through v5.0) 0Ch DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. 386|DOS-Extender major version 10h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. 386|DOS-Extender minor version 14h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. first letter of text after minor version number in version str 18h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. beta flag (00h normal release, 01h beta release) 1Ch DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. processor (3 = 386, 4 = 486) 20h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. coprocessor (4 = none, 6 = 287, 7 = 387/486) 24h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. Weitek coprocessor flag (0 = none, 1 = present) 28h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. machine type (0 = IBMInternational Busiuness MachinesInternational Busiuness Machines) A hardware, software and other service technology company founded in 1911. PCIBM PC compatible, 1 = NEC 9800 series) 2Ch DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. machine class IBMInternational Busiuness MachinesInternational Busiuness Machines) A hardware, software and other service technology company founded in 1911.: bus type (0=ISA(Industry-Standard Architecture) The expansion bus used by the IBMInternational Busiuness Machines PCIBM PC/ATIBM PC AT. See also EISA., 1=MCA, 2=XTIBM PC XT, 3=EISA(Enhanced Industry-Standard Architecture) A 32-bit superset of the IBMInternational Busiuness Machines ATIBM PC AT's expansion bus (which is now known as the ISA or Industry-Standard Architecture bus).) NEC: 0=normal mode, 1=high-res mode 30h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. VCPIsee Virtual Control Program Interface flag (0 = none, 1 = present) 34h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -WEITEK/-1167 switch (0 = AUTO, 1 = ON, 2 = OFF) 38h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -MINREAL setting 3Ch DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -MAXREAL setting 40h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -MINIBUF setting 44h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -MAXIBUF setting 48h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. size in bytes of DOS call data buffer 4Ch DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. number of interrupt stacks (-NISTACK) 50h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. interrupt stack size (-ISTKSIZE) 54h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -REALBREAK setting 58h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -CALLBUFS 5Ch DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -HWIVEC 60h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -PRIVEC 64h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -INTMAP 68h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -PRIMAP 6Ch DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. VCPIsee Virtual Control Program Interface: master 8259 interrupt vector base (IRQ0 mapping) 70h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. VCPIsee Virtual Control Program Interface: slave 8259 interrupt vector base (IRQ8 mapping) 74h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. BIOS(Basic Input/Output System) A set of standardized calls giving low-level access to the hardware. The BIOS is the lowest software layer above the actual hardware and serves to insulate programs (and operating systems) which use it from the details of accessing the hardware directly. print screen interrupt vector (0 if NEC) 78h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -EXTLOW setting 7Ch DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -EXTHIGH setting 80h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. lowest physical extended-memory address allocatable 84h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. highest physical extended-memory address allocatable + 1 88h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. special memory's physical base address (00000000h if none) 8Ch DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. special memory size in bytes (00000000h if none) 90h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -MAXVCPIMEM setting 94h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -VSCAN 98h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -SWAPCHK (0 = OFF, 1 = ON, 2 = FORCE, 3 = MAX) 9Ch DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -CODESIZE setting A0h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. minimum swap file size (-MINSWFSIZE) A4h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. maximum swap fiel size (-MAXSWFSIZE) A8h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. page replacement policy (0 = LFU, 1 = NUR) ACh DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. number of GDT entries (-NGDTENT) B0h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. number of LDT entries (-NLDTENT) B4h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. program's privilege level (0-3) ---386|DOS-Extender v3.0+ --- B8h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -LOCKSTACK setting BCh DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -MAXEXTMEM C0h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -MAXXMSMEM C4h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -MAXPGMMEM C8h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -DATATHRESHOLD CCh DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. virtual memory manager flag (0 = not present, 1 = present) D0h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. Cyrix coprocessor flag (0 = no Cyrix EMC387, 1 = present) D4h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -CYRIX setting (0 = AUTO, 1 = ON, 2 = OFF) D8h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. DPMIsee DOS Protected-Mode Interface flag (0 = not present, 1 = present) DCh DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. DPMIsee DOS Protected-Mode Interface major version E0h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. DPMIsee DOS Protected-Mode Interface minor version E4h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. DPMIsee DOS Protected-Mode Interface capabilities flags (see #01367) E8h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. VCPIsee Virtual Control Program Interface major version ECh DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. VCPIsee Virtual Control Program Interface minor version F0h WORD VCPIsee Virtual Control Program Interface: IRQ0-7 physical base interrupt vector F2h WORD VCPIsee Virtual Control Program Interface: IRQ8-15 physical base interrupt vector F4h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. XMSsee Extended Memory Specification flag (0 = none, 1 = present) F8h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. XMSsee Extended Memory Specification major version FCh DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. XMSsee Extended Memory Specification minor version 100h WORD application's CS selector 102h WORD application's DS selector 104h WORD application's PSPsee Program Segment Prefix 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 IBMInternational Busiuness MachinesInternational Busiuness Machines) A hardware, software and other service technology company founded in 1911., 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 DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. real-mode FAR entry point to call to switch to protected mode with no saved context 118h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. size of LDT in bytes ---386|DOS-Extender v5.0+ --- 11Ch DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. Windows flag (0 = not present, 1 = Windows present) 120h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. Windows major version 124h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. Windows minor version 128h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. Windows mode (0 = real/standard, 1 = enhanced) 12Ch DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. OS/2 flag (0 = not present, 1 = OS/2 present) 130h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. OS/2 major version 134h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. OS/2 minor version 138h 50 DWORDs reserved (0) Bitfields for flags 1: Bit(s) Description (Table 01366) 0 -NOPAGE specified 1 -A20 specified 2 -VDISK specified 3 -XT specified 4 -AT specified 5 -MCA specified 6 -EISA specified 7 -NORMRES specified (NEC only) 8 -HIGHRES specified (NEC only) 9 set if -SWFGROW1ST, clear if -NOSWFGROW1ST 10 -NOVM specified 11 -SAVEREGS specified 12 unused (clear) 13 -NOVCPI specified 14 -NOMUL specified 15 -NOBMCHK specified 16 -NOSPCLMEM or -NOBIM 17 -NOPGEXP specified 18 -SWAPDEFDISK specified ---v3.0+ --- 19 -SAVEINTS specified 20 -NOLOAD specified 21 -PAGELOG specified 22 -OPENDENY specified 23 -ERRATA17 specified ---v4.1+ --- 24 -NESTDPMI specified 25 -NONESTDPMI specified 26 -NODPMI specified 27 -NOPCDWEITEK specified ---v4.2+ --- 28 -WININT21 specified Bitfields for DPMIsee DOS Protected-Mode Interface capabilities flags: Bit(s) Description (Table 01367) 0 paging supported 1 physical device mapping 2 conventional memory mapping 3 exceptions restartable