Los emuladores son programas de computadora que simulan en muchas ocasiones hardware específico.

Por ejemplo, se puede simular una máquina de 8 bits como la Apple //e o bien, la Commodore 128. También es posible simular una PC completa y hacer que un sistema operativo sofisticado como Windows funcione como una máquina virtual, en muchas ocasiones, totalmente ajena al hardware original de una máquina x86.

Para quien escribe, los emuladores que más me llaman la atención son los del procesador 6502, cuya arquitectura es de 8 bits, por lo cual para todo fin práctico, hoy son «obsoletos» en términos prácticos pero que bien pueden ser una gran ayuda para entender los conceptos fundamentales de todos los procesadores, sus modos de direccionamiento y su manera de procesar los datos.

Finalmente todos comparten una arquitectura y hacen que los sistemas funcionen de manera muy parecida sino igual.

Hay un depósito en Internet, 6502.org, que contiene toda la información que cualquiera interesado en este procesador de 8 bits puede querer estudiar.

Por ejemplo, el sitio tiene una primera sección donde se habla de las últimas novedades en el tema, pero ya en un segundo apartado, se ven muchos proyectos caseros que se encuentran incluso en la web y que son de hardware y de software.

Hay desde tarjetas diseñadas para estudiar el interín del 6502 hasta ensambladores y desensambladores de código 6502, los cuales pueden dar estupendas posibilidades para comprender cómo funciona este procesador.

En la sección de software, se tiene una estupenda colección de programas y rutinas, muchas de ellas escritas en ensamblador del 6502, las cuales pueden adaptarse a cualquier computadora o emulador de una máquina que use este procesador.

Vamos, hay software como «microchess», de Peter Jennings, escrito en 1976 para la computada Kim-1, que jugaba un ajedrez elemental, pero que demuestra las posibilidades de este tipo de programas en la plataforma 6502.

También hay rutinas de punto flotante o precisión cuádruple para esta familia de procesadores. Hay muchas rutinas para las típicas tareas de una computadora, manejo de la hora y la fecha, rutinas para mover bloques de memoria, multiplicación y división eficiente, conversión BCD, permutaciones, raíces cuadradas, identificación de interrupciones y hasta transferencia de datos vía el protocolo XModem. No pueden faltar ensambladores, intérpretes y programas monitor, macro-ensambladores, lenguajes como FORTH. Vamos, hasta sistemas operativos multitareas.

Hay una sección de hardware en donde se pueden construir tarjetas de desarrollo, interfaces para pantallas de cristal líquido, LCD, entre muchas otras cosas. Sin embargo, una parte fundamental es la de los libros.

Hay desde «El ABC del transistor» hasta libros específicos de computadoras de 8 bits para aprender el lenguaje ensamblador, sobre todo para las máquinas KIM-1, PET, Apple //e y Commodore 128. Curiosamente hay un apartado, dentro de los libros, hacia fig-FORTH, la implementación del curioso lenguaje FORTH para procesadores 6502, 6809, 68000, además de definir el estándar de ellos. El código fuente está disponible, desde luego.

El sitio está lleno de tutoriales y de documentos para los principiantes. Claramente es un trabajo que se mantiene actualizado y que demuestra que el 6502 (así como otros procesadores), no están muertos, sino que siguen vivos y funcionales. Vale la pena echarle un ojo a este sitio si le interesa el tema de los emuladores del 6502, de verdad es un viaje apasionante.