Using a Cuttle Cart 3, I've turned my Intellivision into a serial terminal that's roughly (but not yet exactly) compatible with a VT-100 plus ANSI color escapes.
It's able to keep up with 9600 baud ok so far, as long as I ask Linux for a little bit of time on the scrolls. I use: "stty rows 12 columns 20 -ofill cr2 nl1"
The CC3 exposes its 16550-compatible UART at locations $0F00 - $0F0F in the Intellivision memory map. My serial code is just a simple UART driver. The ANSI/VT-100 interpreter is a bit more involved. It's largely a translation from some C code I had written a few years ago.
The ECS keyboard scanning code is completely new. I've had to get creative with some of the key mappings, too, since many characters are not available by default. I use a transposed scan to read the keyboard, so that the shift key operates properly. The control key works fine with most keys, except for "space", "down arrow", "up arrow", "right arrow", "q", "1" and "a". This can be fixed by rescanning that row with a normal scan, but for now I've left that out.
BTW, the final text of what I typed was:
"This is a test of my serial code on the Intellivision. I am connected by a Cuttle Cart 3 to a Linux box. I am typing this on an ECS keyboard. See? hi!!!"
I typed that within the Linux/UNIX editor "vim". All of the editing was happening on my Linux PC, with the Intellivision just acting as the keyboard and display.
![](https://i.ytimg.com/vi/dG0nm2Do5Lo/mqdefault.jpg)