About me

My photo
Vanløse, Copenhagen, Denmark
Mathematician. Working programmer/system developer. Nerd. Married. Father of 3.

29.10.12

Homemade 1MB Chip RAM Expansion for Amiga A600

As regular readers might have noticed, I've in the process of pimping my Amiga A600HD at the moment. And now it's time to add some more Chip RAM. On Amiga Chip RAM aka Graphics RAM is the memory shared between the CPU and all the custom chips; hence the name "Chip RAM" };-P. A600HD is born with 1MB of Chip RAM installed, and back in the days that was a lot (twice as much as A500!!! };-O). However now-a-days, if you want to run games directly from the harddrive using WHDLoad, it's a little bit on the small side. The 68000 CPU can address up to 2MB, so it would be nice to add an extra 1MB to the pool };-P Now there are some commercial expansion cards that does that; the most popular atm being the A604 Memory Expansion. However it is imo a little expensive and also I really enjoy doing stuff like this myself.
So I started googling for DIY-projects expanding the amount of Chip RAM and quickly found this wonderful hack (now known as "The-A600-Piggyback-Hack") by Zetr0 in a sticky thread over at AmiBay; he piggybacks a DRAM IC on top of each of the 2 already fitted in the miggy. That in turn lead me to this blogpost by Victor Trucco (I ran it through google translate, as I can't read Brazilian Portuguese) via a link in the thread; he piggybacks 2 DRAMS on top of 1 of the already fitted DRAMs.
Now I had some great ideas to work from, however I wanted a solution that was easy to remove again, and also I wanted to give the project my own personal flavour };-P After reading the thread at AmiBay and inspecting the schematics for the A600, it was obvious that all the address-, data-, and control-signals needed for the extra Chip RAM are present at the trapdoor connector. So my plan was, to attach the 2 extra DRAM-Chips piggybacked together there. After doing some crude measuring, I found that the pitch between the pins in the trapdoor connector is the same as in a socket for PCI-card to fit in a PC.
I didn't have neither DRAM-chips nor PCI-sockets, so I went hunting on evilBay and quickly found a guy offering a lot of 10 Toshiba TC514260DJ-60 SOJ chips for a price of only $15.33 incl. shipping to Denmark. Next I found a lot of 5 PCI slots at a price of $7.41 incl. shipping.
I waited and waited, but finally both lots arrived in the mailbox };-P Now I had all the stuff needed; for wires I was going to use rainbow ribbon cable (having the same pitch as the pins on the DRAMs), as I just love how is looks like candy };-P


First I checked if my measures had been correct (I had just tried to match up the pins using an old PCI card). Luckily, it is a perfect match };-P


The first thing to do was to prepare for the "marriage" of the two DRAM ICs. Being of SOJ type, they have their pins bend underneath themself, kind'a like a dead spider. So the one to go on top, had to have the pins straightened. First you lift the pins carefully with a Stanley knife.


Then use a set of pliers to make each pin straight. Here's the final result.


One pin is bend upwards. That is the RAS (Row Access Strope); the only control-signal that is not the same for the two ICs.
Next our happy couple are pressed together and "married" (do I hear wedding bells? };-P).


After that's done it's time to cut them rainbow ribbons.


The longer blue wire is for RAS on the upper IC. Luckily the IC-pin just beside the the RAS is NC (non connected), so no harm is done using that for the upper ICs RAS.
First the pins 21-40 are soldered.


Next the pins 1-20.


Now all the wires must be soldered to the PCI socket


using these mappings:

(the clever student will notice that the headers of the 2 first columns of the last mapping have been switched around)
And now for the big test (first I tested without the caps shown in the picture)


Now WorkBench found the new extra 1MB alright.


But when trying to use it, things got bad. The memory tester i use reported many random errors (random meaning not at the same addresses everytime) and when trying to load big games (like Cinemaware-stuff), I got random crashes.
At first I thought that this was a problem related to smoothening and/or decoupling, so I tried adding one 220nF capacitor across each supply to the ICs and one 2.2uF capacitor at each end of the powerrail for the ICs. That only made things worse...so removed the caps again. But now I still had as many errors as when they where still fitted. Grrrr!!!
Decided on giving the whole project a rest for a few days };-S

I made a post in the thread over at AmiBay and Zetr0 replied, that technically the solution looked fine. However he thought that caps might not be the way to go as they might induce more noise into the circuit than they'd remove. He also mentioned, that I might've toasted one or both the DRAMs and proposed that I either tried to test the two ICs individually or started all over with a new set of ICs.
I desoldered the IC couple and tried to divorce them, but it was not possible without destroying them completely. So in the bin they went. I made a new couple just as before and soldered them on the ribbons, but it ended out in one big mess. These ribbons are not meant for soldering in the first place, so the heat from soldering, desolering, and resoldering had made the insulation into one big pile of goo. So desoldered the new couple again.

I now decided on trying to use kynar instead of ribbons. They are much thinner and singlecore, making it much easier to control. However I was sad to give up on the ribbons, as they just look so cool };-(
Following an idea given to me by Phipscube (a dear personal friend and also an AmiBay member), I taped a piece of cardboard to the PCI socket and taped the ICs upside-down on it. I cut a hole in the cardboard for easy access to the lower pins of the socket when soldering. Then I started soldering the kynars one by one.


Again following a good advice from Phipscube, I did the soldering over a couple of nights in order to be fresh in the head...otherwise you end making a mess.
The really nice thing about kynar, is that it is so small and thin. However, the really annoying thing about kynar, is that it is so small and thin. Elgen
The final result looked like this.

(please disregard the fact that the PCI socket is now shorter that before; that's because this pic is actually taken a bit later in the process, 'cause I got too eager and forgot to photo-document };-P)
Once again time for a test in Miss Miggy, but (MOAN!) I still had the frakkin' random errors! };-S
Tried to add caps, and again it just made things worse!!!
Now I was so close to giving up and trash the whole gorram project. However during the day, I came to think of good ol' Faraday and his cage. Hmmm, maby the instability was caused by electromagnetic radiation from either the near-by circuits, or maby just general radio-wave-noise. So after having tucked the kids in that night, I first wrapped the construction in paper to insulate


and then in tin foil (yup, the same kind I use for my kiddies school lunch };-P). I attached it in the trapdoor and connected the tin foil to ground. Aaaaand....


Heureka! The random errors had gone away! };-P
"Dad, did you put chips in my lunch pack for dessert?" "Sure did son, but not the potato kind };-P"
Now I had something that worked; it was time to make it look good too };-P
First I gently lifted the ICs from the cardboard using a Stanley knife. Then replaced the cardboard with a smaller piece that didn't have the hole in it.
Next I cut the PCI socket down to the same size as the connector in the trapdoor using Mr. Dremel and a small file. I then cut the end of the piece that I'd cut off, and superglued it to the end of the now smaller socket.


And now for a nicer Faraday cage.
Ever since I started doing electronic projects as a kid, I've always had this thing about having some tins in different sizes (from canned good) on my work bench. They often come in quite handy; as tabletop trashbins (for things that you might/might not need again later in the project); for small things (screws etc.) when you dismantle devices; for very hot solder when you clean the filter in you desoldering station; find more uses yourself };-P
Bottom line, I had this little fellow stading on the table that day.


I scraped a little bit in the paint and found that it was conductive and normal solder for electronics would bite on it. So I cut off both ends and cut the tube open using my Dremel.


(But perhaps I should've used a heavy duty disc instead of a normal one; the one on the right is a brand new disc };-P)


Next I cut out one big piece (top and bottom of the cage) and 2 smaller ones (the sides) using an old pair of scissors. I then bend the large piece and soldered the sides on leaving a hole for the socket.


As the last thing I soldered a wire from GND on the socket to the cage in order to ground it, and here it is in all it's glory:


And here fitted in Miss Miggy (and it still works };-P)


I wish to thank Zetr0 (AmiBay) for inspiration and good advice, Victor Trucco (blogger) for inspiration, and Phispcube aka Les (AmiBay and dear friend) for good advice and cheer-ups through many many txts often very late at nite };-P




27.10.12

Amiga A600 quick keyboard fix

Since I've started working intensively on repairing, pimping, upgrading, etc. my Amiga A600HD, the keyboard has been acting up more and more. In the begining it migth fail self test every 10th boot or so (blinking CAPS LOCK and unresponsive), but slowly the frequency of fails rose, and here the other day it went totally crazy. It passed the self test alright, but most of the grey keys were unresponsive; including ENTER };-S

Ok, as opposed to the keyboard on A500, the one on A600 only consists of one big membrane with two contact points for each key. When a key is pressed, the contact points are shorted. Each key is an entry in a big matrix, and no logic is performed in the keyboard itself. The membrane continues into a flat cable with some sort of conducting compound at the end. The end then goes into a special flat-type molex-socket on the motherboard.


In order to be able to remove the cable from the motherboard, you must lift the upper part of the socket, as it works like a lock securing the cable from falling out.


Failing to remember to lift the lock before removing the cable, results in some of the conducting compound at the end, is beeing scraped off.


The reason for my keyboard malfunction is that I'm lazy };-S Often when I mess around inside miggy, I just place the upper part of the case vertically supported against something...WITHOUT disconnecting the keyboard cable. Often I accidently give the upper case a little push, and it falls on the floor, ripping the cable out of the locked socket.

The length of the piece of cable having the compound applied, is a bit longer than the socket (to be on the safe side I guess). So by cutting a little piece of the end with a normal pair of siccors, you get a fresh conducting piece to put into the socket.


