El lenguaje de programación Java corre en millones de dispositivos, incluyendo estaciones de trabajo, máquinas de escritorio, tablets, supercomputadoras, teléfonos inteligentes, etc.  Sin embargo, Mike Kohn se dio cuenta que Java no corre en las Commodore 64, las TI99 y en un buen número de plataformas antiguas, por lo que decidió hacer algo al respecto.

El año pasado Michael escribió Java Grinder, un compilador de Java bytecode que compila las clases en lenguaje ensamblador en lugar de ser parte de la JVM (Java Virtual Machine). Esto convirtió efectivamente el lenguaje compilado Just in time Java a uno compilado normalmente, como c. Esto lo escribió para procesadores 6502/6510, el MSP430 y el Z80. Sin embargo, el procesador de la TI-99/4A es una bestia diferente y aún así Mike logró que Java Grinder pudiese correr ahí, el CPU TMS9900.

Y aunque la mayoría del desarrollo se logró usando el emulador MESS, Mike pudo correr Java en el hardware real. Uno de sus amigos le dio una TI99/4A con un par de cartuchos. Craqueando estos cartuchos se reveló una tarjeta que contenía un EEPROM. Escribiendo su compilador de bytecode en ensamblador al EEPROM 28c64, logró tener un cartucho que podía correr el compilado de Java.

He aquí una demostración simple de lo que puede hacerse, pues el API de la TI99 es extremadamente simple. Aún así, el esfuerzo de Mike es interesante y seguramente aprendió mucho en este camino.

Referencias:

Mike Kohn (blog)
HackADay