News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

CPC464 keyboard problem

Started by ikonsgr, 22:21, 01 August 22

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ikonsgr

Suddenly i switch on my cpc464 and i get this on screen:

You cannot view this attachment.

I unplug keyboard and still got the same. So it's not membrane/keybaord problem. This seems like a hole keyb column (7 according to hardware manual) is permenantly activated, so i desolder the filter of the specific column , but still i got the same problem....
Does this mean there is a problem with AY sound chip, and needs replacement?


WacKEDmaN

...this is what my CPC did back in the day when i soldered up a joystick while it was pluged into running cpc!...

either the AY or PIO or maybe even the 74LS145 (was the PIO on mine)

pelrun

I did it as a kid just picking up the joystick after touching the monitor - even though there was no metal contact I'd picked up enough static charge from the screen to zap the port *through* the plastic!

ikonsgr

I didn't know that amstrad cpc had such "sensitive" joy port... :)
Anyway, i've tested the AY pin 10 (which is responsible for activation of the specific keyboard column) and found out that is ~0v=active, so 99% AY needs replacement...  :(
Btw, i've checked for AY-3 8912 chips, and prices seems to be very high, ~30euros for a single chip! I don't recall to be so expensive at least some years ago...  ::)

pelrun

IC's are sensitive to electrostatic discharge? Why didn't someone tell me earlier? ;D

It actually takes a lot of engineering work to make any device robust against casual ESD events. Cheap home computers from the 80's... have exactly none of that. The CPC's joystick port is especially egregious because it exposes floating CMOS pins directly to the outside world.

If you instead look at something like the Amiga schematic, the joystick port has ESD diodes and current limiting resistors on all the lines. The CPC just uses wires :doh:

ikonsgr

Quote from: pelrun on 09:09, 02 August 22IC's are sensitive to electrostatic discharge? Why didn't someone tell me earlier? ;D

It actually takes a lot of engineering work to make any device robust against casual ESD events. Cheap home computers from the 80's... have exactly none of that. The CPC's joystick port is especially egregious because it exposes floating CMOS pins directly to the outside world.

If you instead look at something like the Amiga schematic, the joystick port has ESD diodes and current limiting resistors on all the lines. The CPC just uses wires :doh:
My friend, if you've seen what i have done with amstrad's joy ports over the many years i make and test various adapters for it, you would probably have a heart attack...  :laugh:
To give you a clue, while amstrad is powered on:
- Plug/unplug millions times "pasive" joysticks and Y joy adapters
- Plug/unplug "Active" adapter like the 5v supply for joy port
- Plug/unplug many other "Active" adapters (for 15pin joysticks, usb mouses, bluetooth wireless port etc) to 5v psu joy adapter
Maybe this made me a bit "over confident" (and careless...  ::)  ), about the robustness of the port. Believe it or not, this is the 1st time something like this happened, but surely from now on i will be more careful with joy port, as with current price trends, next time, they may ask for an arm and a leg for a chip... :D

Bryce

#6
Most IC's are relatively robust against ESD events. I've done experiments to see how difficult it is to destroy an IC and in some cases I was amazed that the chip still worked after visible sparks had jumped over to the chip. One of the big issues with home computers is/was the fact that they were being used by children in socks on a carpet floor or the computer was actually on the carpet in front of the TV (The cause of death for many many Spectrums). CPC's had less ESD issues purely because they had their own monitor and were more likely to be used on a desk.

Bryce.

eto

There was this hilarious video at Linus Tech Tips, where an expert(?) tried to show how dangerous ESD is. They used an ESD gun to show how a component can easily be destroyed. Quote: "if you manage to NOT kill a component, with an ESD discharge you got lucky." Well... they pretty much proofed exactly the opposite. 



https://www.youtube.com/watch?v=nXkgbmr3dRA

ikonsgr

