[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
Int 4B Fn 8102  - Virtual Dma Specification (vds) - Get Version            [d]

   AX = 8102h
   DX = 0000h

Return: CF clear if successful
       AH = major version number
       AL = minor version number
       BX = product number (see below)
       CX = product revision number
       always 0000h for QMAPS and HPMM.SYS
       always 0001h for Microsoft's EMM386.EXE v4.20-4.41
       SI:DI = maximum DMA buffer size
       DX = flags
       bit 0: PC/XT bus (DMA in first megabyte only)
       bit 1: physical buffer/remap region in first megabyte
       bit 2: automatic remap enabled
       bit 3: all memory is physically contiguous
       bits 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

See Also: INT 2C/AX=002Bh,INT 31
Index: installation check;Virtual DMA Spec

Values for product number:
 0000h for Quadtel's QMAPS and Hewlett-Packard's HPMM.SYS
 0001h for Microsoft's EMM386.EXE
 0003h for Windows 3.x WIN386.EXE
 0EDCh for DR-DOS 6.0 EMM386.SYS
 4560h ("E`") for Qualitas' 386MAX
 4D43h ("MC") for V Communication's Memory Commander
 5145h ("QE") for Quarterdeck's QEMM-386
 524Dh ("RM") for Helix's Netroom RM386

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-11 of the page table entries should be zero; bit 0 set if page
     is present and locked

This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson