VOGONS


First post, by superfury

User metadata
Rank l33t++
Rank
l33t++

Anyone knows what exactly causes the corrupted CD-ROM driver error when attempting to run Rayman for MS-DOS?
Is it looking for some specific cd-rom format when it checks this? I remember it running fine from within Windows 9x somehow, but not inside MS-DOS.

I'm just using the basic MS-DOS 6.22 OAKCDROM.SYS with preinstalled MSCDEX.EXE (OAKCDROM.SYS from here).

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 1 of 5, by dr_st

User metadata
Rank l33t
Rank
l33t

I haven't encountered this particular message, but it seems you're not the first...

1. Which Rayman version is it? Which CD?
2. Is the error when trying to run the game or already when trying to install?
3. Have you tried other CD-ROM drivers (like VIDE-CDD.SYS) from that website you linked to?
4. What exactly are the relevant lines in CONFIG/AUTOEXEC (loading the CD driver and MSCDEX)?

https://cloakedthargoid.wordpress.com/ - Random content on hardware, software, games and toys

Reply 2 of 5, by Harry Potter

User metadata
Rank Oldbie
Rank
Oldbie

superfury: I'm sorry that this will probably not help your particular situation, but you may find more efficient replacements to the CD driver and MSCDEX at https://dosprograms.info.tt/indexall.htm#utils. They may or may not help with your problem but should require less RAM than the originals.

Joseph Rose, a.k.a. Harry Potter
Working magic in the computer community

Reply 3 of 5, by NeoG_

User metadata
Rank Oldbie
Rank
Oldbie

From what I can tell the message has nothing to do with MSCDEX itself and is the game's DRM telling you it can't find a genuine disc, solutions seem to be to use a later version of the game if using a physical disc or patch the protection out of the game executable if running from HDD or using a virtual drive.

98/DOS Rig: BabyAT AladdinV, K6-2+/550, V3 2000, 128MB PC100, 20GB HDD, 128GB SD2IDE, SB Live!, SB16-SCSI, PicoGUS, WP32 McCake, iNFRA CD, ZIP100
XP Rig: Lian Li PC-10 ATX, Gigabyte X38-DQ6, Core2Duo E6850, ATi HD5870, 2GB DDR2, 2TB HDD, X-Fi XtremeGamer

Reply 4 of 5, by superfury

User metadata
Rank l33t++
Rank
l33t++

So basically the disk read or TOC read is failing somehow? My emulation is reading the cuesheet with it's .bin file (trying to create an image for my physical copy seems to fail at the start of the disc for some reason, probably some scratches).
I seem to remember the cue/bin running fine inside Windows 9x? Or is there now an error in my cue/bin file parsing somehow?

How should the INDEX 00 and PREGAP and POSTGAP commands affect the bin and read layout of the disc? How does a CD-ROM drive handle those during the Read CD and read sector commands?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 5 of 5, by superfury

User metadata
Rank l33t++
Rank
l33t++

OK. I've looked into what the rayman.exe is actually doing when it starts up until it reaches the error point.
It tries a mode sense command 4 times for page 2Ah.
Then I see it executing 4 mode sense ATAPI commands, followed by a Read Sub-channel command, after which it throws the error.
The Read Sub-channel command has a format of 1 (CD-ROM current position).
But the software gives the MSCDEX error immediately after this?

The command packet is like this:
42=Read sub-channel
02 =MSF 1
00=SubQ 0. Header only.
01 =sub-channel data format =CD-ROM current position
00 =reserved
00 =reserved
00 =track number
00 =allocation length high
04 =allocation length low = 4
00 =reserved
00 =reserved
00 =reserved

It returns a packet with a size of 4 bytes (containing just the player status, which is inactive as it's not playing anything).

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io