21 de febrero de 2019

El cartucho ROMBA; la revolución que permitirá tener un Street Fighter II de altura en Amstrad CPC

El hardware desarrollado por Doragasu, complemento perfecto de la conversión a cargo de Augusto Ruíz




Tanto si habéis escuchado ya el episodio 1x03 del podcast de RetroManiac como si no (mal hecho, por cierto), no podemos dejar pasar la oportunidad de hablar de un auténtico ingenio en desarrollo por Doragasu, un cartucho de hasta 64 megabits para Amstrad CPC que viene de la mano con el esperado Street Fighter 2 para el ordenador de Alan Sugar, una maravilla que Augusto lleva cocinando desde hace tiempo, y que posiblemente el ROMBA haga que nos lo sirvan en bandeja por fin.

Y es que la historia de este Street Fighter 2 se dilata en el tiempo, tanto por la ambición del proyecto, como por los propios quehaceres y responsabilidades de su autor, ineludibles y que a todos nos atañen de una u otra forma. El caso es que hacía tiempo que no teníamos noticias sobre la conversión no oficial del clásico de lucha de Capcom, hasta que Chema en nuestro último episodio de RetroManiac podcast destapó el nuevo impulso que ha cobrado el juego gracias a la alianza de Augusto y Doragasu; y es que la unión hace la fuerza, sin duda: «empecé a desarrollar ROMBA (que por ahora así es como llamo al cartucho) pensando en el SF2 de Augusto Ruíz», nos comenta su autor a través del correo electrónico.

La placa en cuestión

«El problema con que se encuentran desarrollos para CPC como el suyo, es doble: por un lado necesitan más memoria de la habitual, y por otro está el problema de que cuesta encontrar discos de 3" para CPC a un precio adecuado. Un cartucho elimina estos problemas, y presenta además ventajas adicionales, como la carga instantánea y la posibilidad de llevar al CPC464 juegos que por restricciones de memoria RAM, sólo serían posibles en un CPC6128».

Así de bien queda insertado en vuestro CPC


Así que, dispuesto a echar una mano en la resolución del problema, Doragasu se puso manos a la obra a partir de una suerte de "RomBox" con 512 slots de 16 KiB cada uno, «dopada», como él mismo nos cuenta. Si hacéis las cuentas esto hace un total de 8 megabytes (64 megabits), lo mismo que los cartuchos de primera hornada de Nintendo 64 y, como referencia, más de lo que llegaron a utilizar los juegos de SNES o Mega Drive durante la vida comercial de estas consolas.

El prototipo con carcasa impresa en 3D insertado en el programador USB


«A partir de ahí empecé a hacer añadidos», recuerda Doragasu. «Primero Augusto me consultó si sería posible sustituir la ROM del CPC (lo cuál permite entre otros arrancar el juego directamente y de manera instantánea). Lo implementé, y como me seguía sobrando espacio en la CPLD, se me ocurrió intentar meter un controlador de DMA sencillito, de un solo canal». Este controlador permite que se puedan copiar datos de ROM a RAM de CPC o bien reproducir audio digital «en un canal adicional que implementa el cartucho», con un coste de CPU casi inexistente. Para acompañar el desarrollo de este cartucho, Doragasu también ha fabricado un programador que se enchufa al PC mediante al USB, y que «permite hacer la grabación rápidamente». ¡Una joya!

Como resumen, estas son las características del ROMBA:

  • 8 Megabytes (64 megabits) de capacidad máxima.
  • Compatible con RomBox estándar.
  • Compatible con CPC464 y CPC6128.
  • Arranque directo mediante mapeo de la ROM baja del CPC.
  • Posibilidad de guardar datos (configuración, puntuaciones, etc.).
  • Conexión al puerto de expansión del CPC, con 2 opciones de montaje: directamente en el CPC, o a través de una tarjeta MX4.
  • 1 canal de DMA para copia rápida de ROM a RAM, o para reproducción de audio digital (de manera no simultánea).
  • Características del canal de audio digital adicional: 8 bits de resolución, con frecuencia de muestreo configurable entre 4 kHz y 50 kHz.

El render de la placa. ¡Aquí empezó todo!


El objetivo principal de Doragasu es que su dispositivo lo usen los desarrolladores de videojuegos para preparar sus lanzamientos y distribuirlos en formato físico rápida y eficazmente, permitiendo además probar estos juegos rápidamente gracias a la interfaz de conexión y facilitando, en definitiva, el proceso. Seguiremos muy de cerca sus desarrollos, y esperamos poder tenerlo muy pronto en RetroManiac Podcast para que nos cuente.

9 comentarios:

  1. El SF2 arcade no ocupa mas de 4 Megabiytes (32 Mb )si no me equivoco, por que este con tantos?��

    ResponderEliminar
    Respuestas
    1. Diría que el SF2 original son algo más de 4 megas ;) De todas formas que el cartucho tenga esa capacidad no significa que se vaya a usar toda. La cuestión es que está disponible todo ese espacio para lo que los desarrolladores de juegos deseen!

      Eliminar
    2. Ok,tenía esa duda. gracias

      Eliminar
  2. Yo pensaba q lo estaba preparando con el dandanator, que diferencias.tiene el dandanator con este nuevo cartucho?

    ResponderEliminar
  3. El Dandanator en principio son 512k.

    ResponderEliminar
  4. El dandanator son 512 KiB, lo que en principio debería ser suficiente para prácticamente cualquier juego de CPC.

    ROMBA tiene 16 veces más capacidad, tiene un motor de DMA (aunque bastante limitado) y permite reproducir audio digital prácticamente sin coste computacional.

    A la hora de programar, creo que también son distintos. ROMBA funciona como una ROMBox estándar, mapeando la memoria en bancos de 16 KiB. Y además también mapea otro slot en memoria baja. Dandanator la verdad no se cómo funciona pero creo que usa su propio sistema de bankswitching.

    Respecto a los 8 MiB (64 megabits) de ROMBA, es la capacidad máxima que soporta. Si no hace falta tanta, se pueden montar memorias más pequeñas.

    ResponderEliminar
  5. Very interesting, but how works the DMA from ROM to RAM ? is this just a DMA linear copy or is it possible to copy rectangular zone or to blit them ?

    ResponderEliminar
    Respuestas
    1. The DMA engine is very limited, because of the available CPLD space. Currently there is only one channel shared also by the audio player, and it can only do linear copy and fill operations.

      A 2D engine could be done with a bigger CPLD or with an FPGA, but that would increase the cost, and I do not know if there is enough interest in the community for it.

      Eliminar

¿Es el Spectrum Next la evolución que esperabas del <i>Speccy</i>? Tim Gilberts nos muestra en exclusiva la esperada máquina

Los pasados 27 y 28 de octubre tuvo lugar la Play Expo Blackpool 2018 , un encuentro retro en la ciudad costera británica cerca de Mán...