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

Editado: 11/01/2016 - Añadido nuevo video (Mini-tutorial, salida RCA en CRT 14" y testeo de diferentes mandos (oficiales y no oficiales)): https://www.youtube.com/watch?v=DSTjcQOpoIk
Añadidos scripts de configuracion
Revisada solucion a falta de voltaje + slowdowns (4.1.- Problemas de slowdowns con un disco duro)

Editado: 10/09/2015 - Añadido nuevo video (Juegos de Dreamcast y N64): https://www.youtube.com/watch?v=SlyAtYz ... e=youtu.be
Editado: 07/09/2015 - Añadido nuevo video: http://youtu.be/wQc6yfqUQtA
Editado: 06/09/2015 - Añadida seccion 4 -> Fixes varios

===================================================================

Buenas a todos,

Ante todo no se si esto va en clásicas o en multiplataforma. No se si hay manera de que vaya en los dos subforos a la vez, pero me da pena que los de multi se lo pierdan por no pasarse por clásicas.

Tras darle millones de vueltas al asunto de los flashcarts y con la sola intención de suplir todo lo que no voy a poder comprarme por motivos económicos y de espacio, tengo que hacer como todo el mundo y darle a los emuladores.

Como todo jugón de lo clásico, añoro la capacidad de que si solo dispongo de cinco minutos, puedo dedicarlos íntegramente a jugar con solo meter un cartucho y encender la consola.

Haciendo números, me di cuenta de que si cogía todos los flashcarts recomendados para cada consola, le añadía el precio de la consola, dos mandos (o cuatro en previsión), accesorios de conexión y espacio ocupado, me daba algo.

Hasta ahora lo suplía con unas Wiis, que permiten emular todo a la perfección hasta la generación de los 32 bits, donde empiezan a renquear. Tienen multitud de adaptadores, por lo que no es un problema usarlo como centro multijuegos y ademas te llevas de bonus una cantidad importante de arcades de Sega que se convirtieron a Cube. Pero no es ni de lejos perfecta.

Dependes de los malditos mandos inalámbricos y su par de pilas, requiere de una cantidad de conexiones entre la fuente, los cables y la barra que hacen que no sea demasiado portátil, para jugar en condiciones tienes que ir enchufando mandos adicionales al wiimote, que se convierte en un trasto mas. Y por el amor de Dios, no van a terminar esos emus de PSX y N64 antes de que el universo se apague.

Así que me dije, ¿Porque no usar una de las nuevas Raspberry Pi 2 que como mínimo me asegura la "perfección" hasta la PSX? ¿Y porque no intentar homenajear a la Megadrive, mi primera consola y la niña de mis ojos de entre las clásicas?

Pues me puse manos a la obra. ¿Queréis saber cuanto me costo y como se hace? No es muy difícil, primero vamos con la "inspiración" del proyecto:

https://www.youtube.com/watch?v=ylhp34hBoW8

Esta es la MegaPi de Enrique Pellejer (nombre de usuario). Es justo que sea lo primero que diga, porque mi objetivo fue replicar en cierta medida lo que el ha hecho. He cambiado algunas cosas y ante la ausencia de tutoriales he tenido que ir a ciegas. Es por eso que quiero escribir este mini-tuto, para que podáis hacerlo vosotros también con algo mas de sencillez.

Vamos a pasar primero a la lista de materiales:

- Una carcasa de Megadrive, preferentemente de una Megadrive rota o irrecuperable (gracias a Pato que me vendió la suya).

- Una placa de Megadrive en la que por lo menos estén operativos los contactos de los conectores db9 de los mandos, los del botón de encendido y reset, la salida de audio, la entrada de corriente AC y el led de encendido.

- Una Raspberry Pi 2

- Una MicroSD de mínimo 4 GB

- Un cable USB a mini-USB

- Un HUB USB alimentado

- Un cable HDMI y un conector hembra-hembra

- Un cable de RCA a jack (de los que parecen de audio pero tienen tres anillas negras)

- Un convertidor de audio RCA a jack

- Splitters de conectores RCA (en principio 2)

- Un latiguillo de cable UTP Cat5

- Una roseta de RJ-45 (cogeremos la pieza interior)

- Cableado y clemas para las soldaduras

- Conectores para conectar los cables a los GPIO de la Raspberry (yo use unos faston hembra aislados con cinta porque soy un ansias)

- Una resistencia de 220 Ohmnios

- Un conector (jack) de potencia de 2,1 mm

- Pegamento, bridas, cinta aislante...

- Un soldador de electrónica

- Una Dremel o similar

- Una pistola de pegamento caliente (3€ en un chino)

- Software diverso (que detallaremos mas adelante)


1.- HARDWARE

Vamos a empezar con el montaje. Por desgracia no he hecho suficientes fotos durante el proceso, así que vais a tener que fiaros de mis descripciones.

Lo primero que vamos a hacer es cortar la placa de la Megadrive para quedarnos solo con lo que nos interesa. Para ello abrimos la consola, quitamos los protectores metálicos anti-interferencias superior e inferior (necesitaremos ese espacio) y sacamos la placa con cuidado de que el conector de potencia, audio y el led de encendido no se arranquen por un tirón mal dado. Este ultimo sale con facilidad si enderezáis las patillas del led.

Tras esto, trazáis una linea con rotulador por donde vais a cortar, ponéis en la Dremel un disco para materiales plásticos (me ha dado buenos resultados) y hacéis el corte. Os quedara algo asi:

Imagen

A continuación le damos la vuelta y nos preparamos para soldar. Fijaos en la parte de la placa que esta justo debajo de los conectores de los mandos. Veréis muy juntitos nueve puntos de soldadura. Cada punto de soldadura corresponde a una de las patillas del db9.

Imagen

Contando desde arriba a la derecha, podéis numerarlos del 1 al 9, siendo el 1 el superior derecho y el nueve el inferior izquierdo.

Estarán espejados con respecto al conector:

Imagen

Preparais 18 cables, 9 para cada mando, de la siguiente manera:

- Procurad que cada cable mida aproximadamente un palmo.

- Una de las puntas se va a soldar a los puntos, dejad el vivo corto.

- La otra punta llevara el conector faston o, si sois muy limpios, ira a una clema.

- Los conectores faston son demasiado grandes como para no molestarse entre ellos al conectarlos en el GPIO, reducidlos de tamaño con unos alicates y usad cinta aislante para evitar cortos entre ellos (irán MUY juntitos).

A continuación soldamos los cables a cada punto de soldadura por el vivo. Es una tarea delicada puesto que al estar tan próximos, si nos pasamos con el estaño vamos a necesitar un chupón o paciencia y gravedad. Aparentemente es un juego de críos para los soldadores experimentados, para mi fue un infierno porque solo he soldado puntos separados en proyectos anteriores y como soy un rata para las herramientas tengo un soldador malísimo que solo calienta por una esquinita.

Ahora tenéis que usar un polímetro o un destornillador mortal (esos que se usan para saber si llega corriente al enchufe... y si tocas el tope con la palma te quedas ahí) para ver que hay continuidad entre los pines del puerto y la punta del cable. Mirad también que no haya cortos, con cuidado de saber que hay dos pines (creo recordar que eran el 2 y el 5) que si que tienen continuidad. Desconozco el porque, pero en mi caso es así en ambos puertos y no he tenido ningún problema.

Si todo va bien, procedemos a echar pegamento caliente sobre las soldaduras y parte de los cables. Sed generosos pero tened cuidado. Una vez que volváis a poner la placa hay una rebaba de plástico justo debajo del puerto de mandos. Si os habéis pasado con el pegamento os toca usar una Dremel para dejar la rebaba pulida.

A continuación toca soldar cables en el interruptor y el botón de reset. En este ultimo algo he debido de hacer mal, porque no consigo que lo reconozca como botón, me tocara darle un repaso. En cuanto al interruptor es sencillo. Con la placa vuelta del revés y los puertos hacia vosotros, debajo del interruptor veréis tres puntos de soldadura (no confundir con los puntos de anclaje). Creo recordar que eran los dos primeros empezando por la izquierda, pero es bien sencillo de comprobar con un polimetro. Poned el interruptor en on (mirad en la caracasa la dirección correcta) y comprobad continuidad. Haced lo mismo en off y habréis identificado los puntos.

Por ultimo toca hacer un par de apaños mas. Para usar el led, vamos a reaprovechar el cable de conexión de la placa, pero solo el lado que da al led. El otro conector, el que esta pinchado en la placa, no es necesario. Con unos alicates de corte le pegáis un tajo al cable al ras del conector. A continuación soldáis una resistencia de 220 Ohmnios en el cable rojo, y lo rematáis con un cable acabado en un conector faston aislado. El cable blanco lo rematáis directamente con otro faston. En este caso use clemas, puesto que una vez montado es muy propenso a tirones.

Si queréis comprobar si el led funciona, conectad el cable rojo a un pin que de 3,3 V o 5 V en el GPIO y el cable blanco a masa. Al encender la Raspberry el led de la Mega debería iluminarse. Si no funciona intercambiad los cables, puesto que es habitual que tras el montaje el conector este conectado al led al revés.

Imagen

El cable de potencia va a sufrir un destino parecido. Lo primero es pegarle un corte, para a continuación llevárnoslo a una clema. En esa clema conectaremos por un lado uno de los cables soldados al interruptor y por otro un cable que ira a un conector de potencia de 2,1 mm. En mi caso esta era la medida puesto que el hub que alimentaba la raspberry tenia ese conector. El cable restante del interruptor ira también al conector. Con esto hemos creado un circuito de potencia controlado por el interruptor de la Megadrive. Conectaremos el jack de potencia a la toma de potencia del hub usb alimentado y la fuente original del hub a la toma de la megadrive. Si todo va bien podremos usar nuestro interruptor para dar potencia al hub, que a su vez se la dara a la Raspberry, funcionando de forma efectiva como ese interruptor que la Raspeberry deberia incorporar y no lo hace.

Haced algunas pruebas antes de seguir, por Dios, que luego da mucha rabia cuando todo son pegotes de pegamento:

Imagen

Con esto hemos acabado de trastear con la placa, así que la podemos fijar a la carcasa cuando la tengamos modificada.

Para comenzar la modificación, tenéis que buscar una distribución que os resulte cómoda en el interior de la Megadrive.

Imagen

En mi caso no tenia latiguillos pequeños de HDMI y USB, así que tuve que apañármelas como pude usando bridas e imaginación. Usando una Dremel me pulí la parte inferior del sistema de cerrado automático del slot de cartuchos para que entrara la Raspberry con todo su cableado. Ademas tuve que rebajar la muesca inferior de dicho slot, la rebaba que va debajo de los puertos de mandos y abri un buen agujero en la parte de las conexiones de vídeo para dejar al descubierto el hub USB y el conector HDMI hembra.

Imagen
Imagen
Imagen

Obviamente el agujero es... funcional. Tengo que usar masilla negra para dejarlo un poco mas bonito, así como pegamento caliente más algún bi-componente para asegurarme de que no se va a mover por mucho trote que le de. Es una de las piezas mas difíciles de asegurar, puesto que al poner o quitar los cables ejercemos una fuerza mecánica considerable sobre el conjunto, algo que por lo general no llevan muy bien los pegamentos que se basan en la cristalización. Probablemente use algo tipo mi-usos de Quilosa, que pega todo tipo de materiales. Tras 24 horas podria quitar las bridas de una vez por todas.

La raspberry se puede conectar por wifi, lo que deja los cables al mínimo, pero para configurarla por ssh es recomendable que uséis su puerto RJ45. Podéis sacar el cable por ese agujero misterioso que tiene la Mega en la parte trasera central, si no os importa tener un cable unido a la consola:

Imagen

A mi, personalmente, no me parece solución. Desconozco cuanta distancia habrá hasta el switch y desde luego no contribuye a seguir pensando que es una Megadrive. Para solucionarlo, tenéis que haceros con un conector de este tipo:

Imagen
Imagen

Después le hacemos sitio en el lateral de la Megadrive, justo en la ranura de expansión. Por mi distribución, lo he puesto pegado a la parte posterior de la consola.

Imagen
Imagen

Y ahora ya fabricais el latiguillo:

Imagen

Como podéis ver en la imagen, cometí el error de usar un latiguillo de dos pares, dado que la Raspberry esta limitada a Fastethernet y me parecía un gasto tonto de UTP. Para mi consternación, eso impedía que la consola se conectara bien con el switch, así que tuve que hacerme uno como dios manda con un cable Cat5e que tenia por aquí tirado:

Imagen

Una vez cerrada, la Megadrive ofrecerá este aspecto (siento lo del enfoque), donde podéis ver como queda accesible la ranura para MicroSD y la roseta RJ-45:

Imagen

Después es todo ponerse con una lima y rebajar la roseta hasta que la tapa cierre. Otra opción es encajarla un poco inclinada, de forma que la presión de la carcasa la siga manteniendo en su sitio pero no tengáis que limar:

Imagen

En mi caso eso produjo algunos tirones desagradables, asi que opte por limar. No os pongo una foto porque os asustáis. Tuve algunos problemas de conexión, pero por suerte para mi, al colocar con esta distribución la Raspberry, el puerto RJ-45 se quedo justo debajo del slot de cartuchos, con lo que pude comprobar que mi problema venia por falta de corriente al no hacer contacto el blanco-marron:

Imagen

Lo que se vea a través de esa tapa... procurad que sea algo útil.

Cuando hayáis acomodado todo en su interior, toca fijarlo bien y empezar con el conexionado de pines del GPIO. Usad algo que os permita identificar a que pin pertenece cada cable, dado que al darle la vuelta vais a tener un problemón. Yo use cinta de pintor que había por casa, dado que siempre que hago un proyecto por primera vez soy algo chapuzas. El resultado fue funcional y suficiente. Para conectar los pines vamos a seguir el esquema de https://github.com/RetroPie/RetroPie-Se ... 9_gpio_rpi :

Imagen

Seguiremos el de MD/Genesis Pad. Para elegir el tipo de mando que conectamos, ya sea la ensaimada de 3 botones, el mejor mando del mundo de 6 o el limitado pero matón de la Master System de 2, vamos a hacerlo a posteriori y por consola.

Por alguna razón no he sido capaz de hacer funcionar correctamente el botón de reset de la Megadrive con el GPIO. Eventualmente tendré que poner otro botón, y así entre otras cosas podre usarlo de pausa cuando enchufe los mandos de la Master. Una opción (cutre) seria usar un par de cables pelados y unirlos con una pulsación del reset, pero ni siquiera yo me puedo permitir ese tipo de chapuzas.

El conexionado con nuestros conectores custom debería de quedar así:

Imagen

En mi caso, allí donde no había presión se acababa saliendo todo. Una opción es, una vez nos aseguremos de que todo funciona, usar pegamento caliente para evitar problemas. Ahora bien, eso implica que la Pi ya no se usara para otra cosa, que los GPIO que no se usan quedan inutilizados y que somos mas cutres que la madre que nos pario. Lo dejo en vuestras conciencias, pero yo acabe usando cinta aislante para unir los cables en racimos y luego rodee todos los contactos como si fueran uno solo. No se ha vuelto a salir nada.

Por ultimo, y para terminar la parte hardware (ya iré poniendo alguna modificación más) nos quedaría darle funcionalidad a la salida de audio. Con esto también le vamos a dar una salida de vídeo compuesto, pero todavía no he llegado a ese paso de modificación porque me faltan algunos cables, así que de momento os explico como lo he hecho.

Se que es posible usar el control de volumen de la mega para subir o bajar el volumen, sin embargo y tras hacer unas pruebas, se metía demasiado ruido en el circuito. No descarto hacerlo en el futuro, pero de momento lo vamos a dejar así.

Para empezar necesitaremos un cable de audio y vídeo compuesto a jack, como los que vienen con las cámaras de vídeo, con la particularidad de que ese no vale. En la pagina de la Raspberry podéis ver cual es el adecuado.

Imagen

Fijaos que he conectado unos splitter. El objetivo es que la consola tenga una salida RCA posterior para conectarla a televisiones de tubo y ademas el jack de audio frontal también funcione, de forma que podamos jugar sin despertar a los niños.

Si tenéis una Raspberry Pi 1, ya sea la A, la B o la B+, tiene una salida de vídeo compuesto y una de audio por separado, de forma que para el audio necesitareis esto:

Imagen

Independientemente de la que tengáis, vais a necesitar uno de estos últimos adaptadores RCA - Jack para el audio. Fijaos en la parte trasera de la pieza de conexión del jack:

Imagen

Las bolas gruesas de los lados son el canal izquierdo y derecho (da igual el orden de soldadura, al usar un adaptador podemos intercambiar los cables) y el central es para soldar la malla.

Cortamos el jack del adaptador, pelamos los cables y hacemos la soldadura:

Imagen

A los que soldáis para ganaros la vida: salid a tomad el aire. Siento el daño que estoy haciendo a vuestro pobre cerebro. No os merecéis ver esta porquería.

Hacemos una prueba de audio y, si funciona, echamos pegamento caliente sobre las soldaduras y para casa. En este caso sed MUY PARCOS en pegamento. La pieza tiene un tamaño casi perfecto para encajar, de forma que no podemos pasarnos con el pegote. Ademas podemos pasar los cables por debajo de la placa antes de soldar, de forma que tirando de ellos se recoja la pieza:

Imagen

Bueno, este es look definitivo del interior de nuestra consola (sin el latiguillo RJ-45 conectado dado que va unido a la parte superior):

Imagen

Veréis que el led también esta desconectado. Eso era porque necesitaba hacerle algo a la parte superior. Cuando pato me vendió la Mega, me paso unas fotos en las que se apreciaba que había sido rescatada de las ruinas de una antigua ciudad sitiada por ISIS. El polvo del desierto se había colado por todas y cada una de las ranuras, los tornillos estaban oxidados y los botones no iban finos. Sin embargo le dije que no pasaba nada, porque tenia Pronto (marca registrada), con el que podéis hacer que resucite:

Imagen
Imagen
Imagen

Ahora que ya parece una consola salida de fabrica, podemos unir el led, conectar el latiguillo y cerrar la tapa. Como habéis visto, quite las protecciones de metal, de forma que si acercáis un móvil y tenéis conectado el audio por el jack frontal, tiende a acoplarse. La placa frontal se asegura a la carcasa inferior usando los agujeros de tornillo que aun le queden, por eso tenemos que cortar con cabeza. Cuando cerremos la tapa, solo seis tornillos serán la diferencia entre una Megadrive y un desastre, aseguraos que al cerrar no tapáis el agujero interno de los mismos, puesto que puede pasar desde que no cierre hasta que hayáis destrozado un cable de alimentación o de vídeo.

Este es el resultado una vez esta todo conectado:

Imagen

La conexión de red sera solo para configuración remota, descarga de actualizaciones, caratulas y descripciones, así como temas y juego en red. No lo he puesto, pero obviamente podéis configurar y conectar un usb wifi y ahorraros este paso. En mi caso quiero que eventualmente la Raspi sea también un mediacenter, así que voy a necesitar FastEthernet para conectarlo al servidor de pelis.

Ojo, os prometo que si hago funcionar el juego en red, dejare levantado cada cierto tiempo un servidor para echar unas megapachangas.

2.- SOFTWARE

Bueno, ahora que tenemos nuestro hardware preparado, le llega el turno al software.

En mi caso me he decidido por Retropie. Es una distribución de Debian que viene con EmulationStation como frontend para los emuladores, Retroarch para casi todo y una serie de drivers y herramientas muy útiles, que permiten hacer casi todo sin tener que conectar un teclado.

La podeis encontrar en http://blog.petrockblock.com/retropie/r ... downloads/

Bajos la que corresponda a vuestra versión de la Pi. Para grabarla necesitamos conectar nuestra tarjeta de memoria al PC y usar el programa Win32DiskImager. Es sencillo de utilizar, solo elegimos la letra de unidad de la tarjeta, la imagen y le damos a grabar. Al terminar arrancara automáticamente al conectarla a la Raspi.

Ahora solo queda seguir una serie de pasos para configurarla. Para ello, podéis conectar un teclado a la Pi, salir de EmulationStation y trabajar en consola conectados al televisor por HDMI, o bien usar un programa como Putty, conectaros por SSH a la IP de vuestra Pi (hay una opción en uno de los menús de EmulationStation para ver la IP) y usar como usuario y contraseña pi/raspberry.

Imagen

Por un lado u otro, llegareis a esta shell:

Imagen

Lo primero que haremos es meter estos dos comandos:

sudo apt-get update

sudo apt-get upgrade


No los he enlazado con ampersans para poder revisar tranquilamente el output de cada uno. Cuando terminen (respondiendo "y" cuando lo pidan) tendremos la ultima version de Retropie. Es un paso obligatorio para el siguiente. Metemos estos dos comandos:

Imagen

Nos aparecerá esta pantalla:

Imagen

Escogemos la tercera opción "Setup..." y veremos la siguiente pantalla:

Imagen

De aquí nos interesa la primera opción para elegir si sacamos el audio por el HDMI o el Jack de audio. Se que es posible sacarlo por ambos, pero para eso necesitaremos hacer algunos ajustes de forma manual, sin script de por medio.

Pero la opción mas importante, la que nos dará funcionalidad a los mandos de la Megadrive, es la numero "08 Gamecon & db9 drivers". Una vez escogida, comenzara la instalación:

Imagen

Una vez finalizada, procedemos a cargar el driver en memoria para probarlo (no hagáis caso al ultimo comando):

Imagen

Ese 6,6 del final del comando indica el tipo de mando que vais a conectar en el conector de la Megadrive para cada jugador.

6 es el mando de 6 botones.

4 es el mando de 3 botones.

2 es el mando de la MasterSystem.

De forma que si el comando que meto es "sudo modprobe --first-time db9_gpio_rpi 6,4" le estoy diciendo que en el puerto 1 meteré un mando de 6 botones y en el puerto 2 uno de 3.

Con esto reiniciais EmulationStation (menu de ES, salir y esperáis cinco segundos sin tocar ningún botón) o lo volvéis a lanzar escribiendo "emulationstation" en la consola.

Os aparecerá el menú automático de configuración de mandos. Tened en cuenta que la distribución es la del mando de PSX/SNES, de forma que cuando os pida:

Botones direccionales -> los del mando

Start -> el del mando

A -> pulsáis "C"

B -> pulsáis "B"

X -> pulsáis "Y"

Y -> pulsáis "A"

Select -> pulsáis "Mode"

Lower Left Bumper (o algo asi) -> pulsáis "X"

Lower Right Bumper (o algo asi) -> pulsáis "Z"

Y en el resto de botones mantenéis apretado un botón cualquiera para ignorarlo. Configuráis el segundo mando y salís del menú ("C" es aceptar y "B" es cancelar).

Ahora podéis usar el mando para acceder al menú "Retropie", donde podemos configurar todo y lanzar los scripts de setup sin necesidad de usar un teclado (siempre que no requiera escribir algo).

Para que el driver se cargue al inicio, vamos a la shell otra vez y escribimos:

sudo nano /etc/modules


Lo dejamos así:

Imagen

Y pulsamos Ctrl+O seguido de Ctrl+X.

Ahora cada vez que reiniciemos, tendremos ya nuestro driver cargado y nuestro mando configurado. Sin embargo hay algunos emuladores que nos van a dar problemas, como los de Mame, puesto que el boton asignado a "Menu" no lo tenemos en el mando de 6 botones y no podemos configurar los controles. Para solucionarlo hay que lanzar un juego de Mame con el teclado conectado, pulsar Tab y ahí ya cambiar la configuración.

Podemos usar combinaciones de botones, de forma que os recomiendo las que vienen por defecto en los emuladores que usan Retroarch:

mode + start -> sale del emulador a emulationstation

mode + Y -> menu del emulador (para cargar shaders, cambiar botones... etc)

mode + Z -> savestate

mode + Z -> loadstate

mode + A -> soft reset

Si recuerdo alguno mas os lo voy poniendo. El caso es que esto solo afecta a Advmame, imame4all y aquellos emuladores que no usen Retroarch.

En casos como el Mupen64, el core del emulador independiente (que no viene con Retroarch) es mucho mejor que el que viene de serie. Para cambiar con que emulador ejecutamos que juego, pulsad el botón "0" de vuestro gamepad durante la carga de cualquier juego. Como no se que botón es el "0", tiendo a pulsar los seis y me aparece el menu.

Ahí podéis usar la primera opción para cambiar el core, siendo los que empiezan por "lr-" parte de Retroarch y los que no independientes. La ventaja de usar los de Retroarch es que la configuración de botones no da problemas al ser acorde a la de EmulationStation y ser la misma para todas las plataformas.

Una vez en Retroarch os recomiendo que carguéis el shader "snes", el que viene a secas. Difumina la imagen para que parezca salida de un televisor de tubo y, por todos los Dioses, es igualita a lo que yo recordaba de la Megadrive (por fin).

Ahora para terminar, vamos a meter los malditos juegos en la Raspberry. Para ello vamos a volver a salir al menú de consola y lanzar el siguiente comando:

sudo raspi-config


Entraremos a la siguiente pantalla:

Imagen

Y escogemos:

1.- Expand Filesystem: para llenar todo el espacio libre disponible de nuestra SD, de forma que la partición de Retropie la ocupe por completo.

7.- Overclock: para darle un puntillo extra de potencia a nuestra Pi. Escoged "Pi2" si tenéis una Raspi2 o "Modest" si tenéis una 1. Si tenéis disipadores, podéis tiraros a la piscina por supuesto.

8.- Advanced options: aquí escogeremos "Memory Split" escribiendo "256" si tenemos una B+ o "512" si tenemos una RPi2.

Con esto hemos terminado la configuración previa. Para meter los juegos tenemos dos opciones:

1.- En la tarjeta SD

Tenéis una SD enorme o muy pocos juegos, de forma que queréis meterlos aquí. No lo recomiendo, puesto que acelera el proceso de corrupción de la tarjeta, pero es una opción.

Para meterlos es bastante sencillo, solo tenéis que acceder a "Red" en un equipo Windows conectado a la misma red que la Raspberry y veréis la ubicación remota "Retropie". Otra opción es lanzar la ventana "Ejecutar..." con tecla de Windows + R y escribir "\\Retropie".

En la carpeta "roms" es donde meteréis los juegos y en la carpeta bios las bios. La de MegaCD es "bios_CD_E.bin" (U o J para la japonesa), la de PSX "SCPH1001.bin" y la de NeoGeo "neogeo.zip". No se si me dejo alguna, pero ya iré cambiando este post según tenga problemas.

Las roms están organizadas por carpetas para cada sistema. No cambiéis el nombre. Podéis añadir subcarpetas para organizarlas por letra, fabricante, top10 o lo que queráis.

Cada vez que reiniciáis EmulationStation, este busca nuevas roms en las carpetas y muestra en pantalla los emuladores a los que podemos acceder en consonancia. Es posible que si metéis demasiados sistemas EmulationStation empiece a fallar y aparezca una pantalla blanca, o no funcionen los emuladores. Para solucionarlo podemos eliminar aquellos sistemas que no nos interesen (veréis como en el punto siguiente) o usar un tema de ES que no tenga una imagen para cada sistema. Este problema surge al precargar demasiadas imágenes de cada consola, por lo que no tiene solución fácil aparte de las que ya he dicho.

2.- Por USB

Esta es la mejor solución, especialmente si vais a meter un ISO set completo de PSX. Para ello vamos a la consola y escribimos:

sudo cp /etc/emulationstation/es_systems.cfg /etc/emulationstation/es_systems.cfg.bak


Con esto hacemos un backup por si las moscas. Escribimos:

sudo nano /etc/emulationstation/es_systems.cfg


Y aparece la siguiente pantalla:

Imagen

Aquí podéis puliros los sistemas que no queráis (borrando desde <system> hasta </system>, tags incluidos) o lo que nos interesa, cambiar la ruta.

Para ello sustituid el contenido del tag <path> por el de la carpeta del usb en el que tengáis las roms de vuestro sistema. En mi ejemplo es:

/media/usb0/roms/Amiga


Sin espacios y sin terminar el directorio final con "/".

Tened en cuenta que "/media/usb0/" es la raíz de vuestro USB extraible. Puede que no sea usb0, para ello probad a hacer:

cd /media/usb0
ls


Y si veis el contenido del usb, vamos por el buen camino. En caso contrario habría que averiguarlo y es un poco mas complicado. No voy a poner como, pero si a alguno os ocurre os echare una mano y actualizare el post.

Sustituid todos los sistemas que tengáis y cuando hayáis terminado metéis un Ctrl+O y Ctrl+X por ese orden.

Es posible que os hayáis cargado algún tag y EmulationStation no funcione. Para saberlo tenéis que cargar ES, dejar que os de el fallo, volver al archivo de configuración y revisarlo. Si estáis accediendo por SSH podéis mostrar el texto completo con:

sudo cat /etc/emulationstation/es_systems.cfg


Y luego usando el ratón copiarlo en Notepad++ que tiene un revisor de XML.


3.- FINAL

Con esto habremos terminado de hacer todo. Hay alguna cosilla mas que podemos hacer, como instalar Kodi para tener un media-center, limelight para hacer streaming de juegos desde el PC, dxx-rebirth para jugar al port del Descent, yabause para jugar a la Saturn, reicast para hacer lo propio con la Dreamcast (en una Pi... xD) o versiones optimizadas de PCSXreARMed o Mupen64 que nos darán unos FPS extras.

Ademas podéis conectar en cualquier momento pads usb como el Buffalo, los de N64, los adaptadores MayFlash de Classic Controller o lo que tengáis por ahí. A excepción del mando de 360, que solo funciona tras instalar un driver (ultima opción del submenu "Setup", que es la tercera opción del menú "retropie_setup.sh") todos funcionan automáticamente.

El resultado final lo podéis ver en este vídeo (lo siento por la calidad del vídeo y el audio, soy un negado):

https://www.youtube.com/watch?v=DSTjcQOpoIk

4.- FIXES VARIOS

4.1.- Problemas de slowdowns con un disco duro

Una de las primeras cosas que me han ocurrido, es que al cargar las isos de PSX desde el disco duro USB he notado bajones de frames y problemas con el audio. En principio pensé que serian problemas de configuración del emulador e incluso he configurado una versión standalone del pcsx-rearmed. Sin embargo resulta que el problema no tenia nada que ver.

Para empezar aparecía esto en pantalla:

Imagen

Una especie de cuadro de colorines en la esquina superior derecha. Al principio pensé que seria el indicador de acceso a USB, ya que coincidía con el led del disco duro. Sin embargo, buscando información para quitarlo, resulta que es un indicador de voltaje insuficiente.

Si queréis resolverlo, primero tenéis que estar muy seguros de que no tenéis problemas de alimentación en la consola. Si es así, añadid la siguiente linea en /boot/config.txt

avoid_warnings=2


Esto deshabilita el avisador y ademas evita que se anule el overclocking cuando hay problemas de voltaje. El resultado es un sistema mas inestable pero que no tiene ni un solo slowdown producido por una mala configuración.

Cargad el SO desde un USB si no queréis tener corrupción de datos cada dos por tres.


4.2.- No puedo usar el mando a distancia de la tele para manejar Kodi

Si habéis instalado Kodi desde los paquetes experimentales (próximamente os explicare como instalarlo y lanzarlo desde el menú) os habreis dado cuenta de que el sistema CEC que permite usar el mando a distancia de la tele para manejar Kodi, no funciona.

Para solucionarlo, salid a una shell o conectaos por SSH y escribid:

sudo apt-get install libcec1 libcec2


Tras reiniciar la consola y entrar en Kodi, podreis usar vuestro mando exactamente igual que con OpenElec.

4.3 - Scripts varios de configuración para hacer funcionar el boton reset y los diversos mandos db9

/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)



5.- FINAL WORDS

Aquí tenéis un vídeo del invento funcionando:

http://youtu.be/wQc6yfqUQtA

Dudas, preguntas y sugerencias las que queráis.

Gracias a @ffantasy6 por venderme la Megadrive (y el SF2, que me entretuvo a muerte durante el proceso de creación).
@Shikamaru , todo depende de que juegos se van a jugar en ese sistem. Si esos juegos tienen cabida ene se subforo, lo lógico sería que estuviese aquí. Si por el contenido , no fuese así, ya se podría mover a otro subforo (como consolas alternativas)
salvor70 escribió:@Shikamaru , todo depende de que juegos se van a jugar en ese sistem. Si esos juegos tienen cabida ene se subforo, lo lógico sería que estuviese aquí. Si por el contenido , no fuese así, ya se podría mover a otro subforo (como consolas alternativas)


Pues... lo cierto es que viéndolo así se tiene que quedar en clásicas. Todo lo que se va a jugar pertenece al pasado o en algunos casos si que se pueden usar juegos indie que tiren en Linux, pero mayormente clásicos.

Gracias!
Shikamaru escribió:Pues... lo cierto es que viéndolo así se tiene que quedar en clásicas. Todo lo que se va a jugar pertenece al pasado o en algunos casos si que se pueden usar juegos indie que tiren en Linux, pero mayormente clásicos.

