Is there any way of reading Amiga floppy disks to PC hard-drive? Can I use a standard Floppy drive with a firmware program that will translate it? Do I need an external drive or a working Amiga computer?
Even though with a standard floppy drive there is no way to read it, there are several ways to do this:
- If you have two floppy drives, you can use a program called Adfread (download) to override the way Windows reads the second. This only works with Windows 2000 onwards, (but not Windows ME).
- The SuperCard Pro or Kyroflux controllers, that can be connected over USB.
- The Catweasel floppy controller (PC version), that is available as a PCI or ISA board.
- Cloanto offers a data-conversion service, for a few floppies if needed.
Source: Reading Amiga Floppy Disks on PC at Amiga Forever
The Amiga uses a standard floppy drive, but doesn't use a standard controller.
Data on a magnetic media is essentially stored as flux changes over time where the controller will detect if the magnetic flux has changed over a certain period of time to make it a 0 or a 1.
The problem is that the read head will be less sensitive to a change if it exposed to a magnetic field that has been steady; for this reason, data bits are interleaved with synchronization marks whose only role is to reverse the flux to prevent this from happening. In a typical format (MFM), roughly 50% of the magnetic surface on a track is used for this purpose.
The floppy controller hides all of this from you and presents you a floppy where tracks are nicely partitioned in sectors, etc.
On the Amiga, there is not such thing: the encoding / decoding of the track is done by the CPU and the blitter (to speed up bit operations) and the format itself is completely open. The Amiga can also not write a sector on a track, but needs to write the entire track back. The Amiga was very good machine to copy Atari ST protected floppies back in the day :)
While there is an official format spec for the Amiga floppies, many games use more exotic systems to pack more data and the only way to truly make a copy of Amiga floppies is to read the entire track which a computer that has a regular controller will not let you do.
I have just completed an open source solution to this problem available at http://amiga.robsmithdev.co.uk with full source code. The project is based around an Arduino and example code is for Windows (Visual Studio) but could be ported to other O/S easily
The Amiga 880 Kbyte floppy drive was identical to the 720 Kbyte pc drive (raw storage about 1 Mbyte). Raw data was captured from the drive, stored in memory using DMA and then processed with the help of the Blitter. The hardware equivalent of less than a 100 lines of code. Physically the controller was much smaller than the PC controller, it was software which significantly increased its flexibility.
A 1GHz Android Phone has over 100 times the performance of an Amiga, but I doubt it has more than 10 times the perceived performance.
To interface you do not need an Amiga, a microchip PIC32 would be sufficient and could be programmed in C, and in his experience copy protected discs could be captured and used actively, and work on unaligned (old) drives.
Source: Stephen Craimer, who implemented and tested the original external drives 5.25 and 3.5, wrote this in front of me.
He also thought that a usb dongle equivalent Amiga would be cool but doubts that there is sufficient interest/funding to justify the $100k cost to produce a $50 Amiga which would double as a wrist watch/viewer.