En la Tribuna con ZX-Uno

Primero, para que nuestros lectores sepan sobre que estamos hablando, ¿Qué es exactamente el ZX-UNO?

Miguel Angel Rodríguez: Es un ZX Spectrum “new generation”. O por decirlo de otra manera, es un ZX Spectrum como probablemente se hubiera hecho si Sinclair hubiera decidido hacerlo hoy día. Con todo lo que tiene el ZX Spectrum, y más. Fisicamente es un aparatito, del tamaño de un móvil pequeño, que encierra en su interior un circuito electrónico cuyo principal componente es un chip llamado FPGA. Una FPGA es, para que nos entendamos, un chip “virgen” al que tú le puedes “grabar” un circuito electrónico tan complejo como pueda caber en esa FPGA. La FPGA del ZX-Uno lleva “grabado” todo el circuito electrónico del ZX Spectrum.

¿Quién forma el equipo de desarrollo del ZX-UNO?

Miguel Angel Rodríguez: – Antonio Villena: fundador del proyecto, coordinador general y autor del firmware de arranque, así como de otras piezas de software que van en el ZX-Uno.
– Jordi Bayo (Hark0): responsable de todo lo que es “arte”: logotipos, stickers, webmaster de zxuno.speccy.org, etc.
– Miguel Angel Rodríguez (mcleod_ideafix): empecé siendo algo así como un consultor técnico, y acabé desarrollando casi todo el core (lo que va grabado dentro de la FPGA) del ZX Spectrum. Quizás sea el responsable último de que el ZX-Uno lleve un ZX Spectrum y no otra cosa.
– Don “Superfo”: colaborador del proyecto desde USA. El responsable de crear los esquemáticos y juntar todos los componentes electrónicos del ZX-Uno en el menor espacio posible. [sarcasmo] Nos acordamos mucho de él cuando toca soldar los prototipos y hay que manejar componentes con separaciones entre contactos de medio milímetro [/sarcasmo]
– Andrew Owen: autor de la única ROM que se conoce para Spectrum que no infringe licencias de uso de los fabricantes originales del ZX Spectrum, y que por tanto puede usarse libremente en proyectos como éste, por lo que su ROM (Open SE IV) es la que estará “por defecto” en ZX-Uno. ZX-Uno de todas formas es configurable por el usuario y puede poner otras ROM’s si lo desea.

¿Habíais trabajado en proyecto anteriores?

Miguel Angel Rodríguez: Con Antonio yo había colaborado puntualmente en otro proyecto de él: la plataforma/utilidad “Cargando Leches” como betatester de las rutinas de carga en máquinas reales.
Antonio Villena : Sí, con Superfo y con McLeod hemos trabajado en otro clon de 128K, en ese caso usaba chips discretos en lugar de FPGA.

ZXuno 01

¿Cómo surgió la idea de fabricar el ZX-UNO?

Antonio Villena : La idea fue mía, había un clon basado en una placa FPGA llamada MOD-VGA, que era una especie de tarjeta gráfica para Arduino. Superfo consiguió clonar un Spectrum con las ecuaciones de McLeod, añadiéndole una placa adicional y haciendo modificaciones en la placa.
Mi idea era meter todo eso (MOD-VGA modificada+placa adicional) en una PCB del tamaño de una Raspberry, usando las mismas posiciones en los conectores para así poder reutilizar las mismas cajas.

¿Por qué escogisteis el ZX Spectrum y no otro sistema?

Miguel Angel Rodríguez : Era la elección lógica. Quiero decir: tanto él como yo conocemos muy bien el ZX Spectrum. Antes del ZX-Uno, habíamos participado en otros proyectos de clonación. En concreto, el clon “Superfo”-“Harlequin” que dio a conocer José Leandro Novellón en el foro de speccy.org . Antonio después probó con un clon de 128K. Para entonces yo ya había escrito soft-cores (descripciones de circuitos electrónicos para FPGA) de ZX Spectrum para placas FPGA que disponía en la Universidad, así que la idea de Antonio era desde un primer momento usar esos cores adaptándolos al ZX-Uno.
Antonio Villena : Por muchas razones, somos fans de este sistema, hemos hecho antes otro clon de la misma máquina, el hardware de la máquina es relativamente sencillo y es de las pocas de las que se conoce su funcionamiento exacto gracias a Chris Smith.

¿Qué características técnicas tiene el ZX-UNO?

Miguel Angel Rodríguez : Hay que diferenciar entre las características técnicas de la placa que hay en el ZX-Uno, y las características técnicas del sistema que se ha implementado en el ZX-Uno (o sea, las características técnicas del ZX Spectrum implementado). Supongo que te interesa más lo segundo, así que ahí va:

