ESP32-SBC-FabGL: Cuando un ESP32 se convierte en un PC con MS-DOS

mayo 26, 2026 · admin

Hay proyectos que te sorprenden por lo complejos que son… y luego están los que te sorprenden porque funcionan muchísimo mejor de lo que deberían.

Eso es exactamente lo que me ha pasado con la placa ESP32-SBC-FabGL.

La idea parece casi absurda sobre el papel: usar un único chip ESP32 para emular un entorno Intel clásico capaz de arrancar MS-DOS o FreeDOS, gestionar imágenes de disquete y disco duro, ejecutar software antiguo y ofrecer una experiencia razonablemente usable.

Y sin embargo… funciona.

Aquí hay que reconocer el enorme trabajo realizado por Fabrizio Di Vittorio con FabGL. El nivel de optimización y de ingeniería detrás del proyecto es impresionante. Estamos hablando de hacer cosas que, hace no tantos años, habríamos considerado imposibles en un microcontrolador de este tipo.

¿Por qué la Olimex?

Existen muchas variantes y montajes diferentes basados en esta idea, pero yo me he decidido por la placa de Olimex Ltd.

Olimex es una vieja conocida para mí. Ya trabajaba con placas basadas en ATMEGA128 de esta empresa mucho antes de que existiera el primer Arduino. Así que había también un componente “nostálgico” en esta elección.

El precio además es muy razonable: unos 18 €.

Y sí, siendo sinceros, la placa no deja de ser básicamente el chip de Espressif acompañado de conectores adicionales y algo de circuitería de soporte.

¿Podría haberme montado esto yo mismo con una Uniprint y cableado manual?  Sí.

¿Me habría aportado algo hacerlo?   Sinceramente, no.

No iba a mejorar el diseño y únicamente habría añadido trabajo mecánico sin demasiado valor técnico adicional.

Entendiendo el sistema

La primera fase fue entender cómo funciona todo el mecanismo del emulador:

  • Generación de imágenes de disquete.
  • Imágenes de disco duro.
  • Configuración de arranque.
  • Carga de distintos sistemas operativos.
  • Estructura de las particiones.
  • … y limitaciones reales del sistema.

Después de varias pruebas conseguí generar diferentes imágenes funcionales tanto para floppy como para HD y comprender bastante bien cómo el emulador gestiona el proceso de boot.

Y aquí apareció otro detalle importante: el teclado.

Para las pruebas he utilizado un auténtico IBM Model M, que sigue siendo el teclado que utilizo actualmente en mi PC principal.

Sí, todavía uso un Model M.

Y sigo pensando que probablemente sea el mejor teclado de la historia.

Lo curioso es que este tipo de teclado encaja perfectamente con el espíritu de esta placa. De hecho, para disfrutar realmente de la experiencia retro, casi resulta obligatorio utilizar algo así. Afortunadamente, a día de hoy no es complicado seguir utilizándolos mediante adaptadores modernos.

Por otra parte, la configuración del sistema operativo también tuvo su pequeña dosis de arqueología informática.

Hubo que quitar bastantes telarañas de la memoria para volver a configurar correctamente el entorno en español:

  • distribución del teclado,
  • páginas de códigos,
  • configuración regional,
  • y, por supuesto, conseguir que apareciera correctamente la Ñ y que todas las teclas estuvieran en su sitio.

Son de esas cosas que en los años 90 hacíamos casi de memoria y que hoy cuesta recordar cómo demonios se configuraban.

Después de un rato peleándome con AUTOEXEC.BAT y CONFIG.SYS, todo volvió a la normalidad.

Y sí… la Ñ volvió a existir.

Probando juegos clásicos

Las primeras pruebas fueron, evidentemente, juegos. Había que comprobar hasta dónde llegaba realmente el invento. Los primeros elegidos fueron algunos clásicos muy antiguos que recuerdo perfectamente de la plataforma MS-DOS:

  • Congo Bongo
  • JBird
  • King’s Quest

Los resultados fueron sorprendentemente buenos. Todo funcionó correctamente… excepto King’s Quest.

Y aquí llegó la pequeña decepción.

Tengo la sospecha de que este juego utiliza alguna gestión bastante especial del modo CGA o alguna técnica específica de vídeo que el emulador no maneja del todo bien. El caso es que no hubo manera de hacerlo funcionar correctamente.

Una lástima, porque era precisamente el que más ilusión me hacía volver a ejecutar.

La prueba definitiva: compiladores Borland

La siguiente etapa ya era más seria:

probar los compiladores de Borland.

Concretamente:

  • Turbo Pascal
  • Turbo C

Y aquí me encontré con algo curioso. No recordaba en absoluto que hubiéramos programado durante tantos años con unas letras TAN gordas. Supongo que la memoria idealiza muchas cosas de aquella época.

Aun así, resulta increíble ver cómo un pequeño ESP32 puede levantar herramientas de desarrollo clásicas y ofrecer una experiencia perfectamente utilizable para programación retro. Y eso, sinceramente, sigue pareciéndome magia negra electrónica.

La primera experiencia real con los compiladores de Borland fue escribir un pequeño programa en C para probar el modo gráfico CGA. En su momento probablemente tenía más control sobre Turbo Pascal, básicamente porque apareció antes que Turbo C y pasé muchísimas horas programando con él.

Pero ahora ya no. Después de más de 35 años trabajando prácticamente a diario con C y C++, el lenguaje me sale de manera completamente natural. Pascal sigue siendo un gran lenguaje. De hecho, siempre he hecho la misma broma:

«…desde el punto de vista de Pascal… C no es más que un simple comentario!»   (El que lo sepa lo entendera el que no… pues no)

Para la prueba realicé una pequeña aplicación extremadamente simple: Un módulo que cambiaba el sistema al modo gráfico CGA, dibujaba directamente sobre memoria de vídeo unas cuantas rayas de colores y luego regresaba otra vez al modo texto.

Simplón. Muy simplón.

Pero perfecto para comprobar cómo respondía realmente el sistema y verificar que toda la gestión gráfica funcionaba correctamente.

Y lo más curioso es que funcionó exactamente igual que lo recordaba hace décadas…

La siguiente etapa: Compilar codigo que realice hace mas de 30 años.  (unos 37 años).  Los primeros programas propios que decidí probar fueron algunas de las últimas pruebas que realicé en entorno gráfico durante aquella época.

Concretamente:

  • Pruebas de sprites,
  • Rutinas gráficas,
  • … y mis experimentos con motores tipo Filmation.

Y aquí hay que reconocer una cosa importante: yo NO era grafista.

Así que hice lo que hacíamos muchos en aquellos años: “inspirarnos intensamente” en gráficos ya existentes.

O dicho más claramente: me “mangué” literalmente gráficos de juegos de la época y de títulos de Sinclair Research ZX Spectrum 128K.

En concreto, tenía conectado mi Spectrum 128K  “Toastrack” y realizaba capturas de pantallas y sprites que luego transfería mediante RS232.

Sí, RS232!.   Y sí, utilizando el puerto MIDI del 128K Toastrack.

Visto desde hoy parece completamente absurdo… pero en aquel momento era una solución perfectamente válida. Con todo aquello terminé montando mis propias pruebas de Filmation utilizando gráficos claramente inspirados en:

  • Knight Lore
  • Nightshade

Especialmente reutilizando y adaptando muchos de los movimientos finales del protagonista.

Conclusiones

Y sinceramente… volver a ejecutar hoy esas pruebas en un “pseudo-PC” construido sobre un ESP32 produce una sensación bastante difícil de explicar.

Es como abrir una pequeña cápsula temporal informática.

Hay algo profundamente nostálgico en volver a escuchar el arranque de MS-DOS, ver aparecer el prompt otra vez o ejecutar herramientas y juegos que utilizabas hace más de 30 años… pero haciéndolo ahora sobre un simple microcontrolador que cuesta apenas 6 €.

Y ahí es donde realmente te explota un poco la cabeza.

Porque este pequeño chip de Espressif Systems es capaz de hacer muchas más cosas que un auténtico IBM PC de principios de los años 90.

Muchísimo más.

Más memoria, más velocidad, más integración, más capacidad gráfica, almacenamiento flash, WiFi, Bluetooth… todo dentro de algo que cabe prácticamente en la palma de la mano y consume una fracción ridícula de energía.

Así funcionan las cosas en informática.

Lo que en 1992 ocupaba una mesa completa, necesitaba fuente AT, ventilación, monitor CRT y varios cientos de miles de pesetas… hoy cabe dentro de un microcontrolador barato conectado a un teclado IBM Model M.

Y aun así, lo realmente importante no es la potencia.

Lo verdaderamente interesante es que todavía podemos experimentar aquella sensación de “arrancar un PC”, tocar CONFIG.SYS, pelearte con AUTOEXEC.BAT, cargar juegos clásicos o compilar programas antiguos.

No es solamente retroinformática.

Es recuperar una manera distinta de entender la informática.

Más cercana al hardware.

Más directa.

Más artesanal.

Y probablemente también bastante más divertida…

¿Tienes cuenta? Inicia sesión · Crear cuenta

En este sitio es necesario iniciar sesión para comentar.

Deja un comentario

Translate »