Thursday, October 22, 2020

SSTNPL v0.4 - Major New Features!

SSTNPL for the longest time has been limited to its goto+label system, and its stack-based subroutine system, when it comes to controling code flow... 




not anymore...

If, for, and while: SSTNPL Code Blocks are HERE!


 Yes. That code in the screenshot, on the left? Thats real SSTNPL code.

SSTNPL now features nestable:

  • new `block` conditional mode, allowing any conditional to create code blocks
  • for loops!
  • while/until loops!
  • new conditional 'break' mode & non-conditional 'break' statements, for breaking out of loops, and skipping to the end of blocks.
  • new `end` statement, which defines the ends of each block.
  • blocks can be nested.
  • you can even use blocks inside subroutines!

Helpful Links:

SSTNPL Documentation (which has been updated with information on the new features.)

Flow control Test 1

Flow control Test 2


Tuesday, October 20, 2020

Future Roadmap Update: SBTNET, Gen 3, and CerberOS.

 SBTNET

 SBTNET is the one of these three items thats planned to be tested with Gen 2.

The basic idea of SBTNET is a fully balanced ternary networking system similar to TCP/IP, emulated using a client-server scheme built against TCP/IP. 

 Its intention is to be used with not only SBTCVM, but other balanced ternary systems as well, as SBTNET's protocol schemes will be open, and the refrence client & server code Free (libre) open source software.

The SBTCVM-BTT2 text encoding is planned to be extended with additional control codes, and chosen as standard for SBTNET.

SBTCVM Gen 3

Gen 3, while it will be based upon and backwards compatible with SBTCVM Gen 2's ISA, roms, disks & compiler toolchain, the VM itself will be 12 trits, generally be expanded ISA & featureset wise, and fully reimplimented in the Rust programming language.

CerberOS

CerberOS is a future project for SBTCVM Gen 3. (one that will influence much of Gen 3's ISA extensions over Gen 2's ISA) 

Its design goal is to implement a highly portable ternary *nix-like OS, that may stand as a foundation for other ternary OSes, and act as the OS for more ternary systems than just SBTCVM.

A purpose-built portable programming language will be designed for this task, as neither existing SBTCVM Gen 2-compatible languages are portable enough,to handle a portable Ternary OS Kernel of the type CerberOS will require.

Sunday, October 11, 2020

SBTCVM-SBTVDI BIOS: new quicktest menu.

Memory size calculation.

Another, slower, more in-depth memory test.


Sound test & info option.

SBTCVM-DOS command.txe: memory state preserved between program loads.

This new memory backup support lets command.txe save its memory, and restore it when its reloaded. This not only makes drive letter selection persistent, but also opens the door for eventual batch script support once the disk IO is functional...


Not to mention, the overall formatting has been streamlined by only showing the READY status line on the first run of the session.

Thursday, July 16, 2020

SBTGA Plotter: now with triangle support!

Seen here is the newly enhanced plottest rom, compete with a sort of spaceship made out of (2D) triangles.

(No 3D rendering capacity was used or yet exists in SBTCVM...)

PLRLE Enhancements

The PLRLE format has been upgraded in 2 important ways: 
1. The PLRLE encoder in gfxcon.py, can now perform a form of lossy compression on images. (as seen in the screenshot above)
2. The PLRLE decoder module has been optimized and split into 2 versions: one with alpha colorkey support, and one without. Both with sizable decode performance boosts.

Monday, July 13, 2020

SBTCVM-DOS command line arguments - now with new dosargs module!



Featured here is the newly revised help.txe,
which has all-new command-line arguments via the dosargs SSTNPL module.

Saturday, July 11, 2020

SBTCVM-SBTVDI BIOS

The SBTCVM-SBTVDI BIOS fallback menu features SBTVDI Serial access, and the ability to re-attempt boot. With more features to come.

SBTVDI: Disks now directly bootable.

SBTCVM Can now boot directly into SBTVDI Disk images!

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.

SBTCVM Bench: A single-taskng GUI for SBTCVM


basic 'desktop' layout.
SBTCVM Bench is a SBTVDI-disk based GUI for SBTCVM Gen2-9.


Its feature set is currently sparse, but it does have a lot of promise to be an interesting program.

It currently has about & credits screens, and a 'launcher' that loads up SBTCVM-DOS.

Expect more posts on this & SBTCVM-DOS in the coming months...

To run SBTCVM Bench, just type
run bench
in the XAS Shell (xas.py)

Wednesday, September 18, 2019