picosonic / bbc-fdc

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

Add some common disk image formats to output types #4

Open picosonic opened 6 years ago

picosonic commented 6 years ago

The .SSD and .DSD files work fine in emulators except they don't support copy protected disks very well and also lots of potentially valuable information is not stored.

Some potential other disk image formats I could support are :

picosonic commented 6 years ago

Added basic .FSD output support

picosonic commented 6 years ago

Added basic .DFI - "DiscFerrect flux dump" DFE2 output support

tkurbad commented 5 years ago

Hi @picosonic,

awesome project! I tried to accomplish sth. similar with the proprietary Kryoflux board (s. https://github.com/tkurbad/kryofluxer) to sample my large collection of Amiga floppies before they've become completely deteriorated...

However, your solution would be much more "native" to the RPi than mine.

To come to the question of image formats, I would be very interested in the following:

On a side note: Can your board (i.e. the raw circuit board, w/o components) be bought somewhere?

Thanks in advance! Torsten

picosonic commented 5 years ago

Hi @tkurbad,

Thanks for the message. My project involves a single PCB which essentially just converts the RPi GPIO from 3.3v to 5v and vice versa. The data is sampled via a fast SPI transfer.

In essence any 34-pin shugart compatible floppy drive should work with it. I've never tried Amiga floppies but I understand that they are standard MFM, 80 tracks, 11 sectors/track, 512 bytes/sector. So should be no problem to read.

In terms of output formats, I've tended to support the ones which allowed me to write the disks I have to a format which could be loaded in an emulator. But so long as the format isn't too complicated I can support serveral other output formats. I'd probably need either an original disk or a sample of the data from one at the flux level. I've been looking at the .WOZ and .A2R outputs from the AppleSauce device recently for Apple II disks.

The .ADF file I had listed was for ADFS format floppies, rather than amiga. But it sounds like it's just a sector dump of the entire disk. Which my code can do at present when using the .IMG output format. You'd just need to rename it to .ADF. Although this wouldn't work with many copy-protected discs with non-standard formatting.

You may find this page interesting .. http://amiga.robsmithdev.co.uk/history

I got a run of 10 of my PCBs made and have one unpopulated board left if you're interested in it.

Cheers

Jasper

tkurbad commented 5 years ago

Hi @picosonic,

The .ADF file I had listed was for ADFS format floppies, rather than amiga. But it sounds like it's just a sector dump of the entire disk. Which my code can do at present when using the .IMG output format. You'd just need to rename it to .ADF. Although this wouldn't work with many copy-protected discs with non-standard formatting.

Yes, to my understanding, an .adf is a raw sector dump. The copy-protection problem was the reason for asking about HFEv3 support, which preserves the physical structure much more closely.

In the end, I want to be able to use all my Amiga disks with the Gotek Floppy emulator I bought, which is equipped with @keirf's phantastic FlashFloppy firmware.

You may find this page interesting .. http://amiga.robsmithdev.co.uk/history

Looks very interesting indeed. However, I'm not THAT deep into the matter, yet. Nonetheless, I probably should be, especially because the possibilities of formatting / copy protecting Amiga disks seem virtually unlimited. The solution I'm using right now is struggling very hard to distinguish between intentionally "broken", i.e. copy protected, and really broken floppy disks. The fact that all of my floppies are at least 25 years old, doesn't make this any easier.

I got a run of 10 of my PCBs made and have one unpopulated board left if you're interested in it.

Yes, I definitely am! All the components are in my drawer. I even got some SN7406N left over from a previous project. Please name the amount of money I'd have to transfer to you so you'd be comfortably parting from the last board and sending it to Germany :-).

Best, Torsten

picosonic commented 5 years ago

Added basic .TD0 output support

sdsnatcher commented 4 years ago

I would like to suggest some more disk image formats:

picosonic commented 4 years ago

Hi @sdsnatcher

Are you able to provide some sample .RFI files which have been captured from the disk formats you are interested in.

I can then take a look at the data and work out the transcoding process involved.

Thanks

Jasper

sdsnatcher commented 4 years ago

I still have to build the interface, so this might take a while. :)

picosonic commented 4 years ago

I was given an Amiga disk to image, and have managed to extract data.

I've added basic .ADF output support for Amiga formatted disks.

@tkurbad - Something you may be interested in.

drdpj commented 3 years ago

SCP would play nicely with most extant tool chains. IPF is probably a can of worms you don't want to get into! Keir Fraser's disk analyser can convert to that for amiga format floppies if necessary, as well as many other formats, and the HxC floppy emulator software does mop up the gaps quite effectively.

CommanderCoder commented 3 years ago

I have a lot of old Atari ST disks and I wonder if the BBC-FDC could capture AtariST format disks. It looks like the popular image formats are: .MSA , .ST and maybe: .DSK

I also have some TRS-80 disks (made on EACA Video Genie) which I haven't tried out yet, but I will.

picosonic commented 3 years ago

I don't see why not. It captures raw flux data from the disk in the same way the FDC chip would get it.

The extraction of sectors to disk images shouldn't be too difficult. The AtariST low level format is documented in great detail here