C64 en el ZXUno

ZXUno en una cajita de metacrilato para Raspberry Pi 3 adaptada.

Hace unas semanas compré una placa FPGA ZXUno a uno de sus desarrolladores. Había leído en los foros de la web del proyecto que estaban trabajando en la adaptación de un core de C64 (básicamente es el conjunto de configuraciones que necesita la placa para recrear un determinado sistema), y aunque la cosa era complicada y estaba muy verde, tenía la esperanza de que llegara a buen puerto y se lograse una implementación decente. Y lo han logrado. SamQuest ha conseguido implementar un core de C64 funcional (versión beta 6 cuando escribo estas líneas), que con algún que otro fallo (algunos fallitos gráficos, alguna falla en el SID, títulos que no cargan por cinta si tienen determinados turbos, o bloqueos esporádicos del teclado en ciertas condiciones), permite cargar y ejecutar juegos tanto en disco -modo 1541 real incluido- como en cinta -puerto EAR, audio.

La operativa actual del core a la hora de cargar juegos por disco es muy rudimentaria y poco cómoda, ya que no hay una interfaz gráfica y hay que cambiar de disco "a ciegas" pulsando Av/Re Pág (si las combinamos con Ctrl saltamos de 10 en 10). Discos que tendremos que grabar en una tarjeta SD dedicada exclusivamente a este core en un formato "bruto" o raw muy especial y tirando de script DOS/Linux. El core tiene un modo JiffyDos que acelera notablemente la carga de juegos en disco, pero es incompatible con la carga de cintas por audio. También tiene una tecla para cambiar la paleta de colores del C64 por otra más brillante, pero la que lleva por defecto es bastante fiel a la original del C64 PAL. Un aspecto que espero que mejoren es el de los joysticks, ya que actualmente únicamente admite uno (podemos cambiar de puerto pulsando F11).

Respecto a la propia recreación del Commodore 64, las sensaciones son muy buenas, tanto a nivel gráfico como sonoro. Recordemos que un FPGA recrea un sistema a nivel de circuitos dentro de un chip programable, mientras que la emulación que muchos solemos usar, recrea mediante software el comportamiento de otro sistema, sometido a las limitaciones del hardware anfitrión (os recomiendo que leáis este interesante artículo sobre los FPGA). Pues bien, el funcionamiento de este core transmite muy bien lo que se siente al manejar un C64, y más si lo conectamos a una vieja tele de tubo. Y si tenéis mandos de Mega Drive como es mi caso, podéis enchufarlos al ZXUno y jugar con ellos.

He probado unos cuantos juegos (algunos bastante exigentes con el hardware) como Creatures, Mayhem in Monsterland, SWIV, Silkworm, Ghosts'n Goblins, R-Type, Cybernoid II, Target Renegade, Donkey Kong 2016, Rainbow Islands, Arkanoid, Enforcer Fullmetal Megablaster, Slap Fight, 1942 o Megaphoenix, y el funcionamiento, quitando algún pequeño glitch gráfico o alguna que otra nota musical echada en falta, es muy bueno. Van todos fluidos, sin faltar ningún sprite o efecto visual, 100% jugables. Alguno que otro como el reciente The Bear Essentials no he podido cargarlo.

Mi lista de deseos, algunas cosas que me gustaría que tuviese el core y que por el momento no implementa, aunque realmente no creo que llegue a implementar nunca (según su desarrollador no hay espacio para nada más y el ZXUno está hasta los topes con este core):
  • Soporte para un segundo joystick (esto sería un puntazo, para jugar con los críos al Bubble Bobble o al Jam It).
  • Interfaz gráfico para la selección de diskettes.
  • Mejora del funcionamiento del SID (en algunos juegos parece que faltan notas o éstas suenan a un volumen más bajo).
  • Mejora de la carga por cinta de juegos con turbo de Ocean, que actualmente no cargan.
  • Carga de juegos en cartucho (.crt).
  • Eliminación del bug del teclado, que hace que de vez en cuando funcione incorrectamente y no responda bien a la pulsación de algunas teclas.
  • Centrado de la imagen en pantalla (actualmente está un poco desplazada hacia la izquierda).

Sonic 1 en el core de
Master System
 
En definitiva, ZXUno es una alternativa muy versátil y económica (65€) para aquellos usuarios como yo que quieren tener una recreación fiel del C64 y otros sistemas de 8 bits pero no pueden/quieren pagar un dineral por soluciones más potentes como TurboChameleon (249,90€), MiST (199,99€) o MCC-216 VGA (145€). Además, el número de cores no para de crecer, y un aparato que nació principalmente para recrear ordenadores de Sinclair como el ZX Spectrum o el SAM Coupé, actualmente reproduce sistemas como los commodorianos PET y VIC-20, además de MSX1, NES, SEGA Master System, Atari 800XL, Atari 2600, BBC Micro o Apple ][, y desde hace poco un limitado PC/XT.

¿Tenéis un ZXUno? ¿Habéis probado el core de C64 en vuestro pequeño FPGA? ¿Qué os parece? Dejad vuestros comentarios al final del artículo si os apetece, claro.


Salu2, Paco.

Comentarios

Entradas populares de este blog

Desarrollo de Street Fighter 2 Champion Edition para C64. Parte 1

Crónica del Explora Commodore 2023

Una de sprites