[CONSOLA CUSTOM] Megadrive + RaspberryPi 2 = Mega²Drive (a.k.a. PatoDrive)

Jonap escribió:ah de acuerdo, piensa que yo ni tngo disipadores ni ventilador por eso me da algo de reparo, y sobre lo de memory split?


El memory split es lo de menos. Muy pocos juegos por no decir ninguno van a usar mas de 256 megas de ram de vídeo. Puedes hacer pruebas asignado 512/512, pero creo que con 256/768 te a va a tirar todo.

Es posible que cuando actives el overclock empieces a ver el cuadradito de colores que indica falta de voltaje. Si lo ves pero estas seguro de que no tienes problemas de voltaje (no conectas un disco duro usb a la Raspberry por ejemplo) puedes desactivar el seguro anti-caidas de voltaje, lo que hace que la Raspi nunca deje de overclockearse.

Hazte una idea de lo siguiente. El overclock puede reducir unos años la vida de tu Raspberry. Compre mi Raspberry 1 hace unos ¿2 años? y con la salida de la 2 ha quedado relegada a la caja de los proyectos futuros.

Muy probablemente dentro de unos años saquen una nueva placa de 30€ que haga sus necesidades sobre las specs de la Raspberry actual. Y una placa como estas esta diseñada para durar muchísimos años dentro de la caja de un proyecto.

No te preocupes y overclockea con cabeza. Si usas la opción del menú ni siquiera pierdes la garantía (que no conozco a nadie que haya tenido que usarla).

Si aun así sigues necesitando mas potencia, puedes comprar unos disipadores por menos de 10€.
me ha gustado mucho el proyecto. felicitaciones.
perfecto gracias, para quitar lo del seguro antioverclock ese que comando es?
Jonap escribió:perfecto gracias, para quitar lo del seguro antioverclock ese que comando es?


Depende:

avoid_warnings=1 -> Hace que el cuadrado deje de aparecer superimpuesto en la imagen.

avoid_warnings=2 -> El cuadrado deja de aparecer y la Raspberry deja de ralentizarse. Ojo a la posiblidad de corrupción en la SD si cargas las roms desde dicha tarjeta y no el USB. El acceso constante de lectura/escritura hace que una perdida de voltaje te desgracie el sistema de ficheros, por lo que tocaría reflashear.

@GXY

Gracias! Todavia tengo que limpiar el tutorial, subir nuevas fotos, mas scripts y sobre todo el sistema final.
Buenas!

Subo el hilo con otro update. Tengo ya el sistema casi terminado al 100%, por lo que he decidido hacer un pequeño vídeo de prueba en el que se vea el estado final del mismo, la salida RCA en una televisión de 14" y como funcionan diversos mandos, tanto replicas USB como oficiales de Sega.

El video lo teneis aqui: https://www.youtube.com/watch?v=DSTjcQOpoIk

Emmmm, soy un negado en lo que a producción de vídeo se refiere. El audio se escucha bajo (grabado a las 2 am con el niño dormido...) y la cámara me bailaba el brillo. Podéis darle al mute que no os perdéis nada.

Estoy empezando a hacer el artículo de la wiki, donde pegaré los scripts que he hecho para que funcione el botón reset y demas.

Por si los necesitais:

/etc/rc.local

#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

sudo bash /home/pi/RetroPie/resetscripts/mastersystem.sh &



exit 0


mastersystem.sh

#!/bin/bash

sudo python /home/pi/RetroPie/resetscripts/mastersystem.py &


mastersystem.py

import RPi.GPIO as GPIO
import time
import os
GPIO.setmode(GPIO.BCM)

GPIO.setup(20, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(10, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(11, GPIO.IN, pull_up_down=GPIO.PUD_UP)

while True:
        input_state = GPIO.input(20)
        input_state2 = GPIO.input(10)
        input_state3 = GPIO.input(11)
        time.sleep(0.1)

        if input_state == False:
                GPIO.setup(14, GPIO.OUT, pull_up_down=GPIO.PUD_DOWN)
                GPIO.output(14, 1)
                time.sleep(0.1)
                GPIO.output(14, 0)
                time.sleep(0.1)

                if input_state2 == False:
                        if input_state3 == False:
                                os.system("mupen=$(ps a | grep mupen | cut -d \" \" -f2 | head -1); kill -2 \"$mupen\"")
                                os.system("retro=$(pidof retroarch); kill -2 \"$retro\"")


Lo que hace este ultimo es valorar tres pines GPIO. Dos de ellos son los botones 1 y 2 de un joystick de 3 botones (como el mando de Master + el pausa) y el otro el tercer boton, que esta cableado al interruptor de reset de la Megadrive. Si se pulsan a la vez los tres, cierra el emulador. Si solo se pulsa el reset hace la funcion de boton de pausa (hay que configurarlo como una tecla mas en RetroPie).


Para añadir un menu para cambiar entre mandos de 3 y 6 botones de Mega y el de Master, añadid al archivo /etc/emulationstation/es_systems.cfg el siguiente sistema:

<system>
    <name>padconfigmenu</name>
    <fullname>Pad Config Menu</fullname>
    <path>/home/pi/padconfigmenu</path>
    <extension>.sh</extension>
    <command>sudo bash %ROM%</command>
    <theme>pc</theme>
  </system>


Cread la carpeta "padconfigmenu" en el directorio home (/home/pi) e incluid los siguientes archivos:

P1_3_Buttons_P2_3_Buttons.sh
P1_3_Buttons_P2_6_Buttons.sh
P1_2_Buttons_P2_2_Buttons.sh 
P1_6_Buttons_P2_2_Buttons.sh
P1_2_Buttons_P2_3_Buttons.sh 
P1_6_Buttons_P2_3_Buttons.sh
P1_2_Buttons_P2_6_Buttons.sh 
P1_6_Buttons_P2_6_Buttons.sh
P1_3_Buttons_P2_2_Buttons.sh


Esto es lo que incluye por ejemplo P1_2_Buttons_P2_6_Buttons.sh:

modprobe -r db9_gpio_rpi
modprobe  db9_gpio_rpi map=3,6


Lo que va cambiando son los numeros del final. El primero es el pad del jugador 1 y el segundo el del jugador 2.

3 = Pad de Master System

4 = Pad de 3 botones de Megadrive (ensaimada)

6 = Pad de 6 botones de Megadrive (croissant)


Como siempre contestare dudas o sugerencias o lo que sea.

Saludos!
¡¡Pero qué manera de destrozar una megadrive!!

Romper la carcasa y destruir la placa base para meter un amasijo de cables.... muy triste.
no quiero sonar aguafiestas, se que lograste un gran trabajo pero lo que no me cuadra es destrozar una megadrive y mas siendo una model va5 (estas no tienen la falla del audio como las va7) soy muy fan de sega lo se pero me da pena ver que una maravillosa consola termine así
Si dice en el primer post que la consola estaba rota...para ir a la basura mejor trastear con sus restos :p

Tengo esta carcasa años guardada a la espera de tener tiempo para hacer algo parecido.

Imagen
Que chulada! Quiero una! Jejeje
Impresionante, menuda currada. :O
O´Neill escribió:Si dice en el primer post que la consola estaba rota...para ir a la basura mejor trastear con sus restos :p


Exacto. Tengo otras dos Megadrives, una con el mod de región y otra CIB, y no me atreveria a tocarlas. Esta se la compre a Pato y quería expresamente que estuviera rota, que ya no sirviera para nada.

Para acabar en un vertedero o como donante de piezas, he preferido darle una segunda vida a mi consola favorita ^_^-

(Pero si, es un amasijo de cables).

Dale a esa Playstation, que con el espacio que tiene puedes hacer virguerias. Creo que no debería de darte muchos problemas la conexión de los mandos al interfaz GPIO. La Pi 2 emula prácticamente a la perfección el 99% del catalogo de PSX, así que es una ocasión perfecta.
Gran trabajo!
¿Has probado el emulador de Amiga?¿Has conseguido hacerlo funcionar?
eraser escribió:Gran trabajo!
¿Has probado el emulador de Amiga?¿Has conseguido hacerlo funcionar?


Nop. Voy a probar a ver.
Hola, soy el pesado ese que esta comentando últimamente en tus videos XD , la cosa es que ya he pedido la raspberry con varios componentes, mi pensamiento era meter una cantidad grande de gb de juegos, entonces yo tenia la duda de si al usar un disco duro externo de 1tb eso iba a funcionar correctamente si le metía bastantes gb de roms, al ver tu vídeo que es el único que he encontrado que le haya metido una cantidad considerable de gb de roms pues claro me surge la duda de si habías probado un hdd.

Entonces lo que te decía un hdd conectado al hub USB y a la raspberry si en ese caso tiraria y si es así como tu dices, de que los archivos se corrompen y da bastantes problemas?

Si funcionase el hdd seria un gran avance ya que estaría conforme con superar a la emulación de la xbox clásica.

Gracias y animo con el proyecto.

PD:Ok, ya veo que me has respondido.
Habría preferido usar lo justo en cables del tipo ribbon tal como hacían con ciertas MD clónicas y directamente soldados a la Pi:

Imagen

También habría usado una Pi Zero con el mínimo de puertos para que quedara más limpia y con lo mínimo necesario.
Hola Shikamaru, para scrapear los juegos en que tutorial te has basado?
Por favor ayuda con la raspi,tengo la 2 y veo varios videos en youtube moviendo bien la dreamcast y la n64....que tengo que configurar???.
altbrian escribió:Habría preferido usar lo justo en cables del tipo ribbon tal como hacían con ciertas MD clónicas y directamente soldados a la Pi:

Imagen

También habría usado una Pi Zero con el mínimo de puertos para que quedara más limpia y con lo mínimo necesario.


no todos tienen todos los recursos, conocimientos/habilidades, materiales y tiempo necesario para hacer el mejor trabajo posible. hacen el que saben y pueden que algunas veces es mejor y otras veces lo es un poco menos.

en ese sentido yo no le critico nada a shikamaru. aun en el entendido de que, por supuesto, su trabajo se puede mejorar.
Buenas de nuevo,yo casi tengo terminado un stick arcade casero fabricado en dm y metacrilato con botoneras imitacion a las sanwa, y ando bicheando por pimera vez retropie. Ya consegui que me cargaran las roms de gameboy advance que no me iban, pero por favor necesitaria ayuda para mover bien la N64 y dreamcast que veo que lo hacen en youtube y no se como aun. Por cierto estoy trabajando sobre la raspi 2 en caja de metacrilato abierta y esperando la pantalla de 3,5. Mi idea es hacer un acople dentro de la caja del stick arcade con idea de poder montarle y desmontarle la raspi facilmente, y asi el stick arcade me valga para cualquier otra plataforma usb.
Espero vuestra ayuda. Gracias. Pongo enlace a mi dropbox para que podais hechar un vistazo a mi proyecto.

https://www.dropbox.com/sh/0kbkzwssd3cv3no/AAC1iPzMlXnMBGcrd57mN6bea?dl0
Oye una pregunta, aunque en primer lugar enohorabuena, puedes conectarlo por la salidad analogica para verlo en una tv de tubo???

Ps. buen perfec le haces a lei en el video ;)
69 respuestas
1, 2