# Cartucho re programable de SEGA



## Maritto (Mar 13, 2008)

Bueno, yo creo que todos los que tienen de 18 para arriba, alguna vez han jugado con un Sega Genesis, o como le dicen afuera, un Megadrive.
Desde que salieron los emuladores para PC, siempre añore poder jugar todos eso juegos, pero en su consola original, como lo merecía realmente!
Asi que pensé, que es un cartucho? no es otra cosa que un par de memorias enlazadas, que, en el caso del Megadrive, oscilan entre los 512kbytes y los 16Mbytes! entonces, porque no hacer un adaptador, de una memoria externa programable desde la PC, un SD por ejemplo a los pines del cartucho!
Vi por ejemplo, que hacian cartuchos regrabables de megadrive, con IC de memorias, en encapsulado DIP, pero estos chips son muuy caros y dificiles de conseguir.
Aqui les adjunto una direccion a todos los curiosos!:

http://raphnet.net/electronique/genesis_cart/genesis_cart_en.php

lo bueno seria hacerlo con acceso a SD externas, y para cargar el codigo a las SD, utilizar un circuitin, que podría incorporar un PIC.

Mi intensión no es la de tirar ideas para que los que saben laburen y yo obtener redito, les aclaro, yo se bastante de programacion de PICs especialmente en C, aunque no se de manejo SD, ni de interface USB p.e., y quiero laburar a la par de quienes esten interesados y que todos puedan acceder gratuitamente a esto.

Les paso el hilo, porque yo estube buscando 3 días para encontrar algo de información real, y nada de eso está en español. Los modelos que se venden armados, son de unos 100€ apx.!

A quienes tambien les interese, el Sega, como toda consola enrealidad, tiene un CPU, programable, por lo tanto se pueden desarrollar aplicaciones para trabajar con este y sus  periféricos!

Bueno, si a alguien le llamo la atención, por favor no dejen de postear su comentario!

Un abrazo
Luis David


----------



## Maritto (Mar 15, 2008)

Bueno! parece que a nadie le interesa este proyecto, supongo que lo haré solo si me dan los tiempos, ya tengo diagramado un esquema y probablemente lo haga programable por el puerto serie, tendrá como corazón un PIC, que hará de interface entre una memoria SD y el sistema de memorias en paralelo del Sega.
Deseenme suerte!


----------



## nideloco (Mar 15, 2008)

Suerte Maritto   .

Saludos.


----------



## Elvis! (Ago 21, 2009)

Muchachos hace unos dias estoy detras de esto..Por favor a alguien podria ayudarme con este proyecto?
Es posible conseguir en Argentina el integrado AT49F002 en caso de que no se consiga que otro integrado podria usar?Es posible o mejor usar un Pic?

Desde ya muchas gracias! ;-)

Un saludo!


----------



## st0st0 (Ene 2, 2010)

Hola Maritto, 

Conseguistes finalmente algun resultado?.
Estoy muy interesado en ello porque justo ahora iba a embarcarme en un proyecto similar y me gustaria saber tus experiencias con el proyecto.
Lo que peor llevo es la parte de Hardware de Megadrive, conozco poco aun como funciona aunque se que no es muy complicado la verdad. Es por ello que de momento voy a adaptar el Altered beast para tal proposito.

Se que el hilo es de hace un año pero nunca es tarde...
Si alguien se suma seria interesante. Los vicios en la Megadrive no tienen precio.

Un saludo a todos


----------



## jmollado (Ene 22, 2010)

que tal amigo estoy dispuesto a participar en ese proyecto yo tambien quisiera explotar mi equipo, utilizando un cartucho programable que tarea tendria que realizar o dime que avances tienes


----------



## st0st0 (Feb 3, 2010)

Pues hombre si no tienes conocimientos de electronica no sabria que decirte.
Tengo claro como seria pero no encuentro ningun proveedor que suministre una memoria 27c4000 para continuar con el proyecto. Parece ser que hace tiempo dejaron de fabricarlas.

La idea es hacer un circuito que cargue una ROM a traves del puerto RS232 para 
poder jugar solo a esa ROM. Si esto funciona añadirle una memoria SD para almacenar mas ROM y que estas sean cargadas desde la SD para no conectar a un PC.
Si consigo una memoria 27c4000 seguire probando cosas.


----------



## st0st0 (Feb 7, 2010)

Podrias echarme una mano en buscar esta memoria o una compatible de forma economica claro.

Tambien busco el tiempo de acceso de la Megadrive a la memoria del cartucho y el esquematico de la megadrive aunque esto ultimo no me he esmerado mucho ya que no es muy determinante.

En cuanto a lo que tengo hecho por si quieres saberlo:
1. Programa en PC para cargar las ROMs a la memoria SD del cartucho a traves del   puerto serie (Visual Basic).
2. Software del PIC para manejar la SD y grabar las ROMs.

FALTA:
3. Implementar las rutinas para la grabacion de estas ROMs en la SD a la memoria M27C4000.
4. Montar fisicamente el circuito en el cartucho.
5. Montar todo esto y que funcione xdd. Esto es lo chungo...

Sin memoria de momento empezare ha hacer el punto 3 cuando tenga otro rato libre.


----------



## capitanp (Feb 7, 2010)

algo asi


----------



## st0st0 (Feb 8, 2010)

Si algo asi, ya sabia que los hay porque vi todos los cartuchos programables comerciales que hay para hacerme una idea antes de embarcarme en esto.
Mi intencion es hacer uno barato, sencillo y que pueda construir todo el mundo.
Es mi hobby la electronica asi que los ratos libres me entretengo con este proyecto.
Veremos si soy capaz de terminarlo, o si quiera obtener un minimo resultado.....
El resultado no es garantizado xd...


----------



## st0st0 (Feb 13, 2010)

Os cuento como voy.....

Ya como dije tengo hecho el programa en PC para cargar las ROMs en la SD a través del RS232 (no sin problemas). Lo malo es que el puerto RS232 es lentiiiiisimo y para cargar una ROM de 512kbs puede tardar unos 10 minutos. En este aspecto tampoco ayuda el programa en PC que es poco eficiente creo yo... en C++ seria mucho mas rápido así que en un futuro cambiaria a C o Delphi. Pero de momento no necesito mas para las pruebas. No descarto en un futuro rebajar este tiempo en algo razonable (posiblemente por USB) pero esto ya es trabajo fino si llegase a funcionar.

Pensé en un principio colocar una memoria EEPROM y reprogramarla con el ROM que se quiera jugar en ese momento. Luego pensé prescindir de la EEPROM e intentar directamente leer desde la SD para poner en el bus de datos de la MEGADRIVE el dato, pero la máxima velocidad para obtener un dato de la SD y ponerlo en el bus es de unos 70us para un PIC a 10MIPS. Me parece demasiado tiempo y por tanto creo que no valdría, tras ese tiempo la MEGADRIVE ya habrá hecho la lectura antes de salir el dato....
Por esto volví a la idea original pero con más memoria. He leído que hay ROMs de hasta 32Kbits (4Mbytes). Por tanto para tener una amplia funcionalidad tendrá que tener una memoria de al menos esta capacidad. Sé que luego sacaron algunos juegos de 40Kbits pero funcionan con Bank switching. Estas ROMs son mínimas y no podrían cargarse lógicamente.

Ahora me encuentro seleccionando una memoria para tal propósito. Me he fijado en una que da el perfil buscado, es la M29F032D. Funciona a 5 voltios, tiene 32Kbits y es reprogramable. En eBay las he visto por unos 5$ + 4$ de envió creo (6€). Ya se está subiendo el precio, el PIC unos 6€ y la memoria otros 6€ mas .

Actualmente me encuentro implementando el algoritmo para programar dicha memoria desde el PIC con los datos almacenados en la SD. Además estoy esperando que me ingresen los 6€ en paypal para pedir la memoria. 
También surge otro problema con esta memoria y es el encapsulado. Es SMD y es un problema a la hora de soldar. Habrá que tener pulso como los primeros chips de PS2 XD.

Os envió las fotos del prototipo con el que cacharreo hasta ahora.


----------



## Elvis! (Mar 21, 2010)

