KVM for Linux

The KVM (K Virtual Machine) is the reference implementation of Sun's Java 2 Micro Edition (J2ME) for the Palm. The CLDC (Connected Limited Device Configuration) is a version of the J2ME suitable for small PDAs and mobile phones. The KVM/CLDC contains development tools for preparing Java applications on Solaris and Windows.

During my flight to the JavaOne conference 2000 I had 10 hours, a linux-only laptop, a Palm and the KVM/CLDC 1.0 FCS download. You can imagine my mood when I found out that it supports only Solaris and Windows. So I ported the development tools to Linux and was able to run my first Java program compiled on Linux for the Palm in the sky. Later the Palm-like emulator was also ported by me and the guys at JavaSoft offered my the possibility to run the TCK (Technology Compatibility Kit) against my port. All tests succeeded, so the KVM for Linux patch is quite safe.

A few weeks later JavaSoft invited me to their labs in the Valley where we integrated my patch into the next J2ME release. Since Sun has released the new version in the meantime, my patch is now obsolete. But I kept the old material for historical reasons ,)

To get an idea how my first version of the port went, you can read my article at KVMWorld. There is also an article (local copy) in the October issue of the iX magazine describing how to set up a tool chain for the KVM on Linux. The downloads used in that article are available in the links section of this page.

The installation and compilation of the KVM on Linux is described in my patch. If you like, you can still download the KVM for Linux Patch 1.4.


PBM2Palm

Together with the Linux patch, I developed a small helper application which converts a PBM b/w image into a Java class which can be directly displayed using the KVM/CLDC. Since icons may only be 32 pixels wide, the utility breaks the input images into colums and creates a class which displays the images at a given position.

The example image shown using the Palm Pilot has been displayed using the PBM2Palm converter:



Figure 1: KVM Logo on Palm III


Figure 2: Code generated by PBM2Palm

The latest version of the utility is PBM2Palm 1.2.

© 2001 A. Heilwagen