Hi John,
Sorry that I'm late checking in; I've got a bad teaching schedule)
The biggest problem that shows up is that the boot sector
is slightly different for a bootable disk, and the two
hidden system files must be in certain places AND must be
the first two DIRectory entries, rather than being
controlled by the usual DIRectory data.
Thus, it is very difficult to add bootability once any files
are written to the disk.
The SIMPLEST and EASIEST way to be able to produce bootable
floppies of multiple DOS versions is to keep a write-protected
bootable floppy on hand of each and every version. Then, when
you need a disk, DISKCOPY the bootable floppy onto the blank,
instead of FORMATting it.
(Or, if you have multiple floppy drives, the newer versions of
SYS.COM [starting with which version?] will permit you to FORMAT
and then SYS B: A: (early versions of SYS could only SYS a
diskette with version of DOS that was currently running))
That way (keeping a collection of floppy samples), you
never need to reboot your machine into a different version
(which could lock you out of access to hard disk, etc. since
DOS <3.31 can not comprehend volumes > 32M) You do NOT
need two floppy drives to DISKCOPY. If you ask for DISKCOPY A: A:
then the system will prompt you to swap the diskettes. On earlier
versions of DOS/DISKCOPY, that can mean a LOT of swapping.
But you CAN DISKCOPY an early diskette with a more current version
of DOS/DISKCOPY running.
The down side of that technique is that you need to store a
few dozen floppies. If you use SYS, then you COULD use a
hard-drive partition for each version. If you are willing
to use non-MICROS~1 software, then there are programs that
will permit storing a diskette image and writing that to
floppy, which would permit storing images of your collection
of boot disks, rather than physical floppies.
You could also do that using DEBUG (the most powerful program
to ever come from MICROS~1).
Figure out how much of a bootable floppy is actually used
(for the sake of the following, let's call that 64 sectors)
With the bootable floppy for version x.yz in drive A:, type:
L 100 0 0 40 (Read 64 physical sectors (64 = 40h) from A:)
N C:bootdisk.xyz (arbitrary naming scheme)
R CX (set size)
8000 (64 sectors holds 32768 bytes = 8000h)
W (save 8000h bytes to file
To create a boot disk (from a FORMATted disk):
N C:bootdisk.xyz (select file)
L (load file)
W 100 0 0 40 (write to physical sectors of floppy)
NOTE: when learning DEBUG, you will probably accidentally
erase your harddisk. We will not be responsible for errors.
If you are dealing with diskettes that are NOT MS-DOS formats,
then you need to use other techniques.
--
Grumpy Ol' Fred cisin(a)xenosoft.com