VOGONS


First post, by wbahnassi

User metadata
Rank Oldbie
Rank
Oldbie

Hi guys,

Anyone has experience with this NEC multi CD changer drive? It's the CDR-C251.

It has a weird setup program that only works from Win3.1 or Win95, but I'm mainly interested in its DOS operation. The Win3.1 driver package includes a version of NEC_IDE.SYS that is modified for the changer. When this is loaded in config.sys, it will register 4 drives. Then mscdex.exe will map the drives to a sequence of drive letters (for example: E,F,G,H).

The package also includes another driver MCDDRV.SYS which I'm curious about, but I couldn't get to work. This driver is accompanied with a DOS tool: MCDTRAY.COM, which seems to be able to remap a CD drive letter to any one of the trays. I guess this is what NEC calls "single drive mode".

The Win3.1 setup program should be able to switch the drive between multi and single drive mode, but it's exiting right away before it makes the actual switch.

Any one tried this drive in single drive mode? I'm hoping I can have it run as one drive letter that can be assigned to any of the trays via the MCDTRAY.COM command.

Currently when I load MCDDRV.SYS it gives me an error that it didn't find the drive:

The attachment 20240906_114922.jpg is no longer available

These are the files for the driver package I'm using:

The attachment 20240906_115004.jpg is no longer available

MCDTRAY.COM refuses to work too, I assume because MCDDRV.SYS is failing to load as you can see in the first screenshot.

Turbo XT 12MHz, 8-bit VGA, Dual 360K drives
Intel 386 DX-33, Speedstar 24X, SB 1.5, 1x CD
Intel 486 DX2-66, CL5428 VLB, SBPro 2, 2x CD
Intel Pentium 90, Matrox Millenium 2, SB16, 4x CD
HP Z400, Xeon 3.46GHz, YMF-744, Voodoo3, RTX2080Ti

Reply 1 of 9, by tauro

User metadata
Rank Member
Rank
Member

Very interesting device! I didn't know these existed.

So MCDDRV.SYS is a modified version of OAKCDROM?

Did you try VIDE-CDD and MSCDEX to load it as a single drive to see if it works?

Reply 2 of 9, by wbahnassi

User metadata
Rank Oldbie
Rank
Oldbie

NEC_IDE.SYS is the modified Oak driver. MCDDRV.SYS is a very tiny driver (1KB only) so it cannot be a standalone CD driver. It must be an augmenting driver specialized only to do one thing.

You can use other IDE drivers, and indeed they will only recognize a single drive letter (I tried a stock Oak driver and UDVD2.SYS). But MCDTRAY.COM still refused to operate, so I'm guessing it is trying to communicate with MCDDRV.SYS but not finding it loaded.
Not sure what MCDDRV.SYS is looking for in this case. Is there a way to disassemble .SYS files? Maybe something interesting will show up there.

Turbo XT 12MHz, 8-bit VGA, Dual 360K drives
Intel 386 DX-33, Speedstar 24X, SB 1.5, 1x CD
Intel 486 DX2-66, CL5428 VLB, SBPro 2, 2x CD
Intel Pentium 90, Matrox Millenium 2, SB16, 4x CD
HP Z400, Xeon 3.46GHz, YMF-744, Voodoo3, RTX2080Ti

Reply 3 of 9, by PC Hoarder Patrol

User metadata
Rank l33t
Rank
l33t
wbahnassi wrote on 2024-09-09, 11:35:

NEC_IDE.SYS is the modified Oak driver. MCDDRV.SYS is a very tiny driver (1KB only) so it cannot be a standalone CD driver. It must be an augmenting driver specialized only to do one thing.

You can use other IDE drivers, and indeed they will only recognize a single drive letter (I tried a stock Oak driver and UDVD2.SYS). But MCDTRAY.COM still refused to operate, so I'm guessing it is trying to communicate with MCDDRV.SYS but not finding it loaded.
Not sure what MCDDRV.SYS is looking for in this case. Is there a way to disassemble .SYS files? Maybe something interesting will show up there.

This is a translation from an old Hungarian-language forum - does it make any more sense to what you're seeing...

