Características y arquitectura de la placa M8SBC-486

Última actualización: enero 28, 2026
Autor: Isaac
  • La M8SBC-486 es un ordenador 486 en placa única, con PCB de 4 capas, socket 486 a 5 V y dos ranuras ISA de 16 bits.
  • Utiliza un FPGA Xilinx Spartan II como chipset personalizado, con BIOS propia, 4 MB de SRAM y ROM de 256 KB.
  • Incluye 8254, 8259, teclado PS/2 y RTC/CMOS en FPGA, pero prescinde de DMA y del segundo PIC, siendo solo “kinda PC compatible”.
  • Es un proyecto open source capaz de ejecutar MS-DOS, FreeDOS y juegos como DOOM o Wolfenstein 3D, orientado a retrogaming y aprendizaje.

Placa M8SBC-486 vista general

Si te gustan los ordenadores retro y el cacharreo electrónico, la M8SBC-486 es una de esas placas que te vuela la cabeza. No hablamos de una simple restauración de un PC antiguo, sino de una placa tipo “placa base” 486 diseñada desde cero, con su esquema, PCB multicapa, chipset propio en FPGA y BIOS personalizada, todo creado de forma completamente artesanal por un único desarrollador.

En este artículo vamos a desgranar con calma las características de la M8SBC-486, su arquitectura interna y su compatibilidad con PC, además de contar qué puede ejecutar (DOS, Linux, DOOM, Wolfenstein 3D, etc.) y qué compromisos se han tomado en el diseño, como la ausencia de DMA o el uso de SRAM en lugar de DRAM. Es un proyecto puramente open source y muy didáctico para entender cómo funcionaba de verdad un 486 por dentro.

Qué es exactamente la M8SBC-486 y de dónde sale

Detalle de componentes M8SBC-486

La M8SBC-486 es, en esencia, una placa SBC (Single Board Computer) basada en CPU 486 diseñada como si fuera una placa base compacta. El autor ya había hecho un primer intento usando una placa de prototipos y un montón de cables, sin esquemas formales y con problemas de fiabilidad: al moverla, a veces se colgaba, y depurar errores era un auténtico dolor.

Tras esa primera experiencia, que le sirvió para aprender a fondo la arquitectura interna de la CPU 486 y su bus, decidió dar el salto y crear una PCB dedicada. Gracias a un patrocinio de PCBWay, pudo fabricar una placa profesional de cuatro capas, pasando de un “franken-PC” cableado a mano a una solución mucho más limpia, robusta y documentada.

El diseño de la M8SBC-486 se hizo prácticamente desde cero, leyendo con calma las hojas de datos de los integrados clásicos (incluida la propia documentación del 486) y evitando basarse en diseños ya hechos. Esta decisión implica más trabajo, pero permite entender cada señal, cada timing y cada bloque lógico de la plataforma.

El resultado es una placa compacta de 150 x 150 mm, con cuatro capas de cobre y una topología muy cuidada. No cumple el formato mini-ITX estándar (170 x 170 mm y distinta posición de agujeros), así que no pretende ser una placa base “de escritorio”, sino un SBC experimental y didáctico, pensado para retrogaming y pruebas de bajo nivel.

Desde el primer prototipo funcional, el proyecto se ha publicado como hardware y software de código abierto en GitHub, poniendo a disposición de cualquiera el esquema, los archivos de PCB, el código VHDL del chipset y la BIOS propia a medida que se van puliendo.

Diseño de la placa: formato, capas y filosofía

PCB M8SBC-486 montada

La base del sistema es una PCB de 150 x 150 mm y 4 capas, dimensionada para encajar todo el corazón de un PC 486 clásico en un único tablero relativamente compacto. Las cuatro capas permiten enrutar las señales de bus de la CPU, la memoria y el FPGA manteniendo la integridad de señal, algo crítico a decenas de megahercios.

Los agujeros de montaje no siguen ningún estándar comercial, por lo que no es una placa mini-ITX al uso ni pretende serlo. Este enfoque le da libertad total al creador para colocar conectores, slots ISA y chips exactamente donde más le conviene a nivel eléctrico, sin tener que adaptarse a cajas comerciales.

El diseñador comenta que este es su primer diseño de PCB de cuatro capas, y aun así el primer lote ha salido sin errores críticos de hardware. Hay pequeñas omisiones, como una señal del bus ISA que limita la compatibilidad con algunas tarjetas concretas, pero el sistema funciona lo suficientemente bien como para ejecutar una larga lista de software clásico.

Visualmente, la placa combina el socket de la CPU 486 a 5 V, el FPGA Xilinx Spartan II, la SRAM, la ROM y los conectores ISA con unos cuantos chips auxiliares: temporizador 8254, controlador de interrupciones 8259 y un microcontrolador ATMega128 para tareas de soporte. Todo ello se integra en un layout claramente orientado a experimentar con hardware clásico pero con herramientas modernas.

La filosofía del proyecto es clara: aprender, documentar y compartir una plataforma 486 moderna, abierta y entendible, aunque eso suponga renunciar a algunas comodidades típicas de los PC de consumo (como el controlador DMA completo o la compatibilidad absoluta con todas las tarjetas ISA del mercado).

  ¿Qué tipo de archivo corresponde JPG?

CPU 486 y frecuencias de funcionamiento

En el apartado de procesamiento, la M8SBC-486 monta un socket para CPU 486 a 5 V, compatible con procesadores 486DX y 486DX2. No se trata de una CPU soldada, sino de un zócalo clásico que permite probar distintos modelos dentro de la familia 486.

En las primeras versiones se menciona un funcionamiento inicial del bus a 12 MHz, con un 486DX2 que internamente dobla la frecuencia a 24 MHz. Más adelante, la configuración habitual se estabiliza en un FSB de 24 MHz, lo que implica que una CPU 486DX2 trabaja internamente a unos 48 MHz, una frecuencia muy razonable para juegos de principios y mediados de los 90.

Al tratarse de una placa experimental, el énfasis no está tanto en exprimir al máximo la frecuencia como en garantizar una señal limpia y estable. El equilibrio entre velocidad y fiabilidad es clave, sobre todo en un diseño donde el chipset no es un ASIC comercial, sino una FPGA programable que implementa todo el pegamento del sistema.

Además, el hecho de tener el control total del hardware permite al creador detectar en BIOS el tipo de CPU instalada, ajustar timings y configurar el sistema a bajo nivel, algo que en placas comerciales modernas suele estar oculto tras capas de automatismos.

Memoria: 4 MB de SRAM frente a la clásica DRAM

Uno de los rasgos más peculiares de la M8SBC-486 es su apuesta por la SRAM estática como memoria principal. La placa monta 4 MB de SRAM, en lugar de los habituales módulos de DRAM que veíamos en los PC 486 convencionales de la época.

La elección de SRAM no es casual: aunque la SRAM es bastante más cara y ocupa más espacio que la DRAM, tiene la gran ventaja de que no necesita un controlador de refresco complejo, ni ciclos de recuperación de datos, ni lógica adicional complicada. Desde el punto de vista del diseño, simplifica muchísimo el desarrollo del chipset y reduce el número de posibles errores.

El propio autor comenta que su idea a futuro es desarrollar un controlador DRAM propio implementado en FPGA, con lo que podría ampliar la memoria y acercarse aún más a la arquitectura de un PC clásico. Sin embargo, para la primera versión funcional ha preferido centrarse en algo más directo y fiable, sobre todo para poder arrancar sistemas operativos y depurar la BIOS con menos variables en juego.

En la práctica, 4 MB de SRAM son suficientes para ejecutar MS-DOS, FreeDOS, muchos juegos clásicos y hasta distribuciones ligeras de Linux. Para software de la primera mitad de los años 90, esta cantidad de memoria encaja bien con lo que ofrecían muchos PCs domésticos de la época.

