Monday, July 21, 2008

UFIC - Introduction

Project UFIC (USB For IDE Controllers)

The idea of this project is not to take the Compact Flash (CF) outside of the Apple II case but instead place a USB CF Reader inside it. UFIC is an alternate solution to the problem of accessing a CF card (or IDE/ATA hard drive) which is positioned internally in an Apple II computer.

UFIC is an adapter which plugs in between the Microdrive IDE controller and the IDE/ATA to CF Board. It consists of two IDE/ATA plugs, a type B USB plug, a USB to ATA/ATAPI bridge and a switch.

The operation of the adapter is very simple. When the Apple II computer is turned off, the adapter allows a USB connected PC to access the CF card (or hard drive). When powered on, the system bypasses the USB to ATA/ATAPI bridge and functions like it did without the adapter.

Note: You still need a utitlity on the PC side such as CiderPress (http://www.faddensoft.com/) to access the data on the CF card (or hard drive).

Note: A 2.5 inch hard drive will require more power than can be supplied using one USB port (multi USB port cable is needed). A 3.5 inch hard drive will require an external power supply.

Note: This adapter is specifically build for the Microdrive IDE controller. The same principle could be used for other IDE controllers like the CFFA and the Focus Drive. The only difference being different connectors ie CFFA would need 5 volts from the controller card instead of pin 20 and the Focus Drive would need 44pin plugs. A USB CF Reader could be used instead of the USB to ATA/ATAPI bridge to give the same result.

Suppliers of IDE Drives :-
Microdrive IDE controller - http://www.reactivemicro.com/
CFFA - http://dreher.net/?s=projects/CFforAppleII&c=projects/CFforAppleII/main.php
Focus IDE HD Controller - http://16sector.com/

Saturday, July 19, 2008

Game Controller - Serial Switch Box

Sure, in most cases one game controller (joystick) will pretty well get you by for most games but in my opinion some games are just better played using the hand controllers/paddles (yes, I know, it is hard to believe) while others are just meant to be played using a free floating joystick. The problem with having these options means manually having to swap over the controllers or reconfiguring the joystick modes (free floating verses self centering). After a while this starts to become a pain, especially if you are switching between them regularly.

To find a solution, apart from tracking down the game controllers themselves, all I needed was a 4 way serial switch box and a 9 pin male to 9 pin male cable which I made up. The trackball was easily configured. It just got plugged in on the ADB bus between the keyboard and the mouse.

I am very happy with my solution as I have finally got my game controllers setup the way that I wanted. That is, available at a flick of the switch.


Parts List

Apple Joystick Model A2M2012 (Self centering)
Apple Joystick Model A2M2002 (Free floating)
Apple Hand Controllers Model A2M2001
4Way 9 pin Serial Switch Box
9 pin male to 9 pin male straight through cable
Kensington Turbo Mouse (Trackball) Version 5.0 Model 64210

Tuesday, July 1, 2008

External CF

The programming of the microcontroller is going to take a while. I will try and update my progress as much as possible but in the mean time I'll leave you with posts on some of my smaller projects.

External Compact Flash (CF) - External enclosure for IDE/ATA controller.

To add software to my Compact Flash (CF) based hard drive (MicroDrive IDE controller supplied by ReactiveMicro.com) I was constantly opening the case to get to the card. The idea was to extend the IDE/ATA connection and get the CF card external to the IIGS. I was unable to use a standard IDE/ATA cable because it contained female plugs and so did the CF adapter that came with the IDE controller. Tracking down a straight through 40 pin extension cable (male one end and female on the other) proved to be unsuccessful.

I ended up purchasing a CF adapter with a 40 pin female connection (39 pins actually), hooked it up and to my surprise nothing happened. At first I could not get it to work at all. Power needed to be supplied to the CF adapter's power connector. It was missing pin 20 (KEY pin) which the original CF adapter used as an alternate 5 volt power source. I set about modifying the IDE controller card by adding two pins for external power however I never ended up using it because of a change in plan. Using the new CF adapter was going to be an ugly solution. Not only was the cable short but the power cable would have to be run alongside it. The power could have been fed via pin 20 of the IDE/ATA cable but that would have meant modifying the equipment (IDE/ATA cable, CF adapter) or creating new adapters.

Instead I chose to use the original CF adapter and managed to get a custom cable made up (Supplied by Qld Connectors & Cables - http://www.qconnect.com.au/). This also meant I could have a longer cable. The IDE/ATA bus is specified to be used up to a maximum length of 46cm. However, cables up to about 90cm have been used successfully. I picked a length of 70cm which would allow the CF adapter to sit nicely at the side of the IIGS. To run the cable through the IIGS slot I sliced the cable in three so that it would fit in without bending. The slot is quite sharp so it was a delicate job feeding it through. Finally I purchased a plastic enclosure from a local electronics store and my father helped me mount the adapter inside. Two light transporters were used to move the power and read/write signals to the front panel. A fair bit of the light is lost this way. From my sitting position I can see the power light even though it is dull but to make out the read/write light I need to move so that my eyes are in line with it. Rewiring the LEDs would have been a better performing option.

I was concerned with not having external power on the CF adapter but so far I have not had any problems. Then again my IIGS power supply isn't overloaded.


CHED - Parts

Enclosure (Apple 3.5 Drive - A9M0106)
Ebay - http://www.ebay.com.au/

Hard Drive 2.5"
Ebay - http://www.ebay.com.au/ or PC recyclers

Mounting for circuit board and hard drive (IDE 2.5 - 3.5 Converter with Metal Frame)
Jaycar Electronics - http://www.jaycar.com.au/

Cables to Hard Drive and USB Board (44-pin 2.5" IDE Laptop Male to Female Cable 15cm)
Cable was cut in half to form the two cables.
Mittoni - http://www.mittoni.com.au/

USB to ATA/ATAPI Bridge (2.5" HDD Hard Drive USB 2.0 Case/Enclosure)
Ebay - http://www.ebay.com.au/

Connectors / Relay / ET-AVR Stamp Module (Atmega128)
Futurlec - http://www.futurlec.com.au/ or http://www.futurlec.com/

4x20 character LCD (Newhaven Display: NHD-0420H1Z-FSW-GBW)
Mouser Electronics - http://www.mouser.com/

General Electronics
Jaycar Electronics - http://www.jaycar.com.au/
Dick Smith Electronics - http://www.dse.com.au/

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.