Category: memory management Flags: Undocumented function
INT 2F - Novell DOS 7 - EMM386.EXE - MULTITASKING API - SUPERVISOR MODULE
AX = 2780h
CL = 01h (module: Supervisor)
CH = subfunction
00h unused
Return: CX = status (0002h) (see #02739)
01h unused
Return: CX = status (0002h) (see #02739)
02h "Z_ModuleReg" register an OS module
EBX = module number (0005h-000Fh)
DS:EDX -> module descriptor (see #02741)
Return: CX = status (0000h,0030h) (see #02739)
03h allocate SYSDAT memory
DX = number of ??? to allocate
Return: CX = status (0000h,0003h) (see #02739)
04h get selector to SYSDAT
Return: CX = 0000h (successful)
BX = selector for EMM386 data segment
EBX high word cleared
05h "Z_MoveReal" relocate segment into extended memory
DS:EDX -> descriptor parameter block
Return: ECX = status (00h,03h,31h,32h) (see #02739)
---if successful---
parameter block filled
06h "Z_Reboot" return to real mode via triple fault
07h debugger break
Note: calls INT 03, then INT 21/AH=02h to output a question
mark
08h "X_ForeCheck" check if domain is in foreground
Return: CX = 0000h (successful)
EBX = ??? (0 or 2)
09h register VxD with system
0Ah unload VxD hook
0Bh indicate end of initialization phase
Return: CX = status (0002h) (see #02739)
0Ch "F_AllocWindow" allocate 4K mapping window
0Dh "F_RegisterBoot" register reboot addresses
EBX = ???
EDX = ???
Return: ???
0Eh "F_EnquireBoot" check if reboot active
Return: CX = 0000h (successful)
BL = ??? \ or BX = 0000h
BH = ??? /
0Fh get debugging level
Return: CX = 0000h (successful)
EBX = new value for debugging level
10h set debugging level
EDX = ???
Return: CX = 0000h (successful)
EBX = old value of debugging level
11h installation check (documented)
Return: CX = status
0000h if multitasker is installed
EBX = version (0100h for v1.00)
1101h if multitasker is not present
12h "F_V86BPInstall" install V86 breakpoint
DX = ???
Return: CX = 0000h (successful)
AX = old value of ???
13h "F_V86BPRemove" remove V86 breakpoint
Return: CX = status (0000h,003Fh) (see #02739)
AX = ???
14h "F_V86BPOffer" indicate INT 03 to be used as V86 breakpoint
EDX = linear address ??? of INT 03 instruction for breakpoint
Return: CX = status (0000h,003Fh) (see #02739)
15h "F_LoaderCleanup" offer opportunity to clean up
BX = segment of ???
Return: CX = 0000h (successful)
BX = segment of ???
16h "F_RegisterVxDWindow" register VxD mapping window
17h "F_RegisterPNW" register Personal NetWare information
EBX = subfunction (0-2)
Return: CX = status (0002h if EBX>2) (see #02739)
???
18h unused
Return: CX = status (0002h) (see #02739)
Return: CX = status (most subfunctions)
(E)AX and/or (E)BX contain return values, depending on function
Notes: called by DPMS.EXE and EMM386.EXE
this API is only available if AX=12FFh/BX=0EDCh returns successfully;
because the request is handled on the initial trap to the memory
manager caused by INT instructions, this API must be invoked with
an actual INT 2F instruction instead of some simulation such as a
far call to the address in the interrupt vector table
SeeAlso: AX=12FFh/BX=0EDCh,AX=2780h/CL=02h,AX=2780h/CL=03h,AX=2780h/CL=04h
Please take a moment to fill out
this visitor survey You can help support this site by
visiting the advertisers that sponsor it! (only once each, though)