Crazy idea of the day: Q3VM

My latest crazy idea is to put a bytecode interpreter in ProffieOS.
This would make it easy to load code from SD or serial connections. I’m not sure if it would be fast enough to run things like styles, but it would certainly be possible to implement props, scripts and other weird hacks this way. It would also mean that some optional features could be moved out of ProffieOS and into blobs that could live on the SD card instead, potentially saving memory.

One such byte code interpreter is Q3VM, which has been around a LONG time and was originally made for Quake 3. It has a compiler already, and the input is C code, so many things would work similar to how they do in proffieOS.

If the API is carefully designed, the compiled scripts would be fairly portable and long-lived, so they could be exchanged between users in similar way that fonts are.

1 Like

NOT crazy. and awesome!
I was a Q3 Arena junkie, clan member +FH Heineken+ as a matter of fact lol.
Would this work for things like POV?

I’m not sure how this would apply to POV, but if it’s fast enough to use for styles, then it could be used to implement anything.

1 Like

i think this would be great and with the possibility of saving yet more space! that would be a nice bonus!

I’m trying to think what features we could be moved to the SD card to save space…

“sdtest” comes to mind, any other ideas?

While Q3VM looks awfully tempting, I think I should investigate loading native ARM code first. While it might be more difficult to implement, the speed benefits are significant, and it would also allow for C++, which means that the code would be exactly like what you would write in ProffieOS, and it would definitely work for styles (as long as the code fits in RAM.)