miércoles, 4 de mayo de 2016

Raspi64, próximamente en Explora Commodore

Esta será la máquina que expondré en el próximo Explora Commodore que se celebrará en Barcelona (Fontana) este sábado 7 de mayo. Si queréis verlo y jugar con él, pasaros por la feria y podréis tocarlo.


Os presento un engendro que monté hace bastante tiempo y que no había presentado por aquí al no funcionar como yo esperaba hasta ahora. No es algo original, lo vi hace años aquí y pensé que podría hacer algo parecido para darle vida a uno de los Commodore 64 averiados que tenía por casa. Se trata de lo que he bautizado como Raspi64, que básicamente es una carcasa de Commodore 64 a la que he sustituido la placa base por una Raspberry Pi 1 Modelo B, que se conecta al teclado mediante un interfaz Keyrah v1 y que lleva instalado RetroPie para poder emular los microordenadores más conocidos y varias consolas, junto con MAME.
Rasberry Pi.

Para poder usar el teclado del C64 en un pc normal o en una Raspberry, es necesario un interfaz que facilite la comunicación entre teclado y sistema. Una opción que se me escapa es usar un microcontrolador o una placa Arduino, es algo complejo pero se puede hacer, en la red hay ejemplos exitosos. La otra opción y más sencilla es usar Keyrah, que es una placa que encaja en la carcasa del Commodore y que permite conectar a un PC por USB el teclado de diversos sistemas de la marca americana, como el C64, el C128 e incluso el Amiga. Además, tiene un conector para encender el led de la carcasa.
Keyrah v1.

Aparte del Keyrah, se necesitan varios cables y adaptadores para poder poner los conectores de la Raspberry en los bordes de la carcasa, sustituyendo los puertos del C64 por unos más modernos. En mi caso, y pensando en poder conectar en un futuro el Raspi64 tanto a monitores VGA como a pantallas con HDMI o a una tele por RCA, le he puesto una salida de cada tipo. Así, si lo quiero conectar a un dispositivo con otro conector, tengo que abrir la carcasa, desconectar la salida actual y conectar la salida de turno al cable correspondiente (aparte de configurar el config.txt de Retropie). Además de las salidas de vídeo, he puesto salidas de audio por jack de 3.5mm, de ethernet (un cable macho-hembra) y un hub USB de 4 puertos sin alimentación externa al que conectar un teclado externo, los gamepads y un adaptador WIFI.
Esquema interno del Raspi64.

La entrada de alimentación fue un apartado complicado. En principio compré conectores hembra de microUSB en DX.com, pero al no disponer del soldador adecuado, me fue imposible usarlos, por lo que compré un adaptador USB (macho)-microUSB (hembra) al que soldé, en la parte USB, los dos cables +/- de un cable USB-microUSB normal y corriente que corté previamente, y al que soldé también un interruptor para poder encender y apagar el Raspi64 desde la carcasa.
Parte trasera del Raspi64.

En cuanto al software, de entrada descarté ponerle una distribución que arrancara directamente en un emu de C64 porque quería una máquina multisistema, así que probé con ChameleonPi, una distribución que cuenta con un menú para acceder a los emuladores, pero que no me dio un buen resultado, al comportarse de manera extraña con algunos de ellos (p.ej: el emulador Caprice de CPC dejaba de funcionar cuando lo usabas y pulsabas por error una tecla que modificaba el modo de vídeo). Recientemente le instalé la última versión de Retropie y la mejora es considerable en todos los aspectos, tanto en la puesta en marcha como en la configuración y el funcionamiento.
Lateral del Raspi64.

Respecto al funcionamiento, deciros que la emulación de sistemas de 8 bits que he probado (Commodore 64, ZX Spectrum, Amstrad CPC, MSX y Atari 2600) funciona fluida, si bien algunos detalles como la carga por diskette de juegos en C64 es lenta. La emulación de juegos en MAME no funciona tan bien, y para conseguir que un juego como Street Fighter II corra a una velocidad aceptable hay que overclockear la Raspberry desde raspi-config, con el riesgo para la tarjeta SD que eso conlleva.
Raspi64 emulando Buck Rogers de Atari 2600.

Así que ya sabéis, si tenéis por casa un C64 averiado que no conseguís resucitar y queréis darle una segunda vida, haced como yo y cread vuestro propio Raspi64.


Salu2, Paco.

5 comentarios:

  1. Te lo has supermegacurrado... :O

    Y así y todo dices que no te convence... que esperanza me das, que yo pensaba hacerme uno :S

    ResponderEliminar
    Respuestas
    1. Gracias José!!!

      Si te quieres hacer uno, no lo dudes y tira p'alante, vale la pena, pero mejor si usas una Raspberry 2-3. La mía es una Raspberry 1 y los emus de 16 bits le cuesta algo moverlos, pero los de 8 van bien. Si quieres emular microordenadores, es ideal.

      Eliminar
    2. En eso tienes razón, recuerdo que la primera vez que probé un emulador de C64 en Rpi quedé bastante defraudado. Luego lo volví a probar y ya iba bien, pero era un modelo 2 y quizás le había metido algo de overclock.

      Ya me gustaría llegar a un resultado así, me encanta. He visto otras opciones más simples, que obviamente implica abrir la carcasa para concetar alguna cosa extra.

      Ya veremos...

      Debería conseguir una Keyrha de esas.

      Eliminar
    3. Te he releído... ¿el emu de C64 va bien en la Rpi1?

      La primera vez que lo probé creo que era con Chamaleon o algo asi y seguramente no estaba muy optimizado.

      Eliminar
    4. En la RPi1 con Retropie, los juegos que he probado hasta ahora van bien en lo que respecta a velocidad, aunque alguno falla (p.ej.: no consigo que Pang! funcione, lo tengo que mirar). Eso sí, la tengo overclockeada a nivel medio para los emus de 16bits. Si la overclockeo a full imagino que la cosa irá mejor, pero es un riesgo.

      Eliminar