Some update: As i have a complete "rebuilded" cpc6128, with all ic's on sockets, i removed the bad AY3 from cpc464, solder a socket, and plug the good AY3 from cpc 6128. The "always active" column problem, seems to resolve, as i dont get any characters on boot. BUT, now i have an even more weird problem: many keys pressed, return 2 characters on screen!  ???
I checked with the keyboard matrix, and found out that, for every key pressed, the one that coresponds to same column and previous line, is also activated and printed on screen! For example, if i press 'R' which is on row 13 ,i also get an 'E' which is on same column, but on row 12! Same thing happens with all keys (except the one that in the 1st row). Does this mean the 74ls145 needs replacement too, or you think it's also PIO chip damaged too?

Rabs

Quote from: ikonsgr on 09:02, 03 August 22Some update: As i have a complete "rebuilded" cpc6128, with all ic's on sockets, i removed the bad AY3 from cpc464, solder a socket, and plug the good AY3 from cpc 6128. The "always active" column problem, seems to resolve, as i dont get any characters on boot. BUT, now i have an even more weird problem: many keys pressed, return 2 characters on screen!  ???
I checked with the keyboard matrix, and found out that, for every key pressed, the one that coresponds to same column and previous line, is also activated and printed on screen! For example, if i press 'R' which is on row 13 ,i also get an 'E' which is on same column, but on row 12! Same thing happens with all keys (except the one that in the 1st row). Does this mean the 74ls145 needs replacement too, or you think it's also PIO chip damaged too?
Guessing here as new to this but, if you press 'E' do you also get 'R' (other way round to your example)? i.e. is there a short between row 12 and 13 at the 74LS145. Worth a continuity check.

ikonsgr

#10
Quote from: Rabs55 on 12:09, 03 August 22Guessing here as new to this but, if you press 'E' do you also get 'R' (other way round to your example)? i.e. is there a short between row 12 and 13 at the 74LS145. Worth a continuity check.

If i press 'e' i also got 'esc', and same goes with any key pressed, i also get on screen the corresponding character of same column and previous row in keyboard matrix!If i press 'O' i also get 'U', if i press 'H' i laso get 'G' and same goes with ane key! It's like 74LS145 decoder gives double signal or maybe the the 4bits of portc from 8255 I/O chip gives wrong signals?  ::)

Rabs

Quote from: ikonsgr on 12:45, 03 August 22
Quote from: Rabs55 on 12:09, 03 August 22Guessing here as new to this but, if you press 'E' do you also get 'R' (other way round to your example)? i.e. is there a short between row 12 and 13 at the 74LS145. Worth a continuity check.

If i press 'e' i also got 'esc', and same goes with any key pressed, i also get on screen the corresponding character of same column and previous row in keyboard matrix!If i press 'O' i also get 'U', if i press 'H' i laso get 'G' and same goes with ane key! It's like 74LS145 decoder gives double signal or maybe the the 4bits of portc from 8255 I/O chip gives wrong signals?  ::)
Sorry not sure I have enough experience to help but interested in how you get on. I have fixed two CPC 6128s with odd keyboards issues but in both cases it appears to have been the keyboard and ribbon contacts. At least after cleaning the issues went away. Guess you can check output on the 74LS145 for a given input or if you have a logic tester check with this.

Animalgril987

Are any of the inputs to the '145 stuck high ( or low)? Are any of it's outputs stuck high or low?

Audronic

@ikonsgr 

Is the replacement chip  AY-3 8912   or an    AY-3 8912a

Can you show a photo of the AY-3 8912 chip and the tracks nearby .

Keep Safe

Ray
Procrastinators Unite,
If it Ain't Broke PLEASE Don't Fix it.
I keep telling you I am Not Pedantic.
As I Live " Down Under " I Take my Gravity Tablets and Wear my Magnetic Boots to Keep me from Falling off.

Audronic

Some info on AY-3 8912

Keep Safe

Ray

You cannot view this attachment.


Procrastinators Unite,
If it Ain't Broke PLEASE Don't Fix it.
I keep telling you I am Not Pedantic.
As I Live " Down Under " I Take my Gravity Tablets and Wear my Magnetic Boots to Keep me from Falling off.

ikonsgr

#15
Quote from: Audronic on 23:33, 03 August 22@ikonsgr
Is the replacement chip  AY-3 8912   or an    AY-3 8912a
It's the original 8912 without 'A' so it does not need extra pullup resistors  ;)

