{"id":1596,"date":"2017-04-29T11:05:05","date_gmt":"2017-04-29T11:05:05","guid":{"rendered":"http:\/\/www.kernelcrash.com\/blog\/?p=1596"},"modified":"2019-06-14T08:09:10","modified_gmt":"2019-06-14T08:09:10","slug":"amstrad-cpc-464-and-broken-sound-chips","status":"publish","type":"post","link":"https:\/\/www.kernelcrash.com\/blog\/amstrad-cpc-464-and-broken-sound-chips\/2017\/04\/29\/","title":{"rendered":"Amstrad CPC-464 and broken sound chips"},"content":{"rendered":"<p>So I was pretty chuffed with setting up my <a href=\"http:\/\/www.kernelcrash.com\/blog\/frankenstrad\/2017\/01\/18\/\">Frankenstrad<\/a> 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&#8217;s for sale &#8230; so I bought one.<\/p>\n<p><!--more-->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 &#8216;nicely&#8217; reattach it), and a couple of the cursor keys did not work.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-medium wp-image-1599\" src=\"http:\/\/www.kernelcrash.com\/blog\/wp-content\/Screen-Shot-2017-04-29-at-10.47.42-PM-300x207.png\" alt=\"screen-shot-2017-04-29-at-10-47-42-pm\" width=\"300\" height=\"207\" srcset=\"https:\/\/www.kernelcrash.com\/blog\/wp-content\/Screen-Shot-2017-04-29-at-10.47.42-PM-300x207.png 300w, https:\/\/www.kernelcrash.com\/blog\/wp-content\/Screen-Shot-2017-04-29-at-10.47.42-PM.png 633w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>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&#8217;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.<\/p>\n<p>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.<\/p>\n<p>&nbsp;<\/p>\n<p>Anyway, this Amstrad worked perfectly for quite some time. I&#8217;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 &#8216;occasional&#8217; 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).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-medium wp-image-1600\" src=\"http:\/\/www.kernelcrash.com\/blog\/wp-content\/Screen-Shot-2017-04-29-at-10.50.11-PM-300x204.png\" alt=\"screen-shot-2017-04-29-at-10-50-11-pm\" width=\"300\" height=\"204\" srcset=\"https:\/\/www.kernelcrash.com\/blog\/wp-content\/Screen-Shot-2017-04-29-at-10.50.11-PM-300x204.png 300w, https:\/\/www.kernelcrash.com\/blog\/wp-content\/Screen-Shot-2017-04-29-at-10.50.11-PM.png 631w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>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&#8211;8912 and 8255). Of course I had another CPC-464 motherboard to compare against (and also without this weird problem).<\/p>\n<p>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.<\/p>\n<p>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 &#8230; and had to plug the joystick in. With the joystick in, when I hit ENTER, I got this &#8216;@&#8217; on the screen (ie. I had just hit ENTER &#8230; and the cursor moved down and put up the &#8216;@&#8217; symbol).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-medium wp-image-1601\" src=\"http:\/\/www.kernelcrash.com\/blog\/wp-content\/Screen-Shot-2017-04-29-at-10.54.49-PM-300x185.png\" alt=\"screen-shot-2017-04-29-at-10-54-49-pm\" width=\"300\" height=\"185\" srcset=\"https:\/\/www.kernelcrash.com\/blog\/wp-content\/Screen-Shot-2017-04-29-at-10.54.49-PM-300x185.png 300w, https:\/\/www.kernelcrash.com\/blog\/wp-content\/Screen-Shot-2017-04-29-at-10.54.49-PM.png 575w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>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.<\/p>\n<p>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&#8217;s instead.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-medium wp-image-1602\" src=\"http:\/\/www.kernelcrash.com\/blog\/wp-content\/Screen-Shot-2017-04-29-at-10.59.34-PM-300x226.png\" alt=\"screen-shot-2017-04-29-at-10-59-34-pm\" width=\"300\" height=\"226\" srcset=\"https:\/\/www.kernelcrash.com\/blog\/wp-content\/Screen-Shot-2017-04-29-at-10.59.34-PM-300x226.png 300w, https:\/\/www.kernelcrash.com\/blog\/wp-content\/Screen-Shot-2017-04-29-at-10.59.34-PM.png 404w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>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.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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&#8217;s for sale &#8230; so I bought one.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[],"class_list":["post-1596","post","type-post","status-publish","format-standard","hentry","category-retrocomputing"],"_links":{"self":[{"href":"https:\/\/www.kernelcrash.com\/blog\/wp-json\/wp\/v2\/posts\/1596","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kernelcrash.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kernelcrash.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kernelcrash.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kernelcrash.com\/blog\/wp-json\/wp\/v2\/comments?post=1596"}],"version-history":[{"count":9,"href":"https:\/\/www.kernelcrash.com\/blog\/wp-json\/wp\/v2\/posts\/1596\/revisions"}],"predecessor-version":[{"id":1955,"href":"https:\/\/www.kernelcrash.com\/blog\/wp-json\/wp\/v2\/posts\/1596\/revisions\/1955"}],"wp:attachment":[{"href":"https:\/\/www.kernelcrash.com\/blog\/wp-json\/wp\/v2\/media?parent=1596"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kernelcrash.com\/blog\/wp-json\/wp\/v2\/categories?post=1596"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kernelcrash.com\/blog\/wp-json\/wp\/v2\/tags?post=1596"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}