schlae / amiga-hddlw

Adapts a regular PC floppy drive for high density operation on an Amiga computer
35 stars 3 forks source link

Herr Doktor Diskettenlaufwerk (Amiga-HDDLW)

Late-model Amiga computers use customized floppy drives (like the Chinon FZ-357A) to be able to read and write high-density floppy disks (colloquially known as 1.44MB floppies, although the Amiga can store 1.76MB because it packs in four additional sectors per track.)

Why a customized floppy drive? The Amiga custom chip, Paula, only supports the slower bit rate used by double-density floppy disks. Instead of spending a bunch of money to change the Paula chip, Commodore engineers got a customized floppy drive that spun the disk at half speed when it detected a high-density floppy disk.

In the 1990s, some 3rd party vendors released Amiga compatible floppy drives. One such design is the AMTRADE "The Real HD-Drive" A357. It uses a modified Sony MPF920-E or a TEAC FD-235HF (both fairly common) along with a small adapter circuit board containing a 16V8 PAL.

I've done a bit of reverse engineering to understand how the A357 works, and I've been able to build a functional replica. It's not an exact copy because the original PAL is locked. I'm calling it the Herr Doktor Diskettenlaufwerk, or HDDLW.

Please note that I have not fabbed out this design yet, and although the design is tested and expected to work, go forward at your own risk.

Fabrication

The board is a simple 2-layer affair with a small handful of parts. The dimensions are 93.5mm x 20.3mm (3.68" x 0.8").

Schematic

Bill of Materials

Fab Package

Install a 20-pin DIP socket in position U1 just in case you have trouble programming the PAL. All parts, with the exception of J2, J5, and J6, should be installed on the top side of the board.

J4 should be a Molex 4-pin header with a key. In a pinch, you can sub it out with a standard 4-pin header but it will be very easy to connect the cable backwards, which will put 12V on the drive's 5V rail, destroying everything!

Install either J5 or J6 depending on the drive you plan to use. If you install both, J5 will interfere with the drive select jumpers on the Sony drive and potentially damage them.

Jumper J3 should be set to 1 for DF0 and 2 for DF1. Position 3 has not been tested yet but may work.

PAL programming

See the source file.

The logic equations are assembled using galette and can be burned to the PAL using a number of different tools. I use the TL-866 with the minipro tool under Linux, along with the ATF16V8B. The speed grade is not critical.

Drive modifications

The HDDLW has been tested with the two floppy drives below. It may be possible to use it with other drives, but you will need to investigate to figure out the clock connection that sets the motor RPM. You will also need to figure out how to get the high density select signal onto pin 4 of the drive.

Sony MPF920-E

Perform the following changes

Modifications on the Sony MPF920-E

TEAC FD-235HF

Perform the following changes

Modifications on the TEAC FD-235HF

TEAC used several different board versions, so your board may not look exactly alike. The example below uses R12 instead of R9, and S5 has been moved although it retains the same designator.

Alternate TEAC board

Another alternative board uses R12 (as above) but uses S6 instead of S5.

Second alternate TEAC board

Functional Explanation

The drive modifications intercept the clock signal that goes between the floppy drive's main control IC and the motor controller, bringing them out to two unused pins on the floppy connector. They also enable the undocumented feature that provides a high-density detect output on pin 4.

The PAL checks for high density disks by looking at pin 4. If a high density disk is inserted, the PAL

If a double-density disk is inserted, the PAL

And that's about it.

License

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. See https://creativecommons.org/licenses/by-sa/4.0/.