中国DOS联盟论坛

China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --
Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
Guest | Log in | Register | Members | Search | China DOS Union
中国DOS联盟论坛
The time now is 2026-08-12 20:12
47,811 topics / 349,897 posts / today 0 new / 48,256 members
DOS学习入门 & 精彩文章 (教学室) » Is the moderator here? Come in and solve the FINDCD problem~~~
Printable Version  2,950 / 15
Floor1 雨浪飘零 Posted 2003-06-25 00:00
中级用户 Posts 95 Credits 364
Multi-drive issue~~~

According to the explanation by W moderator for FINDCD:
FINDCD 2 can assign the drive letter of the second CD-ROM as %CDROM%; FINDCD 3 can assign the drive letter of the third one, and so on; if you execute FINDCD /S, it will assign all CD-ROM drive letters at once, namely %CDROM1%, %CDROM2%, etc., and at this time %CDROM% is the total number of CD-ROMs.

I judge each CD-ROM respectively in AUTOEXEC to see if the required file exists. If %CDROM1% doesn't have it, then judge %CDROM2%. But in the test, if there is no CD in CDROM1, it doesn't execute downward and displays
CDR101: NOT READY READ DRIVE D
ABORT, RETRY, FAIL?

Now the problem is how to make it judge that there is no CD in CDROM1 and directly judge the next CD-ROM~~~
Please help the moderator, thank you very much!!!
Floor2 Wengier Posted 2003-06-25 00:00
系统支持 Posts 10,521 Credits 27,736
This is not an issue with FINDCD, but rather an issue with the writing of the batch processing program. Well, you can do it by using FINDCD and DREADY together. DREADY is a very small software specifically used to check the status of drives. There is this program in my MS-DOS 7.10 boot disk.

Floor3 雨浪飘零 Posted 2003-06-26 00:00
中级用户 Posts 95 Credits 364
Thanks to the moderator! The original problem has been solved, and it was indeed an issue when I was writing AUTOEXEC. Later, I used a small tool called CDA to determine if there was a disc in the CD drive, which solved the problem!

Now the multi-CD drive problem has been solved, but a new problem has been discovered~~~

The created boot disk works well when tested in VMware-workstation-4.0, but cannot find the CD drive in Virtual PC 5.2. This is borrowed from your boot disk. If I use the content from the original 98 boot disk to be streamlined and load the CD drive, it works well in Virtual PC. Therefore, I don't know if it's a problem with MSCDEX in your boot disk or with VIDE-CDD.SYS and ASPICD.SYS. I'm confused~~~

Attached is the AUTOEXEC source code for your correction, thank you~~~

@ECHO OFF
XMSDSK 4096 /Y
FINDRAMD
COPY COMMAND.COM %RAMDRIVE%\
COPY RESTART.COM %RAMDRIVE%\
SET COMSPEC=%RAMDRIVE%\COMMAND.COM

LH KILLER
LH CTMOUSE


LH MSCDEX /D:IDE-CD /D:SCSI-CD /D:USB-CD /S /K
FINDCD /S
SET CDR=%CDROM1%
CDA %CDROM1% > NUL
IF ERRORLEVEL 1 GOTO CD2
IF EXIST %CDROM1%\DOS\NDD.EXE GOTO NEXT

:CD2
SET CDR=%CDROM2%
CDA %CDROM2% > NUL
IF ERRORLEVEL 1 GOTO CD3
IF EXIST %CDROM2%\DOS\NDD.EXE GOTO NEXT

:CD3
SET CDR=%CDROM3%
CDA %CDROM3% > NUL
IF ERRORLEVEL 1 GOTO CD4
IF EXIST %CDROM3%\DOS\NDD.EXE GOTO NEXT

:CD4
SET CDR=%CDROM4%
CDA %CDROM4% > NUL
IF ERRORLEVEL 1 GOTO CD5
IF EXIST %CDROM4%\DOS\NDD.EXE GOTO NEXT

:CD5
SET CDR=%CDROM5%
CDA %CDROM5% > NUL
IF ERRORLEVEL 1 GOTO CD6
IF EXIST %CDROM5%\DOS\NDD.EXE GOTO NEXT

:CD6
SET CDR=%CDROM6%
CDA %CDROM6% > NUL
IF ERRORLEVEL 1 GOTO END
IF EXIST %CDROM6%\DOS\NDD.EXE GOTO NEXT
GOTO END

:NEXT
COPY %CDR%\DOS\ndd.exe %RAMDRIVE%
%RAMDRIVE%
ndd.exe
GOTO RESET

:END
CLS
ECHO.
ECHO.
ECHO.
ECHO. ERROR: CD boot fail
ECHO.
ECHO It''s not YuLangPiaoLing''s Bootable CD or Your Driver is not supported.
ECHO.
ECHO Press any key to restart the computer or Press "Ctrl+C" to exit.
ECHO.
ECHO.
ECHO.
PAUSE > NUL
RESTART.COM
GOTO RESET

:RESET


Floor4 Wengier Posted 2003-06-26 00:00
系统支持 Posts 10,521 Credits 27,736
CDA is not as powerful as DREADY, and it is more cumbersome, with a size as large as 11KB! As for DREADY, it is not only powerful but also very compact and practical, only a few hundred bytes. Therefore, it is strongly recommended to use DREADY to replace that old CDA program.
Floor5 雨浪飘零 Posted 2003-06-26 00:00
中级用户 Posts 95 Credits 364
Thanks to the moderator for the reminder. Just now I took a look, DREADY has four return values: 0: READY, 1: READY ONLY (/W), 2: NOT READY, 255: INVALID. It's really good, and I'm going to adopt it~~~

