Favourite TUI Apps

Thanks @jan-peter . I try to be helpful.

Way back when (~`87) I received a 64180 (aka Z180, probably the very first SOC) and with that 512K RAM capacity and 2 built in terminal ports (UARTs) I immediately had visions of a windowing TUI. Basically I’m still dreaming of that to this day, but apparently few others are. :laughing: Although TWIN is a good start… if it worked. I might try this out on the R-01…

But then we have the R-01 and running a TUI is not all that much of an advantage. Let me explain: The R-01 (and likely all the other CMs that go in the DevTerm) does not have character based video hardware like is the norm in most IBM style PC hardware. It has a “frame buffer”, which is a nice way of saying, “a huge slab of RAM dedicated to holding pixel color data to be reflected onto the display.” So, while manipulating the display content a character at a time, as opposed to a pixel at a time, is HUGELY faster, due to the reduction in data, we don’t have that advantage here. The kernel is making up for the lack of character based hardware by essentially being a very limited GUI: Characters are rendered into a pixels based on a font. The screen is cleared by writing it full of black pixels and its scrolled one pixel at a time.

For comparison: the original IBM PC display cards (mono, cga, ega, vga in text mode) used a 2K buffer for the 80x25 character display. At 24bits per pixel the DevTerm needs somewhere in the neighborhood of 2MB, a 1000x increase in resources and work.

On top of that I’m relatively certain that the screen is getting rotated 90degrees, completely by software. This adds an additional amount of work that is then multiplied by the screen size.

Now with the other modules there is hardware for manipulating those pixels. And more cores! As advertised the R-01 does not provide any hardware assistance (at this time) so the only core you have has to share compute time with your app and push around and rotate a large amount of RAM to pretend to be a character based terminal.

NOTE: The lack of hardware video acceleration appears to be a software problem. I haven’t spent a huge amount of time with the D1 data sheets yet… but it appears to have hardware acceleration for normal 2D graphic manipulations, including rotation. What it doesn’t have is hardware 3D rendering used by things like OpenGL. But it does have video codecs and pixel manipulations. So it seems the slow video is a result of drivers not being available.

On top of that the R-01 has another interesting drawback (bug?): no native cursor. On that thread we have a partial solution that kind of works but many common terminal based apps break it (vi, nano, …), by resetting the terminal.

While a full fledged GUI does eat up a lot more storage and has more moving parts to put in RAM it provides advantages on the DevTerm+R-01 that makes me prefer to work in X rather than at the console… even if that is just to use xTerm. :slight_smile: Your mileage will likely vary but I don’t find working at the R-01 console all that useful (especially when the cursor disappears) and I do like having more than one thing on the screen at a time… after all we are running a double VGA monitor here! :wink:

Just some food for thought… while your waiting for the kit to arrive. That was a terribly long wait…