Day two, and the GMS 2291 Video Controller is alive!
640×480 VGA, 80×30 text mode, with a character set straight from 1987 — specifically, from А. Долгий's discrete TTL video controller design (with modifications, of course). Real ES EVM terminals (which I briefly saw at my alma mater back in 1996 -- for example, ТС-7063 manufactured in Kaniv, Ukraine) of course were using different fonts and character encodings (some variant of EBCDIC, I guess) -- but conceptually, "by spirit", it's similar. There's something satisfying about resurrecting that "7-bit spirit".
The clever clock trick
The GateMate's PLL can generate 25,113,600 Hz for video timing. Divide by 2, you get the system clock. Divide that by 109, and you get exactly 115,200 — the UART baud rate. One crystal, perfect integer divisions, zero jitter. Sheep №28 (my unofficial mascot) would be proud of this elegant ratio.
The IPL controller
Hardware-only bootstrap — no CPU involved. On power-up, it sends "IPL" via UART, waits for 16KB of data, stores it in memory, and displays "IPL OK" when done. Just like the real S/360 channel hardware loaded the first record without CPU intervention.
Debugging serial communication at midnight, discovering that USB-CDC adapters need flow control delays, eventually seeing those six beautiful letters appear:
IPL OK
A simple message, but it means: video works, UART works, memory works, the PLL is stable, all the clock domains are crossing correctly. Tomorrow we add a brain.
In this blog I share my observations, thoughts and experience about computers, linguistics, philosophy and many other things that interest me.
Sunday, January 11, 2026
KOI-7 Glows on the Screen
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment