La BBC Micro fue una microcomputadora que revolucionó el mercado en su momento. Ahora se puede tener una máquina de esas en modo virtual, como un emulador, el cual está escrito en Javascript y se ha puesto en la modalidad de código abierto. Esto habla de las capacidades actuales de Javascript porque la BBC Micro era en alguna medida una computadora especial. Fue introducida al mercado británico para aprender a programar y llevó a la creación eventualmente del procesador ARM, que se usa ya prácticamente en la mayoría de los dispositivos móviles.  Fue la inspiración de la Raspberry Pi, dicen pues como la BBC Micro, tenía modelos A y B.

Matt Goodbolt ha creado una emulación (código fuente abierto) de una BBC Micro modelo B de 32K, el cual usa solamente Javascript estándar. Lo realmente interesante empieza es que el autor ha empezado a describir cómo es que funciona su programa, llamado jsbeeb. Hasta ahora, solamente tenemos cuenta de cómo emuló el CPU. De hecho, si uno busca en Internet, hallará varios emuladores del 6502, incluyendo algunos escritos en Javascript. Si se piensa que emular un procesador es difícil, sí, lo es. Hay que tener en cuenta que nel 6502 contiene un solo código por byte. Esto resulta en 256 posibles códigos de operación los cuales en la práctica normalmente no se usan. Por lo que se necesita es una rutina grande que seleccione cada código y lo procese. Por eficiencia, es mejor usar una tabla de 256 referencias a funciones que implementar cada una de las operaciones.

El 6502 puede parecer un CPU simple, pero hacer que corra con software real es en realidad un problema mayor. Hay que modificar muchas veces las cosas pues hay entornos para evitar la piratería y en ocasiones la emulación del software comercial es mucho más complicado de lo esperado. Igualmente, hay un tema que es el tiempo. El código corriendo en el emulador de la BBC Micro parece que es muy importante por precisamente los programas que pretendían evitar a piratería. Matt Goodbolt describe cuanta atención tuvo que poner en todo este asunto del tiempo. La lectura de su artículo es muy interesante.

Por supuesto que esto apenas empieza y el autor ha prometido que hablará de la pantalla y de la emulación de periféricos en partes futuras. Se puede tratar de usar el emulador deacargándolo directamente. Hay que saber que las teclas, desde F0 a F10 son los comandos de la BBC Micro. Hay una imagen con cuatro populares programas para esta microcomputadora. Si le interesa el tema de los emuladores, ésta es una buena iniciación.

Referencias:

jsbeeb
i-programmer