– Hardware de ZX Spectrum 48K/128K/+2A
– Z80A a 3,5MHz, con opción turbo a 7MHz desde Open SE IV
– 64KB máximo de ROM, 256KB máximo de RAM
– Modos de pantalla compatible con Spectrum y Timex TS2068 (hasta 512×192). Modo de baja resolución 128×96 con color independiente por pixel (16 colores definibles de una paleta de 256). Modo “hicolor” con atributos de 8×1 (en lugar de los atributos de 8×8 habituales del Spectrum). Soporte ULAplus en todos los modos.
– Turbo Sound: 2 x AY-3-8912 dando un total de 6 canales de sonido + 2 de ruido. Salida de sonido estéreo.
– Interface DivMMC completa, con un slot SD/MMC, y 128K de RAM dedicada. Firmware ESXDOS
– Interface ZXMMC completa, compartiendo el mismo slot SD/MMC que DivMMC. Soporte gracias al proeycto +3e de Garry Lancaster.
– Entrada EAR para cargar software “a la vieja usanza”.
– Soporte de teclado PC con conector mini-din PS/2
– Conector de expansión configurable para hacer las veces de conector de expansión trasero del Spectrum.
– Firmware que permite configurar el clon antes del arranque .

Siempre decís que el ZX-UNO no es un simple clónico, que incorpora varias implementaciones ¿Que mejoras tenemos con dichas implementaciones respecto al sistema original?

Antonio Villena: Desde el firmware (es una especie de BIOS de PC) podemos seleccionar la ROM con la que queremos arrancar. Y el DivMMC le da mucha versatilidad. O sea que podemos cargar cualquier modelo de ZX Spectrum, incluso una especie de +3 mediante la ROM modificada del +3e cargando la imagen de disco de 3″ en la SD. No obstante lo más cómodo es tirar de ESXDOS ya que usa un formato común para la SD (FAT/FAT32) copiando juegos a la misma desde un PC.

¿Qué sistemas es capaz de emular el ZX-UNO?

Miguel Angel Rodríguez: ZX-Uno no “emula” (al menos no en el sentido tradicional de la palabra, cuando se aplica a retro computación). Quiero decir: dentro de ZX-Uno NO hay una máquina con Windows o Linux, que a su vez carguen emuladores del microordenador con el que vayamos a trabajar. ZX-Uno es EL microordenador. Lo que se carga en la FPGA, el core, no es un programa, es un circuito electrónico.
Aclarado esto, ZX-Uno tiene capacidad para albergar implementaciones de micros de 8 bits sencillos. Sistemas como estos:

– ZX Spectrum
– Commodore VIC20
– ZX80/ZX81
– SAM Coupe
– Jupiter ACE
– Oric Atmos
– Amstrad CPC
– Dragon 32/64

No me atrevo a incluir aquí al Commodore 64 y al MSX porque son un poco más complejos que todos los mencionados antes, y de caber, cabrían pero muy muy justitos. Sólamente el SID del Commodore 64 se llevaría por delante bastante espacio en la FPGA.

Además, puede albergar implementaciones de videoconsolas y arcades sencillos, tales como:

– Atari 2600
– Videopac
– Arcade PacMan, Scramble, Space Invaders, Galaxian, y en general, arcades que sólo lleven un procesador, y que éste sea del orden de complejidad de un Z80A o un 6502.

¿ ZX-UNO es compatible con todo el catalogo de ZX Spectrum?

Antonio Villena : Ahora mismo funciona el 99% debido a que la implementación del Z80 no es del todo exacta y el puerto flotante no se comporta igual. Cuando se arregle esto pasaremos al 100%.

¿Habéis tenido algún problema técnico a la hora de crear el ZX-UNO?

Miguel Angel Rodríguez: ¡Muchos! Antes de dar el visto bueno y que se fabrique en serie, hay que probar que el circuito (tanto el físico como el core que va dentro de la FPGA) funcionan a la perfección. No hemos encontrado problemas graves, pero sí muchos pequeños problemas que deben solventarse antes de dejar el aparato en manos de los usuarios: cosas como que el conector de alimentación (micro USB) no está suficientemente bien anclado a la placa, la imposibilidad de poder tener comunicación desde la FPGA hasta el teclado para que ésta lo configure (desde el teclado a la FPGA sí, así que las teclas sí se pueden leer), ruidos y autooscilaciones que hacen que de vez en cuando el chip que proporciona la señal de video compuesto al televisor no funcione correctamente,… cosas así.

Entrevista realizada por Blog Game Museum para Retromaniac Magazine

Texto escrito por Fernando Porta.

Artículo relacionado