How to make a floppy disk image
This page was last modified 14:58, 27 June 2019 by Mars2000you. Based on work by Shram86 and Rderooy and others.
HD disk with HD hole covered up

This page describes how to write regular MSX disk images (DSK) to a disk using a MSX, PC or Mac. Copy protected disk images (DMK, PDI) are not supported unless otherwise noted.

NOTE!
You can normally use a 3.5" HD (High Density) disk instead of a 1DD (360kB) or 2DD (720kB) disk. However, in such a case you should really cover up the 'HD hole' with some non-translucent tape as any HD capable disk drives may get confused otherwise.

Contents

Linux

Using a legacy disk drive

To write a disk image from the Linux command prompt type:

sudo dd if=filename.dsk of=/dev/fd0

This works for both single sided (1DD) and double sided (2DD) disk images.

You can also format a 3.5" 2DD (720kB) disk using the following command:

sudo mkdosfs /dev/fd0

To format a 3.5" 1DD (360kB) disk use the following command instead:

sudo mkdosfs /dev/fd0D360

Using a USB disk drive

This is a bit more convoluted as a USB disk drive is handled like any other disk device, so we first need to figure out which device it gets mapped to. For this it is recommended to install the 'ufiformat' utility.

To identify any attached USB disk drives from the Linux command prompt type:

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

As you can see, in my case, it uses disk device /dev/sdb, so now I know where to write to.

ATTENTION!
do not blindly assume it to be /dev/sdb in your case, check, because if you use the wrong device you can destroy important data!

sudo dd if=filename.dsk of=/dev/sdb
1440+0 records in
1440+0 records out
737280 bytes (737 kB, 720 KiB) copied, 132.835 s, 5.6 kB/s

The advantage of this method is that you can write a 360kB (1DD) disk image successfully to a 2DD disk.

ufiformat is also useful to understand the capabilities of your USB disk drive, and the disk currently inserted.

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

And obviously you can format a disk with it.

sudo umount /dev/sdb
sudo ufiformat /dev/sdb -f 720
geometry: track=80, head=2, sector=9, block=512
done

ufiformat will not allow you to format a disk as 360kB (1DD), but you can work around that by simply copying an empty 360kB disk image to the disk with the above DD method.

You can use the following bash script to quickly format a 2DD floppy (or taped HD floppy) with a workable 720kB DOS partition all at once:

sudo ufiformat -f 720 /dev/sdb  # Formats USB drive 'sdb' with 720kB
(
echo o                          # Create blank DOS partition table
echo n                          # Create new partition
echo p                          # Primary partition
echo 1                          # Partition number 1
echo                            # (default start sector)
echo                            # (default end sector)
echo w                          # Write partition and quit
) | sudo fdisk /dev/sdb         # Call fdisk
sudo mkdosfs -F 12 -I /dev/sdb1 # Format partition 1 of 'sdb' to DOS/FAT12


Mac OS X

  1. Plug a USB floppy drive (that supports 2DD disk) into the USB port
  2. Execute Disk Utility into the Utilities folder
  3. Enable Write protect on your floppy disk and insert it in USB floppy drive
  4. Select the floppy disk icon at left in Disk Utility window and click on New Image
  5. Select the destination and write the file name
  6. Select DVD/CD master without encoding then save it (your password is required)
  7. When the image is created, rename the extension "cdr" by "dsk".

Notes:
- Floppy disks with anti-piracy protection are not copyable.
- Disk Utility does not support 1DD floppy disks.
- Do not mount floppy disks (click [Ignore]) whose FAT is deliberately damaged (eg commercial software).

MSX

Using GETDISK

  1. Enter the command GETDISK under MSX-DOS2 (without parameter).
  2. specify the drive name in which the floppy disk is inserted.
  3. Enter the number of disk to copy and the image(s) name (drive and path can be specified).

Note: If you specify a disk that is not a floppy disk drive, an error message will be displayed.

Using FDLOAD by Tsujikawa

Enter the command FDLOAD <FileName.EXT> <DestinationDriveName:> under MSX-DOS2 (drive and path can be specified).

Note: Be careful not to specify a bad destination disk.

Windows 10