> I had DOS drivers on the "factory" disk, only install.exe wanted
> windows on everything. With the installer (3 files need to be loaded,
> install also does this):
> in CONFIG:
> DEVICE=[...]\NEC_IDE.SYS /D: NECCD -> assign 4 letters to the drive, or
> DEVICE=[...]\MCDDRV.SYS /D: NECCD -> assigns 1 letter to the drive
> (The install puts _both_ at the same time, re-locks one, and
> you can recall the install in Windows (called CD Changer setup utility), which
> puts the REM in config.sys there (!!! 😀 and says to reboot...)
>
> in AUTOEXEC:
> [...]\MSCDEX .EXE /D: NECCD
>
> If there is a letter (MCDDRV.SYS):
> [...]\MCDTRAY.COM {drive letter} {tray number} is replaced at any time
> (slotutil.exe does the same from Windows)

Reply 4 of 9, by wbahnassi

User metadata
Rank Oldbie
Rank
Oldbie

Thanks. This confirms my expectations on how the driver is to be used. I'll give it another try to see of I can convince it to work. Maybe try it on another system.

I feel this "single drive mode" makes most sense to me. In multi drive letter mode, you need to remember from which try you installed your game, as it will always look for that specific drive letter when running.

Turbo XT 12MHz, 8-bit VGA, Dual 360K drives
Intel 386 DX-33, Speedstar 24X, SB 1.5, 1x CD
Intel 486 DX2-66, CL5428 VLB, SBPro 2, 2x CD
Intel Pentium 90, Matrox Millenium 2, SB16, 4x CD
HP Z400, Xeon 3.46GHz, YMF-744, Voodoo3, RTX2080Ti

Reply 5 of 9, by wbahnassi

User metadata
Rank Oldbie
Rank
Oldbie

Got it to work!

I don't know about that old mailing list post, but my version of MCDDRV.SYS won't work unless you specifically use the name "MCHGR_01" for the device. I found out this name by looking at the driver's binary data. So, here is my documentation on how to setup this drive:

1- Multi-drive mode:
In CONFIG.SYS:
DEVICE=C:\CDROM\NEC_DRV.SYS /D:MCHGR_01

In AUTOEXEC.BAT:
C:\DOS\MSCDEX.EXE /D:MCHGR_01

The above (with the right modded NEC_DRV.SYS file) will result in 4 drive letters added to the system. Each maps to one of the drive's trays.

2- Single drive mode:
In CONFIG.SYS:
DEVICE=C:\CDROM\NEC_DRV.SYS /D:MCHGR_01
DEVICE=C:\CDROM\MCDDRV.SYS /D:MCHGR_01

In AUTOEXEC.BAT:
C:\DOS\MSCDEX.EXE /D:MCHGR_01

The above will result in just one new drive letter, even if NEC_DRV.SYS is reporting 4. MCDDRV.SYS will take over the 4 and virtualize them behind a single drive letter. Now, after a restart, the CD drive letter will always map to tray 1. To remap the drive letter to another tray, run:
MCDTRAY.COM 2
The above remaps the CD to tray 2 ..etc. Now when you access the CD drive, the drive will switch to tray 2 and give you the contents of that CD.

Notes:

  • MCDDRV.SYS loads successfully with other drivers than NEC_IDE.SYS (e.g. UDVD2.SYS), but you always get "CDROM Not Ready" error when trying to access the drive. So just stick to the changer-mod version of NEC_IDE.SYS.
  • MCDTRAY.COM can be used to eject/retract the trays, but I found it a bit dumb. Once the tray door is open, it just refuses to do any operation until you close the tray yourself using the chassis buttons.
  • It would be VERY cool if MCDTRAY.COM was a TSR that monitors key combos (e.g. CTRL+F1/F2/F3). This would allow switching CDs in those multi-CD games (hello Phantasmagoria) without leaving the game. Too bad NEC hasn't explored this opportunity.

Well, now I really like this drive 🤩 Single-drive mode is what I assumed a CD changer always operated as.

Turbo XT 12MHz, 8-bit VGA, Dual 360K drives
Intel 386 DX-33, Speedstar 24X, SB 1.5, 1x CD
Intel 486 DX2-66, CL5428 VLB, SBPro 2, 2x CD
Intel Pentium 90, Matrox Millenium 2, SB16, 4x CD
HP Z400, Xeon 3.46GHz, YMF-744, Voodoo3, RTX2080Ti

Reply 6 of 9, by shan2752

User metadata
Rank Newbie
Rank
Newbie

Thank you for documenting this! Now I have finally been able to set mine up to work as intended in DOS.

Last edited by shan2752 on 2025-09-21, 03:30. Edited 1 time in total.

Reply 7 of 9, by maxtherabbit

User metadata
Rank l33t
Rank
l33t

I'm sure the multi drive mode is for multi cd games which let you pick unique drive letters for each disk to eliminate swapping

Reply 8 of 9, by shan2752

User metadata
Rank Newbie
Rank
Newbie

I’m just using the single drive mode and it works great. I can actually store 4 CD’s now and switch to them in Dos.

Reply 9 of 9, by wbahnassi

User metadata
Rank Oldbie
Rank
Oldbie

Yeah it's cool. But if you're in a multi-CD game like Phantasmagoria or Gabriel Knight 2, the game will eventually ask to change the CD from within the game. You can't bail out to DOS to run MCDTRAY.COM at that point. I would love to reverse-engineer MCDTRAY.COM and write a TSR that supports keyboard shortcuts such that I can press ALT+F1/F2/F3/F4 to change the CD while the game is still running.

Turbo XT 12MHz, 8-bit VGA, Dual 360K drives
Intel 386 DX-33, Speedstar 24X, SB 1.5, 1x CD
Intel 486 DX2-66, CL5428 VLB, SBPro 2, 2x CD
Intel Pentium 90, Matrox Millenium 2, SB16, 4x CD
HP Z400, Xeon 3.46GHz, YMF-744, Voodoo3, RTX2080Ti