Mi objetivo es programar, a modo de hobby y puramente académico, un emulador para PC que simule la arquitectura de un procesador, y si la cosa avanza, un ordenador completo que disponga también de memoria RAM y de dispositivos de entrada-salida, como una salida por pantalla, una entrada por teclado y la posibilidad de interactuar con discos duros virtuales.
El procesador que pretendo emular es un Z80 de Zilog. Estos procesadores de 8 bits comenzaron a fabricarse antes de los años 80, pero su versatilidad ha permitido que sigan existiendo en el mercado. La gran mayoría de ordenadores personales de finales de los 70 y de buena parte de los 80 e incluso de principios de los años 90 han usado un procesador Z80 o uno derivado de éste. Su buen precio, su facilidad de uso y la cantidad de información que hay acerca de él hace que siga teniendo buen uso.
Sobre la plataforma de desarrollo, aunque tengo la intención de portar el código a C para poder aplicar más optimizaciones, inicialmente voy a trabajar con un lenguaje de más alto nivel. He rescatado del olvido mi vieja copia de Blitz3D, el primer lenguaje de programación que aprendí (oh, 2007, se te ve tan lejano), y la he instalado sobre mi equipo con Windows 7 de 32 bits. Aparentemente funciona. Digo aparentemente porque Blitz3D fue diseñado para Windows 95/98 y usa DirectX 7, por lo que está obsoleto y se sabe que da problemas en Windows 8 y posiblemente en algunos ordenadores de 64 bits. Al no usar ni Windows 8 ni un ordenador de 64 bits puedo confirmar nada de esto. Blitz3D usa uno de esos lenguajes de programación derivados de BASIC pero llevados al mundo de la programación estructurada. Está especializado para desarrollar juegos y otras aplicaciones multimedia, por lo que cuando quiera enviar información a la pantalla, todas las funciones de procesamiento gráfico (para dibujar píxeles), ya las tendré a mano.
En este blog iré compartiendo técnicas, información y otras notas que considere interesantes así como un progreso de lo que voy desarrollando.
No hay comentarios:
Publicar un comentario