China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --

Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
DOS stands for freedom, openness and progress. Let us work hard, learn from the openness and GNU spirit of FreeDOS and Linux, and together build and grow a free GNU GPL world!

中国DOS联盟论坛
The time now is 2026-08-12 21:15
中国DOS联盟论坛 » DOS学习入门 & 精彩文章 (教学室) » Is the moderator here? Come in and solve the FINDCD problem~~~ View 2,951 Replies 15
Original Poster Posted 2003-06-25 00:00 ·  中国 上海 徐汇区 电信
中级用户
★★
Credits 364
Posts 95
Joined 2003-06-15 00:00
23-year member
UID 5250
Gender Male
Status Offline
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!!!
Floor 2 Posted 2003-06-25 00:00 ·  加拿大 安大略省 多伦多
系统支持
★★★★★★
“新DOS时代”站长
Credits 27,736
Posts 10,521
Joined 2002-10-09 12:00
23-year member
UID 9
Status Offline
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.

Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

Floor 3 Posted 2003-06-26 00:00 ·  中国 上海 徐汇区 电信
中级用户
★★
Credits 364
Posts 95
Joined 2003-06-15 00:00
23-year member
UID 5250
Gender Male
Status Offline
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


Floor 4 Posted 2003-06-26 00:00 ·  加拿大 安大略省 多伦多
系统支持
★★★★★★
“新DOS时代”站长
Credits 27,736
Posts 10,521
Joined 2002-10-09 12:00
23-year member
UID 9
Status Offline
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.
Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

Floor 5 Posted 2003-06-26 00:00 ·  中国 上海 徐汇区 电信
中级用户
★★
Credits 364
Posts 95
Joined 2003-06-15 00:00
23-year member
UID 5250
Gender Male
Status Offline
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~~~
Floor 6 Posted 2003-06-26 00:00 ·  中国 上海 徐汇区 电信
中级用户
★★
Credits 364
Posts 95
Joined 2003-06-15 00:00
23-year member
UID 5250
Gender Male
Status Offline
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?
Floor 7 Posted 2003-06-26 00:00 ·  中国 上海 徐汇区 电信
中级用户
★★
Credits 364
Posts 95
Joined 2003-06-15 00:00
23-year member
UID 5250
Gender Male
Status Offline
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!
Floor 8 Posted 2003-06-26 00:00 ·  中国 湖北 随州 电信
元老会员
★★★
Credits 1,987
Posts 632
Joined 2002-10-27 00:00
23-year member
UID 73
Gender Male
Status Offline
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
http://dos.e-stone.cn/dosbbs
uploadImages/200311161145850422.swf
Floor 9 Posted 2003-06-26 00:00 ·  中国 上海 徐汇区 电信
中级用户
★★
Credits 364
Posts 95
Joined 2003-06-15 00:00
23-year member
UID 5250
Gender Male
Status Offline
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!
Floor 10 Posted 2003-06-26 00:00 ·  中国 北京 科技网
银牌会员
★★★
颓废青年
Credits 2,265
Posts 721
Joined 2003-05-12 00:00
23-year member
UID 2032
Gender Male
Status Offline
Congratulations to Brother Yulang for solving the problem! I hope you will come here more in the future!
Floor 11 Posted 2003-06-26 00:00 ·  中国 上海 徐汇区 电信
中级用户
★★
Credits 364
Posts 95
Joined 2003-06-15 00:00
23-year member
UID 5250
Gender Male
Status Offline
Hehe, thank you brother~~~

Forgot to turn on QQ this morning, sorry about that~~~
Floor 12 Posted 2003-06-26 00:00 ·  中国 北京 科技网
银牌会员
★★★
颓废青年
Credits 2,265
Posts 721
Joined 2003-05-12 00:00
23-year member
UID 2032
Gender Male
Status Offline
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:..
Floor 13 Posted 2003-06-26 00:00 ·  中国 上海 徐汇区 电信
中级用户
★★
Credits 364
Posts 95
Joined 2003-06-15 00:00
23-year member
UID 5250
Gender Male
Status Offline
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~~~
Floor 14 Posted 2003-06-26 00:00 ·  加拿大 安大略省 多伦多
系统支持
★★★★★★
“新DOS时代”站长
Credits 27,736
Posts 10,521
Joined 2002-10-09 12:00
23-year member
UID 9
Status Offline
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.
Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

Floor 15 Posted 2003-06-27 00:00 ·  中国 湖北 随州 电信
元老会员
★★★
Credits 1,987
Posts 632
Joined 2002-10-27 00:00
23-year member
UID 73
Gender Male
Status Offline
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.


http://dos.e-stone.cn/dosbbs
uploadImages/200311161145850422.swf
Forum Jump: