• Please review our updated Terms and Rules here

Bootable DMF diskette?

famicomaster2

Experienced Member
Joined
Feb 3, 2017
Messages
315
Location
Southeastern US
Hello all, I have a pair of floppy diskettes which I use for disk repair and data recovery, one is packed as full as it can be (2048 bytes free) and the other is basically empty (<200K on disk), thus it has occurred to me that I could probably condense this into one floppy if I switch to a different disk format. The disk is only useful on x86 machines with a 3.5" drive so there are no concerns about compatibility with other machines to be had.

It seems like the best choice is to use DMF to get ~1.68MB out of a diskette. This would be more than enough to hold everything I want and more. I checked, in WinImage, a DMF 1.68MB image with every file from both disks leaves me with around 250K free.

This is easier said than done, however, and that's where I come asking for help:
2M and fdformat will successfully format a disk at DMF 1.68MB, but will not make it bootable. fdformat lists this as an invalid option and it appears that 2M does not even attempt, and so is probably an invalid option as well.
Trying with WinImage under Windows 98SE it will write the image to the disk flawlessly - It is readable under 9x on two different machines I have access to and by DOS booted from floppy and hard disk. Perfect. However, it will not boot itself. The machine just says "Non-system disk or disk error" and makes me retry.

In WinImage, I tried both the "95/98" and "DOS6.22" boot sector options to no avail. I tried formatting a blank disk as bootable in 98SE, imaging it, and changing it's format to no avail. I then read the formatted disk in WinImage and saved just the boot information to be applied to the other image - No luck. I also tried saving the boot information from the working 1.44MB disk and applying it to the larger image - also no change.

Am I missing something or am I just crazy? I seem to remember Windows 95/98 setup disks that were 1.68B, 1.72MB and still bootable! I would prefer the 1.68MB format because that still allows access in Windows NT.
If there's no other way to do this, what are some other (lightweight!) ways to get a few extra K's from my disk? It's very inconvenient to disk swap in single drive systems. The less startup time and memory usage, the better.


On a semi-unrelated note, fdformat's sector skewing is fantastic and improved boot time by almost half on the 1.44MB disk, so this wasn't a total waste of my afternoon, at least.

Thanks for reading.
 
2M seems to be able to install a driver on a bootable floppy. It uses a variation of DMF but includes support for extra tracks pushing capacity another 44KB. The Superboot (as they call it) driver takes up 5K of disk space. Wikipedia links to a download site for 2M if you are willing to try it. Read the documentation first; the second half of the info file is in English.

Note that the Win9x emergency boot disk was partially compressed and then uncompressed into a RAMDISK so it really was just a standard 1.44 MB format. I think there were tools to permit bootable Stacker and Drive Space compressed floppy disks but I don't remember the specifics. That could provide the extra space desired even considering the capacity lost to include the compression driver on disk.
 
No no, not the emergency disk. I mean the setup disks, the one that initializes the CD-ROM drive so you can start setup, or for the unlucky of us who had to suffer through setup on floppy entirely.

2M didn't seem to do anything when I used /S for system, I've got the executable. I wasn't able to find any documentation for it, where did you find English instructions?
 
In the 2m30.zip file, there is a 2M-INFO.FDA which is the manual of which the second half is in English.

I have included a relevant snippet below
The SYS command works with high density 2M disks (2M high density disks
can be made bootable) thanks to the SuperBOOT technology, which lets you use
2M disks in systems without 2M.COM loaded, using the simple method of booting
them with a 2M high density disk in A: drive.
 
Hmm. It seems 2M automatically selects 1804K for any disk I stick in the drive - Is there a way to get it to format as 1680K DMF? I want it to be legible to other machines without having to boot from it.
 
Alright here's an update:
2M will not format any disk I give it with any options for the 1680K format, and even when it does format as 1804K it's not bootable no matter what I try.

FDFORMAT will format the disk as desired for 1680K and the disk is readable in everything I throw it at without even loading FDR88. The disk is "bootable" in that it will say "Starting MS-DOS..." and then the system hangs. This happens in a 386SX laptop, a 486DX2 desktop, and the Pentium II that wrote the disk.

The options I used for FDFORMAT were:
FDFORMAT A: /F:168 /S /X:2 /Y:3 /V:DISKUTILS
I also tried without the sector sliding as:
FDFORMAT A: /F:168 /S
And I tried a regular format without system as:
FDFORMAT A: /F:168
and then did SYS A: to copy the system from there.
No difference at all for any result.

Any help here?
 
Unfortunately, you need a driver to continue reading the initial boot disk. DOS doesn't support the format by default and thus can not continue reading it. The only solution would be to patch DOS to use that disk format. Lot of work.

2M fails under Win9x. The recommended recourses are to either boot to MS-DOS or disable 32-bit access to the floppy controller. (Really!) That may make 2M just too inconvenient to be useful in this case. I should pull out an old MS-DOS system and verify if Superboot actually works at all and if doing SYS on a Superboot disk would result in an over capacity disk that can boot. My apologies for trusting documentation instead of testing.
The user will need to configure Windows 95 to remove its floppy drives
control; in this way, it will use ordinary BIOS (and so, 2M, loaded before
Windows 95 from CONFIG.SYS or AUTOEXEC.BAT will work). If you happen to be
in Windows 95 at this moment, try to select the Control Panel and choose the
System icon. Having done this, click on the Device Manager option. Select
Floppy Disk Controllers to expand it and then choose the Standard Floppy Disk
Controllers option. Inside this option, a window will appear - here you have
to disable the "Original Configuration" switch in the Device Usage box, using
the mouse pointer to remove the enabling cross. When exiting, Windows will
ask you if it should reinitialize itself, answer yes. 2M will now be fully
operative from this moment, both in DOS Windows and inside the Windows 95
environ.
 