In addition: Please consider the compatibility issue. Because your boot disk MSDOS7.1 can only boot at item 5 in Virtual PC, and others can't start normally, while it can in VMware-workstation. Because their virtual environments are different, so I think it might be a compatibility issue, just as you said that your boot disk will have problems on 845 motherboards.

If the part of the problem can be found, it should be possible to solve it with specific measures. Therefore, I want to ask the moderator to help test which part of the problem it is~~~
Floor6 雨浪飘零 Posted 2003-06-26 00:00
中级用户 Posts 95 Credits 364
The problem has been found. After multiple interceptions, it is found that after loading "LH MSCDEX /D:IDE-CD /D:SCSI-CD /D:USB-CD /S /K", the following prompt appears:
PACKET FILES IS CORRUPT

When executing MSCDEX alone, the above prompt also appears, but executing the MSCDEX in the original 98 disc alone is normal.

It seems that the problem is with MSCDEX. After comparison, the one in the original 98 disc is 24.8K, while the one you are using is 21.1K. I wonder what the difference between these two is?
Floor7 雨浪飘零 Posted 2003-06-26 00:00
中级用户 Posts 95 Credits 364
After multiple modifications and tests, all problems were finally solved~~~

Indeed, there was an issue with MSCDEX in your boot disk. It couldn't execute in some environments. After replacing it with MSCDEX from the original Windows 98 disk, all test environments worked normally. Hehe

Thank you, moderator, for your help and your boot disk. I've learned a lot from it. Now I basically use my own made boot disks, which borrow a lot of your ideas and tools. Here I express my gratitude to you!
Floor8 yiyesong Posted 2003-06-26 00:00
元老会员 Posts 632 Credits 1,987
In WENGIER's startup disk, it cannot boot in VPC not because of the issue with MSCDEX, but because CLOAKING that is配套 with it is loaded, and CLOAKING is not compatible with VPC. So you can just remove it from CONFIG.SYS. However, after removal, MSCDEX will occupy 29K memory. And this MSCDEX does have compatibility issues with Tianhui Chinese character system.

Here I recommend FREEDOS's SHSUCEX, which occupies less than 11K memory, and has good functions and compatibility. It is the best alternative to MSCDEX.

DREAD is not as good as CDA. It is good for disks but not for CDs.

There is a BUG in WENGIER's FICDCD.exe, see here: http://www2.zzu.edu.cn/ie/newdos/dispbbs.asp?boardID=11&ID=4298
Floor9 雨浪飘零 Posted 2003-06-26 00:00
中级用户 Posts 95 Credits 364
Thanks for the brother's tip. I've long noticed compatibility issues with CLOAKING, so I've never used it. The MSCDEX from WENGIER even causes errors in VPC when used alone.

After reading the brother's article, I've gained a lot. I downloaded your boot disk package and am going to study it carefully.

Once again, thank you brother for sharing such a great thing with everyone!
Floor10 hunome Posted 2003-06-26 00:00
银牌会员 Posts 721 Credits 2,265
Congratulations to Brother Yulang for solving the problem! I hope you will come here more in the future!
Floor11 雨浪飘零 Posted 2003-06-26 00:00
中级用户 Posts 95 Credits 364
Hehe, thank you brother~~~

Forgot to turn on QQ this morning, sorry about that~~~
Floor12 hunome Posted 2003-06-26 00:00
银牌会员 Posts 721 Credits 2,265
In fact, the method I told you is feasible.
But if you use xmsdsk instead of ramdrive, you need to consider the problem of the default drive letter.
The same goes for the drive letter of the CD-ROM.
Specifically, in the original 98 boot disk, %cdrom% and %ramd% were changed to later %cdrom% and %ramdrive%, and it seems that the former is H and the latter is in the mode of H:.
In this way, when calling the parameters of chcdrom, you need to change c d.. to c: d:..
Floor13 雨浪飘零 Posted 2003-06-26 00:00
中级用户 Posts 95 Credits 364
What you said is right, there are still differences between them~~~

The reason for not using RAMDRIVE is that I hate the writing in SETRAM.BAT. It doesn't seem to be written by a professional. Also, the FINDCD that comes with 98 has no help instructions. If it's really as Brother Guzhang said, then I need to modify FINDCD for each file, which is too troublesome~~~
Floor14 Wengier Posted 2003-06-26 00:00
系统支持 Posts 10,521 Credits 27,736
The following is a quote fromyiyesongon 2003-6-26 14:10:11:
DREAD is not as good as CDA, it is good for disks but not for CDs.
There is a BUG in WENGIER's FICDCD.exe, see here: http://www2.zzu.edu.cn/ie/newdos/dispbbs.asp?boardID=11&ID=4298


Why is DREADY not good for CDs? I've tried it many times, but it seems it can work?

Regarding FINDCD.EXE, in fact, manually clearing the %CDROM% variable, or using the /N option when running to not set the variable and using ERRORLEVEL for judgment is all right.
Floor15 yiyesong Posted 2003-06-27 00:00
元老会员 Posts 632 Credits 1,987
The following is a quote from Wengier on 2003-6-26 20:03:25:
Regarding FINDCD.EXE, actually, manually clearing the %CDROM% variable or running with the /N option to not set the variable and using ERRORLEVEL for judgment are both feasible.


Using FINDCD /S to forcibly and manually clear can't remove it. For example, if your original CDROM1=G, after you use SET CDROM1= to clear it and then check with the SET command, it's still CDROM1=G. WENGIER, you can try it. Use FINDCD /S once, then clear it, use it again, then clear it. Soon the system will prompt you that the variable space is overflowing.


1 2  Next
[ Contact the Union admin team - 中国DOS联盟 - Standard version ]
Sponsored by ifanr Inc | © 2001–2023