I am trying to use a USB FDD (Teac) with openMSX 0.14.0 on Linux.
As it is a USB disk drive, it is not seen as /dev/fd0, but is instead handled by usbstorage, as such it gets a /dev/sd* and /dev/sg* device IDs.
This also means that the traditional ways of accessing a specific size of disk no longer works, such as /dev/fd0D720, instead you can do a low-level format using ufiformat, after which you can format the device.
As I don't have any 2DD disks, I covered up the HD hole, and was able to use ufiformat to lowlevel format it as 720kB.
I changed permissions on /dev/sdb and /dev/sg2 such that 'other' has RW access.
$ sudo chmod o+rw /dev/sg2 $ sudo chmod o+rw /dev/sdb $ 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 $ ufiformat -f 720 -v /dev/sdb format on device=/dev/sdb, size=720 geometry: track=80, head=2, sector=9, block=512 $ dd if=MSX-DOS\ v1.8\ \(1986\)\(Microsoft\)\(US\).dsk of=/dev/sdb bs=512 1440+0 records in 1440+0 records out 737280 bytes (737 kB, 720 KiB) copied, 132.707 s, 5.6 kB/s $ openmsx -machine msx2 -diska /dev/sdb
openmsx starts and the drive spins up for a moment, then stops and it boots to BASIC. 'files' gives Disk offline. Doing a call format and asking it to format as 2DD causes openMSX to core dump.
terminate called after throwing an instance of 'openmsx::NoSuchSectorException' Aborted (core dumped)
Obviously I know I can just point openMSX directly to the dsk file, I am using the above as an example of what happens if I try to access a USB FDD.