Monday, July 31, 2017

v2.0.2 stable is here!

SBTCVM Mark 2 v2.0.2 stable is now available for download!
after much work and development, its finally here. With a wide variety of additions over previous versions, SBTCVM mark 2 is looking good.


https://github.com/SBTCVM/SBTCVM-Mark-2/releases/tag/v2.0.2
Download: Zip Tar.gz




Sunday, July 30, 2017

V2.0.2 beta 0 is ready for testing!

SBTCVM has come a long way, and now v2.0.2 is nearly ready!

if you wish to help with testing, you can find the beta here:
https://github.com/SBTCVM/SBTCVM-Mark-2/releases

please report any bugs you find on github.

Friday, July 21, 2017

Utilities - Settings

Some Background.

When the original prototype was far from easy to use. You had to literally edit the config file just to run a different program.

and for the longest time, that python-based config system remained... until now.

The new system

libvmconf is the new library that controls SBTCVM's new XML-based configuration system. like the old system, it also has a user-specific settings file, and a default settings file, but the key difference is the new system, copies this default configuration only when the user configuration is initalized, or reset.

Now, you don't need to know python, or XML for that matter, to edit the configuration...

settings.py

settings.py is SBTCVM's latest graphical utility. It provides a convenient way to change the configuration, without needing knowledge of what strange variable names mean, or how to set them.

This new settings system is one of many changes implemented for Mark 2 v2.0.2, and more changes are likely.

Tuesday, July 18, 2017

Steady changes... On the road to v2.0.2

Overview

You Might have noticed the rapid codebase changes as of late...
well... part of these changes is updating the version numbers to 2.0.2.

Now... This doesn't mean that v2.0.2 is right around the corner...

However SBTCVM now has many new utilities... many of them have a GUI even.

such as Fileview.  

fileview.py
With filtering, the option to run or view troms and stregs, and a friendly, graphical UI, Fileview, combined with its many companion viewer utilities, is sure to be a staple program in the SBTCVM project.








and one level above Fileview is launcher
launcher.py

Although this does look quite similar to the launcher.py shown in a previous post, its not even close.

The rather bloated, point-and-click-game-engine-based, code was re-written from scratch as a dedicated program. As such, it is much faster and more efficient.






SBTCVM's original main menu has also been given some work, Now launching stregs in the same way as launcher and fileview: as separate processes altogether.
MK2-MENU.py


the background has been given a new gradient look. (the pause menu also got a similar treatment) also, menu options have been added for launcher, fileview, and the tutorial.

also, A change in SBTCVM's VM UI is also visible, SBTCVM's three-eyed and three-eared feline mascot is visible between the two portions of the status area...

Monday, July 17, 2017

SBTCVM utilities - codeview

testthread.tasm in codeview
Codeview is a new variant of the text viewer written especially for viewing tasm source code.

It offers line numbers, and even has some basic syntax highlighting:

text blocks are in blue.
comments are in red.
lines with |> references are highlighted in green
lines with reference labels are highlighted in blue.

Sunday, July 16, 2017

Starting troms with a click.

fileview.py showing SBTCVM's base directory.

fileview.py

SBTCVM now has fileview.py, an integrated file browser that can launch troms and stregs. It can also view images, tasm source files, and text thanks to the companion MK2-TOOLS.py programs, imgview and textview. It even features type filtering.


speaking of MK2-TOOLS.py programs, there is now helpview. This additional tool is used by various graphical SBTCVM utilities to provide context help via F1.

Friday, July 14, 2017

New graphical launcher and tutorial programs

launcher.py
SBTCVM is not a simple project, and can be a bit daunting at first.

Though work is being undertaken to make SBTCVM much more novice-friendly.


a new graphical launcher

launcher.py, acts as a central hub for users. Its built on a modified version of one of my other projects.



The tutorials program

SBTCVM_tutorials.py, is still being worked on, but already includes an introduction, an overview of the VM's user interface, a reference list of programs, and a section on the command shell.


Desutezeoid, an arbitrary, pygame/XML based point and click game engine, powers both the new launcher, and the new tutorials program, with some modifications.

Sunday, July 9, 2017

SBTCVM Mark 2 - memory pointer support

The dev team has checked a to-do off the list today...

basic memory pointer support has been implemented. Now you may be wondering... "What does that mean?"


Well, to sum up, memory pointer support adds special memory read/write operations and a special memory pointer control operation to enable programs to iterate through large sections of memory, read and write data using a program-controlled pointer, and so on.

in addition, goto reference support has been added to setreg1 and setreg2. so now using the new ptset operation is far easier. allowing memory pointers to be set using the assembler's built-in address calculation features.


lets take a quick look at the new memory pointer assembly operations:

ptread: read to reg 1 using memory pointer 
ptwri: write to memory location using memory pointer and reg1
ptwridat: write to memory location using memory pointer and data portion of word.
ptget: copy memory pointer to CPU register 1
ptset:  set memory pointer using data from CPU register 1
ptadd: add value of CPU register 1 to memory pointer
ptinc: increase memory pointer by 1
ptdec: decrease memory pointer by 1