TZXPod Raspberry (server carga por audio Amstrad CPC / ZX Spectrum)

ADRDesign
Mensajes: 13
Registrado: 10 Sep 2018 04:29
Agradecido : 6 veces
Agradecimiento recibido: 31 veces

TZXPod Raspberry (server carga por audio Amstrad CPC / ZX Spectrum)

Mensajepor ADRDesign » 22 May 2019 02:18

TZXPod v1.0 by ADRDesign

1. DESCRIPCIÓN:

TZXPod es un servidor de audio para carga en sistemas retro (de momento, Amstrad CPC y Spectrum). Se basa en pipod de itcarsales, y en la rutina de descompresion de cintas de Jesús B.L. en malagaoriginal.blogspot.com.

Su uso es bastante simple, consiste en un botón y un led (opcional). Conectando además la raspberry a la red y usando un cliente MPD en el móvil (por ejemplo, M.A.L.P. en Android) podremos prescindir de ello.

Al meter un pendrive (renombrado a MEDIA) todo su contenido (CDT, TAP, TZX y ZIP) se convierte a WAV (22050hz) y se almacena en la tarjeta SD. Al sacar el pendrive quedará listo para empezar a reproducir. Cada vez que añadimos juegos se borrará todo lo anterior, para facilitar el uso sin pantalla con un número reducido de archivos. Aun así, no hay un límite de capacidad (la que tenga la SD)

2. REQUISITOS:

Quemar la imagen adjunta a una SD con Win32DiskImager (windows), ApplePiBaker (mac). Durante el primer inició se expandirá para aprovechar la máxima capacidad de la tarjeta (mínimo 2 gb).

MODO STANDARD:

* CONEXIÓN AUDIO (SALIDA MINIJACK)

Pues aparte de la Raspberry PI 3B/3B+ (no he probado la imagen en otro modelo), necesitamos la conexión pertinente de audio a nuestro Amstrad (a través de adaptador cassete o din 5 con los pines de motor) o Spectrum (en éste último caso hará falta amplificación externa).

* SWITCH MOMENTÁNEO (CONECTADO AL GPIO 4)

Para este proyecto se puede usar cualquier switch momentáneo que tengamos. Yo he usado un botón de reset del frontal de un PC que tenía guardado (la misma conexión que trae funciona). El switch se usa como botón de play/pause (pulsado rápido), avanzar pista (pulsando +0.7s) o retroceder pista (pulsando +1.5s).

* (OPCIONAL) LED + RESISTENCIA DE 330 (CONECTADO AL GPIO 3)

La función del led es informar del estado. El sistema estará totalmente iniciado cuando parpadee 5 veces largas. Durante la reproducción el led estará encendido, y parpadeará dos veces cuando avancemos de pista, tres cuando retrocedamos. Si se introduce un pendrive con alguno de los formatos, la reproduccion se detendrá, se borrarán todos los archivos internos y el led parpadeará rápidamente un momento, empezando después la transferencia. Cuando los archivos se hayan convertido y copiado a la tarjeta el led parpadeará hasta que retiremos la memoria usb.

MUY IMPORTANTE: Para el led se debe usar una resistencia de 330, yo me he cargado un GPIO por ponérselo directamente :P así que si queremos obviarlo habría que conectar la raspberry a la wifi para poder “visualizar” al menos algún tipo de información (en la pantalla del móvil, con el ciente MPD).

MODO AUTOMÁTICO CON CONTROL DE MOTOR (CONECTAR RELÉ AL GPIO 27)

En el script extendido se puede conectar un interruptor o el pin de relé motor de nuestro ordenador al GPIO 27. Para que se ejecute al inicio debemos hacer ‘sudo crontab -e’ y cambiar la línea @reboot sudo python pipod_no_motor.py por @reboot sudo python pipod.py

En caso de que instalemos el pin de relé y usemos el script extendido, la funcion de play/pause desde el switch está deshabilitada y la transferencia de datos sólo puede hacerse cuando el reproductor está en “pausa por motor” (o el cable DIN desconectado).

3. CONEXIÓN A LA RED.

La imagen SD se puede usar tal cual sin necesidad de configurar nada. Si queremos usar el servidor MPD desde nuestro móvil sólo hay que enchufarla por ethernet a nuestro router, pero para mayor comodidad podemos conectar la raspberry a la red wifi. La clave de acceso es USUARIO pi y CLAVE raspberry y accedemos a la configuración wifi habitual con ‘sudo raspi-config’.

Una vez conectados será mucho más facil manejar la raspberry desde el móvil, con la aplicación M.A.L.P. Creamos un perfil con la dirección de nuestra PI, sin tocar nada más y al poco debe aparecer la lista de nuestros juegos en pantalla.

4. POSIBLES MEJORAS.

Este programa hace un uso intensivo de la tarjeta SD durante la conversión, así que me he planteado el uso de un disco RAM en futuras versiones.

Unidades compartidas SAMBA. Para extraer/añadir los archivos de nuestro reproductor.

La señal de la raspberry no es suficiente para el Spectrum. Implementar el trick de inversión de fase a ver si tira.


5. CRÉDITOS.

En este proyecto se ha usado Music Player Daemon, Detox y Fuse-emulator-tools.

6. DESCARGA.

https://mega.nz/#!CH5kjI4Q!FR4bA0PbtDf5 ... r4xwhq5-dU

NOTA DE DESCARGA DE RESPONSABILIDAD: No me hago cargo de los perjuicios que pudiera ocasionar el uso de este software o indicaciones de hardware. Todo ha sido testeado y no debe haber problema, pero nunca se sabe !

Avatar de Usuario
VooD
Mensajes: 931
Registrado: 11 Abr 2011 22:19
Ubicación: Málaga
Agradecido : 12 veces
Agradecimiento recibido: 54 veces

Re: TZXPod Raspberry (server carga por audio Amstrad CPC / ZX Spectrum)

Mensajepor VooD » 22 May 2019 07:45

Igual es una tontería, pero si hubiera una forma de poner entrada de audio al raspberry ya puestos quizás se podría hacer un menú que funcionará desde el Spectrum y que permitiera elegir qué tzx cargar usando la salida de audio del spectrum para enviar información al raspberry.

En primer lugar el spectrum se pone en modo carga, luego el raspberry envía un programa por audio que se crea en el momento con la lista de tzx y queda a la espera. En el spectrum eliges uno y este manda por audio al Pi la información del fichero escogido, luego este empieza a emitir el programa en cuestión.

Asi sí que sería un servidor completo ;)

Avatar de Usuario
kikems
Mensajes: 3299
Registrado: 30 May 2013 19:23
Agradecido : 927 veces
Agradecimiento recibido: 1273 veces

Re: TZXPod Raspberry (server carga por audio Amstrad CPC / ZX Spectrum)

Mensajepor kikems » 22 May 2019 11:57

Un proyecto bastaste interesante para todos los usuarios de sistemas basados en cassette.


Volver a “Desarrollos y Proyectos RW”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado