How to make a floppy disk image
This page was last modified 14:26, 13 July 2021 by Gdx.

This page describes how to create regular MSX disk images using a MSX, PC or Mac. Disk image files used on MSX use generaly .DSK as name extension. A DSK file is disk image without copy protection. It has no header. Copy protected disk images have the extension .DMK or PDI.

Contents

How to make a blank image

Using a emulator

  1. Copy any DSK image and rename the file Formatted disk for example.
  2. Use an emulator that emulates an MSX with a floppy drive and insert the DSK file into the drive once the MSX is under BASIC.
  3. Enter the CALL FORMAT instruction and follow the instructions.
  4. Eject the disc after formatting is complete. It is better to quit emulation with some emulators so that the last action on the disk is taken into account.
  5. Set this DSK aside and copy it whenever you need a formatted image.

Note: Emulate MSX turbo R to make a disk formatted for MSX-DOS2.

MSX Floppy Disk Manager Creator

  1. Select Format (F) from tool menu to display the Format menu.
  2. Select the .DSK file to format as drive and format type
  3. Clic Start (S)

Disk-Manager 3

  1. Go to File and then New ...
  2. A double-sided flop is 720 KB and it is on it here. To serve all MSX-ers, we choose the option above 360KB ... 80 tracks, Click OK
  3. Then go to File and choose Save as and type a name. Choose an appropriate name, otherwise you will soon not know what is written on what. Now you have a disk image of an empty flop.

Make a disk image

Linux

Using a internal Floppy 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 Floppy Disk Drive

This is a bit more convoluted as a USB FDD 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).

Software