TECH Help! describes all services supported by the Expanded Memory Manager
version 4.0 and previous versions.  4.0 has been standard since 1987 so
there should be few compatibility problems if you use the 4.0 functions.

To access an EMM function, load AX with a function number, set other
registers as described for the function, and invoke INT 67H.  Be sure to
check the return status in AH.  A non-zero return value indicates an

                                                       Standard Functions
4000H  Get EMM status
4100H  Get frame segment address
4200H  Get memory total and available
4300H  Open handle / allocate pages
44xxH  Map memory (swap EMS page into/out of memory)
4500H  Close handle / free pages
4600H  Get EMM version number
                                                Advanced Functions
4700H  Save mapping context
4800H  Restore mapping context
4b00H  Count handle's pages
4c00H  Count active handles
4d00H  Get page info (all handles)

4exxH  Get/Set entire page map
4e00H Get all mapping registers into an array at ES:DI
4e01H Set all mapping registers from array at DS:SI
4e02H Get and set mapping registers (SubFns 0 and 1 combined)
4e03H Query size of buffer needed for SubFns 0-2

4fxxH  Get/Set partial page map (EMS 4.0).
4f00H Get mapping registers
4f01H Restore mapping
4f02H Query size of buffer needed for SubFn 0.

50xxH  Map/Unmap multiple pages (EMS 4.0).

5100H  Reallocate (resize) EMS Handle (EMS 4.0).

52xxH  Get/Set Handle attribute (EMS 4.0).
5200H Get handle attribute
5201H Set Handle attribute
5202H Query attribute capability

53xxH  Get/Set Handle name (EMS 4.0).
5300H Get handle name
5301H Set handle name

54xxH  Find Named Handle (EMS 4.0).
5400H Get handle directory
5401H Search for named handle
5401H Count all open handles

55xxH  Alter Page Map and Jump (EMS 4.0).

56xxH  Alter Page Map and Call (EMS 4.0).

57xxH  Move/Exchange Memory (EMS 4.0).
5700H Move memory region
5701H Exchange memory regions

58xxH  Get Mappable Physical Address Array (EMS 4.0).
5800H Get segment-to-page map array
5801H Count segment-to-page array entries
                                        Operating System Functions
59xxH  Get Hardware configuration (EMS 4.0)
5900H Get hardware info
5901H Get unallocated raw page count

5axxH  Allocate Standard/Raw Pages (EMS 4.0)
5a00H Allocate standard 16K byte logical pages
5a01H Allocate raw pages

5bxxH  Alternate Map Register Set (EMS 4.0)
5b00H Get alternate map register set
5b01H Set alternate map register set
5b02H Get alternate map register set array size
5b03H Allocate alternate map register set
5b04H Deallocate alternate map register set
5b05H Allocate DMA register set
5b06H Enable DMA on alternate map register set
5b07H Disable DMA on alternate map register set
5b08H Deallocate DMA register set

5c00H  Prepare for warm boot (EMS 4.0)

5dxxH  Enable/Disable OS Function Set Functions (EMS 4.0)
5d00H Enable all OS-only EMM functions
5d01H Disable all OS-only EMM functions
5d02H Return access key (enable next caller to get a key)

See Also: EMS
- -

EMM Functions