Where is rom.h?
---------------

If you want to build the rcx_impl directory, you need to
install Kekoa Proudfoot's librcx. This can be obtained from
http://graphics.stanford.edu/~kekoa/rcx/tools.html#Librcx.
Read the README included with librcx about how to build it.

You should set the environment variable LIBRCX_HOME to the location
where you installed it.

h8300 Cross Compiler
--------------------
You will also need an h8300 cross compiler installed. See the
file H8300_X_COMPILER for details.

Building
--------

make         : What users run to install. Creates jar files and tools.
make all     : make + rcx_impl directory, which creates bin/lejos.srec.
make release : make all + releases in /usr/tmp according to VERSION file.
make clean   : remove class files, object files, etc.

Organization
------------

bin      : User tools.
lib      : Jar files (user API and linker utilities).
vmsrc    : Platform independent kernel (C) source.
rcx_impl : RCX specific native code.
unix_impl: Unix specific native code for emulation.
jtools   : Java source code for linker.
classes  : Java source code for user API.

Adding a Native Method
----------------------

Modify common/signatures.db, rcx_impl/native.c and unix_impl/nativeemul.c.

The format of common/signatures.db is the method name followed
by the method descriptor as defined in the Java VM Specification 4.3.3.
From this js.tools.GenerateConstants derives vmsrc/specialsignatures.h,
look into it to see the mangled name for use in rcx_impl/native.c
and unix_impl/nativeemul.c.

Also, before the next release, make sure the magic number is changed
in vmsrc/magic.h and jtools/js/tinyvm/Constants.java. This kind of
thing must be announced in the tinyvm-develop mailing list.

Naming conventions
------------------

In Java code, please stick to what the Java Language Spec says:

- Class names are capitalized.
- Field and method names start with a lower case letter,
  and they have no underscores.
- Constant names are all uppercase, and they typically
  have underscores.
- Package names are all lowercase.

Credit
------

Don't forget to give credit where credit is due. And give yourself
credit by putting an @author tag in JavaDoc comments. This also
lets feedback go directly to the author of a particular API. This
is what an @author tag might look like:

/**
 * Documentation here.
 *
 * @author <a href="mailto:jhsolorz@yahoo.com">jose</a>
 */


