VOGONS

Common searches


MSCDEX Research

Topic actions

  • This topic is locked. You cannot reply or edit posts.

First post, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

Took a look at NT 3.51/4/2K/XP

They all use MSCDEX v2.21

IIRC, Dos 6.22 uses MSCDEX v2.23 and most DOS CD games are looking for functions on v2.22 or v2.23.

oh the DOS MSCDEX is quite a bit bigger than the NT counterpart. 24kb as opposed to less than 1kb. 😮

History of Microsoft MS-DOS CD-ROM Extensions (MSCDEX)
http://support.microsoft.com/default.aspx?sci … ;EN-US;Q123408&

Here's the culprit:

Changes from Version 2.1 to 2.2
The return value of the READ Device Status command now indicates whether reading of the R-W subchannels is supported. The corresponding description for obtaining the audio subchannel information has been expanded to cover the need for obtaining this information concurrently with audio data.

That's it for now! Exhaustive research. Me tired.

How To Ask Questions The Smart Way
Make your games work offline

Reply 1 of 22, by Stiletto

User metadata
Rank l33t++
Rank
l33t++

If, as you said, most DOS games want 2.22 or 2.23, then this is more important:

Changes from Version 2.21 to 2.22 - MSCDEX now loads into UMA. If there is enough memory available, MSCDEX version 2.21 and ear […]
Show full quote

Changes from Version 2.21 to 2.22
- MSCDEX now loads into UMA. If there is enough memory available, MSCDEX version 2.21 and earlier can load into upper memory. MSCDEX version 2.21 and earlier require the load size of MSCDEX (which varies for different configurations) plus 48K of memory to load. The extra 48K of memory is added to ensure there is enough memory to load COMMAND.COM.
- MSCDEX version 2.22 checks to see if the driver is being loaded above 640K. If it is, MSCDEX does not add 48K to the initialization load size because it does not need to be concerned with the transient portion of COMMAND.COM.
- MSCDEX is no longer version dependent. If you are using MS-DOS 5.0 or 6.0, earlier version of MSCDEX require that you use SETVER.EXE to tell MSCDEX the MS-DOS version is 4.0.
- The /V switch now reports accurate memory statistics. Earlier versions of MSCDEX were not accurate.

Changes from Version 2.22 to 2.23
- MSCDEX version 2.22 erroneously assumes that files in a directory on a CD-ROM are sorted (collated by ASCII code value). Performing a file search could result in missed files if the files on the CD-ROM are not sorted. MSCDEX version 2.23 does not assume that the files are sorted but instead searches the entire directory and does not return a "File not found" error message unless the file does not actually exist.
- MSCDEX version 2.23 allows files and directory names to begin with an exclamation point (!), allowing EISA configuration files to be shipped on CD-ROMs.

BTW, here's my list of MSCDEX.EXE (not MSCDEXNT.EXE) replacements again.

MSCDEX Replacements
-------------------
1.) Artisoft - CDLANX - Workstation/server replacement for MSCDEX. File size: 2.68 kb; File date: 03-09-92. Download it at http://ftp.artisoft.com/artisoft/public/cdlanx.zip

2.) Artisoft - MXSUB - MSCDEX replacement program for workstations. File size: 4.40 kb; File date: 06-20-90. Download it at ftp://ftp.artisoft.com/artisoft/public/mxsub.zip

3.) Caldera/Novell - NWCDEX (Novell DOS 7?) - The main problem is that this driver takes up about 60k and takes a large amount of memory to install. Nevertheless, This is an incredible mscdex.exe replacement. As of the 11/16/94 update returns the same canonical path as MSCDEX; earlier revisions returned "Cdex. D:\path", where "D" is the CD-ROM drive letter. [url]http://www.caldera.com,[/url] http://jason-n3xt.org/dos/DOWNLOAD/NWCDEX.ZIP

4.) Corel - CORELCDX - returns canonical names of the form "\\D.\A.\path", where "D" is the CD-ROM drive letter and "A" appears to indicate the first physical CD-ROM drive.

5.) Microsoft - Windows95 (MSCDEX-replacement VxD - CDFS.VXD?) - returns "D:\path", even though the MS-DOS 7.00 MSCDEX behaves identically to older versions

6.) Sam Houston State University - SHSUCD - v1.4b - a FREE CD-ROM client/server, it can store CD images on a hard disk, and includes a TINY MSCDEX replacement that can talk to the drive across the network as though it were attached with MSCDEX. Supposedly works with DOS, Win, Win95, NT, and OS/2, and the server can run in an NT DOS VDM or on a standalone box. It uses only 11K RAM resident and can be unloaded. You can find it on the SIMTEL archive at ftp.cdrom.com in the simtelnet/cdrom directory, or at its homepage at http://www.shsu.edu/~csc_jhm/

7.) ??????? - MSCDEX - This driver takes up about 20-30k, which is about the same as the Microsoft version. Not recommended for use with Windows (98?) - Windows doesn't seem to enjoy accessing the CD-ROM drive when using it; it's quite a confusing problem and maybe it's only relative to certain systems. Download it at http://jason-n3xt.org/dos/DOWNLOAD/MSCDEX.ZIP

8.) ??????? - SUPERCDX - It is primarily designed to run multiple CD ROM drives in a machine; however, it boasts a speed improvement over MSCDEX. The people who make it had a BBS at one time: (512) 326-2754. More information at http://www.google.com/search?q=cache:gaM4ee83 … cement%22&hl=en

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto

