picosonic / bbc-fdc

Floppy disk interface for Raspberry Pi
MIT License
244 stars 22 forks source link

Add support for Double Density BBC DFS Disks (Solidisk Tested) #19

Closed ajgbarnes closed 4 years ago

ajgbarnes commented 4 years ago

The following changes were introduction (the reporting was an logical outcome from debugging to make sure everything was captured successfully):

  1. Added support for DDD files which can be loaded by B-em, B2 and MAME
  2. Added support for SDD files which can be loaded by B-em, B2 and MAME
  3. Add -sectors switch to allow manual setting for sectors for DFS format capture
  4. Added ability to read and copy Solidisk DDFS disks
  5. Defaults to 16 sectors per track if DDD is specified
  6. Defaults to 16 sectors per track if SDD is specified
  7. Correctly reads 10-bit and 11-bit sector counts (high bits in byte 6/sector 1)
  8. Warns user if cataloguing a DFS disk that they may have to use -sectors
  9. Eased DFS sector 1 checks to allow Watford / Solidsk disks to pass the byte 6 checks
  10. Generates a CSV friendly list at the end of every failed track (useful if you are trying different drives and want to merge from different successfuly sources)
  11. Writes CSV data to
  12. Using a DDD or SDD output file auto switches to 16 sectors per track UNLESS -sectors has been set
  13. Allow checking of more than 10 sectors in bbcfdc (main loop was hardcoded to 10 as per single density Acorn format)
  14. Detects Solidisk chained catalogues (does not catalogue them yet as they require additional sector reads) and outputs a message during the catalogue operation
  15. Added bbcfdc-nopi as a target for the "all" target in the makefile - seems convenient to have this is e.g. you are capturing RFI files and then want to make a BBC image from them
  16. Added ability to optionally specific which side after the -ss flag e.g. -ss 1 to allow ability to rip the second side of a BBC disk only if for example the first side is corrupt or in a different density to the first side.
ajgbarnes commented 4 years ago

Thank you @picosonic - it's a privilege to contribute to your outstanding work. I learnt a great deal from extending this.

I'll admit to making most of my changes in vi which may have affected the indentiation - apologies for that. And tried to match your coding style as much as possible but missed a few, interesting to see those changes.

I'm happy with all of your tweaks. Thank you for pulling this.