It’s been done to Tomb Raider. It has also been done to Castlevania. Doom, Medal of Honor, SimCity, Prince of Persia, they’ve all faced the same fate.
Being a video games developer at heart, what would an epic adventure like exploring the EV3 be without a reboot.
My project, that used to be to create my own tools that mimicked the official tools, have hit what seemed like a brick wall. I had plenty of information to start writing my tools, and I had some sort of possibility to verify that the tools work, but my geist to create these tools had faded. I was interested in playing around with the Brick, not playing around with tools that would allow me to play around with the Brick. I was one step away from what I wanted to do, but it was a giant leap of a step.
While looking through the interwebs for inspiration to go on with programming the Brick I revisited an old link. https://github.com/mindboards/ev3sources/ but this time I had done my homework on the VM byte code.
I was reading through random files in the sources and stumbled upon a makefile with the variable LMS_TO_RBF. LMS to RBF. Converting LMS files to RBF files. In the world of make files you often store the name of the tools in variable names, that way you can write your make file using variables like LMS_TO_RBF and then you can change the value of LMS_TO_RBF if you want to, say, change the compiler depending on which platform you compile for.
With sweaty palms and a pounding heart I looked for the definition of LMS_TO_RBF, hoping it would lead me to a tool that could convert LMS to RBF, and by extension to an explanation of what LMS files are.
After some looking around I found this:
LMS_TO_RBF = ../adk/cmp
LMS_TO_RBF was pointing at a shell script called cmp. This shell script in turn looked like this:
java -jar assembler.jar “$src”/”$1”
There it was. An assembler that could compile LMS sources to EV3 VM byte code. Now I just needed to get it running!