Microordenadores - Retroinformática y placas modernas de desarrollo

Nueva placa Sugarless +2 para adaptar un ZX-Uno a la caja de un ZX Spectrum +2A/+2B/+3

ZX Uno: el primer clon de ZX Spectrum en FPGA
6 de Julio de 2017
Etiquetas:

ZX-Uno es el primer y más exacto clon de ZX Spectrum basado en FPGA; además del ZX Spectrum también implementa máquinas de 8 bits como Amstrad CPC, Commodore 64 y algunas máquinas arcade. Aunque está diseñado con el mismo tamaño de la Raspberry Pi para aprovechar las carcasas, el ZX-Uno NO es una Raspberry Pi corriendo un emulador, sino puro hardware, un super preciso clon de ZX-Spectrum implementado en hardware moderno.

Al no ser emulación (a diferencia del Spectrum Vega) sino de una reimplementación del hardware se trata de un clon de Spectrum. El core de Spectrum del ZX-Uno está muy pulido y es muy fiel a la máquina original, sin la latencia y la inexactitud que se produce en los emuladores. Además es un proyecto vibrante en contínuo desarrollo y con una excelente comunidad.

Ordenador ZXUno, el primer clon de ZX Spectrum basado en FPGA

Ventajas del ZX-Uno

Las sensaciones que produce al utilizarlo son prácticamente las mismas que la máquina original; si tuviste uno de estos ordenadores en tu infancia, usar un ZXUno te transportará a esa época. Incluso puedes seguir usando las viejas cintas del Spectrum a través de la entrada de audio EAR con una fuente de audio como TZXDuino. Funciona estupendamente con las demos rusas y, además de los típicos modelos ZX Spectrum 48k, 128k, +2A, etc, soporta el clon ruso Pentagon 128K con sus timings de una manera muy exacta.

Los dispositivos FPGA están pegando fuerte y, según algunos desarrolladores, son el futuro de la emulación. Un FPGA es un dispositivo reprogramable que puede cambiar su configuración comportándose como especifique el usuario mediante un lenguaje descriptivo. Es capaz de reproducir el comportamiento de cualquier circuito digital, como por ejemplo un reloj o la réplica de un juego arcade. No obstante depende la pericia del programador la exactitud de la réplica, y requiere conocer el hardware original al 100% para que el comportamiento sea prácticamente igual.

La gran ventaja de las FPGA frente a memorias EPROM es que se pueden reconfigurar sin necesidad de volver a grabar la memoria físicamente. Al ser una especie de fotocopia de la máquina original sirve para preservar hardware obsoleto, y además es ampliable por lo que se pueden continuar desarrollando sistemas abandonados.

Se trata de un hardware abierto (de verdad, no de boquilla como otros proyectos) hecho por amor al Sinclair ZX Spectrum con licencia Creative Commons y permite su utilización con fines comerciales, por lo que puedes descargarte los esquemas, fabricar el ordenador e incluso comercializarlo, siempre que respetes las condiciones de la licencia usada.

Ficha técnica
ComponenteCaracterísticas
SoCFPGA Xilinx Spartan XC6SLX9-2TQG144C
MemoriaSRAM de 512Kb, AS7C34096A-10TIN
AudioSalida jack estéreo y entrada EAR
VídeoCircuito basado en AD724 con cristales de 4.43MHz/3.58Mhz. Video compuesto y RGB.
AlmacenamientoZócalo para tarjeta SD.
Alimentación5V entrada micro-USB. Se suelen usar cargadores de móviles.
Tamaño PCB86mm x 56mm (compatible con cajas para Raspberry Pi.

Además de poder usar las roms de los distintos modelos de ZX Spectrum, el ZXUno implementa nuevas características tales como el modo Radastaniano y la implementación de otras máquinas, a la vez que mantiene el espíritu del Sinclair ZX Spectrum, tanto en fidelidad como en la posibilidad de hacerse con el ordenador a un precio accesible. El ZX Uno es un Spectrum; la experiencia no tiene nada que ver con los emuladores actuales, y si eres un apasionado de esta familia de ordenadores te aseguro que no te decepcionará.

También debo destacar la pasión puesta en este proyecto, donde se presta atención al más mínimo detalle para conseguir la mayor fidelidad posible a los equipos originales, especialmente en los cores de ZX Spectrum. El tipo de memoria usado (SRAM) aunque más caro hace que sea muy rápido y tenga potencial para alcanzar una alta fidelidad en los cores implementados.

Como usar el ZX-Uno

Advertencia: Nunca aprietes la conexión del joystick ya que puedes hundir los pines con relativa facilidad e incluso estropear el mando.

Lo necesario para empezar a usar el ZX-Uno
ComponenteRecomendación
Placa ZX-UnoPuedes montarlo tú mismo, comprar la placa o montarlo desde cero. Hay disponibles dos placas: la oficial y la versión de 2MB de ManuFerHi.
Cable de vídeoPara televisor LCD puedes usar la salida de video compuesto o el cable SCART RGB. Este último se ve mucho mejor.
Teclado PS/2Puedes usar un teclado USB con un conversor a PS/2 si y sólo si tu teclado "habla" ambos lenguajes.
Alimentación5V MicroUSB, yo uso un cargador de móvil y va perfecto. El ZX-Uno tiene un regulador y también puedo usar una fuente de 5.25V sin problema.
PantallaRecomiendo encarecidamente televisor CRT que soporte 50Hz (la señal no es del todo exacta y la señal RGB no funciona en todos los televisores) y monitor CRT para los cores que necesiten salida VGA.
Atajos de teclado
AtajoFunción
F2 al arrancarAccede a la BIOS
Ctrl + Alt + BackspaceHard reset
Ctrl + Alt + SuprSoft reset
Ctrl + Alt + F5NMI. Para acceder a DivMMC en versiones 128Kb hay que activar las opciones DivMMC y NMI-DivMMC en la BIOS.
Bloq. Mays al arrancarMuestra un menú para elegir el core.
Cursor abajo al arrancarMenú alternativo para elegir core.
Escape al arrancarMuestra un menú para elegir la ROM.
Blo. Despl.Cambia el modo de video de compuesto a 50 Hz a VGA 60 Hz y viceversa.

Si tienes dudas para ponerlo en marcha puedes preguntar en el foro oficial ZX-Uno, también puedes consultar la lista de preguntas frecuentes del ZX-Uno que estoy recopilando en este sitio.

  • ZXUno montado por Antonio Villena en una carcasa de Raspberry PI ZXUno en carcasa de Rasperry Pi
  • Juego de 8 bits Underground funcionando en un ZXUno Underground en ZXUno

Cores del ZX-Uno

  • ZX Spectrum
  • Spectrum Kyp
  • Spectrum TBBlue/Next
  • Spectrum Pentagon
  • Sam coupé
  • Amstrad CPC
  • Jupiter Ace
  • Sega Master System
  • Oric Atmos
  • BBC Micro
  • Commodore 64
  • Atari 800XL
  • VIC-20
  • PET
  • ZX-81
  • MSX1
  • Colecovision
  • Atari 2600
  • Apple 2
  • Acorn Atom
  • NES (Nintendo Entertainment System)
  • PC / XT
  • Arcade
    • Pacman
    • Galaxian
    • Frogger
    • Lady Bug

Dónde comprar un ZXUno

El proyecto aún no vende ordenadores, más allá de los que fueron distribuidos a partir del primer crowdfunding, aunque dada su naturaleza abierta hay distintos distribuidores individuales que ensamblan y venden estos ordenadores. Lo mejor es que te pases por el foro de ZXUno o vayas directamente a la web de Antonio Villena.

Versiones y derivados del ZX-Uno

Ordenador ZX GO+ en la carcasa de un ZX Spectrum 48KZX GO+ (foto de ManuFerHi)
  • ZX-Uno ManuFerHi, que cuenta con 2 MB de memoria en la placa, dos puertos de joystick y no tiene salida de video compuesto, ofreciendo más señal por la salida RGB.
  • ZX GO+, un ZX-Uno que encaja en el teclado de un Spectrum 48k / +.
  • ZX-Uno XL de 8bits4ever que encaja en las réplicas de carcasa del gomas hechas por RetroRadionics.
  • ZX-Uno 4.2, la nueva revisión de la placa original del ZX-Uno totalmente compatible con algunos cambios.
  • ZX-Uno A++ de un tamaño más reducido y un chip FT245 para desbriquear.

Adaptadores

Complementos / Addons para ZX-Uno

Se pueden encontrar en El mercadillo de Retrolandia, el usuario es antoniovillena, que es quien empezó el proyecto del ZX-Uno:

  • DAC 18 bits (VGA) + Wifi.
  • Chip Q128 programado.
  • Addon SRAM 2MB.
  • Conversor PS/2 a USB para v4.2.
  • Cable VGA.
  • Cable SCART.

Cajas para ZXUno

El ZX-Uno ha sido diseñado para que tenga el mismo tamaño que una Raspberry Pi, con lo que tras unas leves modificaciones te servirán estas cajas. Aparte, hay distintos modelos de cajas específicas para ZX-Uno, disponibles en la web de Antonio Villena o en Thingiverse:

  • Caja transparente RPi.
  • Caja negra RPi.
  • Caja rainbow.
  • Caja transparente. Puedes encargarla en Thingverse.

Enlaces