ejona
Member
In another thread, I mentioned the Gotek firmware FlashFloppy had hard sector FDD support. It sounded like there was interested and I would like more testing of it. It works well enough for my usage on the Vector 4, and I'm hoping it works well enough to be useful on other machines.
My expectations:
My expectations:
- There will be some issues
- Reading should be possible for all hosts
- Writing should be fine on hosts that do verify-after-write, with an okay flash drive
- Formatting requires a particularly good flash drive, but some errors are probably okay. If the first 5ish tracks have no errors, it may be good enough
- Flash your Gotek with the latest FlashFloppy v4.x (currently 4.7a)
- If your Gotek already has FlashFloppy, you can use the easy USB flash drive-based update
- For Linux-only folks, I have successfully used vanilla stm32flash on at32f415 Goteks. I've attached a patch I use for stm32flash to program at32f435. I built at commit 5ac0ffb, but I expect master is fine too
- Choose a USB flash drive, fat32 formatted. Create the file FF.CFG with the contents (I'm assuming the drive is shugart-style):
Code:
index-suppression = false track-change = realtime write-drain = realtime interface = shugart
- Make any necessary HFEv3 images:
- HxCFloppyEmulator_soft can convert from some disk image formats (Northstar, Heath). "Load" the image, then "Export" as HFE rev 3
- mk_hfe.py creates blank (unformatted) images, with the
--hard-sectors 10
or16
argument. - vgi2hfe.py (attached) could be modified to fit your system. 0x8F is an "index hole" byte code. 0x0F is "noop," for padding
- Copy HFE image files over to the flash drive. The file extensions will be .hfe. The file contains the hard sector information.
- Set the jumper on the Gotek, to S0 (disk select 0) or S1 (disk select 1). If you want DS2 or DS3 then you'd need to solder a jumper wire
- FlashFloppy remembers your config file. So if you try other options, they are saved even after you delete them. You can reset the saved configuration
- Ideally, your machine would have a working floppy drive, for A/B testing
- The USB flash drive can matter, especially for writes. If you have trouble, try changing to a different brand or capacity. SD cards with USB adapters are good too. Most flash drives I've tried have been acceptable, but different drives do indeed behave differently
- AT32F415 Goteks have limited memory. STM32 and AT32F435 Goteks/OpenFlops are preferred, but STM32 are hard to find. If you are buying one new, that means look for a seller that explicitly mentions AT32F435
- Verifying reads after writes make the floppy emulation easier. The read provides an extra 200 ms for the flash drive to accept the write. Most writes to flash are plenty fast, but 1 out of 100 writes may be much slower. Some flash drives take well over 100 ms to write 512 bytes in those slow cases
Attachments
Last edited by a moderator: