El desarrollador pseudónimo y entusiasta de la computación vintage nand2mario liberó un equivalente open source del procesador i386 de Intel y, como era de esperar, demostró sus capacidades haciendo correr el clásico de id Software de 1993, Doom.

"z386 es una CPU clase 386 construida en torno al microcódigo original de Intel, en el mismo espíritu que z8086. El core no es un emulador instrucción por instrucción en RTL (Register Transfer Level). El objetivo es recrear lo suficiente de la máquina original para que la ROM de control del 386 recuperada pueda manejarla. Hoy z386 bootea MS-DOS 6 y DOS 7, corre programas en modo protegido como DOS/4GW y DOS/32A, y juega títulos como Doom y Cannon Fodder de Sensible Software", explicó nand2mario en su anuncio replicado por Hackster.io.

¿Por qué es importante el 386?

Intel lanzó el 386 —originalmente 80386 y más tarde i386— en 1985, prometiendo un salto de rendimiento sobre su predecesor el 286 y soporte para hasta 4 GB de memoria. Oficialmente descontinuado recién en 2007, el 386 fue un best-seller para Intel incluso después del lanzamiento del i486 en 1989. Si bien ya existe una reimplementación open source del 486, nand2mario ahora entregó un 386 que puede correr sobre FPGA.

"Hay un argumento razonable para decir que el 386 es la CPU más importante de Intel. No la más limpia, ni la más rápida para su época, ni la más elegante. Pero acertó en gran parte del contrato hardware-software: un x86 de 32 bits con modo protegido, paginación y buena compatibilidad hacia atrás. Otra perspectiva plantea algo similar: lo que hoy llamamos x86 realmente empieza a tener su forma actual con el 80386."

¿Cómo se construyó la reimplementación?

"z386 es parte implementación de CPU, parte arqueología y parte rompecabezas lógico", continuó el desarrollador, dando crédito a esfuerzos previos para hacer ingeniería inversa de procesadores Intel clásicos y desensamblar su microcódigo como punto de partida de su reconstrucción. "Cada vez que un BIOS, un memory manager o un DOS extender avanza un poco más, es evidencia de que otra parte del diseño ha sido reconstruida."

¿Dónde se puede probar?

Un write-up completo está disponible en el blog de nand2mario. El código fuente está disponible en GitHub bajo una licencia open source aún no especificada, mientras que un core listo para correr en la plataforma de emulación MiSTer FPGA está en un repositorio separado.