DescriptionThis is an implementation of Bluekrill's virtual computer or VC1 (http://smilebasicsource.com/page?pid=1159) made for virtual computer 3, meaning that VC1 programs now run on multiple platforms! heh.
This program is both a loader writing compiled VC1 programs into memory and an interpreter running VC1 code. During the loading sequence, the screen refreshes once per word loaded.
Alternative version (YK38XDQM)
There are two versions of this interpreter. VC1CM (The displayed download code) starts the VC1 interpreter at &HF000 and starts the simulated stack pointer at &HFFFF. This is compatible with all of my VC1 programs, but if the stack gets too full, it may start to overwrite the interpreter.
VC1IRW (YK38XDQM) puts the interpreter further to the top of memory and starts the stack pointer before itself, not after. This allows for the stack's length to be much longer but breaks compatibility with my bubble sort VC1 program.
VC1 and VC3 have exactly the same amount of RAM, so not all VC1 programs can be run. Programs which write data or code in the area used by the interpreter may crash the interpreter. This problem is inevitable and not fixable. Fortunately, none of my VC1 programs write data in this area, but if yours do, you will need to rewrite your programs to run with this interpreter.
VC1's display size is 32x16 characters. VC3's display size is 32x24 characters. This means that the lower third of the screen is displaying areas of RAM not displayed in the real VC1 and that LIFE's touch input is offset.InstructionsThis program requires VC3 (http://smilebasicsource.com/page?pid=1234) to run.
How to use this program
Copy a compiled VC1 program into the clipboard.
Paste it into the editor and add a newline and exclamation point onto the end.
After this, anything in the clipboard is clipboard input for the VC1 program.
Run the VC1 interpreter the same way you would run any VC3 program.
Not formatting the input correctly will result in an infinite loop.
This VC1 program will be run, and it will see the clipboard as containing only the word "TEST".
!TESTNotesThe images show SmileBASIC running VC3 running VC1 running Brainfuck running Brainfuck running Brainfuck.
Please tell me if you find that your VC1 programs aren't working in this. Thanks!