Una historia técnica de los principales proyectos FPGA modernos para MSX publicados en GitHub: de los primeros experimentos con VDP y cartuchos Tang a máquinas MSX2+ completas dentro de una FPGA.
Nota importante: no todos los proyectos de esta historia son forks directos. Cuando existe una derivación explícita se indica como tal; cuando solo hay reutilización de ideas, módulos o conceptos se habla de influencia o convergencia.
El árbol general
Antes de los cartuchos: FPGA como sustituto del VDP
Una de las líneas importantes para entender todo lo que vino después es tn_vdp, de Luis Felipe Antoniosi. El proyecto utiliza FPGA Tang para recrear chips de vídeo empleados en MSX.
tn_vdp
La FPGA sustituye al VDP físico del ordenador. De este modo, el resto del MSX continúa siendo hardware real mientras la parte de vídeo puede repararse, modernizarse o utilizarse como plataforma de experimentación.
Beneficio: atacar directamente uno de los chips más importantes del sistema sin convertir todo el ordenador en FPGA.
GitHub: tn_vdp ↗V9958-Super
V9958-Super deriva de tn_vdp y explora extensiones gráficas que van más allá del comportamiento tradicional del V9958. Es una rama especialmente orientada a experimentación.
GitHub: V9958-Super ↗WonderTANG: una Tang Nano 20K dentro de un cartucho MSX
WonderTANG
WonderTANG convierte una Tang Nano 20K en una expansión multifunción para un MSX real. El ordenador anfitrión continúa siendo la máquina principal, pero el cartucho incorpora almacenamiento, memoria, sonido y diferentes funciones adicionales dentro de la FPGA.
Entre sus posibilidades se encuentran microSD con Nextor, Memory Mapper, MegaRAM, SCC+ y OPLL.
Uso principal: modernizar un MSX real sin sustituirlo.
Beneficio: concentrar en una sola expansión funciones que tradicionalmente requerirían varios cartuchos.
GitHub: WonderTANG ↗WonderTANG → tnCart
Este es uno de los puntos que más fácilmente se puede interpretar de forma incorrecta: WonderTANG aparece antes que tnCart. El propio proyecto tnCart indica que su circuito toma como referencia revisiones del hardware WonderTANG.
tnCart
tnCart desarrolla una plataforma propia sobre el concepto de cartucho Tang y añade una combinación muy amplia de funciones. Una de las más llamativas es la implementación de V9990 junto con Memory Mapper, Nextor, SCC/SCC-I, OPLL, PAC y diferentes posibilidades de emulación de cartuchos.
Uso principal: expansión multifunción y plataforma de experimentación, especialmente alrededor de V9990.
GitHub: tnCart ↗tnCart → tnCartWonder
tnCartWonder
tnCartWonder es un fork de tnCart adaptado de nuevo al hardware WonderTANG. Es el puente directo entre ambas líneas.
Beneficio: utilizar el desarrollo de tnCart sobre una WonderTANG compatible.
GitHub: tnCartWonder ↗Wonder9968: la rama de vídeo
Wonder9968
Wonder9968 explora la integración de un V9968 en el ecosistema WonderTANG/tnCart. Esta rama conecta el mundo del cartucho FPGA con la evolución de los VDP clásicos de MSX2+.
Uso: experimentar con capacidades gráficas superiores manteniendo una plataforma compatible con el ecosistema Tang.
GitHub: Wonder9968 ↗mangOPL4: la rama de sonido
mangOPL4
mangOPL4 utiliza tnCartWonder y WonderTANG como base para avanzar hacia una implementación FPGA de OPL4 / MoonSound.
MoonSound, basado en el Yamaha YMF278B, es una de las expansiones de audio más avanzadas del ecosistema MSX.
Uso: desarrollo y validación de audio avanzado sobre FPGA.
Estado: debe considerarse un proyecto en desarrollo.
GitHub: mangOPL4 ↗Otra vía: MSX Goa’uld
Mientras WonderTANG y tnCart evolucionaban alrededor del concepto de cartucho de expansión, MSX Goa’uld adoptó una aproximación radicalmente diferente.
MSX Goa’uld
Una Tang Nano 20K se instala en el lugar del Z80 de un MSX real. Pero la FPGA no se limita a sustituir la CPU: progresivamente integra CPU, VDP, BIOS y otros elementos fundamentales del ordenador.
El MSX físico continúa aportando elementos valiosos como teclado, joysticks, slots, carcasa y parte de la electrónica.
GitHub: MSX Goa’uld ↗
MSX Goa’uld SD
Goa’uld SD lleva la idea mucho más cerca de contener un MSX2+ completo. Integra CPU, V9958 con HDMI, BIOS MSX2+, almacenamiento SD con Nextor, mapper, MegaRAM SCC, PSG, OPLL, RTC, Kanji y funciones experimentales de conectividad.
Uso principal: convertir un MSX antiguo en una máquina MSX2+ muy avanzada manteniendo la experiencia física del ordenador.
Le dedicamos un artículo completo: Goauld SD, una mejora de otro mundo.
GitHub: MSX Goa’uld SD ↗Goa’uld SD con teclado y gamepad USB
La rama MSXgoauldSD_usbkb añade una capa de entrada moderna utilizando un RP2040 como USB host.
Una de sus ventajas es que el teclado y los joysticks originales del MSX pueden seguir utilizándose al mismo tiempo que los periféricos USB.
El Wi-Fi puede apoyarse en un ESP-01S basado en ESP8266; conviene diferenciarlo del ESP32-C6 que aparecerá posteriormente en MSXimus.
GitHub: Goa’uld SD + USB ↗Guardian Angel
MSX Goa’uld Guardian Angel es un proyecto auxiliar relacionado con la integración del RP2040 y el soporte USB. No es un core FPGA MSX completo, pero forma parte de la evolución técnica de esta rama.
GitHub: Guardian Angel ↗De Goa’uld a un MSX completamente autónomo
Cuando dentro de la FPGA ya existen CPU, VDP, memoria, BIOS, almacenamiento y sonido, el siguiente paso lógico es prescindir del MSX anfitrión. De esa evolución nace MSXnano.
MSXnano
MSXnano convierte una Tang Nano 20K en un MSX2+ autónomo. Ya no necesita estar instalado dentro de un ordenador MSX real.
Uso principal: tener un MSX2+ FPGA compacto y moderno sin necesidad de disponer de un MSX original.
Beneficio: muy buena relación entre tamaño, coste y prestaciones.
Comentamos la última versión en MSXnano v1.8.
RetroSilicon/MSXnano ↗Papipapito/MSXnano ↗

MSXimus: el hermano mayor
MSXimus
MSXimus lleva la filosofía de MSXnano a una FPGA considerablemente mayor. El salto de recursos permite integrar V9968/V9958, HDMI 720p, OPL4/MoonSound, MSX-Audio basado en Y8950, OPLL, doble SCC estéreo, USB integrado, DDR3 y conectividad opcional mediante ESP32-C6.
Uso principal: disponer de un MSX FPGA autónomo mucho más ambicioso, especialmente en vídeo, audio y periféricos modernos.
Lo contamos a fondo en MSXimus: un MSX2+ completo en una FPGA.
GitHub: MSXimus ↗
MSX Asgard: Goa’uld vuelve al cartucho
MSX Asgard
Asgard vuelve a unir dos conceptos que parecían haber evolucionado por caminos diferentes: el MSX2+ completo dentro de FPGA y el formato cartucho.
Integra Z80, V9958 con HDMI, BIOS MSX2+, SD y Nextor, mapper, MegaRAM SCC, PSG, OPLL, RTC y Kanji, pero utiliza el slot de cartucho en vez del zócalo del Z80.
Beneficio: llevar la filosofía Goa’uld a un formato potencialmente más cómodo y reversible.
Por prudencia, es mejor describir Asgard como una convergencia conceptual entre Goa’uld y la línea de cartuchos, no como un fork directo de tnCart mientras no exista una genealogía de código documentada.
GitHub: MSX Asgard ↗TangCartMSX: otra línea de experimentación
TangCartMSX
El repositorio de HRA1129 agrupa numerosos experimentos relacionados con cartuchos FPGA, VDP, Tang Nano 9K/20K y aproximaciones a MSX1 y MSX2+.
No conviene tratarlo como un único producto cerrado: es más apropiado verlo como un laboratorio de investigación alrededor del bus MSX, los cartuchos y el vídeo.
GitHub: TangCartMSX ↗Implementaciones independientes
MSX1 on Tang Nano 20K
No toda implementación MSX sobre Tang deriva de WonderTANG o Goa’uld. Este proyecto implementa un MSX1 autónomo con Z80, TMS9918A, AY-3-8910, HDMI, teclado PS/2 y soporte de almacenamiento.
Beneficio: una arquitectura más sencilla que resulta especialmente interesante para estudio y experimentación.
GitHub: MSX1 Tang Nano 20K ↗Un árbol que continúa creciendo
Una de las características más interesantes de estos proyectos es que no estamos ante una única implementación cerrada del estándar MSX. Cada desarrollo ha servido de plataforma, inspiración o punto de partida para otros.
Un VDP FPGA lleva a experimentar con nuevos modos de vídeo. Un cartucho acaba alojando almacenamiento, memoria, sonido y nuevos VDP. Una FPGA situada en el zócalo del Z80 acaba convirtiéndose prácticamente en todo el ordenador. Y ese mismo ordenador termina funcionando sin necesitar ya un MSX anfitrión.
Y MSX Asgard vuelve a cerrar el círculo llevando un MSX2+ FPGA completo otra vez al formato cartucho.
Qué lleva cada FPGA MSX, para qué sirve y qué ventajas ofrece
Una comparativa práctica de las principales ramas: qué incorpora cada proyecto, qué necesita para funcionar, para qué resulta especialmente útil y qué ventajas ofrece frente a las demás opciones.
Cartuchos de ampliación
WonderTANG
Uso ideal
MSX real al que se quiere añadir almacenamiento moderno, RAM y sonido.
Beneficio
Concentra muchas expansiones en un solo cartucho.
Qué conserva
CPU, teclado, slots y personalidad del MSX original.
Limitación
No es un MSX completo autónomo.
tnCart
Uso ideal
Experimentar con una expansión FPGA muy configurable y especialmente con V9990.
Beneficio
Combina vídeo avanzado y funciones de expansión clásicas.
tnCartWonder
Uso ideal
Ejecutar la línea tnCart sobre hardware WonderTANG.
Beneficio
Une dos ecosistemas de hardware y RTL.
mangOPL4
Uso ideal
Pruebas y desarrollo de OPL4/MoonSound mediante FPGA.
Beneficio
Añade una línea de audio mucho más avanzada.
Familia Goa’uld
MSX Goa’uld SD
Uso ideal
Actualizar radicalmente un MSX antiguo conservando teclado, joysticks y slots.
Beneficio
Convierte el anfitrión en una máquina MSX2+ con HDMI y SD.
Extra
RTC, Kanji y conectividad experimental.
Limitación
Requiere instalación en el zócalo del Z80.
Goa’uld SD + USB
Uso ideal
Usar periféricos USB modernos sin perder los controles originales.
Beneficio
Combina entrada moderna y clásica simultáneamente.
MSX Asgard
Uso ideal
Convertir un MSX en MSX2+ desde el slot de cartucho.
Beneficio
La filosofía Goa’uld en un formato más reversible.
MSX FPGA autónomos
MSXnano
Uso ideal
Tener un MSX2+ FPGA pequeño sin poseer un MSX original.
Beneficio
Gran relación entre tamaño, coste y prestaciones.
MSXimus
Uso ideal
Buscar un MSX FPGA muy completo, especialmente en vídeo y sonido.
Beneficio
Más recursos permiten integrar funciones imposibles de reunir cómodamente en 20K.
MSX1 Tang Nano 20K
Uso ideal
Quien busca una implementación sencilla y educativa de un MSX1.
Beneficio
Arquitectura más simple y fácil de estudiar.
Proyectos centrados en vídeo
tn_vdp
Uso ideal
Reemplazar o experimentar con TMS99xx/V9958 dentro de un MSX real.
Beneficio
Moderniza solo el vídeo y conserva el resto del hardware.
V9958-Super
Uso ideal
Explorar modos gráficos más allá del V9958 estándar.
Beneficio
Laboratorio para nuevas posibilidades de vídeo.
Tabla comparativa rápida
| Proyecto | Tipo | MSX real | Standalone | CPU FPGA | VDP | SD / Nextor | SCC | OPLL | OPL4 | USB | Wi-Fi | Uso principal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| WonderTANG | Cartucho | Sí | No | No | Funciones de vídeo | Sí | Sí | Sí | No | No | No | Ampliar un MSX real |
| tnCart | Cartucho | Sí | No | No | V9990 | Sí | Sí | Sí | No | No | No | Expansión multifunción |
| tnCartWonder | Adaptación | Sí | No | No | V9990 | Sí | Sí | Sí | No | No | No | tnCart sobre WonderTANG |
| mangOPL4 | Audio | Sí | No | No | Hereda base | Sí | Sí | Sí | En desarrollo | No | No | OPL4 / MoonSound |
| Goa’uld SD | Z80 socket | Sí | No | Sí | V9958 | Sí | Sí | Sí | No | No | Experimental | Convertir un MSX en MSX2+ |
| Goa’uld SD + USB | Z80 socket | Sí | No | Sí | V9958 | Sí | Sí | Sí | No | Sí | Opcional | Añadir USB al Goa’uld |
| MSX Asgard | Cartucho MSX2+ | Sí | No | Sí | V9958 | Sí | Sí | Sí | No | No | No | MSX2+ completo desde slot |
| MSXnano | Standalone | No | Sí | Sí | V9958 | Sí | Sí | Sí | No | Según rama | Opcional | MSX2+ FPGA compacto |
| MSXimus | Standalone | No | Sí | Sí | V9968 / V9958 | Sí | Sí | Sí | Sí | Sí | ESP32-C6 opcional | MSX FPGA avanzado |
| tn_vdp | VDP | Sí | No | No | TMS99xx / V9958 | No | No | No | No | No | No | Sustituir / experimentar con VDP |
¿Cuál elegir según el uso?
WonderTANG es una opción directa. tnCart/tnCartWonder son especialmente interesantes si también interesa V9990.
Goa’uld SD desde el zócalo Z80. MSX Asgard desde el slot de cartucho.
Goa’uld SD + USB para un MSX físico. MSXnano/MSXimus para una máquina FPGA autónoma.
MSXnano para una solución compacta. MSXimus cuando se priorizan V9968, audio avanzado y USB integrado.
tn_vdp para sustitución de VDP; V9958-Super para experimentación gráfica avanzada.
MSX1 Tang Nano 20K es especialmente interesante por su arquitectura más sencilla.
¿No tienes claro cuál encaja contigo?
En MSX Barcelona trabajamos a diario con estas placas: reparamos, montamos y desarrollamos parte de los proyectos que aparecen en este artículo. Cuéntanos qué MSX tienes y qué quieres conseguir, y te decimos qué camino tiene más sentido en tu caso.
Escríbenos a info@msx.barcelona