Hola muchachos..Tengo una emocion para mil no pense que se iba a re abrir este tema..Aca dejo una imagen de un proyecto para sega..Esta en la pagina que muestra Maritto se ve interesante..Pero me gustaria y supongo que a ustedes tambien usar otro tipo de integrados como pic y memorias o algo asi..
Bueno estoy a total disposicion..sigamos x favor!!





Dejo tambien el pin out del slot del sega por si a alguien le sirve






Y por ultimo un foro muy completo donde se habla del tema..no lo pude leer todavia espero que ustedes los hagan 

http://www.elotrolado.net/hilo_review-e-time-game-play-e-22-pad-megadrive-con-sd-56kw_1297967

Ahh..Esto ya lo hice hoy

Encontre una pagina donde se describe un poco mejor el diseño del cartucho de sega..Esta dedicada a consolas clasicas con muchiisiima informacion aplicable a este proyecto.
Espero nos sea de utilidad a todos.
Por el momento estoy tratando de convencer a un amigo que me venda su sega genesis original..Es la que traia el procesador 68000 de Motorola (una bestia de procesador) 
Es mucho mejor usar la segas originales..sobre estos micros hay mucha info y pueden ser programados para ser usados para realizar aplicaciones de todo tipo..Siempre y cuando se tengan los conocimientos necesarios en rpogramacion

Bueno basta de palabras estas son las paginas 

http://www.consolasparasiempre.net/
http://www.consolasparasiempre.net/proyectos/proyectos.htm Mirar la descripcion en ingles de este proyecto.
http://www.consolasparasiempre.net/taller/flashprog/flashProg.htm
http://www.consolasparasiempre.net/taller/Willem16bit/Willem16bit.htm
http://www.consolasparasiempre.net/Downloads/download.htm
http://www.consolasparasiempre.net/links/links.htm
http://www.consolasparasiempre.net/doc/BasicoMD.htm Muy bueno esto!!
http://www.consolasparasiempre.net/prog/prog.htm

Bueno esto es casi todos..sigan investigando esta pagina y van a encontrar ms cosas 

Un abrazo!


----------



## Klavera (Mar 23, 2010)

Hola gente, queria comentar, que existe una alternativa un poco mas moderna al cartucho reprogramable propuesto en http://raphnet.net/electronique/gene...is_cart_en.php 
Este utiliza otro tipo de chips que quiza sean mas faciles de conseguir (M29F040B - 512Kb x 8 Flash EPROM) y ademas incluye un diseño de cable que supuestamente permite conectar la megadrive al PC a treavz del puerto paralelo y  asi ustilizar la consola prara escribir en el catucho, aunque es nescesario un programador para cargar el software en el cartucho por primera vez.

Aca dejo los links
El cartucho:http://www.candu.co.uk/smd/megacart.shtml
El cable:http://www.candu.co.uk/smd/devcable.shtml
La pagina principal:http://www.candu.co.uk/smd/

En la pag principal pueden encontrar algo de soft escrito en C para utilizar el cable, hacer merge de ROMs y savestate.

Con respecto a lode agregar un zocalo SD,  me parece interesante, pero no se puede avanzar sobre este tema hasta no tener algun diagrama del circuito que lo permite.

Hasta ahora mi mayor imperimento para avanzar en este proyecto es el programador de memorias. Si exite alguna forma de programarla atrvez de un PIC como ya se menciono, asi sea dese la SD o desde el el puerto de serie, vienvenida sea.
Este punto es crucial ya que si se propone diseñar un cartucho de bajo presupuesto que pueda ser construido por cualquiera, pero para hacerlo hay que hacerse de un programador de memorias, entonces la idea carece de centido ya que seria mas economico comproar el cartucho comercial mostrado mas ariba.

Saludos y suerte en el proyecto.


----------



## fernandoae (Mar 24, 2010)

Una pregunta... no es mas facil armar un adaptador y conectar los joys a la pc con el mame? 
Y pa los que quieran verlo en el tele una buena placa con salida de tv... no es que les quiera tirar sus ideas al suelo pero... es lo mas facil.


----------



## antiworldx (Mar 24, 2010)

Supongo que es algo tarde para esto...

Pero hay te va una solucion no muy sencilla por el software del pic, pero si con pocos componentes.

