Geoff Graham's ultra-simple ASCII terminal for retro computers (one chip!)

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

Geoff Graham's ultra-simple ASCII terminal for retro computers (one chip!)

Post by Phil_G »

A lot of the old computers used an external ASCII terminal (screen & keyboard) via an RS232 serial cable rather than having any on-board video.
Today the easiest way to a terminal is to use a comms program like Tera Term on your PC, but its not really in the 70's spirit to use a thousand times more powerful computer just to lend a screen & keyboard! A dedicated terminal is more fitting, and much more convenient :D

This is another of Geoff Grahams projects (Geoff of Maximite fame), it implements a full VT100 terminal with a keyboard and loads of comms options on a single PIC chip. It will drive either a VGA monitor or a composite video TV type screen, and the clarity is superb - much better than the photos.
It will drive your 72" TV but its also ideal for those cheap 5" 'reversing camera' screens from ebay - typically a tenner or so:


Geoff describes two circuits that use the same chip and program, one is a full VT100 terminal with all the knobs on, runs a USB or PS2 keyboard, composite or VGA, colour select etc - and one is just a simple screen display. I've done both, the full one for the little CP/M board so I can run WordStar etc, and a simple screen display for the NIBL basic machine as shown here. You can see NIBL running in the video below. Either version of the terminal is simple to make, particularly the screen-only - one cheap-as-chips chip, a fourteen-pence crystal (!), a few capacitors & resistors. Both work astonishingly well. Heres Geoff's diagram of the simple version. How neat is this? [Note Geoff has drawn the pin 20 tantalum reversed]


I changed mine to 1200 baud to suit the SC/MP NIBL computer, on the diagram above, the change is by simply not connecting pins 3 & 7 to ground - just let them float as they have internal pull-ups.


If anyone fancies a go at making one, beware that its not obvious (or wasnt to me) which is the correct file to program into the pic, a PIC32MX250F128B. At first I used the 'V1.3 update' which didnt work - I think it truly is an update overlay for existing V1.2 users.
The correct file is: Terminal_V1.3_plus_Bootloader.hex (not that the bootloader is used) which you find in the zipfile at the bottom of Geoff's terminal page:
The PIC32 chips aren't the most straightforward chips to program outside of a host board, it took me a while to work it out, there are pull-ups and internal regulator capacitors plus multiple 3v3 and ground pins, all of which are essential for programming so it really warrants a dedicated adapter making up.
I did mine on vero, it plugs directly into my Pickit 3:


(The low speed is down to the 1200bps NIBL output, not the screen or terminal!)


I'd been pondering the best way to get local echo on the Geoff Graham terminal, how best to gate tx & rx when one is 5v and one 3v3,
when it occurred to me - a simple schottky from pin 4 to pin 5! Works great, on a hdx setup I can see what I'm typing now!
For future projects I'll add a switch in series with the diode, to select local echo or not:


Post Reply