The GoTek USB floppy emulator is a device that allows one to connect floppy disk images stored on a USB stick to a physical IBM PC floppy disk interface. This is a device we use ubiquitously in our retrocomputing pursuits, and this page is a record of the modifications and procedures we use in conjunction with the custom flashfloppy firmware on this device.
Most of these modifications are taken from the FlashFloppy Wiki, though the information has been condensed based on a "standard" build that we do for every Gotek that we use.
The information here applies to the current revision of the Gotek floppy emulator as of this writing, using the Artery microcontroller and with the jogdial header present... older revisions do not have the jogdial header and newer revisions may have other issues. Make sure the headers in the diagram below are available! Check the wiki if in doubt!
Please note that it may be advisable to flash the firmware first, as plugging in the USB cable for that may cause the speaker to emit a constant, irritating screech until firmware is flashed. These modifications REQUIRE the FlashFloppy firmware to be used!
This is fairly standard, according to the FlashFloppy Wiki. The script below will flash a Gotek connected via a double-A-ended USB cable and with the jumper wire installed as per the FlashFloppy wiki page.
If the firmware does not flash with this procedure, make sure you have the jumper wire installed and try running the script several times!
1 | #!/bin/sh |
2 | |
3 | DFU_FILE="$1" |
4 | |
5 | # First, run the unprotect command (needs -D, even tho it doesn't use the file). |
6 | # This will probably generate an error, but it's fine. |
7 | sudo dfu-util -s :unprotect:force -D $DFU_FILE -a 0 |
8 | |
9 | sleep 3 |
10 | |
11 | # Perform the actual flash. |
12 | sudo dfu-util -D $DFU_FILE -a 0 |
Once FlashFloppy is running, the OLED display should show the current version when power is applied. The vfloppy repository contains some scripts for working with floppy images from ZIP files and directories on the Linux command line via mtools.