Lyra Rebane ha creado una CPU x86 en CSS, todo un atrevido y bizarro invento que combina las instrucciones en código máquina de la CPU x86 con el lenguaje de hojas de estilo CSS de los navegadores web supervitaminado y mineralizado. El resultado, añadiendo una interfaz de entrada y salida, es que se pueden ejecutar programas de x86 directamente en el navegador, sin JavaScript siquiera*. El resultado es lento y carente de practicidad, pero ahí queda.
Se puede observar gracias al ejemplo incluido que es capaz de hacer algunas de las cosas típicas de los programas de demostración, como generar la secuencia de Fibonacci o el triángulo de Pascal. Es lento de narices, eso sí, y prácticamente se puede ver cual blinkenlights el «paso a paso» de los registros, instrucciones y la interfaz de entrada/salida a la consola de texto y el teclado, que aparece sólo cuando es necesario. El código máquina es el original de 16 bits del 8086 al que se le han quitado algunas complicaciones, como algunos flags.
El ingenio incluye unos 0x600 bytes de memoria (unos 1,5 KB), aunque se pueden ampliar. Los programas se cargan a partir de la dirección 0x100, y todo recibe el el rimbombante nombre de CSS-OS (Sistema Operativo de Hojas de Estilo en Cascada). Tan sencillo y divertido como eso, y tan complicado a la vez.
_____
* En realidad sí que hay un script, que se utiliza a modo de reloj y para que sea más estable. Existe también una versión sin ese script que utiliza animaciones pero que resulta más lenta todavía y es algo inestable. Aunque, funcionar, funciona.
