| [fastpc] | [ciaide] | [geos] | [linux] | [projects] | [software] | [contact] |
Most of them worked flawlessly on C64, but all of them failed on C128. I don't know why, maybe it is slightly different bus timing or something like that (IDE bus is not 100% compatible with C64/128 address/data bus). Anyway I admitted failure and resigned from high performance transfer in favour of reliability. I returned to the very first project I have found - driving IDE bus with additional port chip. In C64/128 case the easiest and fastest way is to connect additional CIA chip, that is CIA#3.
You should better download the archive below and read CIA-IDE.txt file, but here is a better looking version of schematic. Grab PDF here. PDF has better quality than the image below.

/CIA3 signal comes from the address decoder. Resistors and LED are optional (in fact I don't have them in my circuit). I'm not sure if LED orientation on the schematic is correct :)
These numbers (chips and pins) are only for C64! Get VIC (U7) chip out of the socket and bend pin 10 up. Do the same with SID (U9) and its pin 8. Connect two wires to those bended pins. Connect also another two wires to the corresponding pins on the board - in sockets. You may try to trace the tracks and find more comfortable place to solder. If not then the solder side of the board will be the safest choice.
These numbers (chips and pins) are only for C128! VIC is U21, its /CS signal is on pin 13. Instead of soldering to the VIC socket you may use U11 pin 42 - this is the very same signal. SID is U6, its /CS signal is on pin 8, board side signal can be found on U3 pin 15. The rest is similar to C64.
When you'll get those 4 signals connect them as on the picture below:

/CS lines are on those bent pins and A8/A9 lines can be taken from CPU (U6) pins 15 and 16 (respectively). On C128 you should better use A8/A9 from one of ROMs or Expansion Port because of MMU interference.
Don't forget to connect power (VCC to pin 16 and GND to pin 8) for the new chip!
As you see you get 5 I/O page signals - for $D100, $D200, $D300, $D500, $D600 and $D700. Pages $D5, $D6 or $D7 are generally a good place for connecting second SID - you just solder one SID on another, without pins 1-4 and 8. Then you solder two capacitors to pins 1-2 and 3-4 and /CS line from our address decoder to pin 8. If you want to have a stereo SID then don't solder pins 27 together and build a copy of amplifier from the board. You might also not solder pins 23 and 24 because these are POTX and POTY and might be used to mesaure resistance.
Instead of SID and VIC you could also use CIA#1 and CIA#2, but these are usually not socketed. /CS signal in CIA is on pin 23. This way you would get slices of 64 bytes each - 4 on page $DC00 and 4 on page $DD00.
Choose one of /Dx00 lines and use it as /CIA3 signal.
Use local copy of archive (25.07.2002) for latest documents and program sources. You will find there comprehensive information about CIA-IDE, other possible hardware solutions and working examples of software, together with full source code of GEOS driver and installer.
Here are prebuilt binaries or GEOS driver (25.07.2002). These are ready for use with GEOS64+IDE64 or GEOS128+CIAIDE.
Here is updated IDE64 driver (11.09.2004). It works with VICE 1.15 IDE64 emulation and comes in two versions - for master and slave device, thus it should be possible to have master disk for IDE64 native stuff and slave only for GEOS.
Due to memory problems the driver needs RAM expansion on a bare C64. It can be either REU or internal RAM of IDE64 interface.
Source code for all utilities is available under GNU GPL license, so if you have already an IDE interface you can easily adapt it.
As for now only Master disk on the IDE bus is supported.
Read the docs for more details.
Because of my laziness I have only 8-bit interface so half of disk is always lost, but even taking 20MB from a 40MB drive is a lot of space for use.
General view of my C128 interiors with everything installed. On the bottom left you can see
circuits for 256KB expansion and address decoder. On the top left there is Conner 40MB hard disk.
As you see it is powered by C128 power supply. It worked without any problems with WD 2500MB disk.

Now similar view to previous one, but with disk removed.

Closeup of the third CIA. As you see the chip socket is soldered directly to CIA1 and a short IDE cable
leads to the IDE socket.

This is actually not CIAIDE, but IECATA assembled by me. It is not finished, the IDE socket is not soldered. The
axe is for size comparison ;).

Anyway I think you will find this auto-exec for IDE64 useful. It is a little program that you should put on your boot disk. Every time you start GEOS it will read the time from RTC onboard IDE64 and set the system time and date.