#63 Expanded boot & image functionality

open
nobody
None
5
2012-09-07
2006-02-27
Joe A. Bunt
No

Was trying to set up a bootable image just for messing
around and ran into a difficulty. I had no problems
creating the image (though finding a tool that would
make a working one was a bit of a pain,) mounting it,
fdisking it, and formatting it. However, when I tried
to run the DOS 6.22 setup, it failed because it
couldn't write to the boot sector. It seems to me,
and I could be very wrong about this, but the boot
sector should just be the first part of the image file
(like it is the first part of a physical HDD.) One
way or the other, DOSBox prevents writing to this, so
you cannot install DOS 6.22 (which is the only one I
have.) Could you perhaps look into setting up either
a seperate file, or part of the image file and allow
the boot sector to be altered?

Also, I was planning to test a possible fix for this
next, but once an image is booted, you cannot mount
anything else, ever. I was going to just copy the
command from the Z: drive over to my DOS directory and
see if I could use them there, but never got DOS
working correctly. I'd like to note that as per
Vogons, I used the latest CVS build to fix the copy
withing DOSBox to an image file problem. What would
be nice is some way to mount drives after running the
boot command, or to have the drives mounted during the
boot command. The best solution would be to be able
to mount drives at a "BIOS" level (bmount 3 F:\ -t
cdrom -usecd 0 -ioctl) for an example - which would
mount the F: Drive (CD device 0,) as primary slave
(don't know what happened to 0 & 1 BTW - sort of
curious.) One possible solution would be to add a new
section to the config file that might look like:

[DRIVES]
DRIVE2=C:\Emulators\C-DRIVE.IMG -t hdd -size
512,16,63,250
DRIVE3=F:\ -t cdrom -usecd 1 -ioctl
DRIVE4=
DRIVE5=
DRIVEA=A:\ -t f144
DRIVEB=

the -t would tell wether it was an image or a
physical device (ISO, HDD, CDROM, FLOPPY,) though
there would really need to be some difference between
floppy drive and floppy image. Maybe use F144, (like
I did,) F720, F120, & F360 for the 4 major types of
floppy drives with FLOPPY meaning an image. Notice
that the sample above provides all 4 possible IDE
devices and the 2 possible floppy devices. This is
usually a standard MB setup. Only really necessar to
have 2 IDE devices, just set it up that way because
it "is" the standard. Some people might want even
more IDE devices, but don't see how this could be
necessary since DOSBox is really designed for
emulation of older systems.

This would give the emulator a basic HW BIOS that
could be active when the BOOT command is given. Any
paramaters given in the BOOT command would override
what is here, of course. If no parameter is given, it
would use the default boot cycle (DRIVEA, if nothing
there DRIVE2, etc...) Or a number or letter could be
given (ex: "BOOT 3" - boots to the CDROM drive if say
the Win95 bootable CD were inserted.) Just had a
thought, could 0 & 1 refer to drive A & B?

The final part of this request would be some manner of
changing images mounted to DRIVEA/DRIVEB/ISO on the
fly withough having to list them all in advance. This
would really be something major though. About the
only simple solution I could think of is if the mount
& imgmount commands could be coppied over to one of
the already mounted drives (say DRIVE3 for example,)
and still be used there after the BOOT command is
given.

Discussion