|16-03-2017 (3549 lectures)||Categoria: Articles|
December 15th, 2012 | Category: Floppy Emu
Floppy Emu is a prototype floppy disk drive emulator for vintage Macintosh computers.Â It emulates 400K, 800K, or 1.4 MB disks, and is compatible with everything from the original Macintosh 128K through the Mac II series and Power Macintosh line.
You can buy a pre-assembled and tested Floppy Emu, or if youâ€™re comfortable with surface mount soldering and have an AVR programming tool, you can build a Floppy Emu at home. Be warned there are several SMD chips with fine-pitch 0.5 mm pin spacing. These can be soldered by hand, but itâ€™s challenging work.
Floppy Emu is released under the Creative Commons Attribution-NonCommercial 3.0 license. Youâ€™re free to build one for personal use, or adapt and share the design for other non-commercial projects, but please donâ€™t build a batch of Floppy Emus and sell them on eBay. Now with that out of the way, letâ€™s get started!
Download the Floppy Emu source files
What Youâ€™ll Need
Making a PCB
To begin building your Floppy Emu, youâ€™ll need a printed circuit board. Send me an email to ask if I have any extra PCBs available. Otherwise, there are many on-line services that will make these for you, using a set of layout files called Gerbers. Youâ€™ll find the Floppy Emu Gerbers in the file archive, in the directory eaglefloppyemugerbers.zip. I recommend using the Dorkbot PDX PCB Order service to get the PCB manufactured. Send them the Gerber files, and theyâ€™ll make three copies of the PCB for about $30, with a turn-around time of a few weeks. The guy who runs the PCB service is very helpful if you have questions.
Getting the Parts
While youâ€™re waiting for the PCB, you can locate all the other parts youâ€™ll need to assemble the Floppy Emu. Youâ€™ll find a complete parts list in the file archive. The total parts cost (not including the PCB) should be about $40-$50 when ordering in single unit quantities, with taxes and shipping costs.
One of the required parts is a male DB-19 connector, which mates with the Macâ€™s external floppy port. These can be very difficult to find, andÂ IEC is the only supplier I know that has them. If you canâ€™t find a DB-19 solder type connector, you can still use the Floppy Emu with its alternate IDC20 connector, which is readily available from electronics suppliers. With the IDC20, there are several different connection options:
If you donâ€™t already have one, youâ€™ll also need an AVR programmer like the AVRISP mkII.
Hereâ€™s where things get fun! Refer to the file board-layout.png for placement information, or check the schematics.
The first step is to solder and test the AVR.
The AVR microcontroller should now be functional. You can use AVR Studio to test it out.
If everything is working, the Device ID field should now display 0x1E 0x97 0x05. If it does not, or you encounter an error, review the steps above, then go back and carefully re-check all the solder connections.Â Do not proceed further until you are able to retrieve the AVR device ID.
The next step is to program the AVR with the Floppy Emu software and bootloader.
These settings should result in the fuse bytes being Extended: 0xFF, High: 0xDA, Low: 0xBF.
Congratulations, the AVR setup is now complete! The next step is the Nokia LCD.
The LCD should now be functional.Â Connect the Floppy Emu to your Mac, and turn the Mac on. If everything is working, the LCD should show a version number screen, followed by â€śSD Card init errorâ€ť.
The SD card reader is next.
Connect the Floppy Emu to you Mac, and turn the Mac on. If everything is working, the LCD should show a menu listing of the disk images on the SD card.
The final assembly step is the CPLD.
Now itâ€™s time to program the CPLD. The AVR programs the CPLD indirectly, using a firmware file stored on the SD card, so no JTAG tools are needed.
Thatâ€™s it! Turn the Mac off, then on once more, and youâ€™re done.
Using the Floppy Emu
When itâ€™s turned on, the Floppy Emu scans the SD card for files with a .dsk, .img, or .image extension, and shows a menu of available disk images. Use the PREV/NEXT buttons to select a disk image file, then press the SELECT button to insert it into the emulated disk drive. After the disk is inserted, the LCD display shows the current track number and active side of the drive.
The Floppy Emu expects 400K, 800K, or 1.4MB disk images in either raw format (the .dsk images typically used with Macintosh emulators), or DiskCopy 4.2 .image format. Raw image files support reading and writing to the emulated floppy disk. DiskCopy 4.2 images are read-only.
Floppy Emu supports normal sector-by-sector writing, such as copying files in the Finder, or saving data from within a program. It does not support formatting the emulated floppy, or using it with format-and-write disk copy tools. If you need a blank disk image file, create one on your PC and then copy it to the SD card.
Extending Floppy Emu
The C source code for the microcontroller program is provided in the file archive. You can build it with AVR Studio, generate a new floppyemu.hex and merged.hex file, and load it to the microcontroller using the AVRISP mkII.
The Verilog source code for the CPLD is also provided. Youâ€™ll need Xilinxâ€™s free ISE WebPACK to build it. Export an XSVF file, and rename it to firmware.xvf. Then copy the file to the SD card, and load it onto the CPLD as you did before.
Happy hacking!Read 30 comments and join the conversation