Friday, June 27, 2008

CHED - Images

The Apple 3.5" Disk Drive has been guttered. The daisychain circuitry in the back of the drive has been left attached (for now).

Measuring up the LCD module.

The circuit board (top and underside views) with nothing attached. The board mainly consists of connectors:
1. 2.5" hard drive .
2. USB to ATA/ATAPI bridge.
3. Rails for the microcontroller module.
4. Extra pins to the microcontroller module.
5. Keys.
6. LCD module.
7. Apple II disk port.

The circuit board (top and side views) with the hard drive and microcontroller module attached.

The circuit board inside the metal part of the Apple 3.5" enclosure (front and back views showing). Currently the board will not fit with the microcontroller module attached. This is ok for the prototype but I will need to solder the module directly to the board when the time comes for fitting.

View shown with all devices attached. The keypad is only there for testing. It will be replaced by individual push buttons. The picture shows the USB cable attached but the power for the USB will need to go through the relay first.

CHED - Update

Completed building of the prototype board on 18th June 2008. I am sure there will be many revisions to come but it finally feels like I'm getting somewhere.

CHED - Update

Completed circuit design on 2nd June 2008. Started putting the prototype board together.

CHED - History

Around the start of 2007 a work colleague introduced me to an Apple IIe emulator. The memories started to flood back to my teenage years when the Apple IIe took up a good part of my life. It had been about a decade since I last had one. I figured it might be fun to source a working model and try out a few projects that I never got around to doing.

From ebay I picked up an Apple IIGS, knocked up a serial cable and with a program called ADTPro I downloaded a few disk images to try out. It was slow going because I did not have any media to store the programs on. I only wish I had kept my software collection. I sourced some 5.25" and 3.5" floppies but this was a battle in itself. Not all the floppies I managed to get stood the test of time.

It wasn't long before I bit the bullet and bought myself a hard drive solution. There were a few good options to choose from (fantastic considering the IIGS was discontinued back in the early 90s) and the one I chose was the Microdrive IDE controller with a Compact Flash (CF) card. Things started to move along but it was still quite cumbersome. Every time I wanted to add software to the hard drive I had to open the case, removed the CF card and plug it into the CF reader on my PC. Eventually I got a custom extension cable made up and I mounted the CF card in an external enclosure.

This was all good and well for the latest software that supports a hard drive or was easily converted to be used on one. However getting the older Apple II software to work was a little more challenging. There were a variety of different creative solutions to this problem however either through compatibility or difficulty with setup/usage none suited my expectations. I wanted something as easy to use as the Apple IIe emulator on my PC. I know that would be expecting too much but I set about building something that will come as close as possible.

Over the next few months I did not see much progress in my project as I went about refining my ideas, researching, designing the product and collecting the parts.

CHED - Introduction

Project CHED (Combined Hardware Emulated Drives)

Total floppy and hard drive replacement for the Apple II that uses disk images instead of floppy media and contains a user interface.

I started this project with the aim of modifying the floppy disk support on the Apple IIGS in a way that does the following :-

1. Removes the need for floppy disk media. The media is becoming harder to come by and the chance of failure for existing media is always increasing.
2. Provides an easy way to transfer disk images to and from the unit.
3. Stores the images in a stand alone unit.
4. Contains a user interface for selecting disk images.
5. Reduces the noise existing floppy drives produce. This was a priority in my household when I started this project but not so much any more.

There were two main ideas which I considered developing. They are as follows :

1. A disk drive that communicates over the disk port or disk controller card. IDE controller and a 2.5" hard disk drive. A hard drive is preferred over Compact Flash / Secure Digital due to the extensive read/write usage. For ease of transfer, images are stored using FAT and the unit contains a USB to ATA/ATAPI bridge. User interface is implemented using keys and an LCD module.

2. A peripheral card that fits into the Apple II slot. Similar to option 1 in that it contains an IDE controller / 2.5" hard drive / FAT / USB to ATA/ATAPI bridge. The user interface can be hacked into the IIGS case or it can be driven by software.
Option 1 felt like it would be easier and simpler to build.

System overview

The first implementation will involve using the Apple 3.5" floppy disk drive as the enclosure. The front will be modified to fit the LCD and keys. The back will be modified to take the USB cable and a power source. The disk usage indication led and the eject button will be reused.

To start with, CHED will emulate two Apple 3.5" disk drives and two Apple 5.25" disk drives. Smartport hard drive emulation can be added later.

CHED will contain two modes.
Mode 1 will enable it to act as a disk image controller.
Mode 2 will enable the IDE hard drive to be visible by a PC as an externally connected USB drive.

An Atmel ATMega128 microcontroller will be used to handle the user interface, Apple II disk interface communications and IDE/ATA communications.

It will contain options depending on the platform used ie IIGS / IIc / IIc+ / IIe (via an Apple 5.25" or a Superdrive controller)

Future ideas.
Emulate a smartport hard drive.
Integrate a USB peripheral controller onto the circuit board and remove the relay.
Extend the daisychain interface so that other drives can be added downstream of the unit.
Implement using a Disk II interface.
Implement option 2 - Internal card via the expansion slot.