ralf@B.GP.CS.CMU.EDU (Ralf Brown) (12/06/87)
Remove headers and trailers and concatenate onto part 2. This part continues
the INT 67 - Get/Set Handle Name function.
*-*-*---------cut-------------cut-------------cut-------------*-*-*
AH = 53h
AL = subfunction
00h get handle name
ES:DI = pointer to 8-byte handle name array
01h set handle name
DS:SI = pointer to 8-byte handle name
DX = handle
Return: AH = status
00h successful
80h internal error
81h hardware malfunction
83h invalid handle
84h undefined function requested
8Fh undefined subfunction
A1h duplicate handle name
-----------------------------------------------------------
INT 67 - LIM EMS 4.0 - Get Handle Directory
AH = 54h
AL = subfunction
00h get handle directory
ES:DI = pointer to buffer for handle directory
01h search for named handle
DS:SI = pointer to 8-byte name
02h get total number of handles
Return: AL = number of entries in handle directory (subfunction 00h)
DX = value of named handle (subfunction 01h)
BX = total number of handles (subfunction 02h)
AH = status
00h successful
80h internal error
81h hardware malfunction
84h undefined function requested
8Fh undefined subfunction
A0h no such handle name
A1h a handle found had no name
-----------------------------------------------------------
INT 67 - LIM EMS 4.0 - Alter Page Map and Jump
AH = 55h
AL = subfunction
00h physical page numbers provided by caller
01h segment addresses provided by caller
DX = handle
DS:SI = pointer to structure containing map and jump address
Return: (at target address unless error)
AH = status
00h successful
80h internal error
81h hardware failure
83h invalid handle
84h undefined function requested
8Ah invalid logical page number encountered
8Bh invalid physical page number encountered
8Fh invalid subfunction
-----------------------------------------------------------
INT 67 - LIM EMS 4.0 - Alter Page Map and Call
AH = 56h
AL = subfunction
00h physical page numbers provided by caller
DX = handle
DS:SI = pointer to structure containing page map and call address
01h segment addresses provided by caller
DX = handle
DS:SI = pointer to structure containing page map and call address
02h get page map stack space required
Return: (if successful, the target address is called. Use a RETF to return and
restore mapping context)
BX = stack space required (subfunction 02h)
AH = status
00h successful
80h internal error
81h hardware failure
83h invalid handle
84h undefined function requested
8Ah invalid logical page number encountered
8Bh invalid physical page number encountered
8Fh undefined subfunction
-----------------------------------------------------------
INT 67 - LIM EMS 4.0 - Move/Exchange Memory Region
AH = 57h
AL = subfunction
00h move memory region
01h exchange memory region
DS:SI = pointer to structure describing source and destination
Return: AH = status
00h successful
80h internal error
81h hardware failure
83h invalid handle
84h undefined function requested
8Ah invalid logical page number encountered
8Fh undefined subfunction
92h successful, but a portion of the source region has been
overwritten
93h length of source or destination region exceeds length of region
allocated to either source or destination handle
94h conventional and expanded memory regions overlap
95h offset within logical page exceeds size of logical page
96h region length exceeds 1M
97h source and destination EMS regions have same handle and overlap
98h memory source or destination type undefined
A2h attempted to wrap around 1M conventional address space
-----------------------------------------------------------
INT 67 - LIM EMS 4.0 - Get Mappable Physical Address Array
AH = 58h
AL = subfunction
00h get mappable physical address array
ES:DI = pointer to buffer to be filled with array
01h get number of entries in m.p.a. array
Return: CX = number of entries in array
AH = status
00h successful
80h internal error
81h hardware failure
84h undefined function requested
8Fh undefined subfunction
-----------------------------------------------------------
INT 67 - LIM EMS 4.0 - Get Expanded Memory Hardware Information
AH = 59h
AL = subfunction
00h get hardware configuration array
ES:DI = pointer to buffer to be filled with array
01h get unallocated raw page count
Return: BX = unallocated raw pages (subfunction 01h)
DX = total raw pages (subfunction 01h)
AH = status
00h successful
80h internal error
81h hardware failure
84h undefined function requested
8Fh undefined subfunction
A4h access denied by operating system
Note: subfunction 00h is for use by operating systems only, and can be
enabled or disabled at any time by the operating system
-----------------------------------------------------------
INT 67 - LIM EMS 4.0 - Allocate Standard/Raw Pages
AH = 5Ah
AL = subfunction
00h allocate standard pages
01h allocate raw pages
BX = number of pages to allocate
Return: DX = handle
AH = status
00h successful
80h internal error
81h hardware failure
84h undefined function requested
85h no more handles available
87h insufficient memory pages in system
88h insufficient memory pages available
8Fh undefined subfunction
-----------------------------------------------------------
INT 67 - LIM EMS 4.0 - Alternate Map Register Set
AH = 5Bh
AL = subfunction
00h get alternate map register set
01h set alternate map register set
BL = new alternate map register set number
ES:DI = pointer to map register context save area if BL=0
02h get alternate map save array size
03h allocate alternate map register set
04h deallocate alternate map register set
BL = number of alternate map register set
Return: BL = current active alternate map register set number if nonzero (AL=0)
ES:DI = pointer to a map register context save area if BL=0 (AL=0)
DX = array size in bytes (subfunction 02h)
BL = number of alternate map register set; zero if not supported (AL=3)
AH = status
00h successful
80h internal error
81h hardware malfunction
84h undefined function requested
8Fh undefined subfunction
9Ah specified alternate map register set not supported
9Bh all alternate map register sets currently allocated
9Ch alternate map register sets not supported
9Dh undefined or unallocated alternate map register set
A3h source array corrupted
A4h operating system denied access
Note: this function is for use by operating systems only, and can be
enabled or disabled at any time by the operating system
-----------------------------------------------------------
INT 67 - LIM EMS 4.0 - Alternate Map Register Set - DMA registers
AH = 5Bh
AL = subfunction
05h allocate DMA register set
06h enable DMA on alternate map register set
BL = DMA register set number
DL = DMA channel number
07h disable DMA on alternate map register set
BL = DMA register set number
08h deallocate DMA register set
BL = DMA register set number
Return: BL = DMA register set number; zero if not supported (subfunction 05h)
AH = status
00h successful
80h internal error
81h hardware malfunction
84h undefined function requested
8Fh undefined subfunction
9Ah specified DMA register set not supported
9Bh all DMA register sets currently allocated
9Ch alternate DMA sets not supported
9Dh undefined or unallocated DMA register set
9Eh dedicated DMA channels not supported
9Fh specified dedicated DMA channel not supported
A3h source array corrupted
A4h operating system denied access
Note: this function is for use by operating systems only, and can be
enabled or disabled at any time by the operating system
-----------------------------------------------------------
INT 67 - LIM EMS 4.0 - Prepare Expanded Memory Hardware for Warm Boot
AH = 5Ch
Return: AH = status
00h successful
80h internal error
81h hardware malfunction
84h undefined function requested
-----------------------------------------------------------
INT 67 - LIM EMS 4.0 - Enable/Disable OS Function Set Functions
AH = 5Dh
AL = subfunction
00h enable OS Function Set
01h disable OS Function Set
02h return access key (resets memory manager, returns access key at
next invocation)
BX,CX = access key returned by first invocation
Return: BX,CX = access key, returned only on first invocation of function
AH = status
00h successful
80h internal error
81h hardware malfunction
84h undefined function requested
8Fh undefined subfunction
A4h operating system denied access
-----------------------------------------------------------
INT 68 -> unused
-----------------------------------------------------------
INT 69 -> unused
-----------------------------------------------------------
INT 6A -> unused
-----------------------------------------------------------
INT 6B -> unused
-----------------------------------------------------------
INT 6C -> unused
-----------------------------------------------------------
INT 6D -> unused
-----------------------------------------------------------
INT 6E -> unused
-----------------------------------------------------------
INT 6F -> unused
-----------------------------------------------------------
INT 70 thru 77 - AT Vectored Hardware Lines
IRQ8 - real-time clock
IRQ9 - LAN adapter 1 (rerouted to INT 0Ah by BIOS)
IRQ10 - reserved
IRQ11 - reserved
IRQ12 - reserved
IRQ13 - 80287 error (rerouted to INT 2 by BIOS)
IRQ14 - fixed disk
IRQ15 - reserved
-----------------------------------------------------------
INT 86 - Relocated (by NETBIOS) INT 18
-----------------------------------------------------------
INT E4 - Logitech Modula v2.0 - MonitorEntry
AX = 5
BX = priority
-----------------------------------------------------------
INT E4 - Logitech Modula v2.0 - MonitorExit
AX = 6
-----------------------------------------------------------
INT F8 - INTERVAL TIMER (10 MSEC)
-----------------------------------------------------------
INT FA - USART READY (RS-232C)
-----------------------------------------------------------
INT FB - USART Rx READY (keyboard)
-----------------------------------------------------------
*-*-*-----------cut--------------EOF---------------cut--------------*-*-*
--
{harvard,uunet,ucbvax}!b.gp.cs.cmu.edu!ralf -=-=- AT&T: (412)268-3053 (school)
ARPA: RALF@B.GP.CS.CMU.EDU |"Tolerance means excusing the mistakes others make.
FIDO: Ralf Brown at 129/31 | Tact means not noticing them." --Arthur Schnitzler
BITnet: RALF%B.GP.CS.CMU.EDU@CMUCCVMA -=-=- DISCLAIMER? I claimed something?