Quite some time ago I started investigating the binary TRC format (the tokenized code that the True BASIC compiler compiles BASIC source code to) format.
Not so long ago I decided to write my own interpreter around it, in Java and see how far I could get it to go.
It's a bit too early to share anything, really, but perhaps it helps my motivation to work on it by giving occasional updates. It's a spare time project and in the very early stages. Don't hold your breath that it will ever be able run full True BASIC programs.
But it can already run some simple BASIC commands. Recently I finished support for all datatypes. I've had a lot of fun working on this interpreter.
Here you can see a screenshot: https://twitter.com/vintzend/status/1447182111581085697/photo/1
At upper-left you see the True BASIC Silver 5.5 editor with the code that I'll be running. In the middle you see me compiling it with TBSYSTEM.EXE from TB (which I have in my Windows path)., which produces the TRC file that my interpreter should be able to run. At the right you see the hex editor that I use to inspect the binary TRC code produced by the TB compiler.
Finally I ran the TRC file in my interpreter and at the bottom you see the output produced while it was running (it was running directly inside Eclipse IDE, the IDE I use for my own Java projects).
Why?
A valid question would be: why am I writing an interpreter for TRC files and not TRU (True BASIC source code) files?
Well, at this time I'm not interested in writing my own full text parser and compiler (although that will be the best way to bring True BASIC to this century, I have no doubts about that). But there's only so much spare time that I can spend on this project. Also, I thought it would be the most fair to the current owners of True BASIC: one would still need to buy a compiler (and all libraries) from True BASIC, before my project will be of any value.
Also, I see it as an experiment. I'm not promising I'll be ever able to deliver a full mature runtime.
Disclaimer
Note that I am not associated with the current owners of True BASIC. Don't blame the fine people at True BASIC for my mistakes, my (lack of) work , etc. ;-). I don't intend to make any money of this project. And again: I see it as an experiment. I call it "TRC Interpreter for JVM", so I'll try not to infringe on any branding/trademarks.
To try to keep my motivation, I'll update the post after this one regularly when I have added and/or discovered new stuff and will post general updates from time to time in this topic.