The pygame frontend. It was the oldest interface SBTCVM had aside from a barren terminal, without even a period of curses to be seen. Now, after much work on the common components of SBTCVM gen2-9, pygame makes a return to SBTCVM, with a new frontend. A few new features have made it into SBTCVM via the pygame frontend as well.
SBTCVM, traditionally, had only plain, black & white text coloring. However, it has had graphics of one sort or another for a while, so color is no new addition to it.
With the many changes in SBTCVM's newest revision, comes colored text functionality. While the feature itself is new, it, in-part, uses some research that began before SBTCVM even did.
Years ago, before SBTCVM was even a thing, I was working with balanced ternary color palettes, and possible graphics resolutions, and so forth. namely:
- 1-trit Greyscale (3 shades)
- 2-trit Greyscale (9 shades)
- 3-trit Greyscale (27 shades)
- 3-trit RGB (27 colors)
- 6-trit RGB (729 colors) [later on]
- 9-trit RGB (19683 colors) [later on]
These 3 Balanced Ternary color spaces were interesting to work with ascetically, and are the reason even SBTCVM's predecessor, TDA-Mark1, had color support, in the form of a crude 729-color, 27x27 pixel
vector plotter, and a smaller monochromatic, 9x9
While those plotters no longer exist in SBTCVM Gen 2-9, a new 243x243, 19683 color (9-trit RGB), vector plotter has appeared, in the form of SBTGA mode 30.
The new pygame frontend's TTY has both a 3-color indexed and a 27-color RGB color-block encoding scheme. (mainly to save memory, and ease coding.)
While SBTCVM may have had colors for a while, as far as I've seen, its the only balanced ternary computer, virtual or not, to really tackle the problem. One odd thing is 0 is never black in linear RGB and monochrome palettes. the lowest negative value is. while the highest positive value is always white.
Compared to binary, balanced ternary color palettes balloon in size quite quickly:
|No. of Units||ternary colors||binary colors|
Units, refers to the equivalent bits/trits measurements of binary & balanced ternary respectively.
Overall, I've learned quite a few things about balanced ternary since starting SBTCVM, and even learned some things before that. As well, all this new color text and graphics should make SBTCVM a bit more interesting at least.
To use the new pygame frontend, just run: