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.
The OS/2 driver model for (optical) devices with >512 bytes per sector:
Copy the file mo640.exe anywhere 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.
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.
Please notice that the command line syntax is slightly different:
mo640nt drive:
In this case drive is a drive letter. By default the disc is converted to 2048 bytes per sector. If you have media with 1024 bytes per setctor, you need the /s1024 switch.
It is not necessary to eject the media after conversion. You can use it immediately.
I have to say: the hole DASD implementation of NT is much cleaner and easyer to use.
ZIP file with binaries, source and this guide: 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 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