- To: firstname.lastname@example.org
- Subject: PMNOS v1.2
- From: email@example.com (Mike Bilow)
- Date: Sun, 08 Jan 95 03:56:00 -0000
- Reply-to: firstname.lastname@example.org
root wrote in a message to Mike Bilow:
r> From: root <email@example.com>
r> To: firstname.lastname@example.org
r> Hello Walt,
r> we are four stations (dj8jg, df5ko,dl4kaw and me dk8g ) here
r> in DL-Cologne area with 56kb DSY-modems and PI-cards.
r> We could use JNOS in a DOS-box with OS2 v2.0. But this game
r> was stopped with OS2 v2.11. It looks like the DMA-access
r> was no longer supported in a DOS-box. We used PMNOS but
r> without our 56kb highspeed pieces.
You have a problem somewhere. Here is IBM's summary of what the VDMA.SYS
driver does, taken from the Virtual Device Driver Reference:
The virtual direct memory access device driver (VDMA) provides per-DOS session
per-direct memory access (DMA) channel virtualization. In addition, the virtual
DMA device driver provides the following:
Serializes the DOS session's DMA requests on a per-DMA channel basis
(but allows simultaneous requests on different DMA channels)
Converts the DOS session's linear addresses to physical addresses, and
handles all the data movement required
Handles all the restrictions of a DMA chip
Supports the enhanced DMA operations and commands of a personal computer
Optimizes DMA virtualization on personal computers by using the enhanced
Supports INT 4Bh - Function 81h virtual DMA services
Supports virtualized DMA in auto-initialization mode
In addition to the above features, the virtual DMA device driver also
synchronizes the operations with other virtual device drivers registered on
different DMA channels. A virtual device driver for a piece of hardware, which
uses a DMA channel, registers with the virtual DMA device driver. The virtual
device driver informs these virtual device drivers before starting and stopping
the DMA operation on their channels.
Applicable to OS/2 Warp, IBM has released some supplemental documentation for
notifying the Resource Manager about the expected use of resources, in order to
discourage conflicts. This is implemented by manually installing
"BASEDEV=RESERVE.SYS" in CONFIG.SYS, using the following command line switches:
switch format example description
---------- ---------- ----------- -------------------------------
/IO: /IO:x,x /IO:340,4 Reserve IO ports. First number is base
port in HEX, followed by length (number
of ports) in hex.
/P: same as /IO:
/MEM: /MEM:x,x /MEM:CA00,1000 Reserve Memory. First number is base
memory address (HEX), with the
assumption that the address is XXXX:0,
followed by the length (number of
address) in hex.
/DMA: /DMA:x /DMA:2 Reserve DMA Channel. Number is decimal.
/IRQ: /IRQ:x /IRQ:13 Reserve IRQ. Number is decimal.
/EXC /EXC /EXC Exclusive resource attribute
/MUL /MUL /MUL Multiplexed resource attribute
/SHA /SHA /SHA Shared resource attribute
/GY /GY /GY Grant Yield resource attribute
/DW: /DW:x /DW:10 Decode width of IO address. Valid
numbers are 10 and 16. Only valid with
Note: more than one resource attribute per resource entry is an error and not
allowed. If no attributes or decode width is set, the default is
EXCLUSIVE and 16.
Example: Want to reserve
IRQ 13 EXCLUSIVE,
DMA 0 SHARED,
MEMORY CA00:0 for 1000 bytes shared,
IO ports 340 for 10 ports EXCLUSIVE and decode width 16,
and IO ports 300 for 64 ports Grant Yield, with a decode width of 10:
BASEDEV=RESERVE.SYS /IRQ:13 /DMA:0 /SHA /MEM:CA00,3E8 /SHA /IO:340,A
/IO:300,100 /GY /DW:10
I would say that you should start by making sure that VDMA.SYS is properly
loaded, and then proceed logically from there. Anything that worked in a DOS
box under OS/2 2.0 should continue to work under OS/2 2.11.