ROM, BIOS y almacenamiento de firmware

La placa integra un chip de ROM de 256 KB, de los cuales 224 KB son accesibles de forma directa por el sistema. Esta memoria se utiliza para almacenar la BIOS personalizada, desarrollada específicamente para la M8SBC-486.

En las primeras etapas del proyecto, la BIOS apenas podía inicializar el hardware básico: detectar el tipo de CPU, comprobar la memoria y poner en marcha la tarjeta VGA. Con el tiempo, el desarrollo ha ido creciendo hasta conseguir arrancar sistemas reales como MS-DOS y FreeDOS, gestionar interrupciones, temporizadores y un mínimo de servicios de PC clásico.

El papel de la BIOS es especialmente importante porque no se trata de un clon directo de una BIOS comercial, sino de un firmware escrito casi desde cero, adaptado al chipset implementado dentro del FPGA. Esto da un control absoluto sobre el proceso de arranque y facilita experimentar con modos de vídeo, detección de hardware ISA o rutinas específicas para juegos y sistemas antiguos.

Para apoyar la gestión de la configuración, la placa también dispone de una pequeña zona de memoria CMOS para parámetros de sistema y un sencillo RTC (reloj en tiempo real), ambos implementados dentro del propio FPGA. De esta manera, se consigue un comportamiento similar al de una placa base de PC, con capacidad de guardar ajustes y mantener la hora.

El FPGA Xilinx Spartan II como “chipset” del sistema

El corazón lógico de la M8SBC-486 es un FPGA Xilinx Spartan II XC2S100 que actúa como chipset personalizado, con nombre en clave “Hamster 1”. En lugar de usar un conjunto de chips comerciales de la época (tipo northbridge/southbridge), toda la lógica de glue, control del bus, decodificación de direcciones y periféricos se implementa en VHDL dentro de este FPGA.

Dentro del Spartan II se integran, entre otros bloques, el control de la memoria, la lógica de acceso a ROM, la implementación del controlador de teclado PS/2, la CMOS y el RTC. Esto convierte al FPGA en un auténtico todo-en-uno que aglutina el papel que antes desempeñaban varios chips dedicados.

  ¿Cómo reiniciar la batería de un carro?

El uso de un FPGA tiene una ventaja enorme: la posibilidad de actualizar el “chipset” mediante bitstreams, corrigiendo errores, mejorando la compatibilidad ISA, afinando timings de bus o añadiendo nuevas funciones sin necesidad de rediseñar la PCB. Para un proyecto en evolución continua, esta flexibilidad es oro puro.

El bitstream que configura el FPGA se carga con ayuda de un microcontrolador ATMega128, que además se encarga de tareas como el manejo del circuito de reset y el almacenamiento de la CMOS en una EEPROM. Este ATMega actúa como “asistente” del chipset, gestionando la configuración inicial y haciendo de puente entre el mundo del microcontrolador moderno y la lógica clásica del 486.

Periféricos clásicos: temporizador 8254 e IRQ con el 8259

Para acercarse al comportamiento de un PC compatible, la M8SBC-486 incorpora dos integrados clásicos que cualquiera que haya estudiado la arquitectura x86 reconocerá: el 8254 Programmable Interval Timer y el 8259 Programmable Interrupt Controller. Ambos son piedra angular de los PC originales.

El 8254 se usa para generar los ticks de sistema, temporizaciones periódicas y otras señales de tiempo que necesitan tanto la BIOS como los sistemas operativos. Es el responsable de que DOS y otros entornos puedan gestionar el reloj del sistema, los retrasos y los eventos temporizados.

El 8259 gestiona las interrupciones hardware, consolidando las peticiones de IRQ procedentes de los distintos dispositivos y presentándolas a la CPU 486 de forma ordenada. Es un componente clave para que el software que asume una arquitectura de PC estándar pueda funcionar sin cambios profundos.

