How can I use PC floppy discs on my MSX?
This page was last modified 08:39, 2 January 2023 by Gdx.

MSX machines can only handle 3.5" Double Density (360 or 720kB) floppy discs while most floppy disks you will typically find or of the High Density (1.44MB) variety. You can try to use HD disks as DD disks by putting a piece of sticky tape over the hole in the disks at the bottom right (the other hole is the write-protected hole, which should have a switch). Make sure that the tape is not transparent, because some disk drives use an optical method to determine if there is a hole. Original MSX disk drives don't need the tape over the hole, but can still give problems with HD disks (most will work). If you want to use DD formatted disks in a PC disk drive, you most likely need the non-transparent sticky tape covering the HD hole. Not covering the hole can cause the PC to claim the disk is not formatted.

Also note that there are additional restrictions if you have a USB FDD for your PC. Supposedly there is a type that allows raw sector access and acts like a legacy FDD while the other, more common type, is seen as a special case of a usb-storage device (called 'UFI'). There are also claims that some USB FDD are not capable of handling 2DD (720kB) disks, but this may happen if you try to use HD media as 2DD without covering up the HD hole. With regards to the 'UFI' type, it only supports certain fixed formats, which means special cases like copy protection or unusual layout discs will not work regardless of the operating system the PC is running.

As an example, on Linux you can query the combination of a 'UFI' USB FDD drive and disk capabilities with ufiformat. First lets determine the Linux device that is being used by the USB FDD

$ sudo ufiformat -i
disk         generic     
/dev/sdb     /dev/sg2

As you can see, the USB FDD drive is /dev/sdb which is what we will use in the next examples.

Here is what querying a HD disk will return.

$ sudo ufiformat -i /dev/sdb
vendor:  TEAC
product: FD-05PUB
write protect: off
media type: 2HD
status      block size   kb
formatted    2880  512 1440
formattable  2880  512 1440
formattable  1232 1024 1232
formattable  2400  512 1200

As you can see under 'formattable', it does not mention supporting 720kB media. But lets cover the HD hole and try again...

$ sudo ufiformat -i /dev/sdb
vendor:  TEAC
product: FD-05PUB
write protect: off
media type: 2DD
status      block size   kb
unformatted  1440  512  720

It now says the same disk is 'unformatted' 720kB. We can use ufiformat to low-level format the disk as 720kB as follows

$ sudo ufiformat -v /dev/sdb
format on device=/dev/sdb, size=720
geometry: track=80, head=2, sector=9, block=512

Note that this only does a low-level format of the media. You still need to create the actual FAT12 filesystem before you can copy files to it.

$ sudo mkfs.vfat /dev/sdb
mkfs.fat 4.1 (2017-01-24)

And we can now copy files to the disk and read them on a MSX with 2DD capable disk drive.

There are also some reports that legacy FDD don't work with Windows 10, or require updated drives from Microsoft.