[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
Int 21 Fn 4402 U - Qualitas 386max V6.00+ - Ioctl Input - Get State (Cont.)
01h set all ??? 4K pages to read-write???
???
Return: AH = 00h (successful) if AL=00h or 01h
AH = 8Fh otherwise
AH = 14h ???
ES:DI -> 54-byte buffer for ???
Return: AH = 00h if successful
AH = A4h on error
AH = 15h ???
???
Return: ???
AH = 16h get 386MAX memory usage screen
ES:DI -> buffer for memory info display
CX = size of buffer in bytes
Return: ES:DI buffer filled with '$'-terminated string (if
large enough to hold entire usage screen)
Note: the screen is 0303h bytes in v7.00
AH = 17h Windows 3 startup/termination
AL = subfunction
00h Windows3 initializing
DX (on stack) = Windows startup flags
DI = Windows version number (major in upper byte)
ES:BX = 0000h:0000h
DS:SI = 0000h:0000h
Return: CX = 0000h if OK for Windows to load
<> 0 if Windows should not load
ES:BX -> startup info structure
DS:SI -> Virtual86 mode enable/disable callback
01h Windows3 terminating
ES:BX -> ???
DX (on stack) = Windows exit flags
Return: ???
AH = 18h QPMS (Qualitas Protected Memory Services)
AL = subfunction
00h get QPMS configuration
Return: BX = starting segment of QPMS memory window
CX = number of 4K pages reserved for QPMS???
DX = number of 4K pages in QPMS window???
01h map QPMS memory page???
BX = 4K page number within memory reserved for QPMS???
CL = 4K page number within QPMS memory window???
02h mark all QPMS memory read-only
03h mark all QPMS memory read-write
Return: AH = status (00h,8Ah,8Bh,8Fh)
AH = 19h get linear address for physical address
EDX = physical address (low word on stack)
Return: AH = status
00h successful
EDX = linear address at which physical address
may be accessed
8Bh physical address currently not addressable
Note: enables A20 first
AH = 1Ah set page table entry???
EDX = new page table entry??? (low word on stack)
ESI = linear address of page???
Return: AH = status (00h,8Bh)
Note: enables A20 first
AH = 1Bh get ???
Return: AH = status
BX = ???
CX = ???
EDX = physical address of ???
AH = 1Ch get original interrupt vector
AL = interrupt vector (00h-7Fh)
Return: AH = 00h (successful)
EDX = original vector before 386MAX loaded (segment in
high word, offset in low word)
Note: no range checking is performed; requests for INTs 80h-
FFh will return random values
AH = 1Dh display string???
SI = ???
Return: AH = 00h (successful)
???
AH = 1Eh get memory info
ES:DI -> memory info (see below)
Return: ???
AH = 1Fh get DPMI host information
Return: AX = 0000h if successful
BX = DPMI flags (see INT 31/AX=0400h)
CL = CPU type (02h = 80286, 03h = 80386, etc.)
DX = DPMI ver supported (DH=major, DL=2-digit minor)
SI = ???
ES???:DI -> ???
Note: NOP if NODPMI switch specified
AH = 20h (v7.00) ???
AL = ???
Return: EDX = ??? for ??? AL
AH = 21h (v7.00) STACKS support
AL = 00h get STACKS parameters
Return: BX = ???
CX = number of stacks for hardware interrupts
DX = size of each stack in bytes
SI = ???
DI = ???
AL = 01h set ??? "EMM2_DSTKS"
EBX = ???
ECX = ???
DS = ???
AL = 02h ???
BL = ??? (00h-03h)
???
AH = 22h (v7.00)
AL = 00h ???
AL = nonzero ???
???
AH = 23h (v7.00) ???
AL = 00h set ???
???
AL = 01h ???
???
AL = 02h get ???
CX = size of buffer
ES:DI -> buffer for ???
Return: CX = number of bytes actually returned
AL = 03h set ???
ES:DI -> buffer containing ASCIZ ???
AL = 04h get ???
ES:DI -> buffer for ASCIZ ???
AH = 24h (v7.00) ???
AL = 00h get ???
Return: BX = current state of ??? (0/1)
AL = 01h set ???
BX = new state of ??? (0/1)
AL = other ???
AH = 25h (v7.00) ???
AH = 26h (v7.00) ???
Return: BX = ???
CX = ???
AH = 27h (v7.00) ???
AL = 00h get ???
Return: BX = ???
AL = 01h ???
BX = ???
ES??? = ???
AL = 02h ???
???
AL = 03h ???
CX = ???
DX = ???
ES??? = ???
Return: ???
AH = 28h (v7.00) get ???
Return: CX = ???
DX = ???
AH = 29h (v7.00) get ???
Return: AX = ???
AH = 40h-5Dh EMS services (see INT 67/AH=40h etc)
AH = DEh VCPI services (see INT 67/AX=DE00h etc)
Return: AH = status (as for EMS INT 67 calls)
00h successful
80h internal error
81h hardware malfunction
83h invalid handle
84h undefined function
8Ah invalid logical page nuber
8Bh illegal physical page number
8Fh undefined subfunction
A4h access denied
etc.
STACK popped (value placed in DX if no specific return value for DX)
Format of memory speed record:
Offset Size Description
00h DWORD page table entry for 4K page
04h WORD number of microticks (840ns units) required for REP LODSD of
entire 4K page
Format of memory info [array]:
Offset Size Description
00h DWORD ???
04h DWORD ???
08h 2 BYTEs ???
0Ah BYTE type??? (03h = conventional???)
0Bh BYTE ???
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson