The job of a dumb terminal was originally to be a continuation of that performed by a paper teletype, to send text from its keyboard and display any it receives on its screen. But as the demands of computer systems extended beyond what mere ASCII could offer, their capabilities were extended with extra characters and graphical extensions whose descendants we see in today’s Unicode character sets and thus even in all those emojis on your mobile phone. Thus a fully-featured terminal has a host of semigraphics characters from which surprisingly non-textual output can be created. It’s something [Michael Rule] has done some work on, with his ILI9341TTY, a USB serial terminal monitor using an Arduino Uno and an ILI9341 LCD module that supports as many of the extended characters as possible.
![A graph, entirely in Unicode characters.](https://hackaday.com/wp-content/uploads/2021/10/ploteg.png?w=324)
It’s fair to say that most of us who regularly use a terminal don’t go far beyond the ASCII, as it’s likely that a modern terminal will sit in a window over a desktop GUI. So even if you have little use for a hardware terminal monitor there’s still plenty of interest to be found in those rarely-seen character sets. Our favourite is probably the Symbols for Legacy Computing, an array of semigraphics characters that may be familiar to readers who have used an 8-bit home computer or two. He includes a graph example using these characters coloured with ANSI escape codes, and it’s certainly not what you expect from a terminal.
If microcontroller terminals capture your interest, this isn’t the first we’ve brought you.
I wonder what would be required for this to have a keyboard send input.
[Nick Matantsev](https://github.com/unframework/tintty) has a nice version which uses the built-in touchscreen for this. (The touchscreen is broken on mine, so I haven’t had a chance to try it). For the ILI9341TTY sketch in this pose, you could also try getting a PS2 keyboard working using pins on PORTC. (The current sketch clobbers PORTB/PORTC to accelerate rendering).
[Nick Matantsev](https://github.com/unframework/tintty) has a nice version which uses the built-in touchscreen for this. (The touchscreen is broken on mine, so I haven’t had a chance to try it). For the ILI9341TTY sketch in this post, you could also try getting a PS2 keyboard working using pins on PORTC. (The current sketch clobbers PORTB/PORTD to accelerate rendering).
With an 100×33 or even an a bit bigger display, I could get on the hook…
There is sixels exists to display RGB images and even gifs and video on text terminals. Xterm (compiled with –enable-sixel-graphics option) know it, f.e. and there is libsixel library for converting images to and from it.
Nice, I wish I had developed mine as far as this (shameless project link: https://hackaday.io/project/165821-tintty-v2-tiny-touchscreen-vt100-console).
Cute thing, 3Dprint a case for it to make complete :)
Update: the sketch now supports Latin, Cyrillic, and Greek, as well as Armenian, Georgian, and Katakana/Hiragana.
cool! arigato for the update
Also interesting to read and perhaps at least partially related to this article : https://int10h.org/oldschool-pc-fonts/
:)