(no title)
AndresNavarro | 3 years ago
That's exactly right, pretty cheap but has some limitations like you point out here:
> (Incidentally, if you remember BSD talk/otalk/ntalk/ytalk, you might remember that it divides the screen into two windows and avoids ever scrolling them by wrapping the conversation around from the top to the bottom of the window in a sort of similar way; I suspect that this is because some terminals, like the ADM3A, didn't support scrolling part of the screen, and redrawing half the screen at 2400 baud would have been slow.)
I remember using them around '96, although we had the luxury of 10mbit ethernet (over coax cables) and some vt100 compatible terminal emulators running on amber screen XT machines (on DOS). As you mention neither the adm3a nor the vt52 had partial scrolling. The vt100 did have that and a lot of extra bells and whistles
> But you're running on an FPGA where a lot of circuits can be clocked at 50 MHz, right? 20 ns.
I run them around 50MHz just for the usb serial port, but all the terminal logic works at half that, right around 25Mhz which happens to be the pixel clock at these resolutions, so you cant go any slower than that
> but that still leaves 1000 LUTs for the terminal logic, roughly equivalent to 1000 7400-series TTL chips
I don't think that's a fair equivalence, most 7400 series ttl chips would be several 4 inputs lut, even simple gates like 4x2 bits ORS and way more for things like shift registers and counters of which the terminals have plenty. I also had to deal with ps/2 decoding. On an ADM you can also save a lot of decoding logic taking into account the bit paired keyboard
kragen|3 years ago
It wouldn't be much more complexity to make the VT52's increment sequence a linked list instead of a counter, another 24 bytes of RAM or maybe just 120 bits. The escape sequence dispatch microcode is probably more space.
I hadn't thought about the complexity of PS/2 decoding.
My thought with the 4-LUT equivalency is that if you take some arbitrary 4-input combinational logic function and build it out of things like ANDs, ORs, NANDs, and inverters, you're going to need about 4 gates on average, which is about one 7400-series chip. I agree that things like bidirectional shift registers and up-down counters are hungrier. And maybe I'm underestimating what fraction of the VT52 consisted of such things.