Amstrad CPC-464 and broken sound chips

So I was pretty chuffed with setting up my Frankenstrad using just a CPC-464 motherboard and a homebrew keyboard. However, as luck would have it, a few weeks later, the local auction site had a couple of real CPC-464’s for sale … so I bought one.

It was posted to me, and the seller ommitted to tell me the main number 8 key was broken off (it was included, but it was not physically attached to the keyboard, and the way it was broken off meant it was difficult to ‘nicely’ reattach it), and a couple of the cursor keys did not work.

screen-shot-2017-04-29-at-10-47-42-pm

The number 8 key I could kind of live with (it just wobbles). The cursor keys required me to pull the entire keyboard apart. In my one its not a thin plastic sheet membrane. There’s an actual hard circuit board with the necessary traces and such. I could kind of trace with my multimeter that there must be some very thin circuit cracks, so I judiciously soldered over some of these traces to repair the problem and now the cursor keys work.

I was pretty impressed that the cassette player works perfectly for both save and record. I even have an original Ghostbusters cassette for the Amstrad and it loads perfectly.

 

Anyway, this Amstrad worked perfectly for quite some time. I’ve been writing some BASIC programs with it with my son, and was probably getting more use than a lot of my other old computers. Anyway, one night I noticed that it occasionally showed random characters on screen, even when you were not typing. This was very ‘occasional’ at first, but got progressively worse. You would get random stuff like this (I think this is just a shot of me hitting ENTER a couple of times).

screen-shot-2017-04-29-at-10-50-11-pm

 

 

 

 

 

 

 

 

It was all rather sad. I looked at the circuit diagram and thought it was probably something to do with the keyboard reading chips (the AY–8912 and 8255). Of course I had another CPC-464 motherboard to compare against (and also without this weird problem).

Out came the paint stripper, and the AY-3-8912 was desoldered from both boards, and I swapped them. Powered up the Amstrad, and the problem was gone.

Now, for whatever reasons, I put the working AY-3-8912 back in its original motherboard, and found an AY-3-8912A in my chip box, and plugged it in instead. The keyboard worked, and I thought it was all good, until I decided to play a game … and had to plug the joystick in. With the joystick in, when I hit ENTER, I got this ‘@’ on the screen (ie. I had just hit ENTER … and the cursor moved down and put up the ‘@’ symbol).

screen-shot-2017-04-29-at-10-54-49-pm

 

 

 

 

 

 

 

I originally thought this AY-3-8912A was going bad too. But I was working through some Amstrad forums when it was mentioned that the AY-3-8912A is not a direct replacement for the AY-3-8912 in the Amstrad. Apparently the AY-3-8912 has internal pullups on some IO pins (the ones used for the keyboard), whereas the AY-3-8912A does not have any internal pullups.

A closer look at the motherboard shows that Amstrad actually put in a spot for an extra set of resistors in case they had to use AY-3-8912A’s instead.

screen-shot-2017-04-29-at-10-59-34-pm

 

 

 

 

 

 

 

 

So I could put some resistors in and use an AY-3-8912A permanently. Instead I ordered a AY-3-8912 (a Microchip branded one) and that seems to work perfectly so far.