||IDEFIX.TXT - 24/09/1999
||Final IDE hardware modification Sunrise MSX ATA-IDE Interface #1.0
||Jon De Schrijder (email@example.com)
During the previous months I've been developing a new IDE interface. It was released by Sunrise on the fair in Bussum. It is completely compatible with the previous IDE interface.
There were two reasons to develop this new interface:
-all IDE interfaces were sold out and the demand is high
-it didn't work yet with some particular devices
There have been some *serious* enhancements made to the design and it seems that all hardwaretroubles with certain devices are gone now.
It is possible to upgrade an old IDE interface to the new design, but it requires a lot of work and it is certainly not necessary if your current IDE is working ok with your devices. Practically the upgrade CAN ONLY BE
DONE by Sunrise for MSX, because two special programmed chips are required and these can only be delivered by Sunrise. Of course, you can order these chips by Sunrise and do the modification yourself, but in that case
this will void your warranty. Though you will probably have to wait a little longer, I would advise you to leave the upgrade to the Sunrise people.
I have to stress the fact that (again!) chips have to be replaced and it is possible that your PCB (printed component board) gets damaged by the repeating soldering work. If you really want a new version of the IDE I
would advise you to just buy the new one.
Anyway, for who's interested, here is the modification description; it can be used for all modification versions of the IDE that are around. It is also possible just to do a few easy things of it. (see Part 1 below)
Before taking your soldering iron, notice the following:
A. As you know all modifications are on your own risk. If you screw it up, don't blame me! If you have not enough soldering experience I would advise you to leave it to someone else.
B. About the original IDE interface (version 1.0 by Henrik Gilvad):
All problems are caused by a very unstable databusinterface. If it works or not depends on the type of harddisk/cdrom you use, on the length of the IDE cable, and also on your MSX configuration. If you use lots of other
hardwarestuff (memorymappers, soundmodules, ...) it probably won't work. Turbo-R computers have a very 'low-power' databus. It works on Turbo-R as long as you don't plug in too many hardware. It is also possible that it
works when you put the IDE in a slotexpander. In some cases a harddisk works fine, but if you connect a CD-ROM or a second harddisk also, nothing works anymore.
So it's very possible that your IDE SEEMS to work ok, but in fact it isn't! So I would advise you to make the modifications below for secure operation in all circumstances.
C. Before you make any modifications you should download the latest IDE bios version to the FLASHROM. First bios versions did contain some nasty bugs. Current IDE bios is IDE196.DAT. Use the IDEFLOAD.COM program to
download it to your IDE. Use IDEFDISK.COM (current version is #2.0) to partition and format your drives.
I took a quick look to the old biosses and FDISK (like IDEDOS2.DAT, D2P0/1/2/3.DAT, FDISKIDE.COM). I was really amazed! I thought these biosses were using LBA for accessing the drives (and thus not working for old
harddisks not supporting LBA) But this is not the case!!!! They use also CHS, but the 'CHS translation' is HORRIBLE! It would lead me too far to explain the details, I just want to say: DON't USE THESE BIOSSES AND FDISK
PROGRAM ANYMORE! There is a problem though: if you stored a lot of files on your harddisk with this kind of bios, you'll have to copy your files to another medium because you'll have to format your harddisks with the new
D. Useful addresses:
Sunrise for MSX homepage: http://www.msx.ch
E-mail: Rob Hiep: firstname.lastname@example.org
Peter Burkhard: email@example.com
MSX FAQ: http://www.faq.msxnet.org (and search for the IDE chapter)
E. The interface contains two special Generic-Array-Logic chips (GAL-chips). These chips are 'programmed' in the factory and can't be changed afterwards. For the new version of the IDE (version #4.0), both GAL chips have
to be replaced! Contact Sunrise to deliver you such GAL chips.
F. It is still possible to close the cartridgebox after the following modifications.
G. I also want to draw attention to the fact THAT THE LENGTH OF AN IDE CABLE SHOULD NOT EXCEED 46 cm (18 inches) AS REQUIRED BY THE ATA-IDE SPECIFICATIONS. And when there is only one device connected to the cable, the
device should be connected to the *end* of the cable. The interface itself should ALWAYS be connected to the beginning or end of the cable.
* Note about chip pin numbering: each pin of a chip has a number. If you look onto the chip from above, the numbers are assigned in ascending order (1,2,3,...) and counter-clockwise. Look at the chip so that the little
notch is on the left side. The first pin on the bottom row is always pin 1.
* When soldering chips onto the interface, you only have to solder the pins on the back of the circuit board. All holes are metallized, so if it is soldered on the back, there will be a good connection on the top too!
* Note the position of GAL1 and GAL2; GAL1 is the chip next to the flashrom. Don't be confused with the text on the pcb: 'Peel 2'.
PART 1: SOME SMALL EASY ENHANCEMENTS
*the yellow resistorarray should be removed (probably it has already been removed) (rrrr in the figure)
*to prevent a short-circuit on the 5V lines (and blowing the MSX powersupply) when misconnecting the IDE cable on the device:
-remove the tiny track on the back of the board that arrives on pin 1 of the IDE connector
IDE connector solder pins and large blue capacitor pins seen on the back of the pc
-add a 4k7 resistor between +5V (see figure above) and pin 1 of the IDE connector
*to enhance IDE detection by the Bios:
-add a 10k pulldown resistor between GND (see figure above) and pin 3 of the IDE connector
*adding a LED indicating when a drive is busy:
-connect a 330 ohm resistor to a +5V point
-connect the other end to the anode of the LED
-connect the kathode of the LED to pin 39 of the IDE connector
*slow down the MSX when communicating with the IDE interface. This is only necessary for very old harddisks. Otherwise, don't do this, it will decrease speed with a few kB/s.
-place a wire between pin 27 of the IDE connector and pin 7 of the cartridge connector (that is the 4th contact when counting from the left on the back of the pcb)
PART 2: THE REAL UPDATE
Replace GAL1 and GAL2 by two new GAL chips that contain the newest GALcode version #4.0. (Contact Sunrise to deliver you these chips)
There has been a previous modification in which a track was cut off on the left side of the tiny hole near pin 20 of GAL1. This track has to be restored ! (point Z in the figure below)
Cut the track on the *other* side (=the right side) of that tiny hole.
The place where you should cut is marked with an X.
IC2 should be a 74HCT573 or a 74ALS573 chip. It doesn't matter which one is used. (In the new IDE a HCT is used because it is much cheaper than the ALS version)
Pin 11 of IC2 has to be connected again to the original hole 11 of IC2. (and remove the wires that were attached to pin 11)
If your IDE interface has never been upgraded before, this is already all ok.
On the back of the pcb: add a small wire between pin 15 of GAL2 and pin 17 of GAL1.
Verify the connection with a multimeter: there should be a connection between pin 15 (GAL2) and pin 11 (IC2) and pin 17 (GAL1).
If an extra chip (HCT04 or LS04) was added in a previous modification: remove this chip and all connections to it.
There should be a 74LS645 ic mounted in IC3 position. If the 74LS645 is already in place, then you are lucky. Go to step 8.
If there is a 74ALS573 mounted in IC3 position, then you have to make a decision: you can leave the ALS chip (much less work), but it won't work perfect with all devices (especially older harddisks <1GB won't work
always, or 7MHz, ...). If you keep the ALS chip, then your interface is ready for test and you don't need to continue this document. If you still encounter problems, you can eventually decide to put the 74LS645 chip in.
Otherwise (much better):
* remove the ALS chip
* mount a 74LS645 chip as follows:
Take the 74LS645 chip and apply some tin to the following pins, bend
them 90 degrees in a horizontal position:
1,11,12,13,14,15,16,17,18,19 (Pin 1 should be cut 2mm shorter; the other 9
ones should be cut *very* short, approx. 1mm remains)
So, don't touch the other pins, leave them as they are. (These pins will
be put directly into the holes of the board.)
Make 8 short wires of about 2cm (with not-isolated not-flexible wire).
Solder these wires into the following 8 holes on the pcb:
hole 12,13,14,15,16,17,18,19 of the IC3 position.
Make a wire (approx. 4 cm) (isolated, flexible wire) and solder it into hole
1 of the IC3 position.
(all wires should be on the upper side of the board, so on the same side as
The little-bit-difficult part: put the 74LS645 ic you've prepared into place
at the IC3 position.
*Pin 1 should make contact with pin 20 of IC4.
*Pin 2..10 and 20 should be put into their corresponding holes.
*The wires you've soldered (hole 12..19) should make contact with pins
11..18 of the 74LS645 chip!!! For this it is good to bend the wires all
parallel under a 45 degree angle. Make sure there are no short-circuits
between the parallel wires!
*pin 19 (74LS645) is for the moment not connected yet.
*hole 11 (IC3 position) remains open
*the isolated wire in hole 1 is for the moment not connected yet.
Push the chip definitely into place and solder its pins on the back of the pcb. (2..10,20) Solder also pin 1 to pin 20 of IC4. Solder also the wires
to the right pins and remove the unused part of the wires (because 2 cm is
too long; it was only for our convenience)
Verify with a multimeter that there are no short-circuits between the pins.
When the 74LS645 is into place, you should make a connection between pin 19 (74LS645) and hole 1 of the IC3 position.
OK that's it!
Enjoy your working harddisk, CDROM, ... !!!