Talking NIBL at 1200bd via a modified Chatpad (also does 9600bd)

Any stories, collections or recollections of the earliest days of computers
or related projects
Post Reply
User avatar
Posts: 502
Joined: 15 Feb 2018, 23:32

Talking NIBL at 1200bd via a modified Chatpad (also does 9600bd)

Post by Phil_G »

I'd been looking for a miniature keyboard and learned of Giancarlo Todone's Xbox 360 Chatpad mod from thirteen years ago, which replaces the internal PIC16F833 firmware of the Chatpad, turning it into a straightforward serial ASCII device. This was exactly what I needed and I spent a long time trawling dead links, removed content, no-longer-in-service servers, and along the way found a few lost enthusiasts in the same situation. Thirteen years is a long time and some really good stuff often fades from existence as websites, ISPs and interest comes and goes. You assume that everything on the internet is forever but in fact old projects can completely disappear and tracing them can be a trudge.
Eventually I did find Giancarlo's Chatpad hex file, but equally difficult was finding a non-potted Chatpad, ie one with an accessible PIC16F833 which I eventually found on my third ebay purchase. Not sure what to do with the two unsuitable ones :)


The ideal Chatpad for this mod appears to be from 2007, so its pot luck when buying used. The replacement firmware is hard-coded to 4800 baud, and for my NIBL board I needed 1200 baud, so set about disassembling and manually patching the hexfile and manually recalculating the new checksums, which was uploaded using a cheap Pickit3 clone. The result is a working 1200 baud version of the code [edit: also 9600, see below]. I removed the protruding earphone jack and the multi-connector so the board lays nice and flat. Note that I pick up the transmit line (yellow) from a pad labelled 'TP2'. Receive is not used.


Please note that the keyboard firmware is Giancarlo's work, all I have done is a small edit of his hex file. A hack of a hack! The 1200 baud version is attached. It might be my Chatpad - after all its 13 years old - but whilst it works well, I do get occasional keybounce. Its an unavoidable compromise if you need a really tiny keyboard - and it does match the 4" screen perfectly Image

One change I might make is to invert the 'shift' key as NIBL uses only upper case and having to hold 'shift' for every character entered is a pain, and prevents one-finger typing. Or maybe get a 'shift-lock' working.

Edit: Done.
I've included a version that I've patched to invert the 'shift' function, eg pressing 'A' gives 'A' and pressing shift-A gives 'a' etc
Sorry no code, I dont have any, I only have the hex file.

Another edit: I've since bought another Chatpad, as I said its pot luck which version you get, and you dont know until its been completely dismantled. Luckily this was the PIC version so I now have a spare which is always good when tinkering, with the ever-present risk of blowing something irreplaceable up ;)

Further edit, March 2021: Attached is a 9600 baud version of the patched firmware, I'm using this in a mini VT100 terminal with my CP/M and SWTPC6800 computers, the Chatpad keyboard matches the 4" TV screen nicely! This is very handy as a portable terminal for testing and general tinkering,with internal battery power so fewer wires. This 9600bd version doesnt have 'shift' reversed so its normally lower case and upper case with the shift key. I'll do an inverted shift 9600 version if/when necessary.

Yet a later edit, April 2021: If you look for the following label on the Chatpad, this will be the PIC version we need. "X814365-001" is the key thing to look for:


If anyone makes use of these, do speak up please ;) as we're always interested to hear about your projects.

(401.06 KiB) Downloaded 104 times
(404.42 KiB) Downloaded 101 times
Post Reply