Ok, further investigation report: Check all i/o pins of 74LS145 with logic probe, all are pulsed, EXCEPT the q0 output which is always gnd=> active.
Also,i discover that if i press continuously a key the character typed on screen is the one on same column previous row! Check this video to see what i mean. Key pressed are "r","5" and "u" and as you can see, on continues pressing of key i got 'e','3' and 'r' which are exactly the characters on same column previous row...  ???
I suppose this mean bad 74ls145?

eto

#16
Does this happen for all rows, or only for some of them? What happens, if you press a key from line 0?

When you press something from line 6 or 2, you get something from the line above, line 7 or 3, right?
What about line 5? Is it the line above, 6, or does the response come from line 4?




ikonsgr

Quote from: eto on 12:31, 04 August 22Does this happen for all rows, or only for some of them? What happens, if you press a key from line 0?
Exactly, with all rows. If i press key from line 0 i also got from line 1, e.g. pressing f9 gives '98'
Quote from: eto on 12:31, 04 August 22When you press something from line 6 or 2, you get something from the line above, line 7 or 3, right?
exactly. For example,any key from line 6 will type also the key for same bit but line 7
Quote from: eto on 12:31, 04 August 22What about line 5? Is it the line above, 6, or does the response come from line 4?
like with all others. I will also get on screen the character for same bit line 6

Btw, i also tried using a keyboard from  cpc6128 which works perfect and i got exactly same behavior. So definetely it's not membrane/keyboard problem...

eto

Looking at the block diagram of the 74LS145, I think this would happen, if one of the NOT-gates is broken and simply passes through the logic.

Then, always two lines will be active.

However I don't get how q0 can always be active then, and why it does not always press a key on row 0 in addition, if it's active.

ikonsgr

Well, defintely something is wrong with either or both chips involved. I'll replace 74LS145 first, and if still have problems, then i'll go for the "Big" one too...  ::)

Audronic

@ikonsgr 

? do you have a Joystick connected during the tests

Keep Safe

Ray
Procrastinators Unite,
If it Ain't Broke PLEASE Don't Fix it.
I keep telling you I am Not Pedantic.
As I Live " Down Under " I Take my Gravity Tablets and Wear my Magnetic Boots to Keep me from Falling off.

ikonsgr

Quote from: Audronic on 23:36, 04 August 22@ikonsgr
? do you have a Joystick connected during the tests
Keep Safe
Ray
No.But i've also tried with joystick connected. On boot,i get 'Z' on screen, which i think is normal. Movements seem to work ok, and primary fire (fire2 on pin 6) also give 'X' on screen. Only the 2nd fire, which normally should give 'Z', it gives 'fd'... ::)

ikonsgr

#22
Ok, i've just replaced 74LS145 and 8255 I/O and still i got the same symptom! Any key pressed, will type the character pressed and then the character

on same bit next line!
Is there a chance that the rom might be damaged too? I really can't think anything else...

Rabs

Quote from: ikonsgr on 15:58, 12 August 22Ok, i've just replaced 74LS145 and 8255 I/O and still i got the same symptom! Any key pressed, will type the character pressed and then the character

on same bit next line!
Is there a chance that the rom might be damaged too? I really can't think anything else...
Hi on one of the 464s I repaired with an odd keyboard problem, it turned out to be the ribbon connector on the pcb. Give it a good clean and then clean it again. Hope this helps.

ikonsgr

#24
Quote from: Rabs on 16:04, 12 August 22Hi on one of the 464s I repaired with an odd keyboard problem, it turned out to be the ribbon connector on the pcb. Give it a good clean and then clean it again. Hope this helps.

 I already done that, but didn't help. I also tried a good cpc 6128 keyboard which gave me the same symptoms! I wonder if a bad LC line filter can cause such a weird behavior...  ::)   
Btw,i have removed a couple of these filters (i'm wating for replacements to solder them back), is there a chance an upsence of a line filter, could cause such weird problem?

Powered by SMFPacks Menu Editor Mod