First post, by Exploit
I am trying to get a virtual CD-ROM drive running in DR-DOS 3.41 in QEMU 7.0.0, but all attempts failed.
It works with the same Virtual Machine in MS-DOS 6.2 and FreeDOS 1.3 but not DR DOS 3.41.
The Problem seems to be that the CD-ROM driver and MSCDEX version 2.23 loads, but when i try to access the CD-ROM on Drive D: it fails
with the message:
Invalid drive specified
A CD-ROM ISO image file was inserted in the virtual CD-ROM drive.
Also UDVD2 gives the error message:
UDVD2, 3-05-2015. CD/DVD name is MSCD001
BAD Controller at I-O address C640h, Chip I.D. 80867010h.
CD0: IDE 0 Primary-master, QEMU DVD-ROM, PIO.
I tried several combinations of CD-ROM Drivers which where:
- UDVD2.SYS
- UIDE.SYS
- VIDE-CDD.SYS (proprietary Oak Technologies Universal IDE CD-ROM Driver)
and the DOS CD-ROM Extension:
- MSCDEX.EXE
- SHSUCDX.COM
But all have the same problem.
CONFIG.SYS with UDVD2 from FreeDOS 1.3
UDVD2 requires XMS memory, which DR DOS 3.41 lacks. Thus i loaded HimemEX from FreeDOS 1.3 for it:
...
REM HimemEX from FreeDOS 1.3 is required for UDVD2
DEVICE = C:\STUFF\HIMEMX\HIMEMX.EXE
DEVICE = C:\STUFF\UDVD2\UDVD2.SYS /D:MSCD001
...
CONFIG.SYS with UIDE.SYS
...
REM HimemEX is not needed with the /N3 switch. /N3 = no XMS memory required
REM DEVICE = C:\STUFF\HIMEMX\HIMEMX.EXE
DEVICE = C:\STUFF\UIDE\UIDE.SYS /D:MSCD001 /N1 /N3 /R15
REM I also tried the /A switch for alternate addressing:
REM DEVICE = C:\STUFF\UIDE\UIDE.SYS /D:MSCD001 /N1 /N3 /R15 /A
REM and the /E switch (makes the driver call the BIOS):
REM DEVICE = C:\STUFF\UIDE\UIDE.SYS /D:MSCD001 /N1 /N3 /R15 /E
REM and a combination of them:
REM DEVICE = C:\STUFF\UIDE\UIDE.SYS /D:MSCD001 /N1 /N3 /R15 /A /E
...
The comments where of course set and removed accordingly.
CONFIG.SYS with VIDE-CDD.SYS (proprietary Oak Technologies Universal IDE CD-ROM Driver)
...
REM /P:XXX sets the base address for the IDE drive. Available settings are 1F0, 170, 1E8, 168
REM If /P is not given, VIDE-CDD.SYS tries auto-detection.
REM /L:xx language code. For the screenshot and this board i used US.
DEVICE = C:\STUFF\CDROM\VIDE-CDD.SYS /D:MSCD001 /L:US
REM DEVICE = C:\STUFF\CDROM\VIDE-CDD.SYS /D:MSCD001 /P:1F0 /L:US
REM DEVICE = C:\STUFF\CDROM\VIDE-CDD.SYS /D:MSCD001 /P:170 /L:US
REM DEVICE = C:\STUFF\CDROM\VIDE-CDD.SYS /D:MSCD001 /P:1E8 /L:US
REM DEVICE = C:\STUFF\CDROM\VIDE-CDD.SYS /D:MSCD001 /P:168 /L:US
...
AUTOEXEC.BAT with MSCDEX.EXE
...
REM I did not use the /E parameter, thus extended memory was not required
C:\STUFF\MSCDEX\MSCDEX.EXE /D:MSCD001 /M:16 /L:D /V
...
AUTOEXEC.BAT with SHSUCDX.COM
...
REM /C = stay in low memory
C:\STUFF\SHUSCDX\SHUSCDX.COM /D:MSCD001 /L:D /C
...
Summary:
So i don't know why, but somehow DR-DOS 3.41 was never made to work with CD-ROM drives.
As i said before, the same virtual machine settings work with FreeDOS 1.3 and MS-DOS 6.2.
Does anyone know, what could be the problem with DR DOS 3.41?
Are these DOS incompatibilities?
I know that DR DOS 7.0 was shipped with its own NWCDEX DOS CD-ROM Extension but that is not available in DR DOS 3.41
and the problem seem to be right at the beginning when the CD-ROM drivers get loaded.
The reason why i want to use DR DOS 3.41 for this and not a later version or MS-DOS 6.2 or FreeDOS 1.3 is, that this was my first DOS in my childhood and i wanted to know how far i get with this version.
See screenshots for some of the combinations above.