Reply 3 of 22, by Stiletto

User metadata
Rank l33t++
Rank
l33t++

Hm. I thought I'd just found another one (FDCDEX, works with FreeDOS) until I discovered that it's really just SHSUCD in disguise.

SCSUCD comes with source code - unfortunately for you, it's all in assembly with a little C.

Of course, you could also always use a disassembler on the MSCDEX replacements you find.

I'm curious to know whether most of the actual functions for MSCDEXNT are in the kernel, or whether we can actually create a MSCDEXNT-replacement...

... what's our reasoning for creating one again?...

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto

Reply 5 of 22, by Stiletto

User metadata
Rank l33t++
Rank
l33t++

Attempting to interest a few PSX emulator CD-ROM plugin authors in this project. I hope I raise the interest of one of them... 😀

*wonderz who might be watching*

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto

Reply 8 of 22, by Stiletto

User metadata
Rank l33t++
Rank
l33t++
Snover wrote:

Attempting how? Posting on random PSX boards? 😉

Hell no!

I enjoy my MAME.net email address and use it to my advantage - it comes in handy... an emulator author sees an email from it, he thinks twice... 😀

But I emailed Pete Bernert, who's an acquaintance from the old PSEmuPro dayz when I frequented the #psemu IRC channel that the devs all hung out in. He still frequents the messageboards at Retrogames, and knows me. So we chatted. He thought SaPu might be able to help, if he is interested in it. Lord knows SaPu's done other strange projects... such as a Windows NT/2000/XP patch for Connectix Virtual Game Station, a MMX "emulator" for processors which are non-MMX... but he also wrote an excellent CD-ROM plugin for FPSE and PSEmu-standard PSX emulators, including one that uses MSCDEX commands. Pete's uses ASPI/IOCTL commands. Between the two, if anyone could do it, they could... if they want to...

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto

Reply 9 of 22, by Stiletto

User metadata
Rank l33t++
Rank
l33t++

Good news - Sapu is interested in helping with this project, provided time isn't of the essence.

What I'd like to start here is a list of games which need these additional Microsoft CD Extensions, etc. as found in the later versions of MSCDEX.EXE. Batter up...

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto

Reply 11 of 22, by Stiletto

User metadata
Rank l33t++
Rank
l33t++

I'll do that.

FYI: Here's some more info about what didn't make it in. M$ claims it's because these modes require direct hardware access (which as you know is a pain in WinNT/2K/XP).

See here:
http://support.microsoft.com/default.aspx?sci … b;en-us;Q314106

"Microsoft CD-ROM Extensions (MSCDEX) functions 2, 3, 4, 5, 8, E, and F are not supported."

That would be these (thanks to SaPu):

About the 'unsupported' MSCDEX functions from the MS article, here is a list of what they are taken from the 'Ralf Brown' interr […]
Show full quote

About the 'unsupported' MSCDEX functions from the MS article, here is a list of what they are taken from the 'Ralf Brown' interrupt list:
INT 2F - AX = 1502h - GET COPYRIGHT FILE NAME
INT 2F - AX = 1503h - GET ABSTRACT FILE NAME
INT 2F - AX = 1504h - GET BIBLIOGRAPHIC DOC FILE NAME
INT 2F - AX = 1505h - READ VTOC
INT 2F - AX = 1508h - ABSOLUTE DISK READ
INT 2F - AX = 150Eh - GET/SET VOLUME DESCRIPTOR PREFERENCE
INT 2F - AX = 150Fh - GET DIRECTORY ENTRY

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto

Reply 12 of 22, by vladr

User metadata
Rank Oldbie
Rank
Oldbie

It would be nice to be able to mount images (iso, nrg, etc.) directly without having to go through ASPI. Most games use the CD for speech, and they harass the poor drives unless they happen to be 1x. I think DosBox could use this as well. 😀

I can probably take a look at the MSCDEX specs -- I'm really pissed at not being able to play the CD version of Loom under Windows without destroying my drive and a couple of CD-R's (to get the lead-in right).

V.

Reply 14 of 22, by vladr

User metadata
Rank Oldbie
Rank
Oldbie
DosFreak wrote:

oh the DOS MSCDEX is quite a bit bigger than the NT counterpart. 24kb as opposed to less than 1kb. 😮

Not relevant. 😀 MSCDEXNT does most of the work in Win32 (via NTVDM.EXE), so it doesn't show in the 16-bit code (causes traps and Win32 takes over from there).

V.

Reply 16 of 22, by DosFreak

User metadata
Rank l33t++
Rank
l33t++
vladr wrote:

Not relevant. 😀 MSCDEXNT does most of the work in Win32 (via NTVDM.EXE), so it doesn't show in the 16-bit code (causes traps and Win32 takes over from there).

V.

Yep, was just commenting on that fact. 😉

It may not be worth it to get MSCDEX working properly under NT. Dosbox would be the best and easiest solution...but if a way could possibly be found for NT too in the process.....

I'm betting it could be done tho, look at VDMSound.....

How To Ask Questions The Smart Way
Make your games work offline

Reply 18 of 22, by vladr

User metadata
Rank Oldbie
Rank
Oldbie
Snover wrote:

Dude, how exactly would you propose DosBox does it? It would have to use *exact* CD images on the HDD or have direct access to CDs.

Direct access is not likely in DosBox. So more like "rip your CD to .iso+.wav format and play it through DosBox" kind of approach, or with an optional, platform-dependent plugin that does the actual ioctl.

V.