Crear Sega Neptune Plus

SNEPTUNE

SNeptune Logo.png

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:

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

Sega Neptune.JPG

Voy a imprimir la carcasa en 3D.

He modelado la carcasa desde 0.

SNeptune01.jpg
SNeptune02.jpg
SNeptune03.jpg

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 Megadrive.jpg
Arduino Mega.jpg
  • Shield para Arduino Mega (opcional)- 2€:
PCB NEPTUNECD.png
Res4k7.jpg
  • 47 conectores macho para Arduino - 1€:
40-pines-macho-conector-pin-254mm-paso-arduino.jpg
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.

Genesis-cart-pins.jpg

Y los pines de Arduino Mega.

Arduino mega pinout.png

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.

PCB NEPTUNECD.png

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.

PlacaF NeptuneCD.png
PlacaT Neptune CD.png
PcbLectorCart1.png
PcbLectorCart2.png

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.

Icono YouTube.png 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.

SNeptune Pantalla1.png

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.

SNeptune Pantalla2.png

OTROS

PROBLEMAS

  • Tiempo excesivo al dumpear el cartucho.
  • Falta volcar cartuchos combinados (Sonic & Knuckles).
  • Falta leer partidas guardadas de los cartuchos.