Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Microcontroller keyboard encoder for H9 and H19

38 views
Skip to first unread message

Terry Smedley

unread,
Jan 11, 2025, 11:50:08 PMJan 11
to SEBHC
With plenty of input ("idea bombs") from Glenn, there's a replacement for the MM5740 keyboard controller used in the H9 and H19 terminals.  My objective was to produce something that would be easily built, programmed - tinkered with - by group members. The microcontroller is an ATMega644PA.  The firmware is built using the Arduino IDE which is both free and relatively easy to get started with.  Boards have been built for both through-hole and surface mount ATMega devices.  The thru-hole ATMega is easily programmed out-of-circuit in a TL866-II, and ISP programming pads are present on all boards for easy in-circuit programming if you want to iteratively tinker.

The code delivers the baseline MM5740 behaviors, for both the ASCII-mapped "AAE" used in the H9, and the ROM-addressed "AAC" version used in the H19.    There's also a firmware version for the H19 that would let you bypass the H19's ROM if you wanted to explore alternative mappings.  Because of the OEM design for Z80 bus access by the keyboard controller, there are some caveats for bypassing the H19 ROM.   

Glenn's "idea bombs" pushed the boundaries of the project beyond a one-for-one MM5740 replacement.  The code includes auto-repeat that uses no external components, and keystroke macro record/playback capability for up to five macros.    The firmware supports on-screen display and modification of interesting internal timing parameters, such as auto-repeat delay and repeat speed, macro playback speed, and the length of the window used to debounce the keyswitches.  There's also an interesting OS-independent command history capability that will allow you to playback prior commands with a single keystroke.  Keys used for the special firmware functions are easily changed by modifying the mapping table.  The Arduino IDE code is "C-like" and I think most members would find it pretty easy to play with.

PCBs have been produced in several different form factors.  The per-board cost is very low.  The ATMega can be had for about $7, there are just four other electronic components (two capacitors, one resistor, and a resistor pack for pull-ups if you're installing the module in the H19).   The SMD versions easily fit into the between-board space of an H89.  The thru-hole version will also fit in that space with appropriate choices for the pins used to plug into the TLB's MM5740 socket.

I'll post or otherwise transmit the firmware source or compiled .HEX file to anyone who requests it.  I have a handful of the (bare) PCBs on-hand.  Contact me off-list if you want one - just cover the cost of postage.  

Photos show some of the modules, and a snapshot of an H19 with the on-screen display produced by the keyboard firmware showing recorded macros and timing parameters in use.

I've taken this project about as far as I planned to.  I'm happy to provide complete source or KiCAD files if anybody is interested in doing further development or experimentation.

tas

MM-SEBHC-4.jpg
MM-SEBHC-3.jpg
MM-SEBHC-2.jpg
MM-SEBHC-1.jpg

norberto.collado koyado.com

unread,
Jan 12, 2025, 3:00:33 AMJan 12
to se...@googlegroups.com

I’m impressed and thank you for taking the lead on this project to keep the H19 alive with such specific Keyboard controller that is hard to find.

 

Norberto

 

--
You received this message because you are subscribed to the Google Groups "SEBHC" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sebhc+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/sebhc/a778c098-4059-40b4-9aa1-1d92d4316f26n%40googlegroups.com.

Paul Cushing

unread,
Jan 12, 2025, 8:36:52 AMJan 12
to SEBHC
blame my lack of experience on Google Groups, but, how does one contact you "off-list"

PFC

glenn.f...@gmail.com

unread,
Jan 12, 2025, 9:12:43 AMJan 12
to se...@googlegroups.com

In your email tool you should see the originating email address for anyone posting to the group, e.g.:

 

se...@googlegroups.com; on behalf of; Paul Cushing pfcu...@charter.net

 

Contacting “off-list” simply means sending a note directly to their email address (vs replying to the whole list).

 

But I’m about to post an email adding on to Terry’s post with some suggestions for a path forward and how to make this work more broadly documented and available…. As with several of Terry’s recent projects we’re still working on getting into more of a “production” mode to make it easier for others to replicate…

 

  • Glenn

 

 

From: se...@googlegroups.com <se...@googlegroups.com> On Behalf Of Paul Cushing


Sent: Sunday, January 12, 2025 8:37 AM
To: SEBHC <se...@googlegroups.com>

 

--
You received this message because you are subscribed to the Google Groups "SEBHC" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sebhc+un...@googlegroups.com.

glenn.f...@gmail.com

unread,
Jan 12, 2025, 9:38:41 AMJan 12
to se...@googlegroups.com

So it was quite a pleasure collaborating with Terry on this work. He was quite patient with the “idea bombs”.

 

It probably all started with the work on a drop-in replacement for the H19/89 keyboard, and subsequent projects including replacement for the H8 front panel keypad and the H9 keyboard. Since the H19 and H9 both use variants of the MM570 keyboard encoder we ended up plunging in and developing a replacement for that as well. As Terry says, this opened the door to doing some fun stuff like programming function-key macros for complex or commonly used commands.

 

This work is in what I would consider a “transition” state from early development into “production” mode. For example, Todd is working on making the H19 keyboard PCBs available.  At the moment there’s a wealth of information on the design details, but much of that is in the form of notes and emails.  I will take on the task of pulling all of this together into a more easily digestible form and hosting it on the SEBHC GitHub site.  Please be patient as this will take some time.

 

Thanks again Terry for the great work!

 

  • Glenn

 

 

From: se...@googlegroups.com <se...@googlegroups.com> On Behalf Of Terry Smedley


Sent: Saturday, January 11, 2025 11:50 PM
To: SEBHC <se...@googlegroups.com>

 

--
You received this message because you are subscribed to the Google Groups "SEBHC" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sebhc+un...@googlegroups.com.

image001.jpg
image002.jpg
image003.jpg
image004.jpg
Reply all
Reply to author
Forward
0 new messages