Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Ralf Brown's Interrupt List (Part 1,2) - int 4b - virtual dma specification (vds) - get version http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
INT 4B - Virtual DMA Specification (VDS) - GET VERSION
        AX = 8102h
        DX = 0000h
Return: CF clear if successful
            AH = major version number
            AL = minor version number
            BX = product number
            CX = product revision number
            SI:DI = maximum DMA buffer size
            DX = flags
                bit 0: PC/XT bus (DMA in first megabyte only)
                    1: physical buffer/remap region in first megabyte
                    2: automatic remap enabled
                    3: all memory is physically contiguous
                 4-15: reserved (zero)
        CF set on error
            AL = error code (see below)
Note:   bit 5 of 0040h:007Bh is supposed to be set if VDS is supported; this is
          apparently not always the case
SeeAlso: INT 31

Values for error code:
 01h    region not in contiguous memory
 02h    region crossed a physical alignment boundary
 03h    unable to lock pages
 04h    no buffer available
 05h    region too large for buffer
 06h    buffer currently in use
 07h    invalid memory region
 08h    region was not locked
 09h    number of physical pages greater than table length
 0Ah    invalid buffer ID
 0Bh    copy out of buffer range
 0Ch    invalid DMA channel number
 0Dh    disable count overflow
 0Eh    disable count underflow
 0Fh    function not supported
 10h    reserved flag bits set in DX

Format of DMA descriptor structure (DDS):
Offset  Size    Description
 00h    DWORD   region size
 04h    DWORD   offset
 08h    WORD    segment/selector
 0Ah    WORD    buffer ID
 0Ch    DWORD   physical address

Format of Extended DMA descriptor structure (EDDS):
Offset  Size    Description
 00h    DWORD   region size
 04h    DWORD   offset
 08h    WORD    segment/selector
 0Ah    WORD    reserved
 0Ch    WORD    number available
 0Eh    WORD    number used
 10h    DWORD   region 0 physical address
 14h    DWORD   region 0 size in bytes
 18h    DWORD   region 1 physical address
 1Ch    DWORD   region 1 size in bytes
        ...

Format of Extended DMA descriptor structure (EDDS) with page table entries:
Offset  Size    Description
 00h    DWORD   region size
 04h    DWORD   offset
 08h    WORD    segment/selector
 0Ah    WORD    reserved
 0Ch    WORD    number available
 0Eh    WORD    number used
 10h    DWORD   page table entry 0 (same as 80386 page table entry)
 14h    DWORD   page table entry 1
        ...
Note:   bits 1-12 of the page table entries should be zero; bit 0 set if page
          is present and locked

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