Print

Blog in Spanish


Published on by

El firmware de la HP 15c

HP_15c_Calculator_Hero_hi-res_005Acaba de salir la última versión del sistema operativo para Apple Mac, Yosemite. Hay muchas nuevas características, pero también corrección de muchos pequeños errores del software anterior. Hay cosas que todavía no he conseguido hacer bien con Mavericks. Esto es típico del software actual: debido a su propia complejidad, está lleno de errores, y tiene fallos funcionamiento que en muchos casos impiden su uso en aplicaciones “mission critical”.

Comparemos eso con la ROM con 12k palabras de 10 bit que tenía la HP15c. Ese código estaba lleno de magníficas rutinas matemáticas que permitían a esa calculadora hacer operaciones con matrices, integrales, búsqueda de soluciones de ecuaciones, etc. Y muchas de las HP15c que se han fabricado, si no han sido maltratadas desde el punto de vista físico, siguen funcionando: tan resistente era el modelo.

Y no hablemos de batería. Sobre las 7 o las 8 de cada día, mi móvil me avisa de que he llegado al 20% de batería; mientras que la HP 15c original podía durar hasta 15 años con la misma batería. No se podía actualizar, como los móviles actuales; pero tampoco hacía falta: era la calculadora de bolsillo definitiva, con todo lo que un usuario científico o técnico podía necesitar, sin tener que recurrir a un gran ordenador (recordemos que es un pelín anterior al PC)

Cada vez que me fijo en el diseño y la lógica de la HP15c, me parece uno de los objetos mejor diseñados por el hombre. Es la cumbre del “menos es más”. Además de que todas las teclas tienen tres funciones escritas en su superficie, muchas de ellas tienen más: la tecla tiene diferentes significados en función de los que se esté haciendo. Diversas transformaciones de matrices complejas se hacen utilizando las teclas de combinatoria; la tecla ”+” suma números, pero también complejos y matrices, al igual que la tecla “x”; la tecla “/“, cuando se aplica a matrices, resuelve el sistema de ecuaciones; Y el modo “user” permite resignar las teclas de debajo de la pantalla a programs, además de permitir llenar secuencialmente una matriz.

Tenía 10 dígitos de precisión, que era “lo más” en aquella época para una calculadora de bolsillo. Ahora, 14 y 16 dígitos son normales; pero ¿cuándo se necesita realmente tanta precisión? Además, no es tan importante el número de dígitos mostrados, como el número de dígitos correctos. Y las calculadoras HP de aquella época tenían los mejores algoritmos posibles. LA mayoría fueron creados por William Kahan. Además, fueron desarrollados en código máquina (ahora todo se hace en “C” o incluso en otros lenguajes más elevados, siendo por tanto mucho menos compactos y rápidos para un mismo hardware) para aprovechar al máximo el procesador.

La HP15c utilizaba una versión del procesador “nut” desarrollado para la HP41c, funcionando a una frecuencia que hoy nos parece totalmente ridícula: 244 kHz (sí, kHz, no MHz o GHz), y tardaba varios minutos en realizar una inversión de una matriz de 8x8.

Los algoritmos eran tan buenos que, cuando HP decidió sacar una nueva HP15c basada en un procesador actual, decidió usar exactamente el mismo firmware, funcionando sobre una capa de emulación del procesador “nut” sobre un procesador ARM Atmel. Hubo varios problemas al adaptar el firmware al nuevo hardware (por ejemplo, la función PSE - pausa - no funciona bien, y el indicador de batería baja no funciona cuando debería, borrándose la memoria cuando se acaba la batería)

Pero aparte de eso, es tan buena como la original - sólo que funcionan 100 veces más rápido a pesar de la emulación.

Lástima que ya no quedan más stocks, ni de una ni de otra.

Read entire post
More about: hp15c, hp15cLE