• Please review our updated Terms and Rules here

Kaypro keyboard fault

tezza

Veteran Member
Joined
Oct 1, 2007
Messages
4,731
Location
New Zealand
One thing about vintage computers...you are never short of a project!

So here I was feeling very pleased with myself. I'd successfully replaced the caps in my Kaypro PSU, and I'd just run the unit through a disk drive and memory diagnostic test recently grabbed from the walnut creek archive. The Kaypro passed with flying colours on both tests. The memory test was done after the disk one. It took a long while and the machine was on for about an hour or so just ticking away.

After I finished I rebooted and...eh? No keyboard input!




Here are the symptoms...
  • The machine boots to the A> prompt as normal
  • There is no response to any of the keys at all
  • The keyboard is getting power. The caps light comes on.
  • The keyboard beeps faintly as you press each key (I think it did this when it was working). If you hold a key down it beeps continuosly as if some find of buffer is full?
  • A check on the cord shows there is continuity of all lines.
I have the technical manual and haven't yet had a good close look at this problem but I thought I'd post, in case anyone has come across this before. Any ideas?

Could it be the hex inverter IC (I've reseated it) between the keyboard and the Z80 SIO? What signal should you see on the serial data in /data out lines when a key is pressed? I'm ignorant as to how these types of keyboards work?

..and how do you get into the keyboard? I've undone all the screws but the thing seems clamped together?

As there is no response at all, I suspect some fault in the 74LS04N Hex converter IC, a possible dry solder joint either in the keyboard or at the connector on the motherboard (wriggling the cord doesn't make a difference though) or a fault with whatever IC's lie in the keyboard itself (if there are any).

Do these sound reasonable? Do the symptoms suggest anything different? Any hints on what I should look for?

Tez
 
Last edited:
Just some follow up info before I go to bed. Measured on the connector to the motherboard, the serial data in line (i.e. from keyboard) shows a slight drop in voltage when a key is pressed. Voltage is about halved when a key is held down. However, serial data out line (to keyboard) shows a steady 4.9v regardless of keypress.

Does this suggest anything?

Tez
 
Kinda sounds like the problem isn't in the keyboard at all, but the computer not accepting input. Maybe Andrew will read this; he has experience with Kaypro keyboards, having converted one to parallel output.
 
Kinda sounds like the problem isn't in the keyboard at all, but the computer not accepting input.

This is my hunch too. However, take a look at the attached schematic which shows the keyboard I/O on the Z80 SIO. Note that the output line (J3-4) says "beep". I take this to mean the beep in the keyboard only occurs when the computer acknowledges keyboard input. Well, the keyboard certainly beeps. I'm puzzelled that there is no voltage fluctuation that I can see but maybe I need to attach the scope to it.

kaypro-keyboard-i-o.jpg
 
Hi! The KayPro keyboard is about as simple as can be. What you are describing sounds like the keyboard is working as it is sending characters to the KayPro main unit. I recommend tracing the circuit out with your logic probe. I'd also try swapping out the U71 74S04. Any 74x04 style device should work at least temporarily. Try using the KayPro monitor and see if you can access the KayPro SIO chip registers. If you can access them at all odds are it is working. I'd also considering writing a simple Z80 program to program the SIO to send out characters as fast as possible and see if it is causing the SIO and keyboard connectors output signals to wiggle.

Thanks and good luck!

Andrew Lynch
 
This is my hunch too. However, take a look at the attached schematic which shows the keyboard I/O on the Z80 SIO. Note that the output line (J3-4) says "beep". I take this to mean the beep in the keyboard only occurs when the computer acknowledges keyboard input. Well, the keyboard certainly beeps. I'm puzzelled that there is no voltage fluctuation that I can see but maybe I need to attach the scope to it.
I'm not intimately familiar with the Kaypro, but is it possible that the keyboard can generate its own keyclicks as well as receiving beep commands from the main unit? Alternately it's possible that the main unit is not processing or displaying input but is still smart enough to beep.

If you've still got Philip's scope, have a look at the data and beep lines; it sounds like the keyboard's sending something all right, but perhaps not in the correct format.

I'm not sure how you'd implement Andrew's suggestion to use the monitor or write a simple program without a keyboard though...
 
I'm puzzelled that there is no voltage fluctuation that I can see but maybe I need to attach the scope to it.

Yeah, even a relatively slow serial signal is going to be too fast for a VOM to pick up. You're talking about rapid fluctuations which average out to almost nothing over time.

Maybe take a look at the other side of the PIO while you're there. If the "beep" line is indeed responsible for the key clicks, could it be that the keystrokes are getting far enough to trigger a click, but not through to the CPU?
 
Hi Mike! What I would try is swapping the keyboard with a similar unit. I have three KayPro 10's in the basement and a little "swaptronics" will help fault isolate in a hurry. Maybe something similar would be of help in this situation.

If that is not an option, try burning a replacement EPROM with a "scream" type program. The program initializes the SIO and sends characters out serial port as fast as possible. It makes it easy to debug the serial port since you can obviously trace the signal with a logic probe. Since the KayPro uses a TTL serial line it is pretty simple to trace.

AFAIK the KayPro has an audible "key click" so I recall it sends data back to the keyboard. You should be seeing a "blip" on the KayPro keyboard output with every key press. If not, the inverter or SIO is probably dead. I am betting on the 74S04 myself although I've seen SIO/DARTs keel over and die too.

Thanks and have a nice day!

Andrew Lynch
 
Thanks for those comments guys,

Andrew, yes a keyboard swap would be a quick way of isolating the fault. Unfortunately I only have one and don't know anyone here who has another. They are not that common in NZ. I don't have an EPROM burner either. Although I'm moved some way from total newbie to competent and fully equipped techie like yourself, Steve and Mike, I still have a long way to go (-:

>AFAIK the KayPro has an audible "key click" so I recall it sends data back to the keyboard.
>You should be seeing a "blip" on the KayPro keyboard output with every key press.
>If not, the inverter or SIO is probably dead. I am betting on the 74S04 myself although
>I've seen SIO/DARTs keel over and die too

Yes, this is the puzzelling thing. The circuit diagram would suggest the click (beep) is an output to the keyboard in response to input. The keyboard certainly beeps with every keypress just like it did when it was working.

I take your point about the voltage drops being hard to detect Steve. On the serial input line from the keyboard they are hard to detect with a DMM with single presses but if you hold a key down, there is a definite voltage drop. I would have expected the same on the output line (to the keyboard) when holding a key. Certainly the keyboard beeps furiously when you do this but there is no drop in voltage I can see. There is no "blip" I can see on the output line like I can on the input line. However, I'll check both lines with a scope.

>I am betting on the 74S04 myself although I've seen SIO/DARTs keel over and die too.

These are also my two suspects. Unfortunately I don't think I have a spare 74LS04..I might have to scour some of my parts machines and if I find one unsolder it. I think I have got a spare SIO Z80 somewhere. Luckily all the ICs in the Kaypro are in sockets.

Andrew, I can't find a circuit diagram showing just what's inside the keyboard. What ICs are in there if any? Also, do you know how to open one up? I've undone all the screws. Does it just need brute strength to prise the top off?

Tez
 
Hi Tezza,
As I recall, the KayPro keyboards are held together with screws and are pretty easy to take apart. Remove the screws and the top of the keyboard should pop right out. I would verify all the connections are OK in the keyboard and verify continuity to the connectors on the KayPro.

Upon power on, are you seeing characters on the KayPro display or blank screen? Does the caps lock light work on the keyboard?

The guts of the KayPro keyboard are really simple. I believe it was a very simple microcontroller (8048?) reading the 8 bit keyboard and sending the TTL 3 wire serial back to the KayPro. It is 300 bps, 8, n, 1 as I recall. I don't recall if there is a UART or not but I think it was a just single uC chip and maybe one or two inverters.

To me it sounds like the devices on the KayPro motherboard have a problem. You could substitute temporarily almost any TTL inverter like a 74LS04 or 74LS14. Most any family should work at least for a while although it would make sense to me to replace the 74S04 with another 74S04. They are faster, have more drive ability, and use a lot more power than typical 74LSxx parts.

Thanks and have a nice day!

Andrew Lynch
 
Upon power on, are you seeing characters on the KayPro display or blank screen? Does the caps lock light work on the keyboard?

The screen seems fine. The A> prompt is displayed and the cursor is bliniking so it isn't frozen. No characters at all appear on a keypress though. Nothing. The cursor just sits there blinking in an infuriating way waiting to receive something. :)

Oh, the caps light goes on so it certainly is getting power.

Sounds like the top of the kaypro keyboard just needs brute force to pull it off. I'll give it a go.

Tez
 
You could substitute temporarily almost any TTL inverter like a 74LS04 or 74LS14. Most any family should work at least for a while although it would make sense to me to replace the 74S04 with another 74S04. They are faster, have more drive ability, and use a lot more power than typical 74LSxx parts.

Hmm...this may be a clue. I have a feeling that the existing IC in there IS a 74LS04 not a 74S04 as listed on the circuit diagram. It must have been substituted in the past and perhaps has "worked for a while" to use your own words.

And now it's stopped working maybe.

Anyway, very quick and useful support guys, thanks for the comments. I'll have to wait until I get home tonight to further investigate this but I think finding (and substituting) that hex converter will be a priority.

Finding one might not be that easy. I seem to have plenty of 74LS02s and 74LS05s from the Apple score but I'll have to check my parts circuit boards for any 74LS02s or 74S02s.

Tez
 
Well, the 74LSO2 seems to check out ok. There is actually another one elsewhere in the board. I swapped the two and got exactly the same symptom. I then checked out the various inverters in the chip with the scope. On the incoming inverters from the keyboard (pins 13 and 12, and 11 and 10) all looked normal. What's more if I held a key down, the signal certainly fluctuated between 0 and 5. You could see it on the scope. On the outgoing signal the inverters (pins 1 and 2, and 3 and 4) were also "inverting" as they should. But the signal was steady at 5V even when a key was held down (and the machine was beeping madly.). It was a steady 5v at the Z80 SIO output pin 26.

I managed to prise the top off the keyboard. There are 3 ICS there, one being a large 40 pin one. I checked the continuity from the keyboard board connections right through to the main kaypro board. Connectivity is fine.

So, where does this leave me?

I'm not sure. It could be the Z80 SIO as it doesn't seem to be returing a signal back to the keyboard. If it was I should see it, right? It just holds at 5V. Turns out I don't have a spare z80 SIO after all, so I couldn't swap it out to check.

Or is it the keyboard? I'm still very puzzelled as why the keyboard should beep so vigourously when the indication is it's not getting a signal back? The signal should be as obvious as the input one yes? On maybe no? I'd like to know if it really HAS to get a return signal from the main unit to beep. I tried to look for a circuit diagram for the keyboard but without success.

With no spare keyboard and no spare Z80 SIO chip, does anyone have any ideas on how I might definitively eliminate either one or the other? If I have to import something as a replacement, I'll want to be sure that it's the component at fault.

Tez
 
Last edited:
On the outgoing signal the inverters (pins 1 and 2, and 3 and 4) were also "inverting" as they should. But the signal was steady at 5V even when a key was help down (and the machine was beeping madly.). It was a steady 5v at the Z80 SIO output pin 26.

That would certainly suggest that the beep is independent of that signal and generated by the keyboard itself.

It could be the Z80 SIO as it doesn't seem to be returing a signal back to the keyboard. If it was I should see it, right? It just holds at 5V.

You should be able to see it but if the above is true (i.e. that the beep is coming from the keyboard itself) there needn't necessarily be any signal to see. It's probably only used when the computer needs to send a beep to the keyboard.

With no spare keyboard and no spare Z80 SIO chip, does anyone have any ideas on how I might definitively eliminate either one or the other? If I have to import something as a replacement, I'll want to be sure that it's the component at fault.

If the SIO is working correctly, I'd expect to see something pop out the other end when you press a key. What that something is will depend on how the SIO is programmed. Is see the /INT is hooked up to something - does that change at all? If the CPU is servicing the interrupt you'd also expect /CE to go low when it accesses the SIO.
 
Or is it the keyboard? I'm still very puzzelled as why the keyboard should beep so vigourously when the indication is it's not getting a signal back? The signal should be as obvious as the input one yes? On maybe no? I'd like to know if it really HAS to get a return signal from the main unit to beep. I tried to look for a circuit diagram for the keyboard but without success.

Tez
Tez, can you find a sound element (piezoelectric device, etc) in the keyboard? If it goes to the big controller chip, the keyboard makes the sounds itself. From your analysis so far, it's starting to look like the SIO is not responding correctly to keyboard signals.
 
Tez, can you find a sound element (piezoelectric device, etc) in the keyboard? If it goes to the big controller chip, the keyboard makes the sounds itself. From your analysis so far, it's starting to look like the SIO is not responding correctly to keyboard signals.

Yes, I can certainly see that piezo. I'll have to trace it to find out where it goes.

What's confusing me is the following post(s) which appeared in comp.os.cpm. They explain how the keyboard works...more so than the technical manual. They say:
Sean Tash wrote in message <3ca78ed3.111276...@news.mco.bellsouth.net>...
>Hi. does anyone have documentation on the keyboard interface on a
>Kaypro II computer? I'm missing the keyboard to one and want to make
>an adapter using an PIC mcu so I can use a PC keyboard. thanks.

The keyboard connects to Kaypro II via Port B of the serial chip U70 at 300
baud. Control is Port 07H, and data 05H. Rx and Tx signals are buffered
thru a 74504 chip. Four wires -- #1 appears to be power (?+5v), #2 data out
to kaypro, #3 is ground, and #4 is output from kaypro to keyboard to trigger
the beep. Unless the 74504 modifies the voltages, it looks as though the
standard 12v RS-232C signals are used. Simple polling is used to read the
data input. The serial chip has a three byte buffer, and excess input
overwrites the last byte.
Hope this helps.

Walter Rottenkolber

From: William Meyer
Date: Tues, Apr 2 2002 9:03 am
Email: William Meyer <wmhme...@earthlink.net>
Groups: comp.os.cpm

In article <3ca9447...@news.sierratel.com>, wal...@sierratel.com says...

> The keyboard connects to Kaypro II via Port B of the serial chip U70 at 300
> baud. Control is Port 07H, and data 05H. Rx and Tx signals are buffered
> thru a 74504 chip. Four wires -- #1 appears to be power (?+5v), #2 data out
> to kaypro, #3 is ground, and #4 is output from kaypro to keyboard to trigger
> the beep. Unless the 74504 modifies the voltages, it looks as though the
> standard 12v RS-232C signals are used. Simple polling is used to read the
> data input. The serial chip has a three byte buffer, and excess input
> overwrites the last byte.

Call it a 74S04, and the signals are standard TTL, not RS-232.
That says a beep is caused by feedback back to the keyboard. This ties into the fact that the word "beep" is written on the schematic on the output line. I imagine the reason for transmitting a beep back is to verify keyboard input has been received. If the keyboard creates the beep itself, does not that somewnat defeat the purpose of having that feedback mechanism?

Another theory. A beep is heard with just a single keypress on the machine in its present state. This was the case even when the machine is working properly (and explained above) so it's not just an overflow signal like it is in some computers. However the text above says the serial chip has a three byte buffer. Perhaps when fhe buffer is full it ALSO causes a beep through a different circuit. From a design point of view it would be sensible to include this, although that wasn't mentioned above? Now if the keyboard THINKS the buffer is full even if it's not (because of damage to the serial chip in the keyboard say) it may also use this circuity to beep even with a single key press?

But that dioesn't explain the fact that no change in signal appears on the output line from the Z80 SIO...unless both ICS are damaged which is highly unlikely. Or I'm just not seeing the output signal.... but the input signal on holding a key down is so clear it's hard to believe I could not see it if it was there.

Tez
 
If the SIO is working correctly, I'd expect to see something pop out the other end when you press a key. What that something is will depend on how the SIO is programmed. Is see the /INT is hooked up to something - does that change at all? If the CPU is servicing the interrupt you'd also expect /CE to go low when it accesses the SIO.

Steve,

There is no change on the /INT. It remains high (low is active I believe). /CE shows a small narrow square wave on the scope, but is mainly high. The signal does not change one little bit when holding a key down.

The Z80 SIO/0 has voltage and the reset pin works as it should. However, all the signs point towards this as being the problem don't they. They next challenge is to find a replacement somewhere to swap in. Were there Z80 SIO ICs common in old, old ISA modems? I see someone has a bunch of old modem cards going for $1 on out auction site. I can see a few 40 pin ICs there and some seem to be socketed. Hard to tell though. Anyway, I've put the question to the seller.

Tez
 
There is no change on the /INT. It remains high (low is active I believe). /CE shows a small narrow square wave on the scope, but is mainly high. The signal does not change one little bit when holding a key down.
Yes, /INT is indeed active low, as indicated by the bar above the name. Seeing as the bar can be tricky to type, it's often easier to prefix the name with a slash ;-)

The dips in /CE make me wonder if the CPU isn't just polling the SIO for keys. If that's the case, the SIO may not be programmed to generate interrupts and /INT would remain high. Looking the available outputs, there's not a lot else to go on. You could check the data bus, but most of the time that's going to be driven by something else and wiggling all over the place. You'd probably need a logic analyser to diagnose a faulty SIO in this case.

It sounds like your keyboard is working alright though, so I'd be tempted to just replace the SIO and see what happens. I don't suppose there's one lurking in any of your other machines you could test with?
 
It sounds like your keyboard is working alright though, so I'd be tempted to just replace the SIO and see what happens. I don't suppose there's one lurking in any of your other machines you could test with?

Steve,

Yes, I wish there was. I've checked the old iron and there are plenty of Z80 CPUs but no Z80 SIO/0s . I'll have to track one down.

Tez
 
Back
Top