Superfloppy Utility for OS/2
Utility to convert FAT super floppies with more than 512 bytes
per sector (usually magneto opticals) for usage with N512DASD.FLT
I made this tool to share data on 640MB magneto-opticals with
different operating systems. It should work for media with 1024 bytes
per sector too. It runs with OS/2 and Windows NT.
- Version: 1.0
- - mo640 now expects a
drive letter instead of a device number
- reinserting of media after conversion no longer required
- Version: 0.9a
- - MO640 now works with LVM
- WinNT support
Place the file
in your PATH and
GCC30S.DLL somewhere in your
You need the following drivers installed in your CONFIG.SYS:
/OF tells the DASD driver to
recognize optical (type 7) devices.
DANIDASD.DMD may be used instead
- At least versions >= 1.0 will work with
the Fujitsu driver (
MODISK.SYS), too. Although
it is not required in this case it might be useful to prepare the media
for use in other OS/2 systems. (Thx. to Frank Bakan for testing)
Optionally you may create program object for the conversion
on your desktop.
- Simply execute CREATEWPSOBJECTS.CMD and follow the
- Be careful with the MO
drive letter which often is not guessed correctly.
Otherwise wired things may happen.
- Format a MO disk with more than 512 bytes per sector as FAT/VFAT
super floppy (preferably not
with OS/2) or take an existing super floppy.
- Insert it into your MO drive (OS/2). You will see an empty
directory instead of an error message - I suppose that OS/2 ignores the
bytes-per-sector field in the boot record completely. Do not write anything to the disk now.
- Enter now MO640 drive:
at the OS/2 command prompt where drive
is the drive letter of your MO.
Example: MO640 G:
The media will be converted to an OS/2 (i.e. N512DASD) compatible
- The media is no longer compatible with other operating
systems with one exception: The Fujitsu MO-driver for DOS and OS/2
still can access it. I guess that they used nearly the same trick than
- If you want to use this media with other OSes than you have
to convert it back to its original state. Enter MO640 drive:
/ssector size at the OS/2 command
prompt. sector size should
be the physical sector size of the particular media. It cannot be
determined automatically because of the N512DASD driver.
Example: mo640 G: /s2048
The media is now accessible by other operating systems and of course
not by OS/2.
- Do not use this utility
with anything else but super floppies. Because OS2DASD
never sets the removable flag, MO disks are not distinguishable from
FAT volumes on fixed disks.
The behavior of 512 bytes per sector media is unchanged. You
can share super floppies and partitioned media with other operating
systems. You do not need this utility in this case.
Use FAT superfloppy for data exchange and HPFS partitioned for OS/2
Normally you do not need any utility to access opticals with
WinNT. However, there is one good reason for a WinNT port of this tool:
if you forgot to convert a disk back before using it with Win.
The WinNT version is called mo640nt.exe and is included
within this package.
- Please note that the default sector size is different:
By default the disc is converted to 2048 bytes per
sector. If you have media with 1024 bytes per sector, you need the /s1024
- Do not use this utility with anything else than MO discs.
Normally this should result in an error message, but it may not for
other removables (e.g. ZIP).
- The WinNT version will definitely not work on DOS based
operating systems like Win9x. However, it should work with Win2k
(NT 5) and XP.
This program is distributed under the terms of the GNU GENERAL PUBLIC LICENSE.
ZIP file with binaries, source and this guide: Version 1.0
(Untested with OS/2 Warp4 and older.)
Old version: Version 0.9a
Of course, it ist not very comfortable to convert the media
always. And maybe, you forgot to convert it back before using it with
- It would be much easier to handle media which is virtually
converted by a filter device driver - but much more complicated to
program, too. I have completely no idea how to program a filter driver.
However, I plan to integrate the functionality to the Daniela Engert's
At this stage it would also be possible to handle partitioned media and
- maybe - other file systems like FAT32.
- Currently there is no way to format a super floppy device
under OS/2 with this driver configuration. Well, I usually used a disk
editor with copy & paste. That's a job for another tool.
Fortunately most of the new disks are formatted as super floppies.
- More safety checks to prevent conversion of partitioned
- It might be useful to have a Win9x port of this utility.
Feel free to do this job. I will definitely not, because I always keep
on running if 95 is coming too close.
The OS/2 driver model for (optical) devices with >512
bytes per sector:
- The 'official' way
IBM tells you to use OPTICAL.DMD. Well, this driver is very old. It
only supports FAT super floppies and uses at least no write caching.
- With Fujitsu devices
If you have a Fujitsu MO-drive there is a OS/2 driver available from
their homepage. It supports all FAT based formats I know, but it also
uses no caching. And unfortunately it has a bug (like the DOS driver
too). This bug ist not very common but it will destroy the integrity of
the FAT file system from time to time - so your data is unsafe.
- The N512DASD driver - the only way for
HPFS formatted media
The removable media support of IBM's NEWDASD package (and newer
fix packs) only includes 512 bytes per sector media. If you have optical
devices greater than 230 MB you will usually have 1024 or 2048 bytes
per sector. The filter driver N512DASD.FLT will logically convert them
into devices with two or four times as many sectors of 512 bytes.
This works fine but the resulting formats are incompatible with other
operating systems. In this case MO640 can help.
What does it exactly?
The N512DASD driver changes the number of sectors on the
media, so all references within the file system become invalid.
Fortunately FAT uses mainly cluster based references. So the only job
is to modify the boot block this way that the clusters have more sectors
of smaller size (512) resulting in the same cluster size. Only a few
changes are necessary.
Example for 640 MB super floppy:
|bytes per sector (2048->512)
|sectors per cluster (8->32)
|reserved sector at the beginning (boot block)
|sectors per FAT (38->152)
|total number of sectors (310350->1241400)
The implementation is a little bit more sophisticated. In
addition to the example short number of sectors and
hidden sectors are processed. Usually they are zero.
Suggestions, help, complaints (but not too much:-):
Original homepage: http://www.maazl.de/project/mo640/index.html