# DOS CD-ROM Driver sequence



## ryeookin (May 3, 2007)

I didn't think it was possible to mount the cdrom drive before config.sys but if it can be done It would make my life MUCH easier for the multiboot ghost cd I'm making.

Any luck figuring it out?


----------



## JohnWill (Oct 19, 2002)

Nope, I don't have any need to do that, and I think it's not going to happen. The driver has to be loaded before MSCDEX, and CONFIG.SYS is the first chance for drivers to be loaded.


----------



## ryeookin (May 3, 2007)

I'm sorry.. I meant mount the cdrom driver before "*autoexec.bat*" (was a misstype on my part) I'm hoping to get this done so the cdrom can be the storage place for config.sys's needed files.

For the cdrom to mount, an entry for the driver is added to both config.sys and exec.bat. (the the exact entries of which I use elude me as I'm at home, not at work at the moment) However I haven't been able to get a cdrom to fully mount in config.sys.

From whats listed above thats what StumpedTechie was also trying to accomplish. If he or anyone found a way to accomplish this and would be willing to share, it would be much appreciated!


----------



## JohnWill (Oct 19, 2002)

Put the MSCDEX line as the first line in AUTOEXEC.BAT, then the CD will be there for the rest of the initialization.


----------



## ryeookin (May 3, 2007)

Johnwill- MSCDEX is definitely in there and that doesn't seem to be working. This is what I've tried thus far.

Test config.sys:
Config.sys in the A:\ drive with a cd in the cdrom drive with information on the cd located "D:\NETNET\3C90X\NTSTS.DOS"
---------
Test1:
DEVICEHIGH=A:\OAKCDROM.SYS /D:MSCD001
install A:\MSCDEX.EXE /D:MSCD001 /L: D

DEVICEHIGH=D:\NETNET\3C90X\NTSTS.DOS
set? a= did it load the above with no errors?
(can't access the D drive.. so this didn't work)
---------
Test2:
DEVICEHIGH=A:\OAKCDROM.SYS /D:MSCD001
DEVICEHIGH=A:\MSCDEX.EXE /D:MSCD001 /L: D

DEVICEHIGH=D:\NETNET\3C90X\NTSTS.DOS
set? a= did it load the above with no errors?
(freezes after oakcdrom.sys line)
---------
Test3:
DEVICEHIGH=A:\OAKCDROM.SYS /D:MSCD001
DEVICE=A:\MSCDEX.EXE /D:MSCD001 /L: D

DEVICEHIGH=D:\NETNET\3C90X\NTSTS.DOS
set? a= did it load the above with no errors?
(freezes after oakcdrom.sys line)
---------
Is this even possible? From what StumpedTechie has done above it looks like it won't give the cdrom a drive letter prior to autoexec.bat with out some special program.. I'll try anything however.


Stumpedtechy- Thanks, I looked around but had no luck finding any such program myself. I'll look forward to your post monday and I'll give it a go myself and let you know my results. Thanks again.

PS- there is no space between: "/L: D" listed above.. I just put a space in there so it didn't appear as >


----------



## JohnWill (Oct 19, 2002)

I've split your posts out from the other one, too confusing having two issues running in one thread.


----------



## ryeookin (May 3, 2007)

Sorry it took so long to reply.. I'm also trying to pretty much do the same exact thing as stumpttechie. After I downloaded devload I copied it to the boot floppy I'm working on and..

Ok using devload:

Thus far:
Doing a "devload /?" I get:


> DEVLOAD v3.16 (C) 1992 - 1996 David Woodhouse <[email protected]>
> Patches for v3.12-3.16 by Eric Auer 2004/2005 <Eric*CoLi.uni-sb.de>
> Loads device drivers from the shell.
> 
> ...


Now this is the line I run in autoexec.bat that I need to have run in config.sys
*A:\MSCDEX.EXE /D:MSCD001 /L*

This has me thinking it should work if I enter the line in config.sys like this:
DEVLOAD /V A:\MSCDEX.EXE /D:MSCD001 /L

In config.sys I use the following lines to test if it would work:
*DEVICE=A:\OAKCDROM.SYS /D:MSCD001
DEVLOAD /V A:\MSCDEX.EXE /D:MSCD001 /L

DEVICEHIGH=D:\NETNET\3C90X\NTSTS.DOS*

When run, config.sys doesn't know what to do with line 2 as it replies with a generic error message. I looked for documentation but there isn't much if any useful documentation on devload (unless your a programmer) online.

I've also tried changing the line to: (with out the switch)
DEVLOAD A:\MSCDEX.EXE /D:MSCD001 /L

Any idea what I'm missing?
When I get a free moment I'll try other permutations of the devload command and see if I get any luck.


----------



## ryeookin (May 3, 2007)

I've also tried:

DEVICE=A:\DEVLOAD.com /V A:\MSCDEX.EXE /D:MSCD001 /L: D
DEVICE=DEVLOAD.COM MSCDEX.EXE /D:MSCD001 /L: D
(pc just stops responding after it processes either of these lines)

A:\DEVLOAD.com /V A:\MSCDEX.EXE /D:MSCD001 /L: D
(this line it says their is an error in the config.sys file)

FYI- I'm using pcdos


----------



## JohnWill (Oct 19, 2002)

You do NOT use DEVLOAD in the config.sys, it's only for loading drivers in the AUTOEXEC.BAT.

Take the drivers out of CONFIG.SYS and try this in AUTOEXEC.BAT BEFORE the unmodified MSCDEX line.

DEVLOAD.COM A:\OAKCDROM.SYS /D:MSCD001


----------



## ryeookin (May 3, 2007)

*it clicks*
AHHH.. So I was going about it backwards.. I don't load the driver in config.sys from autoexec.bat I load them in autoexec.bat from config.sys.

I see.. I move the config.sys lines into autoexec.bat where the cdrom CAN be accessed.


----------



## JohnWill (Oct 19, 2002)

That's the idea.


----------



## ryeookin (May 3, 2007)

On the floppy I've moved most drivers from config.sys to autoexec.bat and they look like this now:

Config.sys:


> DEVICE=A:\OAKCDROM.SYS /D:MSCD001
> 
> DEVICEHIGH=A:\HIMEM.SYS
> DOS=HIGH,UMB
> LASTDRIVE = Z


Autoexec.bat:


> A:\MSCDEX.EXE /D:MSCD001 /L
> 
> DEVLOAD.COM D:\NET\NTSTS.DOS
> DEVLOAD.COM D:\NET\PROTMAN.DOS /i:\NET
> ...


However after the cdrom gets a drive letter and hits the first devload.com line it spits out:


> A:\>DEVLOAD.COM D:\NET\NTSTS.DOS
> DEVLOAD v3.16 (C) 1992 - 1996 David Woodhouse <[email protected]>
> Patches for v3.12-3.16 by Eric Auer 2004/2005 <Eric*CoLi.uni-sb.de>
> Loads device drivers from the shell.
> ...


Same error for the other lines as well.. 
However after it fails and stops at a command prompt I verified I can access those resources on the D drive.

Not sure why it has "\A.\" in there..

Tried to look up that specific error but not much luck (ther then me being pretty sure thats an interrupt). I've also read through the article on page: http://www.infradead.org/devload/
but it is a bit above my head and I haven't found any relation to that specific error code.. or for the "\A.\" in the file name..

Since stumttechie had a problem with his version of dos, while mine isn't XP's version and I don't think its an issue I'll list it just in case. I'm using "PC DOS Version 7.1".

Any idea on where I'm going wrong?


----------



## JohnWill (Oct 19, 2002)

Well, looking at the source, it appears that it couldn't find the driver.

Try changing the back slashes to forward slashes and see if that helps.

DEVLOAD.COM D:*/*NET*/*NTSTS.DOS


----------



## ryeookin (May 3, 2007)

If I change the line as you suggested to:


> DEVLOAD.COM D:/NET/NTSTS.DOS


I still get:


> Filename: \\D.\A.\NET\NTSTS.DOS
> 
> Error: EXEC failed (0001h)


As for it not being able to find the file.. well I think it does. I say that because if i change the line to a file that doesn't exist I get:


> A:\>DEVLOAD.COM D:\NET\RANDOM.DOS
> DEVLOAD v3.16 (C) 1992 - 1996 David Woodhouse <[email protected]k>
> Patches for v3.12-3.16 by Eric Auer 2004/2005 <Eric*CoLi.uni-sb.de>
> Loads device drivers from the shell.
> ...


Then after testing it a bit I found this out..

If I run the line:


> A:\devload.com a:\net\ntsts.dos
> DEVLOAD v3.16 (C) 1992 - 1996 David Woodhouse <[email protected]>
> Patches for v3.12-3.16 by Eric Auer 2004/2005 <Eric*CoLi.uni-sb.de>
> Loads device drivers from the shell.
> ...


I then thought.. hmm, maybe devload needs to be on the same drive as the driver its mounting! I then copied it to the cd and in autoexec bat I tried two variants:

D:\DEVLOAD D:\NET\NTSTS.DOS
AND
D:
DEVLOAD D:\NET\NTSTS.DOS

Both give the same file name error message that I had from the start such as:


> *Filename: \D.\A.\NET\PROTOMAN.DOS*
> Error: EXEC failed (0001h)


Turns out it only lists the correct path when I feed it the path to the driver ON the floppy (it doesn't matter if the devload.com is on the floppy or the cdrom). And this is what I am trying to avoid (that is having drivers located on the floppy)

Even then, in my experience it doesn't operate smoothly. That is, when I run:
"devload A:\net\ntsts.dos"
it reboots the pc.. and when I run:
"devload A:/NET/PROTMAN.DOS /i:A:\NET"
it locks up..

I'm just about out of ideas.. 
Anything you can think or or am I at an official dead end?


----------



## JohnWill (Oct 19, 2002)

I haven't tinkered with DEVLOAD, since I don't have this issue. You may simply be at a dead end.


----------

