Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts

Thursday, April 30, 2020

New SSTNPL Module: segment

'plottertext' TROM showing segment in action.
The new segment SSTNPL module is an easy to use text renderer for SBTGA's plotter mode. its name comes from the 'segment-style' approach it uses for rendering text.


Features:
  • automatic newline support
  • built against the new SBTCVM Bi-directional buffer interface for printing text nearly as easily as SBTCVM's native TTY output.
  • fully customizable color, scaling, character spacing, and line spacing.
  • MUCH faster than drawing text using PLRLE tritmap images.

Monday, August 13, 2018

SSTNPL

SBTCVM for the longest time, only had one programming language: SBTCVM Assembly. However, with Gen 2, that's going to change. In fact, it already has.
Presenting SSTNPL:

SBTCVM Simplified Ternary Numeric Programming Language.

Overall SSTNPL isn't ultra-high-level. For example: it supports in-line assembler and its loop and branching capacity is provided by several goto instructions. 

Yea i know, the 'dreaded' goto. But SSTNPL isn't meant to be super abstracted. Its mainly meant as a lower-level language, that abstracts much of the VM's more detailed behaviors, while letting people experiment with them if they wish, and aren't ready to tackle the assembler head-on. It can also be handy for quick math algorithms.

Features:
  • built upon a named-integer variable system
  • both static, and equals, greater, and less than gotos. (goto, if, ifmore, ifless)
  • addresses and memory are handled automatically, using the assembler's builtin variable system.
  • simple, easy to follow, syntax.
  • quick formatting commands like 'space' and 'newline' paired with the new print, and dumpd/dumpt integer dump commands, make outputting algorithm results a breeze. 
For more information, check out the included example *.stnp programs and the shiny new stnpcom.py compiler, in SBTCVM gen2-9's repository:
https://github.com/SBTCVM/SBTCVM-Gen2-9