USB floppy drives only support a limited set of disk formats: 720KiB (on DD floppies only), 1440KiB (“standard” HD), and in some cases, 1232KiB (“mode 3”, the format used on X68000 systems) and 1200KiB (so that 5.25” HD images can be written).
If your images are 1440KiB images, then all that’s needed is to extract the raw sector image, and write it using cp
or any other tool capable of writing to a block device (which even includes the shell). I don’t know of such a tool off-hand, but you can run LOADDSKF
in an emulator to write your image to a sector image. For example, using DOSBox-X:
- place
LOADDSKF.EXE
and your floppy images in a directory;
- start DOSBox-X there;
- mount a 1474560-byte image as a floppy:
imgmount -t floppy a target.img
;
- “load” the SaveDskF image onto the “floppy”:
loaddskf source.dsk a:
;
- unmount the target image:
imgmount -u a
.
This will produce a target.img
file containing the raw sector dump, which you can then copy to your actual disk using your floppy drive, e.g. cp target.img /dev/sdX
, replacing X
as appropriate (on Linux; you’d use different commands on Windows).
(DOSBox’s floppy emulation isn’t good enough for LOADDSKF
, but DOSBox-X’s is.)
Alternatively, using QEMU, you can avoid generating intermediary images entirely; you’ll need a proper DOS setup, including your disk images and LOADDSKF
. Start QEMU with your USB floppy drive connected to the emulation’s floppy, and your DOS setup as the hard drive, then run LOADDSKF
directly.
There’s no way to write non-standard SaveDskF images (e.g. XDF images) using a standard USB floppy. You’ll need to use another floppy controller (KryoFlux, Greaseweazle, FluxEngine...) and an old-school floppy drive, and find a way to convert your disk images into something that can be written using whatever controller you have — Keir Fraser’s Disk Utilities might be able to do this (I haven’t tried).