Usar dos memorias SPI, con dos pic que posean tal interface, los pic tambien tienen interface serial, y puedes usar velocidades de 38000 y el tiempo de transferencia debera ser inferior a un minuto para 512k.

El unico problema, es hacer el software del pic, que ella misma se comporte como una memoria ROM, leyendo la informacion de la memoria SPI.


----------



## st0st0 (Mar 24, 2010)

Así da gusto cuanto movimiento xd. Voy a ver los enlaces que habéis dejado. 
Si hay algo como lo que quiero hacer bien explicado tanto hardware como software habrá que ponerse manos a la obra.
[/SIZE]
En cuanto a lo que estaba haciendo:

Me llego ya la memoria M29F032D pero claro, el encapsulado sabía que era SMD pero no tan extremadamente pequeño. Hasta ahora ha sido imposible soldarla para intentar cargarle la primera rom y probarla.  
Actualmente estoy renovando el material para realizar las PCBs porque el que tenía era un poco cutre, pero dudo que consiga tanta resolución para hacer pistas tan juntas. Toda sugerencia para soldar el bicho este será bienvenida.

Voy a ver los aportes que habéis hecho...

Adjunto las fotos de la dichosa memoria.​
Antiworldx no entendí tu propuesta. ¿Puedes desarrollar un poco mas la idea?. No hay que descartar ninguna.

También le respondo a fernandoae, claro que se puede utilizar el Mame y un mando o emulador de la MD pero no es lo mismo y no me preguntes porque que no tiene respuesta XD. Esos gráficos rancios directamente del TV con un mando antiergonómico es adictivo.


----------



## Klavera (Mar 27, 2010)

En repuesta la lo que comenta fernandoae, si es posigble conectar un mando de MD a la PC mediante el puerto paralelo, para los que quieran intentarlo, el siguiente diagrama me funciono a mi.

PUERTO PARALELO||||||PUERTO MD
      (DB25)||||||||||||||||||(DB9)
1--------------------------1    
2--------------------------7
3--------------->---|
4--------------->---|
5--------------->---|
6--------------->---|------5                              
7--------------->---|
8--------------->---|
9--------------->---|
10--------------------------3
11--------------------------4
12--------------------------6
13--------------------------9
14--------------------------2
18------------------|-------8
19------------------|

">" son diodos
"|" conectar juntos

funciona perfectamente con el software PPJoy

Funete: http://cbud.raphnet.net/snes/dpadpro/index_en.html

aunque esto es posible concuerdo con st0st0. Nunca sera lo mismo un emulador que jugar con el autentico MD

Sinembargo respecto a lo de los graficos "rancion" es pun probleme minimo y pude solucionarse:http://www-unix.ecs.umass.edu/~dhowland/mod/#svideo
en particular esta solucion no me funcino a mi pero la teoria es buena.
Tendria que abirir otro tema para comentar esto mas en detalle por que no biene al caso.


----------



## vaneno (Abr 1, 2010)

El bus SPI es un protocolo sencillo de comunicacion muy similar al I2C pero con 4 hilos si mal no recuerdo. Es comunicacion serie, y creo que las memorias SD y MMC es lo que usan. Por lo demas, un Pic un poco bueno ya traen soporte directo para SPI e I2C asi que programar sobre este soporte es mas facil.
La ventaja son sus pocos pines para funcionar dispositivos, y los inconvenientes suelen ser las velocidades (son comunicaciones serie), aunque entiendo que las memorias de megadrive, para leer 512Kbytes tiene que ser muy rapido, y supongo que SPI es mas que suficiente. 
Por cierto, muy interesante el tema este


----------



## antiworldx (Abr 1, 2010)

No plantie mi sugerencia pues vi que ya estaban muy avanzados con la solucion original.


----------



## st0st0 (Abr 6, 2010)

Vaneno, en el post #11 comento que ya utilice una memoria SD de 1GB por bus SPI como solución, el problema es que la velocidad de lectura no es suficiente para hacer una lectura directamente desde la SD. 
Esto es así porque las tarjetas SD/MMC ofrecen el protocolo SPI para reducir la complejidad de las comunicaciones con microcontroladores pero su velocidad es muy inferior al protocolo normal de estas memorias que es más complejo.

