Is there any way of reading Amiga floppy disks to a 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?
6 Answers
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
-
That's interesting. Can you elaborate a little on this? For example, can you describe how would one go about using your tool to image an Amiga floppy disk on a modern system, and what other peripherals are required? (For example, it's pretty obvious that a physical floppy disk drive is required, but what are the requirements on it?)– userCommented Jul 19, 2017 at 12:59
-
Its all documented on the website, but essentially you need one of the basic Arduino boards (or clones), a power supply (eg: phone charger), a PC floppy disk drive and cable, and a 1KOhm resistor. (and depending on which arduino you use, an optional USB Serial converter board, but then you'll need that for programming these anyway) Commented Jul 27, 2017 at 15:04
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
-
1Welcome to Retrocomputing Stack Exchange. I see you've written a self-answer; thanks for sharing the answer you've found! I fixed some broken links in your answer.– wizzwizz4 ♦Commented Oct 30, 2016 at 9:29
-
1As far as I recall the hardware/controllers differences are significative as not to allow reading an amiga disk in a pc native floppy controller, no matter how you reprogram it. their controller was more advanced. You will need specific hardware for that. Commented Oct 30, 2016 at 11:46
-
2@RuiFRibeiro Apparently Adfread tricks the PC floppy controller into reading the Amiga formatted disk by having a PC formatted disk in the first drive. en.wikipedia.org/wiki/Formatted_Disk_Image– user722Commented Oct 30, 2016 at 19:45
-
3Slight nit-pick: it's not the standard floppy drive which causes issues (first paragraph), it's the standard PC controller. That said though, with a standard PC controller, the two-floppy-drive Adfread (and Disk2FDI) technique is surprising but does work! (It's limited to non-copy-protected disks, which limits its usefulness for archiving original floppies on the Amiga.) It's worth pointing out the Archive Team page on rescuing floppy disks, which also lists people who are willing to recover floppies. Commented Oct 30, 2016 at 22:23
-
Catweasel controller is not available on the site you link to (and, apparently, has not been for a few years now). Commented Oct 31, 2016 at 14:31
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 think the encoding/decoding is to a large degree also done by the Paula chip (which also handles sound and has related DMA capability)? Commented Jul 17, 2017 at 11:23
-
no it doesn't; Paula is providing a timebase used to measure flux reversal; since the rotation speed will vary from one floppy to another (there is some friction as there is a cloth material inside the floppy casing), it uses a PLL to lock on the data rate and this is used as a time base for reading the rest. This part is not unique to the Amiga.– ThomasCommented Jul 18, 2017 at 15:38
My FluxEngine software can read and write ADF files onto floppy drives using the appropriate hardware: either my own matching FluxEngine hardware (open source, easy to solder up from a standard cheap dev board, requires Windows to program the board) or keirf's GreaseWeazle (open source based around a Blue Pill STM32 board, harder to solder up or you can buy a preprogrammed custom board). The hardware acts as a USB floppy drive interface into which you plug a normal PC drive. It then works at the magnetic flux level, with the PC client software doing the encoding and decoding, which means it can work with any format which is physically compatible. (Yes, it can write Mac 800kB GCR disks.)
The client is open source and works on Windows, Linux, OSX and probably anything else which supports libusb.
See http://cowlark.com/fluxengine for my FluxEngine software and hardware and https://github.com/keirf/Greaseweazle for keirf's GreaseWeazle hardware.
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.
-
2I am a bit lost why you mention the "1GHz Android phone" - It doesn't normally come with a floppy disk drive...– tofroCommented Dec 4, 2016 at 12:18
-
4Does this actually answer the question? It gives enough information to infer something, but it would be much better if you made it explicit.– wizzwizz4 ♦Commented Dec 4, 2016 at 15:28
-
-
I doubt that a PIC32 would be able to even talk with the FDD(not too big amount of pins, very small amount of RAM), and if it even would be, it would not be a very reliable way to copy disks (if it would even work, it would be maaybe a few hundred bytes per second) Plus, what does copying "copy protected disk" differ from copying normal floppies? What's a "copy protected disk" anyways? I always thought that game publishers used books with codes for a reason...– redsPLCommented Jul 15, 2017 at 22:39
-
@redsPL a copy-protected disk is one that uses a nonstandard encoding on at least one of its tracks to make it impossible to copy with the standard tools. Though I think every Amiga game was eventually cracked, so it only slowed down the pirates for a short time. Commented Jul 30, 2017 at 12:35
A solution I just heard about which seems not yet to have been mentioned here is DrawBridge; it's an open source Arduino project that uses a regular PC floppy drive to read Amiga disks like many others but the really neat thing is that it's small enough to fit with the drive inside the enclosure of a regular 2021-sized USB floppy drive, as depicted here.
So the whole unit ends up being pretty much the smallest thing that a floppy disk could fit into, with a single USB cable coming out of it.
It has been added as a supported USB floppy reader to WinUAE, alongside the Catweasel and GreaseWeazle, and its GitHub repository has an update as recent as a month and a half ago (the 15th of June; and I'm writing this on the 30th of July) so development appears still to be active.