Yeah unfortunately I really need it to be accessible from 95/98 without drivers and I would appreciate readability in NT - which 1680K (DMF 1024) provides just fine. This is why I entirely discounted 2M right off the bat.

FDFORMAT was the software that got me the furthest towards this - it's readable in any machine I throw it at even without the FDR88 TSR loaded, but it won't boot by itself.
 
DMF format has some pretty significant limitations. They increased the cluster size and reduced the number of items that could be in the root directory because they usually expected one large cab file, or a small number of large compressed files to be on the floppy. If you copy a lot of files that are smaller than the cluster size you’ll probably actually have less space than a conventionally formatted 1.44MB disk.

I seem to recall that the first disk in the “full” version of windows 95 setup was a 1.44MB disk and only the remaining disks were 1.68MB, because of boot issues. Perhaps that could be verified by looking at the images on winworldpc.
 
Hmm, what a shame that would be. This is primarily a "small number of large files" such as SpeedStor, SpinRite, etc so the larger cluster size would not be a problem. I also don't keep all of my files in the root directory for cleanliness so this is not an issue either.

Booting is the only problem, it would seem. I suppose I'll have to stick to disk switching for now, or maybe I will be able to find a useful compression tool for floppies.
 
Thanks much, I will look into it. If I can get about 50K more on the disk I can probably live without SpinRite 5 and the benchmarking utilities on the other disk and get down to just one floppy.
 
I guess another option would be what the windows 95/98 boot floppies did by creating a ramdrive and having a single big archive (ebd.cab) that got expanded to it, of course that would probably only be useful on a 286 or later with some extended memory. But if you’re using 1.44MB floppies then I guess most likely you’re not working on an 8088. Even many 286 only have 640K or 1MB, which might not be worth the effort.
 
I have no real need of 8088 support, but it would be nice to run on 286s. I had thought about a RAMDrive in this manner but I am not entirely sure how to go about it on a floppy like this. I should never need more than 1680K on this disk.
 
Here is the thing, at boot BIOS puts a byte in a structure in memory that tells the machine what the maximum number of sectors the controller should read is. Normally this is 18 or less, so BIOS can not boot a DMF formatted system disk.

Some high density 8-bit floppy controllers will override this value and therefore allow booting DMF disks. They also won't usually need a TSR to allow reading DMF disks.

I have a machine with such a floppy controller in it. On this machine I can format a DMF disk (or similarly dynamically formatted ~1.7mb disk), and SYS the disk with DOS 6.22, and it will boot.

I might be mis-remembering but I think DOS 7.x included with Windows 9x may boot on a DMF disk without any extra BIOS support. Of course, that requires a 386 or later CPU to run it.

All Microsoft DMF installation disk sets have the first floppy disk in the set as 1.44mb with the remainder as DMF. This ensures the setup program will load, and allows the setup program to do things to make sure the DMF disks are readable.
 
Dang. I suppose I will have to give up on this idea for now though. The machine writing the disk had no trouble reading the boot sector to show "Starting MS-DOS..." but hangs immediately after. This happens in several machines.

I've only got three real 286 machines left and none of them see much use so if it would work on 386+ that's probably fine too, but it's sounding less and less feasible.
 
Here is the thing, at boot BIOS puts a byte in a structure in memory that tells the machine what the maximum number of sectors the controller should read is. Normally this is 18 or less, so BIOS can not boot a DMF formatted system disk.
Wouldn't some custom boot sector code that updates the value from 18 to 21 be enough to do the job then? Since the boot code itself is in sector 0 the BIOS should be able to read it, as evidenced by the OP receiving the "Starting MS-DOS..." message. Later in the process when it tries to use BIOS routines to read directory info or system files must be when the failure occurs, presumably because of this 18 sectors limit. Perhaps a small patch is in order...
 
That would be cool. If someone can actually fix this issue that would make reliable booting of DMF diskettes possible. If I was any good at x86 assembly, I'd just do it myself. My other thought was to employ some basic form of ZBR - In that the disk is formatted 21 sectors but track 0 is the regular 18 sectors, just for booting. This would result in good compatibility and still plenty of space, I thought.

If there's a way I can help with the patch, let me know. I'd be happy to image the disk in WinImage and post it if you like.
 
Am I correct in thinking that the 'byte' in question here is the End of Track byte in the Diskette Parameter Block, whose offset+segment is specified in memory location 78h?

My old Athlon has a 3.5" FDD and I managed to format a disk with 21 sectors using FDFORMAT. The Athlon can boot this 21-sector Win98 floppy as-is, without any modifications. Maybe this BIOS doesn't have an 18-sector limitation, and I'd have to try it on something older to reproduce the problem?
 
Hmm. I was using a Pentium II @ 300 here with Intel 440 chipset and it was not having it. The disk is totally legible in DOS, Windows 98SE, Windows 2000 Professional SP4, but not bootable. The driver need not be present to read.
 
Back
Top