• Please review our updated Terms and Rules here

Intel P8021H 2173 / Mac M0110A Keyboard

raoulduke

Experienced Member
Joined
Jan 14, 2015
Messages
356
Location
New Jersey
I need to replace the logic IC in an original Mac keyboard. It uses the Intel P8021H 2173. I've seen other numbers at the end of that (like 2175). Does anyone know what 2173 means? The cheapest I could find (on Ali Baba) was $14 for a chip; so I'd rather go cheaper if possible. I've found a number of non-2173 variants, but I'm uncomfortable replacing/testing it with another without knowing anything about what the 2173 means.
 
The 8021 is a member of the 8048 microcontroller family that has a mask ROM program. These were heavily used in keyboards by many manufacturers. I have here an 8021, which I need to dump the ROM from, with a '2059' after the part number. It is from a TRS-80 Model II keyboard.

While all 8021's are pin-compatible they are not ROM program-compatible and thus you will need one from the exact same model keyboard for a replacement. I think those four numbers could be the mask number, meaning the actual program contents. These are not field-programmable nor are they reprogrammable.
 
Thanks for the tip. Don't have them in the Model I, DT-1, MC-10, or PC-6300 Keyboard 302. (I don't have a Model II and I don't want to cannibalize my Models III and 4).
 
Last edited:

I'm afraid not. That programmer only programs a limited subset of Microchip PIC microprocessors.

If others are correct and your original chip is a mask-programmed 8048 (is it a 40-pin device?) then a logical drop-in replacement would be the 8748, which is the version with a windowed EPROM built in.

Even if that is so you would need:
-A blank 8048 or a used one and a UV eprom eraser to empty it before programming it
-The code to program into it
-A device programmer which can program ancient microprocessor ICs, and a computer to run its support software (usually DOS) and hardware interface (usually a parallel port).

Historically there were any number of device programmers which could program eproms of various sorts but only the high end (expensive) ones could program a large range of microprocessors as well. Two examples which I personally know can program the 8748 would be the EMP20 (Needhams Electronics) and the ALL07A (Hi-Lo Systems), both long out of production.

Obtaining all of these things amounts to a lot of trouble and expense - I would explore every other possible avenue before assuming that the keyboard microprocessor is dud, unless it has a gaping hole in it, glows orange, or is cracked in half of course. For example, are you certain that none of the keyboard key contacts are stuck in the closed state? If there are PCB tracks on one or both sides of the keyboard PCB, check for signs of old liquid spills which are a classic reason for keyboard failure. Any fluid which has been spilled or dripped onto the keyboard at any time may have rotted away a small portion of copper track or a link wire somewhere.

What are your symptoms? No keys working? A row or column of keys not working?
 
Last edited:
One of the modern 8051 MCUs (e.g. Atmel) might also do the trick with a minimum of twiddling--and be SPI flash-programmable. Pinout is a different matter, of course.
 
Well so this kit - which is serial and thus not ideal but still workable - comes with (I think) a 28-pin EPROM. That can't be used OOB? (Again very limited knowledge at this point). Moreover, I'm not sure what the issue with the original IC is; so it is theoretically possible I can just reflash that one - although it probably isn't flashable so maybe that theory exists mostly in my head...
 
One of the modern 8051 MCUs (e.g. Atmel) might also do the trick with a minimum of twiddling--and be SPI flash-programmable. Pinout is a different matter, of course.

You'd need to write the code for it as well. The 8048 code was quite different.
The 8049 series was similar but had port usage differences. The 4048 was a general
purpose with normal ports. The 8049 had one port that had an off chip strobe to
capture 8 bits.
If all the ports are not needed and you get a dump of the onboard ROM, you may be
able to use a 8035 with external ROM. There are ways to get all the ports back
with external latches as well. There are lots of 8035s from junked equipment.
Dwight
 
I was trying to think of a modern similar flash-programmed device. The 8051 was the closest I could come up with. The github code is C, after all.

Of course, you could just take your pick of any modern MCU with enough pins and translate the functionality.
 
Well the cheapest I've found is $15. And an EPROM flasher kit is $15. So I'm not sure the logic evinces a clear-cut option in my situation. (Unless you know of a cheaper option?)
 
Well the cheapest I've found is $15. And an EPROM flasher kit is $15. So I'm not sure the logic evinces a clear-cut option in my situation. (Unless you know of a cheaper option?)

there is no flashable pin-compatible version of the 8021
just send me your address, and I'll send you a keyboard pcb
which style do you have, w or w/o keypad?
 
I was concerned about the pinout; but I assumed there'd be some option. Either way that'd be amazing. I have the original keyboard (M0110 I think) without the num pad. I'll send you a PM. I really appreciate it.
 
Fantastic - I didn't mean to hassle you; I just thought I might have misunderstood. I can't tell you how much I appreciate it.
 
Hi All,

I thought about starting a new thread but figured it was best to just use this one to keep the place organized.

Anyway, have a keyboard for my Mac 512k that apparently has a bad chip. I saw some previous discussions on this chip (including this thread) where people were wondering about a way to work around this chip, but it looks like in the end they found a replacement instead. Considering that the m0110 keyboards are currently listed for overpriced amounts, just replacing the keyboard seems unlikely. So, just thought i'd check if anyone has since then found a way to use another chip (programmable or otherwise) to make these work?

I'm assuming the answer is still no, but thought i'd ask anyway.

Thanks!
 
To my knowledge, there was never a user programmable 8021. They were mask programmed.
They were generically similar to the 8048 that did have a 8748( internal ERPOM programmable ). 8048s could also be used with an external EPROM but that reduced the number of I/O pins without using special external circuits to replace the missing I/O. The pin outs are of course different. I don't see why one with enough ambition couldn't make a Blue Pill with a wired adapter replace a 8021. There was nothing special about the 8021. It was just a micro controller.
It is not on my list of things to do but I see no reason to think it can't be done.
Dwight
 
Thanks Dwight. Like everyone else, I guess I won't be pursing this at this time. I went with a friend to look at a garage full of computer equipment yesterday and among other things, the guy had a box full of M0110A keyboards (4 good and 1 working but missing a bunch of keys). I tested them all and they seem to work so i'm just going to use two of those for my 512k and Mac+ and give the other two full ones to another friend who needs keyboards as well. I'd still like to look into getting the other one working at some point but I guess it's a lower priority now. I'll just put it in a box and maybe one day someone will come up with a solution. :)
 
Back
Top