Crear Sega Neptune Plus
SNEPTUNE
Creo una Wiki para que el que quiera montarse una Sega Neptune pueda coger ideas del proceso, lo que voy poniendo es como yo lo voy a hacer, pero hay varias formas de conseguir las funciones que le quiero añadir (seguramente hasta mejores), así que si te decides a hacer tu propia Sega Neptune y descubres una forma mejor que la mía de hacer algo, no dudes en avisar.
Contenido |
PROYECTO
Para el que no sepa que era una Sega Neptune:
El Neptune fue un prototipo de consola que unía en un solo aparato la Mega Drive y el 32X. Nunca sobrepasó la etapa de prototipo. |
La idea es hacer una Sega Neptune, con un miniPC (Raspberry PI, Orange PI...), con un slot de cartuchos para poder leer los cartuchos de Mega Drive y 32x.
Así tendríamos en una consola todos los sistemas de Sega de la generación de 16bits y funcionando con sus juegos originales.
Los cartuchos se jugarán desde RetroArch y Picodrive.
Iré poniendo todo el proceso que voy siguiendo para la creación (códigos, aplicaciones...). Sí alguien tiene alguna idea o método mejor que el que yo ponga sobre alguna cosa, que edite la Wiki (siempre y cuando esté probado su método).
Cuando termine todo el software lo subiré en un pack. Lo único que no subiré será material protegido (BIOS, roms…), ahí cada uno se tendrá que buscar la vida.
Cuando tenga todo más avanzado, crearé un GitHub para subir el código fuente de todo el proyecto.
DESCARGAS
Archivo Gerber del lector de cartuchos 3.0
CARCASA
Voy a imprimir la carcasa en 3D.
He modelado la carcasa desde 0.
MINIPC
Tengo una placa Orange Pi Zero 2W que será la que va a manejar todo.
Las especificaciones:
- Quad-core Cortex-A53 - 4GB LPDDR4 RAM - 16MB SPI Flash - WI-FI 5 - BT 5.0 - Mini HDMI - 25€
-Pros:
-Precio: Muy económico. -Tamaño: Placa muy pequeña.
-Contras:
-Sin CD: Me gustaría poder añadir un reproductor de CD para ejecutar también juegos de Mega CD. -Potencia: Falta probar todo a ver que tal lo mueve. -Sistema Operativo: Usa Linux y no tengo experiencia en este S.O..
LECTOR DE CARTUCHOS
Para crear el lector de cartuchos me he basado en Mega Mega Dumper
He modificado el código de la Arduino para que no empiece a dumpear hasta que el gestor se lo pida.
HARDWARE
El lector actual está gestionado por un Arduino Mega, ya que tiene la cantidad de pines necesarios.
FUNCIONES
V 0.001:
- Lectura: Lee los cartuchos sin problemas.
FUNCIONES FUTURAS
- Leer partidas guardadas.
- Leer cartuchos combinados (Sonic & Knuckles + Sonic 1/2/3).
ERRORES
MATERIAL
Para crear el dumpeador hace falta varias cosas:
- Slot de Mega Drive - 3.34€:
- Arduino Mega - 6.63€.
- Shield para Arduino Mega (opcional)- 2€:
- 1 resistencia de 4k7 - 0.01€:
- 47 conectores macho para Arduino - 1€:
ESQUEMAS
Avisar que de electrónica no tengo ni idea y puede ser que las conexiones no sean correctas, pero al menos me funciona para sacar los datos de los cartuchos.
Tengo que revisar el esquema, es posible que falten conectar varios pines para tener acceso a las partidas guardadas de los cartuchos.
Lo primero es saber el nombre de los pines de un cartucho de Mega Drive.
Y los pines de Arduino Mega.
Las conexiones entre el slot y la Arduino Mega:
Pin trasero slot | Pin Arduino Mega | Pin delantero slot | Pin Arduino Mega |
---|---|---|---|
a1 | gnd | b1 | |
a2 | +5v | b2 | |
a3 | 8 | b3 | |
a4 | 9 | b4 | 53 |
a5 | 23 | b5 | 51 |
a6 | 25 | b6 | 49 |
a7 | 27 | b7 | 47 |
a8 | 6 | b8 | 45 |
a9 | 5 | b9 | 43 |
a10 | 4 | b10 | 41 |
a11 | 3 | b11 | 39 |
a12 | 2 | b12 | |
a13 | 29 | b13 | |
a14 | 31 | b14 | |
a15 | 33 | b15 | |
a16 | 35 | b16 | OE (gnd) |
a17 | 37 | b17 | CS (gnd) |
a18 | gnd | b18 | AS (gnd) |
a19 | 36 | b19 | |
a20 | 38 | b20 | |
a21 | 40 | b21 | |
a22 | 42 | b22 | 46 |
a23 | 44 | b23 | 48 |
a24 | 34 | b24 | 50 |
a25 | 32 | b25 | 52 |
a26 | 30 | b26 | |
a27 | 28 | b27 | RESET (gnd) |
a28 | 26 | b28 | WE (gnd) |
a29 | 24 | b29 | |
a30 | 22 | b30 | |
a31 | +5v | b31 | |
a32 | gnd | b32 | A0* |
- El slot recibe un GND si hay un cartucho.
He creado una shield para Arduino Mega con EasyEDA, ahora sería que alguien que sepa de electrónica lo revise para buscar posibles fallos.
Tenéis los archivos gerber en la sección de Descargas.
He hecho un pedido de 5 pcb para confirmar que funciona.
MONTAJE
También se puede cablear la placa Arduino Mega sin usar el escudo, pero tienes más posibilidades de fallos.
SOFTWARE
El Mega Mega Dumper original empieza a dumpear en cuanto la Arduino se enciende, pero para la SNeptune, la Arduino tiene que esperar a que el gestor le de la orden de empezar a dumpear.
Para que la Arduino se comporte como nosotros queremos, debemos introducir un programa (Sketch) donde le diremos que tiene que hacer.
Para abrir, crear, editar y subir sketch a la Arduino usaremos el ide de Arduino.
He modificado el Sketch para que se comporte como nos interesa.
GITHUB
Github del lector de cartuchos
RESULTADOS
Los resultados obtenidos son correctos.
El único que problema que veo, es el tiempo de dumpear un juego. Puede tardar varios minutos
Probado con un Sonic USA, Altered Beast PAL y Virtua Fighter 32x USA y los tres se han reconocido correctamente.
GAMEPADS
Para los gamepads he pensado en usar la conexión BT.
Tengo que buscar gamepads parecidos a los de Mega Drive de 6 botones.
GESTOR DE LA CONSOLA
Para gestionar el funcionamiento de la consola, he creado una aplicación con Monogame.
VERSIÓN
0.001:
- Funcionando en Windows 11
ASPECTO
Tiene un aspecto similar a los menús de la época de 16 bits.
![]() |
Video | - Funcionamiento del gestor (versión de Windows). |
FUNCIONAMIENTO
El gestor se dividirá en dos apartados:
LECTOR DE CARTUCHOS
La pantalla principal, donde se muestra la información del cartucho insertado.
En caso de no tener lector de cartuchos conectado, se ejecutaría directamente la pantalla de "Memoria interna".
MEMORIA INTERNA
A esta pantalla se accede desde la pantalla principal (lector de cartuchos) o en caso de no tener conectado un lector de cartuchos.
OTROS
PROBLEMAS
- Tiempo excesivo al dumpear el cartucho.
- Falta volcar cartuchos combinados (Sonic & Knuckles).
- Falta leer partidas guardadas de los cartuchos.