Si además añades que para un Pic, la frecuencia de reloj del bus SPI es la cuarta parte del reloj del sistema como mucho pues peor aun. La idea sigue siendo con una memoria SD y cargar previamente la rom en una memoria flash paralela.

Por cierto ya termine la insoladora, a ver si me permite hacer pistas tan pequeñas como para soldar la memoria flash que compre.

Un saludo.


----------



## vaneno (Abr 6, 2010)

No, si el comentario lo puse porque me parecio que alguien preguntaba por el SPI. (aunque ahora que reviso los post de nuevo no veo quien lo preguntaba   )
En cualquier caso, los retardos en una memoria SD suelen ser para grabacion. Para este proyecto se usaria solo lectura, por eso me extraña que sea tan poca velocidad. 
Una cosa, ¿la prueba que hiciste habias programado en C, o en ASM directo? digo por que funcionaria mejor en ASM. Yo trato de hacer algo parecido a lo que aqui se plantea pero para la Master System de 8 bits (de momento esta verde el tema). Espero que sigais poniendo avances por aqui


----------



## st0st0 (Abr 7, 2010)

Lógicamente programo en C, me niego a programar en ASM XD. 
En cualquier caso no creo que la diferencia en este caso sea demasiada.
El problema es que la frecuencia de reloj del SPI puede ser como mucho 10MHz y teniendo en cuenta que hacen falta 100 ciclos aproximadamente para obtener un dato  pues las cuentas no salen. Ahora añadele los retardos del escaneo del bus de direcciones de la MD que al ser mas de ocho bits se tarda bastantes ciclos.  Estuve investigando una forma de lectura secuencial en las SD que reduciria drásticamente eso 100 ciclos ya que no habría que enviar constantemente la dirección de lectura que es el principal retraso.

Poco a poco no hay prisa....


----------



## vaneno (Abr 7, 2010)

Ya. Si yo hace tiempo hice un un pequeño circuito por puerto paralelo y un simple soft de VB para leer memorias I2C y quede asombrado del tiempo que tardaba en leerla. Lo de ASM era precisamente para ahorrar ciclos. Yo en pic no hago muchas cosas pero siempre me propongo hacerlo en ASM y acabo con el mikrobasic .
Esperare por aqui tus progresos, aunque lleven tiempo


----------



## st0st0 (Abr 8, 2010)

Bueno vaneno, despues de reabrir el debate de una memoria SD directamente he pensado en utilizar un Pic pero esta vez un DSPic con un reloj de 160Mhz y 40MIPS. No esta nada mal!!!!

Con 40MIPs y leyendo los bloques de la SD secuencialmente pienso que podria servir. Ya he comenzado a migrar el codigo que tenia a mi nuevo juguete aunque me da errores por todos lados, no me esperaba otra cosa la verdad.


----------



## vaneno (Abr 8, 2010)

Carais. Eso si es una apuesta fuerte!!!


----------



## Maritto (Jul 16, 2010)

gente bonita, tanto tiempo, me alegra mucho ver que se engancharon muchos con esto, yo estoy reanudando mi conexión con el mundo exterior y comienzo desde el forodeelectronica 
Estuve viendo y no es una mala idea usar el dsPic, sobre todo teniendo en cuenta que son bastante accesibles y no son caros; otra idea seria usar algun micro con nucleo ARM, que son muy potentes, pero ya estamos hablando de otro nivel de programación, personalmente me quedo con los dsPic, que es como usar un cañon para matar una mosca.
Estoy programando con los dsPic y estoy empezando a obtener resultados favorbles, habría que ver si por el protocolo SPI, le da la velocidad... Estoy en esto. Cualquier novedad estaré informado, tengan algo por seguro, si alguna vez hago andar eso, si o si, subo el diseño para que todos lo tengan disponible y codigo abierto 
Un abrazo comunidad!

Encontré lo siguiente.. no es para nada cara y por lejos interesante para tratar de conseguir:

http://cgi.ebay.es/5x-MX-29L3211-CM...ultDomain_0&hash=item35a63f8c9c#ht_1728wt_911

http://cgi.ebay.es/5pcs-MXIC-29F800...ultDomain_0&hash=item35a512a702#ht_1823wt_911

