Roma

 

La comunidad del HP 41C y la programación sintética

Una comunidad

grande de usuarios se desarrolló alrededor del HP 41C. Los entusiastas alrededor del mundo encontraron nuevas formas de programación, crearon sus propios módulos de expansión, y aceleraron el reloj (ver overclocking).

Uno de los descubrimientos de la comunidad fue que era posible explotar un bug en el editor del programa para asignar funciones extrañas a las teclas. La función más importante fue conocida como el "bybyte jumper", una manera de dar pasos parcialmente a través de instrucciones de programación y de editarlas de maneras que de otra forma no eran permitidas. El uso de las instrucciones que resultaban fue llamado programación sintética.

Por medio de las instrucciones sintéticas, un usuario podía acceder la memoria reservada para el sistema operativo y hacer cosas muy extrañas, incluyendo bloquear completamente la máquina. Hewlett-Packard no apoyó oficialmente la programación sintética, pero tampoco hizo nada para prevenirla, y eventualmente incluso proporcionó documentación interna a los grupos de usuarios.

Cuando algunos fanáticos estudiosos se preocuparon en documentar la metodología y las posibilidades de la programación sintética en la HP-41 se estableció una función llamada "byte grabber" que se asignaba a una tecla mediante un procedimiento precisamente detallado. Dicha función, insertada un paso antes de una función multibyte, "roba" el primer byte de esa función siguiente y los bytes reagrupados eran interpretados por el sistema operativo como una nueva función.

Los héroes de esta cruzada, entre otros, han sido Richard Nelson, Keith Jarret y otros.

A medida que HP hizo evolucionar la ROM y el sistema operativo, la línea HP-41C evolucionó a la HP-41CV y luego a la HP-41CX. Sin embargo la casa Hewlett-Packard nunca "corrigió" el bug dajando la posibilidad de explotar muy a fondo las posibilidades de esos dispositivos.