Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- XMS Specification (version 3.0) - <b>request upper memory block (function 10h)</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
Request Upper Memory Block (Function 10h)

        ARGS:   AH = 10h
                DX = Size of requested memory block in paragraphs

        RETS:   AX = 0001h if the request is granted, 0000h otherwise
                BX = Segment number of the upper memory block
                If the request is granted,
                DX = Actual size of the allocated block in paragraphs
                     otherwise,
                DX = Size of the largest available UMB in paragraphs

        ERRS:   BL = 80h if the function is not implemented
                BL = B0h if a smaller UMB is available
                BL = B1h if no UMBs are available

This function attempts to allocate an upper memory block to the caller.
If the function fails, the size of the largest free UMB is returned in
DX.

NOTE: By definition UMBs are located below the 1MB address boundary.
The A20 Line does not need to be enabled before accessing an allocated
UMB.

   UMBs are paragraph aligned.
   To determine the size of the largest available UMB, attempt to
   allocate one with a size of FFFFh.
   UMBs are unaffected by EMS calls.

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson