Sunday, October 15, 2017

SBTGA: SBTCVM's graphics adapter.


It happened.

SBTGA mode G0, 114x81 @ 3-trit RGB, (27 colors)
SBTCVM, for the longest time, has had no framebuffered displays. and while the 9x9 and 27x27 plotters have proved functional, the time has come.

SBTGA currently has a standby mode (default), and Graphics Mode 0 (G0, shown). While its indeed colorful, SBTGA has more features planned: such as formatted text modes, and a new, high-resolution plotter mode to replace the old 9x9 and 27x27 plotters that have proven quite useful.


Under the hood, SBTGA is SBTCVM's first complex IObus device, (unless you consider a basic psudo-random number generator or scratch memory, complex)
it works via a pointer address that points to a portion of Memory Bank A (the first memory bank), that tells SBTGA where its DMA-based framebuffer is. 

Naturally this lets programs have precomputed framebuffer memory ranges.In fact, this is the first job of the new MK2-GAT.py utility (GAT meaning Graphics Adapter Toolkit): To convert 114x81 binary images, to SBTGA Mode G0 framebuffer maps.

And while for the moment, SBTGA lacks even sprites, Its a definite start to a new chapter in SBTCVM's development.

The SBTCVM Desktop

SBTCVM's central launcher and its recently added "mini tools" are now much more:

Presenting a new and upcoming part of the SBTCVM suite: The SBTCVM desktop.

Featuring a multi-windowing enviornment, with resizable windows, additional applications as plugins, and powerful builtin utilities, along with integration with SBTCVM's powerful backend. Best part is, like the rest of the SBTCVM suite, its OS-agnostic, and very portable, and powered by python and pygame.



Builtin applications (often called SDAs, or SBTCVM Desktop Applications, for short) include:
  • Shell, a shell interface used to create a veriety of CLI interfaces, such as a System Shell (center) and a math shell (right)
  • taskman, manages the various tasks that are running. (top left)
  • fileman (not shown) a compact variant of the larger fileview.
  • and more on the way.
The Plugin system also provides some applications as SDAPs (SBTCVM Desktop Application Plugin)
  • The Math shell mentioned before is implemented as an SDAP, it features the same math functions as the command shell.
  • Scribble started as a mouse coordinate test and grew into a simplistic paint program (keyword: simplistic).
  • the scrolling credits shown is a port of the same code used in the credits window accessible via the VM's file menu.
  • as with the builtin SDAs, more SDAPs are in the works.
As mentioned in the recent, "new system of things" post, Themes are supported, and several are provided, along with various backgrounds.