Utility to convert FAT-Superfloppies 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.
Copy the file MO640.EXE somewhere in your PATH.
Youe need the following drivers installed in your CONFIG.SYS:
BASEDEV=N512DASD.FLT
BASEDEV=OS2DASD.DMD /OF
/OF tells the DASD driver to recognize optical (type 7) devices.
Optionally you may create program object for the conversion on your desktop.
The behavior of 512 bytes per sector media is unchanged. You can share superfloppies and partitioned media with other operating systems. You do not need this utility in this case.
My recommendation:
Use FAT superfloppy for data exchange and HPFS partitioned for OS/2 only.
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.
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 Win...
The OS/2 driver model for (optical) devices with >512 bytes per sector:
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 bootblock 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 superfloppy:
offset | before | after | description |
---|---|---|---|
0B |
0008 |
0002 |
bytes per sector (2048->512) |
0D |
08 |
20 |
sectors per cluster (8->32) |
0E |
0100 |
0400 |
reserved sector at the beginning (bootblock) (1->4) |
16 |
2600 |
9800 |
sectors per FAT (38->152) |
20 |
4EBC0400 |
38F11200 |
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:-): mueller@maazl.de
Original homepage: http://www.maazl.de/project/mo640/index.html