que opinan? se podrán usar para esto?
porque si sale 34 u$s las 5 unidades, es 6 u$s cada uno y relamente no es nada caro para ser el corazon de nuestro caartucho reprogramable, el resto es un pic comun y corriente que cargue el juego que deseemos de la SD a estos chips.. fijense en ebay hay muchas y algunas un poquito mas viejas, mas baratas...


----------



## radicheta (Dic 9, 2010)

gente quiero conectar un joystick de sega a la play 2 !!! para jugar al mortal kombat juajua , necesito una idea


----------



## txakurra (Dic 29, 2010)

Hacía tiempo que no me pasaba por estos lares (es la primera vez que posteo, y ya ni recuerdo por qué me registré y no empecé a participar activamente, pero era lector asiduo) y de chiripa he encontrado este hilo en Google.

Hace también tiempo que llevaba pensando lo del cartucho programable y a la conclusión que llegué es que sería interesante utilizar, para el cartucho, RAM con una pequeña batería (lo justo para que no pierda el contenido desde que se quita del programador y se pone en la consola; no me importa tener que volver a cargarle la ROM al día siguiente) y un micro vía RS232 o USB como programador (pensé en un 8051, que es en lo que me manejo, y posiblemente en ASM, pues el firmware sería más rápido, pequeño y eficiente). También consideré montar el programador en el mismo cartucho, añadiendo una SD y ahorrarme la batería, de manera que en el cartucho hubiera un LCD y tres botones para seleccionar la ROM. Sería meter las ROMs a la SD con el PC, colocar la tarjeta en el cartucho, encender la consola, elegir la ROM con los botones del propio cartucho (y con un "time out" para que en caso de no pulsar nada cargara la última ROM seleccionada; para esto lo suyo sería tener un "archivo recordatorio" en la misma SD), el micro del cartucho "desconecta" la RAM de la consola (sí, sé que SEGA desaconseja extraer el cartucho sin apagar previamente la consola ), la resetea (si es que el pin del hard reset del puerto va al reset "común". Así la consola se quedaría "muerta" como cuando se enciende sin cartucho; es para quitarnos la imagen fija y el sonido metido en un bucle chirriante), vuelca la ROM, "reconecta" la RAM a la consola y vuelve a resetearla (y el microcontrolador quedaría como al principio, pero sin "time out", por si se desea cambiar de juego "en caliente").

Cuando tenga ganas (y dinero), empezaré a hacer pruebas.


----------



## Meta (Mar 22, 2013)

Hola:

Curiosamente buscando por google  les encontré y esa Web. *El invento ya se hozo realidad.
* A lo que iba. Esto parece interesante.






*Everdrive Mega Drive PCB + MicroSD 2GB + Adaptador SD*

                                                                                             Cartucho Flash Everdrive para SEGA Megadrive (Genesis) con entrada SD/MMC + Tarjeta MicroSD 2GB + Adaptador SD.
   Características:


Todos los  juegos de SEGA megadrive/genesis soportados, excepto virtua racing
Super Street Fighter II soportado
La mayoría de juegos SEGA master system soportados.
Juegos de 32x soportados
SEGA-CD bios
32kb FRAM para mantener saves. FRAM es como el SRAM, pero esta memoria no necesita corriente para mantener datos.
save ram data puede ser almacenada y leía de la SD
saves disponibles para megadrive/genesis y master system
SD/MMC cards soportadas.
Soporte para FAT16/FAT32. FAT32 sin límite de tamaño.
Juego  flasheado se mantiene en la memoria aún después de apagado. Por  lo que  no hay necesidad de reflashear cada vez que apagues, o resetees  la  consola.
No es necesario conectar al PC.
Puerto SPI. Usualmente usado para leer SD, pero puede ser usado para alguna otra intención.
Soportado GameGenie (Trucos)


----------



## Scooter (Mar 23, 2013)

Si hubiese tenido este "carchuto" de joven....
Ahora no tendría pulgares


----------



## franklin1 (Sep 2, 2013)

es muy interesante todo me pondré en la investigación. 
tengo una consola origina de sega génesis con todos sus juguetes( controles, adaptador y cable rf y unos 10 juegos originales de sega.)


----------



## Meta (Sep 18, 2013)

¿Qué experimento vas hacer realmente?


----------