Gracias!


De nada hombre, para eso estamos.

PD-Si quieres que el hilo tenga más repercusión, siempre puedes ponerlo en tu firma. [oki]
Edito: ya veo que lo tienes. ;) así también lo verán en multi.
Hola. Que pasada. Enhorabuena, me encanta. Que currada, tanto del hilo como del proyecto.
Siempre he pensado que la MD es la consola mas bonita de la historía, asi que sin duda, para mi has hecho la elección perfecta.

Me encanta leer un hilo como este. Yo votaría a que estuviera con chincheta para que nunca bajase. No conocía el software utilizado, y tambien me resulta de mucho interés.

Muchas gracias y enhorabuena de nuevo.

Un saludo.
aranya escribió:Hola. Que pasada. Enhorabuena, me encanta. Que currada, tanto del hilo como del proyecto.
Siempre he pensado que la MD es la consola mas bonita de la historía, asi que sin duda, para mi has hecho la elección perfecta.

Me encanta leer un hilo como este. Yo votaría a que estuviera con chincheta para que nunca bajase. No conocía el software utilizado, y tambien me resulta de mucho interés.

Muchas gracias y enhorabuena de nuevo.

Un saludo.


Hola! Gracias!

La Megadrive fue mi primera consola y cometí el error de tirarla en una mudanza cuando era un adolescente. Ahora que soy papá he querido hacer este proyecto a modo de legado de mi infancia consolera para las nuevas generaciones, por lo que a modo de homenaje escogí la Megadrive para alojar "el cerebro de la bestia".

Gracias de nuevo!
Yo tengo en mente hacer algo parecido con una PSX original, compré una en el rastro pero cómo funciona me da "cosa"... ya lo intenté en octubre con una Super Famicom... y despues me compré juegos y ahí esta... xD

Un curro si señor! pero... sobra algo de cable ahí dentro [+risas] [+risas] [+risas]

Me guardo el hilo para futuras consultas ;)
DiGiCharatFan escribió:Yo tengo en mente hacer algo parecido con una PSX original, compré una en el rastro pero cómo funciona me da "cosa"... ya lo intenté en octubre con una Super Famicom... y despues me compré juegos y ahí esta... xD

Un curro si señor! pero... sobra algo de cable ahí dentro [+risas] [+risas] [+risas]

Me guardo el hilo para futuras consultas ;)


Me paso lo mismo con una Megadrive que me trajeron de un Cash de Londres. Como funcionaba... pues le hice el region mod y ahi esta dando guerra. Esta vez tenia que asegurarme de que no estaba haciendo un retricidio.

Si que sobra si.. y me ha dado problemas. El caso es que el día que encuentre cables mas cortos quedara todo mas limpio, pero no te creas, le da peso a la consola y parece que tienes entre manos algo caro de la leche.
No te lo tomes a mal... pero... desde mi punto de vista "matar" una megadrive solo para que parezca una megadrive... yo me habría construido una carcasa a medida y listo pero habría dejado esa megadrive libre en el cambo o haberla llevado a un centro de acogida.. un minuto de silencio por esa megadrive [triston]
Ketk escribió:No te lo tomes a mal... pero... desde mi punto de vista "matar" una megadrive solo para que parezca una megadrive... yo me habría construido una carcasa a medida y listo pero habría dejado esa megadrive libre en el cambo o haberla llevado a un centro de acogida.. un minuto de silencio por esa megadrive [triston]


Lo se, pienso exactamente igual, por eso el requisito era conseguir una Megadrive rota. Pato me vendió la suya que tenia el chip gráfico quemado mas allá de toda reparación. La única opción para arreglarla era conseguir una donante... y eso hubiera dejado otra Megadrive muerta.

El objetivo era darle una segunda vida, en memoria de la Megadrive que tire cuando solo era un adolescente hormonado.
Por cierto, guarda ese Z80, nunca sabes cuando vas a necesitar uno para reparar algo... XD
DiGiCharatFan escribió:Por cierto, guarda ese Z80, nunca sabes cuando vas a necesitar uno para reparar algo... XD


Buenísima idea. Tenia pensado también hacer algo con el Yamaha Y2612, así que tengo la placa como oro en paño.
Ketk escribió:No te lo tomes a mal... pero... desde mi punto de vista "matar" una megadrive solo para que parezca una megadrive... yo me habría construido una carcasa a medida y listo pero habría dejado esa megadrive libre en el cambo o haberla llevado a un centro de acogida.. un minuto de silencio por esa megadrive [triston]


Opino lo mismo, sino que aún más, debería darte vergüenza haber mutilado una md para hacer eso, hay muchos clones de nes que se prestan a eso, pero una md... Debería estar penado por ley.

La idea, en si, muy bien.
Me quito el sombrero, te ha qedado de lujo!
Cuanto tiempo has tardado en realizar elproyecto?
carchuli escribió:Me quito el sombrero, te ha qedado de lujo!
Cuanto tiempo has tardado en realizar elproyecto?


Aproximadamente una semana y media, quizás dos.

Lo que menos se llevo fue el proceso de corte y rebaje, tenia la Dremel hecha polvo y tuve que hacerlo del tirón en una tarde.

Sin embargo el tema de cableado, soldadura y de abrir y cerrar sin parar para ir solucionando errores de conexión o añadidos es lo que mas se ha tirado.

Luego el software, gracias a la comunidad de la Raspi, ha sido bastante trivial.
Joder que largo, me espero al BluRay.


Enhorabuena, que trabajazo. [beer]
Shikamaru escribió:
carchuli escribió:Me quito el sombrero, te ha qedado de lujo!
Cuanto tiempo has tardado en realizar elproyecto?


Aproximadamente una semana y media, quizás dos.

Lo que menos se llevo fue el proceso de corte y rebaje, tenia la Dremel hecha polvo y tuve que hacerlo del tirón en una tarde.

Sin embargo el tema de cableado, soldadura y de abrir y cerrar sin parar para ir solucionando errores de conexión o añadidos es lo que mas se ha tirado.

Luego el software, gracias a la comunidad de la Raspi, ha sido bastante trivial.


Gracias :)
Ahora a disfrutarla!
Pasaba para agradecerte la recomendación que me hiciste en el otro hilo y para felicitarte por el trabajo que te mandaste, increíble, IN CRE Í BLE!!! [plas] [plas] [plas]


Una pregunta, no existe algún adaptador usb para colocar los mandos antiguos, en vez de tener que soldar todos esos cables???
Pedazo de curro, menuda pasada, no veas como mola, que sepas que me guardo la pagina en favoritos, porque mas adelante con tiempo me hare una igual.

RiversideBlack escribió:Una pregunta, no existe algún adaptador usb para colocar los mandos antiguos, en vez de tener que soldar todos esos cables???

Yo me compre hace tiempo adaptadores de mega drive a USB, y de PSX a USB, en cualquier pagina china tienes que tenerlos.
RiversideBlack escribió:Pasaba para agradecerte la recomendación que me hiciste en el otro hilo y para felicitarte por el trabajo que te mandaste, increíble, IN CRE Í BLE!!! [plas] [plas] [plas]


Una pregunta, no existe algún adaptador usb para colocar los mandos antiguos, en vez de tener que soldar todos esos cables???


