alonso240 escribió:Buenas.
Edito el hilo por cambios en el proyecto.
Quiero intentar consolizar un miniPC para que se comporte lo más parecido posible a lo que sería una Sega Neptune (todo con emuladores), pero con el añadido de llevar un lector de cds para ejecutar también juegos de MegaCD y MegaCD 32x.
La consola también funcionará con cartuchos de Megadrive y 32x originales.
El precio del proyecto lo iré calculando según vaya avanzando y vaya poniendo o quitando cosas.
PRECIO:- CARCASA: Aún no se por cuanto me puede salir la carcasa, ya que depende del PC que le ponga, tendrá un tamaño u otro.
- PC: Si monto la versión mas económica de Lattepanda, me saldrá por unos 85€, aunque mi idea es montar algo con Windows10 (o Windows7), pequeño y lo más económico posible.
- LECTOR DE CARTUCHOS: El precio del slot es 3.5€ y la Arduino Mega sale por 6€, luego hay que sumar cables, placa para hacer el escudo...
- MANDOS: El precio de cada mando son 3.5€ y cada Arduino 3.5€. Hay que sumar los dos conectores db9.
Precio calculado por ahora: 108€.
CARCASA:Tengo pensado hacer una carcasa parecida a la Sega Neptune.
Tendré que adaptar un lector de cds (posiblemente uno de portátil para reducir tamaño).
La carcasa la imprimiré con una impresora 3D.
PC:Había pensado en usar una placa tipo Lattepanda ((
Link)) o alguna placa parecida (la más barata que encuentre).
La Lattepanda tiene 2gb de ram y no sé si va a quedar justa para W10.
Tambien se podría montar una microATX, pero creo que me saldría mas caro.
La placa debe funcionar con Windows 7 o posterior.
JUEGOS:La consola tendrá las romsets completas de Megadrive y 32x (y las isos de MegaCD y MegaCD32x que quepan en el disco duro).
Los juegos de los sistemas (MD, 32x, MCD y MCD32X) se podrán elegir desde el menu de la consola o introduciendo un cartucho o cd original.
LECTOR DE CARTUCHOS:He comprado un slot de Megadrive en aliexpress para poder leer los cartuchos originales de Megadrive y 32x.
En un principio tenía pensado dumpear los cartuchos y jugar con la rom dumpeada, pero el proceso es tan lento que lo descarté.
Al final he optado por leer el inicio del cartucho y sacar la información (proceso instantáneo), una vez con la información, comparo con una tabla con las ids de los cartuchos y ejecuto la rom interna con la misma id que la del cartucho.
Si el cartucho tiene una id que no aparece en la tabla, el juego no se ejecutará, pero se puede añadir la id a la tabla y añadir la rom al romset de la consola, así cuando volvamos a poner el cartucho será reconocido.
Esto son fotos de la prueba que hice, el resultado final seria con un escudo para la Arduino Mega (perdón por la chapuza pero no soy electrónico
).
Comprobando que el slot encaje bien con los cartuchos.
Soldando el slot a los pines de salida.
Resultado final del "invento".
Probando con un Sonic americano.
Leyendo el inicio del cartucho americano Virtua Fighter de 32x (hex).
Convirtiendo el código hexadecimal saco la información del cartucho (sistema, nombre del juego, id del cartucho...).
Probado con un Sonic USA, Altered Beast PAL y Virtua Fighter 32x Usa y todos han funcionado correctamente.
MANDOS:Para los mandos, había pensado en usar mandos originales de Megadrive y también usar actuales por usb o bluetooth. Aunque por ahora, solo añadiré opción de mandos originales.
Para eso, compraré dos mandos de 6 botones en aliexpress y dos arduinos micro con 32u4.
Cada Arduino micro será reconocido por Windows como un gamepad.
Cada mando se conectará a un Arduino micro que será el encargado de convertir las pulsaciones de los pads, en pulsaciones del gamepad reconocido por Windows.
Hace bastante tiempo hice pruebas con mandos de Megadrive.
SOFTWARE:El aspecto del gestor es muy simple, está basado en el menú de los cartuchos 3 en 1 y lo estoy desarrollando con Unity.
Menú original de un cartucho 3 en 1.
Menú de la consola:
Menú principal con tres opciones:
- Cartucho: Saca la información del cartucho que tengamos en el slot (Megadrive o 32x) y si la id del cartucho coincide con alguna id de la tabla interna, ejecuta la rom del juego (sería como un acceso directo a los juegos que tengamos en el disco duro).
- Cd: Ejecuta el juego de MegaCD o MegaCD 32x que tengamos en el lector de cds.
- Disco duro: Jugamos con los juegos que tengamos en el disco duro.
Si seleccionamos "Disco duro", pasamos a una pantalla donde elegir el sistema al que queremos jugar.
Depende de la región seleccionada en opciones, se mostrará una consola u otra (USA, PAL, JAP).
Una vez seleccionado el sistema, saldrá la lista de juegos que tengamos en el disco duro.
Si pulsamos arriba o abajo en el gamepad cambiamos de inicial.
Para configurar el gestor se hará desde una aplicación independiente del gestor.
En la carga de Windows se quitará Explorer del inicio, para que inicie el gestor de juegos y se vea lo mínimo posible Windows.
Si tenéis alguna idea para añadir al proyecto o haríais algún cambio en alguno de los apartados, decídmelo y así voy mejorando el proyecto.
Iré poniendo fotos y videos de lo que vaya consiguiendo.
Saludos.