Brian Bagnall was curious about the background
of the projects, as well as my (Jose
Solorzano's) personal background. He suggested
that I post answers to some questions he prepared. And I thought it would be fun to do that, so here it goes...
[Brian] First, let's have some stats on you, Jose. How old are you?
I'm 30. I was still in my 20s when I started
to work on TinyVM, if that counts for something :)... read more
I changed tvmc/tvmp to call javac/javap with
-bootclasspath instead of -classpath. The old
scripts are still there as tvmc1 and tvmp1.
This was done to fix a problem with compilation
vs. linking with Java 2, e.g. java.util.Random
couldn't be used because its constructor is non-standard. This problem was reported by Jonathan Knudsen (!)
I came accross something called the Rossum Project, and I thought some of you Java and Robotics enthusiasts would be interested in it. Their website is at http://rossum.sourceforge.net. They have a robot simulator written in Java. There seems to be some potential for collaboration between TinyVM/leJOS and the Rossum project.
The latest release's firmware shuts the RCX
off if it's idle in program download mode for
more than 8 minutes. If you have a program
running indefinitely, though, batteries will
still run out.
Also, TinyVM 0.2.2 should work on CygWin 1.1.x,
unlike previous releases, which apparently only
worked on CygWin B20.
Mostly as a proof of concept, I got NetRexx programs to work on TinyVM. This wasn't difficult,
as NetRexx is designed to be translated into Java
and then compiled to class files. But it suggests
that it should be easy to get other languages --
such as Python (JPython), Pascal and Ada -- to
run in the RCX. More details at
I've registered a new SourceForge project
called leJOS at
It's intended to be a more complete alternative to TinyVM. It currently only differs from TinyVM in that it marks all reference words in the stack (which will help in implementing garbage collection), its support for Strings, and floating point operations. leJOS's footprint
appears to be about 14 Kb currently, but
it's ok if it reaches the same size as Lego's
firmware (16 Kb).... read more
The Java VM for the Lego Mindstorms RCX, TinyVM, is now hosted at http://sourceforge.net/projects/tinyvm.