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 14:36
中国DOS联盟论坛 » DOS学习入门 & 精彩文章 (教学室) » [Original] Add a Win98 boot disk menu to DOS 6.22 View 1,494 Replies 1
Original Poster Posted 2009-08-28 02:27 ·  中国 湖北 武汉 洪山区 电信
新手上路
Credits 8
Posts 2
Joined 2008-03-20 00:06
18-year member
UID 113447
Gender Male
Status Offline
I just started learning DOS recently and installed DOS 6.22. I found it had too few features and didn't support the CD-ROM drive or virtual disk, so I wanted to add those features myself. I only had a Win98 boot disk on hand.

After thoroughly studying what's inside it, I made an installation script myself.

I tested it in VMware. The method is to boot into DOS, load the uploaded floppy disk image, then type b.bat in drive A:. It will write files to drive C: by itself.

Take out the image and reboot, and that's it. The effect is pretty close to the 98 boot disk, and the menu colors are decent too. Everyone can give it a try.


Now let me talk a bit about what I learned and my experience making it:

The stuff in config.sys and autoexec.bat is relatively easy to change, basically just adding some CD-ROM and virtual disk drivers, changing some environment variables and so on.

The key thing I want to mention is setramd.bat and the variable LglDrv. This kept me busy for quite a while. In the original Win98 version it is:

LglDrv=27 * 26 z If your hard drive only has drive C:, an error will occur, and you'll get cdrom= as an empty result.

If LglDrv=26 z, then if the hard drive only has drive C:, cdrom=e RAMD=d, and no error will occur.


At :do_shift I set a breakpoint there, and after displaying cdrom I discovered the above result.


:do_shift
echo on
set cdrom=%2
echo %cdrom%
pause

shift
shift


Later I displayed how the values of %1 %2 ....%9 changed after every two shifts, and found that after shift reached 5 E, shifting again caused an error. I guessed it might be a problem with this DOS 6.22 version. You can set as many as 27 * 26 z .....3 c variables, but the variables effective for shift

are only 42 total, that is, up to 5 e. Everything after that gets discarded!!

This is my first post. I don't know how to upload attachments, so I'm just giving an address to download it from.

Finally I want to ask, how is the setup.exe program on the installation disk made? I want to integrate my image into it, but when I open dossetup.ini it turns out to be garbled text!!

In my space it's 1670.rar


http://upload.cn-dos.net/img/1670.rar


.
Recent Ratings for This Post ( 1 in total) Click for details
RaterScoreTime
DOSforever +2 2009-08-28 09:52
Floor 2 Posted 2009-08-28 09:52 ·  中国 上海 电信
金牌会员
★★★★
Credits 4,639
Posts 2,239
Joined 2005-01-30 00:00
21-year member
UID 35785
Gender Male
Status Offline
I don't know whether the DOS 6.22 you installed was a full installation, or just a system. If I remember right, it seems CD-ROM support has existed since MS-DOS 5.0. Of course, it doesn't come with a CD-ROM driver itself; you have to load one yourself.
As for virtual disks, those were supported very early on too. I don't remember exactly which version, but at least vdisk.sys was already there from 3.3 onward, and only later was it replaced with ramdrive.sys.
Forum Jump: