Tony,
If you could get past the dogma of using original parts just this once, a
BASIC Stamp or PICAXE could easily do this with the EEPROM built into the
device. The whole thing would probably fit into one 20 pin skinny DIP. Just
a thought.
I beg to differ...
Firstly, as I metnioned several times in earlier messages in this thread,
the HP120 and HP150 keyboards use 4000-series CMOS logic chips running at
12V. AFAIK the BASIC Stamp and PICAXE run at esentially TTL levels. So
I'd need level shifters -- 2 stages on the inputs (clock and reset lines
from the HP1x0) and 7 stages on the outputs (to drive
the decoders and
multiplexer in the keyboard). That accounted for 3 of the 5 chips
in my
modification board (a 4050 for the inputs and a couple of 74LS07s for the
outputs). You could get away with resistors and clamp diodes for the
former, I suppose, but ithat's not a big space saving.
Secondly, neither of us know, I believe, tehe exact timing of the HP1x0
keyboard interface. It's all controlled by an 8041 in the machine.
There's a clock line output from that which steps the scan counter in the
keyboard on to the next key, some time after that the 8041 looks at one
of its Test inputs to see if that key is pressed. But I don't know what
'some time' is. So I don't know how long I can spend working out what
value to send to the decoder/multiplexer.
Last time I looked at the BASIC Stamp, you wrote the program on a PC and
compiled it to a pseudocode that was downloaded to the Stamp and
interpretted there. I have no idea of the performance of that, the
documetnation that was available didn't seem to go to a low enough level
to work it out.
And of course for me to use the Stamp, I'd have to get some machine to
run that pseudocode compiler on. Which I don't have.
So lets see... _apart from the level shifters_, my solution is 2 chips.
One 14 pin (4024 counter), the other 28 bit (27C64 EPROM). I could have
got that into a 24 pin package (2716), but the 27C64 is easier to find.
That provides a solution where I cna work out the timing performance, and
where I don't need any closed software to build it (I worked out the
EPROM contents by hand using pen and paper in about half an hour, I would
have had to work out much the same thing no matter what solution I adopted
I am not against microcontrollers, but I really can't see they make any
sense here at all.
And there's another thing. I wanted to be able to go back to the Hp150
layout easily. Of course this just means a second table in the EPROM or
microcontroller, with a _switch_ to select between them. And that switch
has to be mounted soemwhere, which presumably means making holes in the
keybosard casing. No, I am not going to consider using a reed switch and
a loose magnet, the last thing I need near floppy disks is a loose magnet.
Anyway, it's somewhat academic now. I have mounted it all up. The
modifications to the HP case consist of cutting away part of the internal
back ridge of the top case (to route the ribbon cable through), a similar
cut/file to the clip-on cable cover and 4 holes in the top. The switch I
mentioned is, of course, mounted on the box bolted ot the top of the
keyboar containing my modification board.
-tony