The Annotated VT100 Firmware (2022)

Posted by Aleksandr_NFA 3 days ago

Counter83Comment6OpenOriginal

Comments

Comment by rasz 3 days ago

Its Claude again!

Claude Sylvain’s and Jay Cotton’s asm8080 that is :-] Mad props for going old school with command line disassembler. Im too much of a GUI slave to attempt such a feat, I stick to ida/ghirda when disassembling PC bioses for fun (several uploaded on my github). There are just too many nice features like Type tooltips, automagic mechanisms and one click operations that would be tons of typing in text editor.

Comment by ErroneousBosh 3 days ago

> Its Claude again!

I'm picturing "Why should I change *my* name? He's the one who sucks!"

Comment by pitrdevries 2 days ago

Really great presentation by Richard Thomson at VCF Midwest this year about How the DEC VT100 Terminal Was Secretly an 8-Bit Computer which includes thanks to vt100.net: https://youtu.be/6Ec97GFiqWA

Comment by MisterTea 1 day ago

I always find it amusing when people use hyperbole to describe technology that is mostly mundane. Of course a terminal is a computer. Just a very stripped down embedded computer that ran a single terminal program from firmware. There is no secret here.

Comment by JdeBP 2 days ago

Xe misconstrues how the standards process works, a bit. Standards don't develop out of thin air. Usually they standardize some sort of existing practice, and in this case that existing practice was DEC VTs.

In addition, there was ECMA-35 as well as ECMA-48. ECMA-35 provides some important context to ECMA-48, and the reason that ECMA-48 appears to not concretely define some stuff is that actually that stuff is in ECMA-35.

vttest post-dated these standards by three quarters of a decade for the latter and by a dozen years for the former, and wasn't really a comprehensive test suite until the 1990s.

Comment by 2 days ago

Comment by ouch-blurred52 2 days ago

I keep going back to this annotation because the escape-sequence state machine is where most of the 'magic' actually lives. People assume the VT100 was just print-this-char, but the ROM is really a careful little state machine chewing through the CSI/SS3 sequences, and the annotated version makes it obvious how much logic was squeezed into that ~16KB. Curious where the cursor bookkeeping (position, wrap-around, the pending-newline bit) actually lives in the data structures - that part quietly explains half the weird terminal behavior people still trip over today.