Gracias!

Pues si, si que existe. El problema en particular de la Megadrive es que el adaptador es uno de los menos comunes del mercado (para comprarlo en España) y de los que mas problemas da. Te encuentras desde el tio que le va de lujo en su Raspberry hasta el que ha perdido la cordura intentando configurarlo.

Y claro, también esta el asunto del factor estético. Por ejemplo, hubiera sido mas sencillo reemplazar los puertos db9 de la Megadrive por dos alargadores USB, de forma que puedas utilizar la versión USB de los pads de Hyperkin, que son exactamente (pero exactamente oiga) iguales que los db9.

Pero de esta forma puedo usar cualquier pad de Megadrive y Mastersystem que tengo por casa, utilizo las ranuras de puerto originales (que tendría que haber modificado) y probablemente me hubiera quedado sin poder añadir el uso del botón de encendido, reset y el puerto de audio.

Y por supuesto, vista de frente engaña a cualquiera! xD

Pero si, se pueden usar adaptadores. De hecho, en vídeos sucesivos quería mostrar como se pueden usar adaptadores de PSX y Gamecube de forma nativa.

thx @Seco y @FFantasy6
jugar a un juego de nintendo en una megadrive que aberracion!!

jajaja enhorabuena por el curro y que la disfrutes.
Buen trabajo, aunque no me gustaraspberry, mola el trabajo con el gpio.

Muy bueno, si señor
Ahora que veo este proyecto, alguno ha probado uno de estos:

Imagen

Se podría meter en alguna carcasa un minipc con esto y tener un híbrido de SNEs/MD con cartuchos y mandos originales no?
@tuviello

Pero... ¿Eso no es ya en si una carcasa con adaptadores para cartuchos y mandos originales?

¿Que le quieres añadir? ¿Te refieres a hacerte una consola custom con un retro ordenador... que ademas cargue juegos originales?
Shikamaru escribió:@tuviello

Pero... ¿Eso no es ya en si una carcasa con adaptadores para cartuchos y mandos originales?

¿Que le quieres añadir? ¿Te refieres a hacerte una consola custom con un retro ordenador... que ademas cargue juegos originales?


Exacto. Desmontar ese adaptador para distribuirlo de otra manera y con un mini pc hacer un híbrido.
tuviello escribió:
Shikamaru escribió:@tuviello

Pero... ¿Eso no es ya en si una carcasa con adaptadores para cartuchos y mandos originales?

¿Que le quieres añadir? ¿Te refieres a hacerte una consola custom con un retro ordenador... que ademas cargue juegos originales?


Exacto. Desmontar ese adaptador para distribuirlo de otra manera y con un mini pc hacer un híbrido.


Necesitarías un slot de cartuchos lo suficientemente grande para poder acceder a los de cada consola, como el que tiene la MasterSystem 2.

Por otro lado, un espacio frontal considerable para los conectores de los mandos, como el de la MasterSystem 1 (aunque en la 2 cabrían los de SNES uno a cada lado de los db9, y podrías usar alargadores de conector para no tener que desmontar o desoldar el adaptador).

Luego necesitarías usar latiguillos cortos para las conexiones o hacerte minicables a base de soldar.

Podrías usar una breadboard para duplicar las salidas GPIO, conectando los mandos de SNES y Megadrive mediante un puente con un interruptor, tanto para elegir el tipo de mando conectado al GPIO como para elegir entre MicroPC y RetroFrankestein.

Si, la Master2 debería de darte esa versatilidad. Su altura interior ademas te ayudaría a disimular el cableado de los alargadores.
Se estudiará. LA verdad que este tipo de mods me vuelven loco xD
Acojonante. Gran curro, si señor!

Una cuestión con respecto a la Raspi 2: yo hice mi proyecto de fin de carrera con la versión B de la Raspi 1. Llevaba el micro de la RPi hasta el límite (accedía directamente al chip de sonido desde mi código fuente, en el cual había rutinas implementadas directamente en ensamblador... durante la mayor parte del tiempo, estaba por encima del 80% de rendimiento XD), además de que también la tenía bastante encapsulada, como es tu caso, y la cosa es que, si le daba un uso continuo (digamos... más de 1 hora) la Raspi se reiniciaba automáticamente por exceso de temperatura. ¿Has probado a jugar mucho tiempo seguido a juegos de PSX/N64? Con lo que deben exprimir el hardware, no me extrañaría que te ocurriera lo mismo, a no ser que en este nuevo modelo, la mejora de rendimiento permita a la Raspberry ir más descargada.
christian14 escribió:Acojonante. Gran curro, si señor!

Una cuestión con respecto a la Raspi 2: yo hice mi proyecto de fin de carrera con la versión B de la Raspi 1. Llevaba el micro de la RPi hasta el límite (accedía directamente al chip de sonido desde mi código fuente, en el cual había rutinas implementadas directamente en ensamblador... durante la mayor parte del tiempo, estaba por encima del 80% de rendimiento XD), además de que también la tenía bastante encapsulada, como es tu caso, y la cosa es que, si le daba un uso continuo (digamos... más de 1 hora) la Raspi se reiniciaba automáticamente por exceso de temperatura. ¿Has probado a jugar mucho tiempo seguido a juegos de PSX/N64? Con lo que deben exprimir el hardware, no me extrañaría que te ocurriera lo mismo, a no ser que en este nuevo modelo, la mejora de rendimiento permita a la Raspberry ir más descargada.


Pues... no. Y ahora que lo dices si que he notado que la parte superior de la Megadrive coge calor. Debería de, como mínimo, comprar unos disipadores y colocárselos. También le puedo poner un ventilador que se encaje en el lateral, de modo que saque el calor residual por la ranura de expansión.
En grap parte, supongo que por eso la mayoria de consolas llevan esas placas metalicas para disipar mejor el calor y que no se concentre en una parte de la carcasa

Me estan entrando ganas de continuar con el proyecto de la PSX con PI, lastima que las que tenia localizadas en C/V o estan vendidas o el vendedor baneado... XD

PD: [ginyo] [ginyo] [ginyo]
DiGiCharatFan escribió:En grap parte, supongo que por eso la mayoria de consolas llevan esas placas metalicas para disipar mejor el calor y que no se concentre en una parte de la carcasa

Me estan entrando ganas de continuar con el proyecto de la PSX con PI, lastima que las que tenia localizadas en C/V o estan vendidas o el vendedor baneado... XD

PD: [ginyo] [ginyo] [ginyo]


¿Sabes lo curioso? Pensaba que en el caso de la Megadrive el aislamiento era una exageración, algo que no tenia mucho sentido, así que lo quite.

Nada mas lejos de la realidad, ayer estaba probando juegos con los cascos conectados al jack de audio cuando de repente me llamaron al móvil, que estaba a unos centímetros de la consola.

El horrible sonido de principios de década del móvil acoplándose a unos altavoces se multiplico a unos niveles poco seguros para la salud del canal auditivo. Vamos, que me caí de culo y me puse nervioso intentando quitarme los cascos de la cabeza. Mi hijo se puso a llorar y todo del susto.

Hay un ingeniero en Japón riéndose ahora mismo de mi.
Shikamaru escribió:
christian14 escribió:Acojonante. Gran curro, si señor!

Una cuestión con respecto a la Raspi 2: yo hice mi proyecto de fin de carrera con la versión B de la Raspi 1. Llevaba el micro de la RPi hasta el límite (accedía directamente al chip de sonido desde mi código fuente, en el cual había rutinas implementadas directamente en ensamblador... durante la mayor parte del tiempo, estaba por encima del 80% de rendimiento XD), además de que también la tenía bastante encapsulada, como es tu caso, y la cosa es que, si le daba un uso continuo (digamos... más de 1 hora) la Raspi se reiniciaba automáticamente por exceso de temperatura. ¿Has probado a jugar mucho tiempo seguido a juegos de PSX/N64? Con lo que deben exprimir el hardware, no me extrañaría que te ocurriera lo mismo, a no ser que en este nuevo modelo, la mejora de rendimiento permita a la Raspberry ir más descargada.


Pues... no. Y ahora que lo dices si que he notado que la parte superior de la Megadrive coge calor. Debería de, como mínimo, comprar unos disipadores y colocárselos. También le puedo poner un ventilador que se encaje en el lateral, de modo que saque el calor residual por la ranura de expansión.


Si la parte superior de la Mega coge calor... imagínate como esta el SoC XD los disipadores específicos para RPi no valen nada. Si te cabe, yo le pondría uno, seguro que hay chinos que los venden a euro el saco [carcajad]

Verás, que no va a pasar nada, ya te digo que la Raspberry se apaga automáticamente si detecta exceso de temperatura. Lo único malo es que, al menos la versión que yo tengo (con Raspbian) es bastante propensa a corromper los datos de la SD cuando se apaga por métodos "no convencionales", por así llamarlos. Y es una putada como no tengas un backup hecho jajaja
christian14 escribió:Si la parte superior de la Mega coge calor... imagínate como esta el SoC XD los disipadores específicos para RPi no valen nada. Si te cabe, yo le pondría uno, seguro que hay chinos que los venden a euro el saco [carcajad]

Verás, que no va a pasar nada, ya te digo que la Raspberry se apaga automáticamente si detecta exceso de temperatura. Lo único malo es que, al menos la versión que yo tengo (con Raspbian) es bastante propensa a corromper los datos de la SD cuando se apaga por métodos "no convencionales", por así llamarlos. Y es una putada como no tengas un backup hecho jajaja


Me caben, me caben, y ya veo que valen una migaja, un euro por dos disipadores.

Ahora solo tengo que sumar cosas para hacer el pedido por Amazon. Tenia ganas de pillarme Armada, de Ernest Cline, así que ya tengo una excusa para pedirlos.

He seguido trabajando en ella, quitando las bridas de las conexiones traseras y usando pegamento caliente para fijarlas. Se supone que el pegamento caliente al solidificar añade resistencia mecánica a la "soldadura", de forma que por mucho que quite y ponga conectores no debería de darme problemas. Han quedado un poco metidas, algo que ya me dio dolores de cabeza al no terminar de hacer contacto el HDMI, pero parece que están en el limite del bien y del mal.

Luego sera cosa de, una vez terminado todo, usar masilla negra para taparlo y darle una pintura negra uniforme.

Solo le quiero añadir la salida RCA trasera y en todo caso un USB interno con el romset. De usar el control de volumen para el jack de audio me puedo olvidar. Entre que me pase cortando y que me entretuve cargándome condensadores...

Quiero tener de todas formas listo un video con la Dreamcast, la Saturn y el Jedi Academy funcionado.
DiGiCharatFan escribió:En grap parte, supongo que por eso la mayoria de consolas llevan esas placas metalicas para disipar mejor el calor y que no se concentre en una parte de la carcasa

Me estan entrando ganas de continuar con el proyecto de la PSX con PI, lastima que las que tenia localizadas en C/V o estan vendidas o el vendedor baneado... XD

PD: [ginyo] [ginyo] [ginyo]


Yo tengo una PSX rota, si la quieres te la regalo :)

Y @Shikamaru pedazo de curro, un poco guarrete el apartado bricomania pero se compensa con tus saberes técnicos de soft :p

Por cierto yo tengo dos 2 Rpi 2 mas y les tengo puestas disipadores de cobre de pc, los corté a medida y pasta disipador con 1 gotita de superglue y van perfectos.

Si quieres te mando varios.
Se agradece @ditifet, si eso lo hablamos por MP, gracias :)
La hostia menos maaaal!! Llevo mucho pensando hacer esto pero me frenaba mi nula experiencia con RP2, y veo que lo has hecho justo como pensaba, solo que quizas lo hago con otra carcasa. Una cosa que me gustaria es lo de las caratulas de los juegos, en otros video las he visto no se si es facil o dificil, creo que se descargaban solas.

No se porque algunos son escepticos con emulas con raspberry, creo que a dia de hoy es lo mejor calidad precio, ademas no es un puto android que les tengo un asco a las consolas android! [boma]
juma escribió:La hostia menos maaaal!! Llevo mucho pensando hacer esto pero me frenaba mi nula experiencia con RP2, y veo que lo has hecho justo como pensaba, solo que quizas lo hago con otra carcasa. Una cosa que me gustaria es lo de las caratulas de los juegos, en otros video las he visto no se si es facil o dificil, creo que se descargaban solas.

No se porque algunos son escepticos con emulas con raspberry, creo que a dia de hoy es lo mejor calidad precio, ademas no es un puto android que les tengo un asco a las consolas android! [boma]


No es nada dificil. Tengo que dar unos retoques y lo meto en el tutorial.
Genial, mi idea es usar varios masndos (nes,snes,megadrive) que tengo en usb, con esto habra problemas? una configuracion para todos?
juma escribió:Genial, mi idea es usar varios masndos (nes,snes,megadrive) que tengo en usb, con esto habra problemas? una configuracion para todos?


Sin problema. Retropie guarda las configuraciones por separado en una carpeta, cada archivo con el nombre que tiene el dispositivo al ser leido por el sistema.

De esta forma, cuando conectas un mando y una vez configurado en el menu principal, no tendras problema para usarlo en cada emulador.

Eso si, ten en cuenta que como en mi caso te pueden faltar botones.
Shikamaru escribió:
christian14 escribió:Si la parte superior de la Mega coge calor... imagínate como esta el SoC XD los disipadores específicos para RPi no valen nada. Si te cabe, yo le pondría uno, seguro que hay chinos que los venden a euro el saco [carcajad]

Verás, que no va a pasar nada, ya te digo que la Raspberry se apaga automáticamente si detecta exceso de temperatura. Lo único malo es que, al menos la versión que yo tengo (con Raspbian) es bastante propensa a corromper los datos de la SD cuando se apaga por métodos "no convencionales", por así llamarlos. Y es una putada como no tengas un backup hecho jajaja


Me caben, me caben, y ya veo que valen una migaja, un euro por dos disipadores.

Ahora solo tengo que sumar cosas para hacer el pedido por Amazon. Tenia ganas de pillarme Armada, de Ernest Cline, así que ya tengo una excusa para pedirlos.

He seguido trabajando en ella, quitando las bridas de las conexiones traseras y usando pegamento caliente para fijarlas. Se supone que el pegamento caliente al solidificar añade resistencia mecánica a la "soldadura", de forma que por mucho que quite y ponga conectores no debería de darme problemas. Han quedado un poco metidas, algo que ya me dio dolores de cabeza al no terminar de hacer contacto el HDMI, pero parece que están en el limite del bien y del mal.

Luego sera cosa de, una vez terminado todo, usar masilla negra para taparlo y darle una pintura negra uniforme.

Solo le quiero añadir la salida RCA trasera y en todo caso un USB interno con el romset. De usar el control de volumen para el jack de audio me puedo olvidar. Entre que me pase cortando y que me entretuve cargándome condensadores...

Quiero tener de todas formas listo un video con la Dreamcast, la Saturn y el Jedi Academy funcionado.


Te refieres a cortando la placa? Prueba a remplazar esa parte por una placa de unos altavoces de los chinos, quizás te sirva.

Y muy chulo la verdad, yo tenía en mente hacer algo así pero no dedicado a la emulación, sino como un PC normal y corriente y reutilizando los puertos de los bandos y el audio de la consola, a ver si algún día puedo ponerme y me intento currar hasta un driver pa los mandos, que ya monté unos para FPGA en la uni [360º]
AkrosRockBell escribió:Te refieres a cortando la placa? Prueba a remplazar esa parte por una placa de unos altavoces de los chinos, quizás te sirva.

Y muy chulo la verdad, yo tenía en mente hacer algo así pero no dedicado a la emulación, sino como un PC normal y corriente y reutilizando los puertos de los bandos y el audio de la consola, a ver si algún día puedo ponerme y me intento currar hasta un driver pa los mandos, que ya monté unos para FPGA en la uni [360º]


Lo he pensado, pero no se me habia ocurrido ir directamente a los chinos a ver que saco.

El pc... probablemente una placa mini ITX o mas pequeña te cabria. El problema seria que tendrias que contar con todo integrado en placa, porque una gráfica no tendrias forma de pincharla. Gran parte del espacio en mi caso se lo han comido los cables, asi que puedes contar con bastante hueco.

Sobre los drivers, piensa que las placas modernas ya no traen ni puerto COM ni LPT, por lo que tendrias que usar un arduino o similar como controladora de cara a convertir el DB9 a USB.
Shikamaru escribió:
AkrosRockBell escribió:Te refieres a cortando la placa? Prueba a remplazar esa parte por una placa de unos altavoces de los chinos, quizás te sirva.

Y muy chulo la verdad, yo tenía en mente hacer algo así pero no dedicado a la emulación, sino como un PC normal y corriente y reutilizando los puertos de los bandos y el audio de la consola, a ver si algún día puedo ponerme y me intento currar hasta un driver pa los mandos, que ya monté unos para FPGA en la uni [360º]


Lo he pensado, pero no se me habia ocurrido ir directamente a los chinos a ver que saco.

El pc... probablemente una placa mini ITX o mas pequeña te cabria. El problema seria que tendrias que contar con todo integrado en placa, porque una gráfica no tendrias forma de pincharla. Gran parte del espacio en mi caso se lo han comido los cables, asi que puedes contar con bastante hueco.

Sobre los drivers, piensa que las placas modernas ya no traen ni puerto COM ni LPT, por lo que tendrias que usar un arduino o similar como controladora de cara a convertir el DB9 a USB.


Sí, eso lo tengo en mente, la idea era utilizar una RPi 2 o un Banana Pi de estos , y por supuesto Ubuntu, mini ITX ya tengo montada en la mini recre (una placa muy antigua ya) y está bien.
Sobre cables tocaría buscar unos lo más cortos posibles... aunque bueno, lo primero sería hacerse con una carcasa de Mega 1 decente, que la mía no se sacrifica XD
AkrosRockBell escribió:
Shikamaru escribió:
AkrosRockBell escribió:Te refieres a cortando la placa? Prueba a remplazar esa parte por una placa de unos altavoces de los chinos, quizás te sirva.

Y muy chulo la verdad, yo tenía en mente hacer algo así pero no dedicado a la emulación, sino como un PC normal y corriente y reutilizando los puertos de los bandos y el audio de la consola, a ver si algún día puedo ponerme y me intento currar hasta un driver pa los mandos, que ya monté unos para FPGA en la uni [360º]


Lo he pensado, pero no se me habia ocurrido ir directamente a los chinos a ver que saco.

El pc... probablemente una placa mini ITX o mas pequeña te cabria. El problema seria que tendrias que contar con todo integrado en placa, porque una gráfica no tendrias forma de pincharla. Gran parte del espacio en mi caso se lo han comido los cables, asi que puedes contar con bastante hueco.

Sobre los drivers, piensa que las placas modernas ya no traen ni puerto COM ni LPT, por lo que tendrias que usar un arduino o similar como controladora de cara a convertir el DB9 a USB.


Sí, eso lo tengo en mente, la idea era utilizar una RPi 2 o un Banana Pi de estos , y por supuesto Ubuntu, mini ITX ya tengo montada en la mini recre (una placa muy antigua ya) y está bien.
Sobre cables tocaría buscar unos lo más cortos posibles... aunque bueno, lo primero sería hacerse con una carcasa de Mega 1 decente, que la mía no se sacrifica XD


Eso es literalmente lo que he hecho yo aqui.

Gracias al sistema modular de la Pi, con cambiar de tarjeta SD paso de tener un sistema multiemulador a tener un PC, con una Kali por ejemplo.

Ahora bien, si lo que quieres es un señor PC no te recomiendo que uses una Pi o similares. Se que hay por ahi unas placas mucho mas potentes y del mismo tamaño que te hacen la labor.
Shikamaru escribió:
Eso es literalmente lo que he hecho yo aqui.

Gracias al sistema modular de la Pi, con cambiar de tarjeta SD paso de tener un sistema multiemulador a tener un PC, con una Kali por ejemplo.

Ahora bien, si lo que quieres es un señor PC no te recomiendo que uses una Pi o similares. Se que hay por ahi unas placas mucho mas potentes y del mismo tamaño que te hacen la labor.


En principio Pi es por tamaño, no por prestaciones, de todas maneras habrá que seguir mirando que seguro que algo mucho mejor hay [oki]
Compañero felicidades te quedo muy chulo jeje
Tengo una pregunta dispongo de una raspi2 b con retropie 3.2 lo mas actualizado de ambas cosas, cuando cargo juegos de n64 es para potar, mario 64 a pedos 7 fps max y asi con todos, y psx aunque es jugable, los juegos mas exigentes petardean audio o se ven con un framerate algo inferior a lo original quizá un 85%.

Yo veo que la gente con una raspi2 emula psx al 100% todo y la n64 al 80%, que no pueda emular n64 porque aun es dura de pelar me da igual pero PSX me molesta y no entiendo porque no carga, tengo mis dudas despues de leer tu post:

-----------------------------------------------------------------------

7.- Overclock: para darle un puntillo extra de potencia a nuestra Pi. Escoged "Pi2" si tenéis una Raspi2 o "Modest" si tenéis una 1. Si tenéis disipadores, podéis tiraros a la piscina por supuesto.

8.- Advanced options: aquí escogeremos "Memory Split" escribiendo "256" si tenemos una B+ o "512" si tenemos una RPi2.


ambas cosas no las hice, hasta 16 bits todo perfecto, pero n64 y psx pasa lo que te dije, puede que sea porque no defini cuanta memoria darle con memory split?, sobre el overclock imagino que para PSX con una raspi2 no es necesario.



mil gracias.
Jonap escribió:

ambas cosas no las hice, hasta 16 bits todo perfecto, pero n64 y psx pasa lo que te dije, puede que sea porque no defini cuanta memoria darle con memory split?, sobre el overclock imagino que para PSX con una raspi2 no es necesario.



mil gracias.


Por ir directos al grano, ¿Tienes un cuadro de colorines en la esquina superior derecha que salta cada vez que juegas a la PSX o la N64?

Si es asi, ¿Como le estas dando alimentacion a la RPi2? ¿Que fuente estas utilizando? Necesito saber voltaje, amperaje y dispositivos que tengas conectados a la raspi.
buenas compañero, gracias por contestar antes de nada, pues verás uso la fuente de raspi original, no sale ningun cuadro, yo lo único que hice fue poner el retropie 3.2 para raspi2 el mas nuevo, expandi el filesystem y empecé a poner juegos nada mas, todos funcionan de vicio hasta 16 bits "exceptuando mame y neo geo" que no hay huevos a encontrar romset que funcione en ningun emu, pero n64 va a pedales todos los juegos y PSX ratea un poco con algunos juegos aunque es jugable , pero yo almenos queria PSX al 100%.

Por eso vi que asignabais memory split y cosas de esas que yo no hice nunca, y la verdad sobre OC no creo que para jugar a PSX deba ser necesario.
Jonap escribió:buenas compañero, gracias por contestar antes de nada, pues verás uso la fuente de raspi original, no sale ningun cuadro, yo lo único que hice fue poner el retropie 3.2 para raspi2 el mas nuevo, expandi el filesystem y empecé a poner juegos nada mas, todos funcionan de vicio hasta 16 bits "exceptuando mame y neo geo" que no hay huevos a encontrar romset que funcione en ningun emu, pero n64 va a pedales todos los juegos y PSX ratea un poco con algunos juegos aunque es jugable , pero yo almenos queria PSX al 100%.

Por eso vi que asignabais memory split y cosas de esas que yo no hice nunca, y la verdad sobre OC no creo que para jugar a PSX deba ser necesario.


Es necesario. Todo el mundo que ves en los videos de youtube que usa la Raspi para emular la tiene con OC.

De hecho, hasta que no activas el OC en las opciones de Raspi-setup, lo que tienes entre manos es una Raspi 1 desaprovechada.

Lo dicho, activa la opcion de overclock "Raspberry Pi 2" y no te preocupes, la RPi2 puede con bastante (bastante, bastante) mas OC que ese.
ah de acuerdo, piensa que yo ni tngo disipadores ni ventilador por eso me da algo de reparo, y sobre lo de memory split?
69 respuestas
1, 2