En un PC AT completo suele haber dos controladores 8259 en cascada (un “segundo PIC”), pero en la M8SBC-486 solo se incluye uno, lo que limita el número de IRQ disponibles. Aun así, para la mayoría del software que se está usando en esta máquina, esta limitación no impide que los programas arranquen y se comporten de forma razonablemente correcta.

Entrada de teclado PS/2 y CMOS dentro del FPGA

La interacción con el usuario se resuelve con un conector de teclado PS/2, cuyo controlador se implementa íntegramente en el FPGA. No hay un chip controladora de teclado físico dedicado, sino que la lógica que interpreta el protocolo PS/2 se sintetiza dentro del Spartan II.

Esto permite adaptar el comportamiento del teclado a las necesidades del proyecto, ajustar la gestión de escaneos, los códigos de teclas y la forma en que se presentan las interrupciones a la CPU. También resulta muy útil para depurar, porque cualquier problema de entrada se puede rastrear y corregir a nivel de VHDL.

El mismo FPGA alberga un RTC CMOS sencillo y la memoria CMOS donde se guarda la configuración del sistema. Combinado con el ATMega128, que actúa como almacenamiento persistente mediante EEPROM, se consigue que la placa recuerde parámetros como el tipo de disco, opciones de arranque o ciertas preferencias de BIOS.

Este enfoque reduce el número de componentes externos necesarios y contribuye a que la M8SBC-486 sea una plataforma muy compacta y relativamente sencilla de montar para quien se anime a replicarla, aunque evidentemente no es un proyecto para principiantes absolutos en soldadura y electrónica digital.

Ranuras ISA y compatibilidad de tarjetas

En el apartado de expansión, la M8SBC-486 ofrece dos ranuras ISA de 16 bits, que permiten conectar tarjetas de sonido clásicas, controladoras de disco, tarjetas de red o adaptadores VGA ISA, tal y como se hacía en los PC de la primera mitad de los 90.

La implementación del bus ISA se hace a través de la lógica del FPGA y parte de la circuitería de la placa. En uno de los primeros diseños, el autor admite que omitió una señal del bus ISA, lo que perjudica la compatibilidad con ciertas tarjetas. A pesar de ello, muchas tarjetas siguen funcionando correctamente y permiten montar configuraciones muy similares a las de un 486 real.

El proyecto se centra en ser “kinda PC compatible”, es decir, suficientemente compatible como para que mucho software para PC x86 de la época funcione, pero sin la pretensión de clavar cada detalle del estándar. Esto implica que, si se usan tarjetas ISA algo exóticas o muy quisquillosas, puede haber comportamientos inesperados.

Aun con esas limitaciones, la presencia de ranuras ISA de 16 bits es una de las claves que hacen de la M8SBC-486 una plataforma ideal para retrogaming y experimentación con hardware clásico, porque permite combinar una placa moderna y open source con tarjetas originales de los años 90.

Ausencia de DMA y sus consecuencias prácticas

Una diferencia importante con respecto a un PC AT completo es la ausencia de un controlador DMA dedicado. En los PC clásicos, el DMA se utilizaba para transferir datos entre memoria y dispositivos (por ejemplo, tarjetas de sonido o controladoras de disco) sin cargar en exceso a la CPU.

  ¿Cómo restaurar una imagen de disco duro?

En la M8SBC-486, el diseñador decidió omitir el DMA para simplificar el diseño del chipset y reducir la complejidad del proyecto. Como resultado, ciertas funcionalidades típicas de un PC completo no están disponibles o requieren que la CPU trabaje más para compensar la falta de transferencias directas.

La carencia de DMA se nota especialmente en el apartado de sonido. El propio autor comenta que uno de los inconvenientes más grandes de esta decisión es que no puede disponer de audio funcional típico de Sound Blaster, porque gran parte de las rutinas de audio en DOS se apoyan precisamente en canales DMA. Por eso, por ejemplo, DOOM corre en la M8SBC-486 sin sonido.

Aun así, se ha comprobado que es posible arrancar y ejecutar muchos programas sin necesidad de DMA, siempre que el software no dependa estrictamente de él. Para el objetivo principal del proyecto (experimentar con un 486 casero y correr juegos en modo texto o vídeo VGA sin requerir audio avanzado), la ausencia de DMA es un compromiso asumible.

Sistemas operativos y software que puede ejecutar

Uno de los hitos más llamativos del proyecto es haber logrado que esta placa casera 486 arranque sistemas operativos reales como MS-DOS y FreeDOS, usando la BIOS y el chipset implementados por completo en FPGA. Esto demuestra el nivel de compatibilidad que se ha alcanzado con el estándar PC.

Sobre estos sistemas, el autor ha conseguido ejecutar juegos tan icónicos como DOOM (concretamente FastDOOM), Wolfenstein 3D, Prince of Persia y herramientas como FastTracker II, entre otros títulos clásicos. DOOM resulta jugable con una velocidad razonable, y reduciendo un poco el tamaño de la ventana de juego se consigue una experiencia bastante fluida para tratarse de un 486 “artesanal”.

Además de DOS y FreeDOS, el diseñador se ha marcado como objetivo intentar arrancar Linux en la M8SBC-486. Dada la arquitectura 486 y los 4 MB de SRAM, lo más realista es pensar en distribuciones o kernels muy ligeros, pero técnicamente es viable montar un entorno Linux minimalista sobre esta plataforma.

Es cierto que la falta de DMA y de un segundo 8259 puede limitar ciertos usos más avanzados, pero para retrogaming clásico, pruebas de sistemas operativos antiguos y experimentación educativa, la M8SBC-486 ofrece un terreno de juego muy interesante y bastante más flexible de lo que cabría esperar de una placa tan “hecha a mano”.

Estado del proyecto, open source y evolución futura

La M8SBC-486 se mantiene como proyecto open source alojado en GitHub, donde se van publicando el esquema, los archivos de PCB, el código VHDL del FPGA y el código fuente de la BIOS. Inicialmente solo se compartieron los diseños de hardware, pero poco a poco se han ido añadiendo más piezas del software.

El repositorio todavía se encuentra en evolución constante, con actualizaciones planificadas para mejorar el chipset, la BIOS y la documentación. El autor indica que está trabajando en una página específica dentro de su web donde pretende volcar información técnica en profundidad, guías de uso y detalles sobre cada bloque funcional de la placa.

A nivel de hardware, se plantean posibles revisiones futuras de la PCB que corrijan detalles como la señal ISA omitida, mejoren la compatibilidad con tarjetas y quizá introduzcan soporte de DRAM mediante un nuevo controlador en FPGA. De confirmarse, daría lugar a una revisión de la placa aún más cercana a una placa base de PC de producción.

Mientras tanto, el diseño actual se considera principalmente un experimento muy exitoso, que ya ha ido más allá del simple prototipo. El hecho de poder correr DOOM, Wolfenstein 3D, Prince of Persia y diversas aplicaciones sobre DOS demuestra que no estamos ante una curiosidad teórica, sino ante una máquina plenamente utilizable dentro de su nicho.

La combinación de documentación pública, código abierto y una comunidad de entusiastas del hardware retro hace que este tipo de proyectos tengan mucho recorrido: otros desarrolladores pueden estudiar el diseño, proponer parches, crear variantes o incluso tomar la M8SBC-486 como base para su propia placa personalizada.

Al final, la M8SBC-486 se ha convertido en un ejemplo espectacular de hasta dónde puede llegar un aficionado avanzado con ganas de aprender y compartir: desde un primer intento caótico con una placa de prototipos y cables por todas partes hasta una PCB de cuatro capas bien pensada, con un chipset en FPGA, BIOS propia, dos ranuras ISA y capacidad real para ejecutar sistemas operativos y juegos emblemáticos de la era 486.