Also I added a piece of normal transparent tape on the other side of the cable end, to make it sligthly thicker. That way the conducting compound is pressed harder against the contacts in the socket.


I fitted the cable in the socket again, and presto! Now it works flawlessly };-P

21.10.12

Homemade RGB-Scart Adaptor for Amiga

As I am working a lot with my Amiga A600HD at the moment, I decided that it was time to get a decent display picture instead of the build-in composite output. The absolute clearest signal you can pull out of a stock miggy, is analog RGB. That is present at the video port, a 23 pin 2-row D-Sub connector. Unfortunally 23 pin D-Sub is very hard to find, so as I own 2 A520 Mod composite/RF-modulators, I decided to gut one of them; then the box also matches the Amiga design perfectly };-P
Now I did have a SCART plug in the pile,


but it had to have the "wings" shortend a bit in order to fit on the back of case; time for Dremel };-P


Next I cut a hole on the back of the case and superglued 2 of the plastic bits on the inside of the box. That way the SCART plug can be slided into place.


And here the plug is fitted...


...and here a glance from the outside.


I then desoldered the D-Sub plug from the circuit board, and mounted it with the screws inside the case again. I had to place a little piece of veroboard under plug, in order to make it fit. Next it was time to draw the wires, and I used this guide for it; ofcause taking care to use the corresponding out-pins on the SCART-plug instead of in-pins, as the guide is for using a male-SCART-plug.


As the video-port on the miggy doesn't provide sound, that is going to be drawn from the two RCA-plugs on the back of it and fed into the SCART-plug. In the pile I found a metalrail fittet with 3 RCA-plugs, yellow, read and white (might be from a scrapped VCR). The pitch of the plugs more or less fittet the 2 holes in the case. Twisted the yellow plug off with a set of pliers, and bended the spare piece of metal around a nearby plastic spike, used for keeping the case from falling apart.


I then superglued 3 small pieces of veroboard inside the case; the topmost has a bit of distance to the side of he case. That way the metal rail rests on the two bigger pieces and is kept in place by the smaller one.


On picture number 3 from the top, you can see, that I've superglued a screw on the other half of the case, to keep the rail in place from the other side as well. Soldered the 3 wires, and was done.


And now: (drum roll!) The Big Test };-P


These pictures are with the build-in composite output (for comparison):




And now with the new adaptor:




I'm pretty satisfied with the result, both the picture, and how the adaptor looks };-P

9.10.12

Modding a TEAC FD-235 C291-U5 FDD for Amiga use

The floppy drive in my Amiga A600HD had died, and as I'm going a bit miggy-crazy atm I decided to try modding a PC-floppy drive. An old TEAC-drive (model: FD-235 C291-U5) was kindly donated to me by the hardware-guy at work };-P

I did a bit of googling and found that when modding a PC floppy drive for Amiga use, there are 3 things to be done:

  1. Change the device id from DS1 to DS0
  2. Route DiscChangeSignal to pin 2
  3. Route Ready signal to pin 34

Here is first a picture of the unmodded controller PCB


For 1):
Locate the 3 solderpads marked DS0 and DS1 (marked with red box in the last pic below). Desolder the 0Ohm SMD resistor from DS1, turn it 90deg and solder it at DS0 instead.

For 2):
Now, for PC use, the DiscChange signal sits on pin 34, but miggy needs it on pin 2, so we need to reroute it. If you follow the trace from pin 34, you'll see that it ends at pin 1 on the square shaped IC. So solder a wire from pin 1 on the IC to pin 2 on the connector; I used the lower solderpad of S4 (marked with 2 blue boxes in the last pic below) instead.

For 3):
As the last thing, we need the Ready signal at pin 34. As this pin is currently connected to DiscChange, we need to cut the trace. I've cut it at the pink circle in the pic below, but any place will do.
And now comes the only tricky part of this mod. As the PC floppy pinout doesn't have the Ready signal, we must try to locate it ourselfs.
Now it's a known fact, that the DiscVerify in X-Copy, only works, if the Ready signal is present. So I soldered a long wire to pin 34 (the pic below) and then tried running verify, with the other end pressed against the different pads marked with S<number>. When connected to the left pad of S6 (the yellow box in the last pic below), the verify ran. So soldered the wire on there, and tried some games, that I know needs the Ready signal; and they ran too.


So routed the wires a bit nicer, and the mod was a succes.
(Please disregard the wire marked with a pink box. It's just there because i suck at SMD soldering and managed to rip a solderpad including some of the trace off };-S)


A final word:
Now there IS a risk, that I haven't found the right Ready signal; I'm fully aware of this; and should you do this mod, you should too.
But I've used this drive for 2 weeks now, and it works fine. };-P