Página 1 de 3

[GUIA] Reproducciones Snes

Publicado: 05/01/12 14:14
por s0mbrit4
Reproducciones de SNES

Bien, antes de nada deciros que si bien el proceso es relativamente sencillo, el coste que nos puede suponer para una sola reproducción es algo exagerado (programador, memorias, cartucho donante) y también dependiendo del juego que queramos realizar por usar una o más memorias.


Prólogo


Recopilando datos.


Antes de nada, hay que saber los datos de la ROM que queremos:
- Tipo de ROM; LoRom o HiRom.
- Tipo de save, el tamaño de la SRAM en kb.
- Tamaño de la ROM en Mbits.
- Uso o no de chips de apoyo especiales como el SuperFX o el DSP.


ya que el cartucho donante ha de poseer las mismas características.

¿Cómo saberlo? La manera más fácil es ejecutarla en un emulador y ver la info en pantalla (snes 9x es muy útil).

NOTA: en SNESCENTRAL tenéis una amplia lista de PCB con sus características y los juegos que las montan.

Bien, ahora el tamaño... ¿Quién dijo que el tamaño no importa? Importa y mucho.

Sabemos, o al menos deberíamos saber, que los MEGAS que nos vendían en la época de SNES y MegaDrive eran Megabits, es decir, una octava parte de un MegaByte (los MEGAS que nosotros conocemos).

Partiendo de eso, una ROM como Zelda ocupa 1MB = 8Mb así que necesitaremos un almacenamiento de 8Mb para nuestra ROM.

Lo tenemos fácil, las EPROM más usadas en este ámbito son las 27c080 o 27c801 (son equivalentes) que poseen memoria de 8Mb, ideal para este juego. En juegos con más tamaño, se usan varias EPROM concatenadas, pero eso lo dejaremos para más adelante.

Las memorias

Como ya he dicho, las más utilizadas son las EPROM 27c801 100F porque concuerdan en casi todo el patillaje con la MASKROM (ROM original).

Fijáos bien en el último parámetro 100F, que define el tiempo de respuesta de la EPROM en nanosegundos. Esto es crucial porque si bien con 120F una ROM FastRom de un sólo integrado funciona, cuando usamos varias EPROM, el tiempo de respuesta aumenta y 120 NO SIRVE (gracias a magno por el aviso).

Para grabarlas, un programador Willem a pelo (no hacen falta adaptadores).

Para borrarlas, es necesario un borrador ultravioleta ya que son EPROM y no EEPROM.

¿Es necesario borrador? Bueno, las EPROM no suelen ser nuevas, así que a veces no vienen borradas correctamente... si no están bien borradas, no se graban.

Existen alternativas como las Flash 29F032 de bus de 8 bits y capacidad 4MB.

Hay también juegos específicos como el MarioRPG que necesitan una EPROM de 16bit de bus y 4MB como la 27C322 por llevar un chip de apoyo llamado SA-1

Primer nivel

The legend of Zelda - A link to the past

Manipulando la ROM

Software:

WindHEX 32
BankSwap de magno

Empezamos consiguiendo la ROM a grabar/modificar en formato *.smc y el correspondiente parche (si procede).

El parche de Pablito´s para traducir el Zelda lo tenéis AQUÍ

Abrir WindHex32, abrir el fichero a modificar, en este caso el SMC.

Ahora es necesario saber si el parche está creado para usar CON o SIN header SMC... El orden de los dos pasos siguientes varían si el parche debe aplicarse antes o después de borrar la cabecera SMC.

¡OJO! Para el Zelda es necesario aplicar el parche ANTES de borrar el header.

Aplicar parches

Tan solo con F6 o en "Tools" -> "Patch current file", el programa nos preguntará si deseamos guardar la rom antes de seguir y ya sí nos dará a elegir el ips a aplicar.

Imagen

Recordad salvar después de la operación.

Borrar header

Tan simple como ir a "Edit" y marcar "Remove SNES Header", esto borrará el header SMC que nos está estorbando.

Imagen

De nuevo hay que salvar.

Reparar Checks

En el mismo apartado "Tools" elegimos la opción "Repair SNES Checksum", tras una serie de avisos, arregla el check de la ROM (este paso no es obligado, pero vamos a hacer bien las cosas).

Imagen
Imagen

¡No olvidéis salvar el archivo antes de cerrar WindHEX!

Nota: esto está bien para además modificar el header real de la rom, con lo que podemos conseguir algo así:

Imagen

Ahora el truco del almendruco, usar el programa de magno para swapear parte de la ROM y así evitar casi todos los cables a soldar.

Este esquema representa el pinout de una MaskROM y una EPROM 27c801antes y después de pasarla por BankSwap, como veis sólo cambian dos patillas entre ambas al finalizar el proceso:

Imagen

Simplemente arrastrando el *.SMC sobre BankSwap.exe, nos dará un archivo resultante *_0.bin que debe ocupar exactamente 1.048.576 bytes = 1MB = 8Mb

Bien, ya está vuestra ROM preparada para grabar.

OJO: el orden del proceso es bastante irrelevante, se puede calcular el checksum y luego borrar la cabecera o al revés, el resultado es el mismo. Lo que no se puede hacer lógicamente es calcular el checksum y luego parchear.


Grabación de la EPROM.

Para grabar yo uso un Willem que compré por eBay por unos 18 euros (envío incluido), no es la última PCB pero para las 27c801 va sobrado. Eso sí, necesitamos puerto paralelo LPT (DB25) en nuestro equipo.

Yo puedo grabar perfectamente tanto en modo EPP como SPP, pero es recomendable tener el EPP activado en la bios de vuetro PC.

Bien, primero bajamos el software que nos subió socram8888 y lo instalamos:
http://www.filefactory.com/file/cbd95e0 ... 0.97ja.zip
Descomprimidlo todo. Luego:
Si usáis 32 bits, renombra io-x86.dll a io.dll
Si usáis 64 bits, renombra io-x86_64.dll a io.dll, y luego instala TVicPort: http://www.entechtaiwan.com/dev/port/index.shtm

Ahora toca configurar el Willem para 27c080/27c801 si tenéis uno viejo como el mío:

Imagen
Imagen

Si es de los nuevos los jumpers son casi automáticos.

Abrimos EPROM3 y tras hacer el test de hardware:

Imagen

Si todo va bien:

Imagen

Seleccionamos el dispositivo en Device:

Imagen

Comprobamos que el chip esté BIEN vacío conImagen

Imagen

Era una EPROM grabada

Pues nada nada, a la lavadora unos tres minutitos:

Imagen
Imagen

Ahora sí:
Imagen
Imagen

Imagen

Tapamos la ventanita de la EPROM con cinta aislante negra.
Imagen

Abrimos nuestro bin y al turrón ImagenImagen
(esto le cuesta un ratito, además luego verifica).

Imagen
Imagen
Imagen

Constuyendo el cartucho

[youtube][/youtube]


Bueno bueno... ya tenemos caaasi la faena hecha.

Bien, como he puesto antes, para el Zelda necesitaremos un donante compatible, esto es:

LoROM 64kb Sram

Con lo que podemos usar uno de estos sin problemas

LOROM CARTS - single sided solder + 8KB SRAM:

FIFA Soccer 96
FIFA 97
FIFA 98
NBA LIVE 95 (two ROMS)
NBA LIVE 96
NBA LIVE 97
NBA LIVE 98
90 Minutes European Prime Goal
Super Mario Allstars & Super Mario World
Super Metroid
Super Punch-Out!!

fuente: Imagen

Esta lista es muy concurrida por la red, pero no deja de ser válida, además las maskrom son soldadas por una cara, lo que facilita su extracción.

Recordad 64kb=8KB


Vale, localizando cartucho donante:

Imagen

Lo abrimos y vemos que tipo de placa usa:

Imagen

Localizamos la MaskRom, la SRAM, la pila, el CIC y el decodificador de direcciones MAD-1.

Nota: no todos los cartucho tienen decodificador, sólo aquellos que usen más de un integrado (sin contar el CIC) deben usarlo porque la SNES es muy tonta y no sabe distinguir un acceso de otro.

Bien, desoldamos la MaskROM usando un desoldador preferiblemente, sale muy muy bien.

Imagen

Ahora destacar que las MaskROM de SNES suelen tener 36 patillas en contra de las EPROM que cuentan con 32. Esto no es relevante puesto que si os fijáis en el pinout que colgué antes hay cuatro patillas que son "desechables", al menos por ahora.

Presentamos las herramientas:

Imagen

Fijaos que la EPROM ya está puesta (no soldada) y sobran 4 pines por la parte derecha del cartucho.

Levantamos las patillas 24 y 31 de la EPROM:

Imagen

Soldamos un cablecito en los huecos correspondientes a dichas patillas:

Imagen

En la PCB son, contando desde la derecha, el hueco 4 y 11.

Y ya sí, soldamos todo en placa y los cables a las patillas contrarias:

Imagen
Imagen
Imagen


Etiquetado y pintado del cartucho

¡Vale! Ya estamos en el final del proceso...

Aquí creo que las imágenes hablan por sí solas, ¡que aproveche!

Imagen
Imagen
Imagen
Imagen
Imagen
Imagen
Imagen
Imagen

Segundo nivel

Soul Blazer

Juegos de más de 8mb / Partir archivos con BankSawp

Usar dos EPROM para construir un juego de más de 8mb.


Bien, aprovechando que estoy preparando la trilogía "Heaven and Earth Saga" (La saga del cielo y la Tierra), compuesta por Soul Blazer, Illusion of Time y Terranigma, me doy cuenta (como muchos) que uno de los tres juegos nunca llegó en castellano, de hecho no recuerdo haber visto una versión ESP nunca... me refiero como no, al primero de la saga: Soul Blazer (en japón "Soul Blader" ソウルブレイダー, Sōru Bureidā).

La reproducción de este juego comparte elementos comunes con el ZELDA ya que el original ocupa lo mismo y es del mismo tipo:

Imagen

Pero, está en ingles
Gracias a HeXPLuS (Fortaleza Romhack) y (una vez más) a magno podemos disfrutar de un parche para traducir el juego:

FORTALEZA ROMHACK

Imagen

Y ahora viene lo peliagudo, el parche transforma la ROM de 8mb en una preciosa ROM de 12mb... así que toca usar dos EPROM o pedir un parche con menos añadidos (como se ve, los checksum están ya corregidos en el parche así que no hace falta usar windhex como en el Zelda).

Imagen

Como no estamos pa pedir y menos a gente que nos ofrece su trabajo desinteresadamente, nos jorobamos y usaremos dos EPROM 27c801.

¿Cómo partir la ROM?

Bien voy a aprovechar u matar dos pájaros de un tiro. BankSwap parte las ROMs de forma automática (recordad tenerla sin header) peeeero está diseñado para trabajar con ROMS enteras múltiplos de 8mb [1MB] como 8, 16, 24, 32, 40, y como vemos la ROM resultante tras aplicar el IPS es de 12mb (1.5MB).

Imagen

Se puede ampliar el tamaño de ROM con windhex pero para facilitar la tarea he preparado un BAT que hace TODO el proceso solito.

Usando los archivos de este RAR el proceso es tan simple como:

- extraer el contenido del rar junto a la ROM
- renombrar la ROM ya parcheada a IN.SMC
- ejecutar BankSwap.bat (el bat, no el exe)


El resultado serán dos bin preparados ya para grabar con el willem:

Imagen

Para grabar este juego, lo ideal es un NBA Live 95 porque ya posee el hueco para dos maskrom/eprom

Montando el cartucho.

Imagen
Imagen
Imagen

Como se puede ver, esta vez son DIP32 con lo que ajusta perfectamente con nuestras EPROM.

Así pues basta con intercambiar los pines que bankswap no es capaz de cambiar en ambas eprom y listo. Cuidado con los pines levantados de la EPROM de arriba (#2) ya que si no los dejamos cortitos tocarán con la EPROM de abajo (#1).

Imagen
Imagen
Imagen
Imagen


Tercer nivel

Secret of Mana

Tipo HiRom, con dos EPROM


El parche para este juego lo podéis encontrar AQUÍ

Bueno, a raíz de los problemillas que sacamos con este juego, me he decidido a documentar el proceso.

Como la placa que voy a usar es una como la del Illusion of Time (en este caso el donante es Super Momotarou Dentetsu DX JAP), el MAD está preparado para trabajar con una ROM de 2Mb de tamaño... Las EPROM a usar siguen siendo las 27C801 y éstas son de 1Mb así que necesitamos recablear el MAD para que soporte EPROMs de 1Mb.


Bien, según las indicaciones de magno y mirando este apartado de ROMLab:

NINTENDO ALL STARS

Vemos que nos dice claramente que la patilla 13 del MAD ha de ir conectada a A20 para usar 1Mb.

Seguiremos este esquema para el MAD:
Imagen

Pinout de una MASKROM:
Imagen

Pues nada, tras mirar continuidades con un polímetro, se ve que esto en el cartucho usado no se cumple, así que desoldamos el MAD y sacamos la patilla en cuestión:

Imagen

OJO, sacad sólo la de la derecha (PIN 13).

El proceso se resume en montar la segunda EPROM en el hueco de la MASKROM y la primera en la parte de abajo, uniendo las patillas con estaño.

Imagen

Aquí ya está el recablado hecho... se ve el cable que va desde la segunda patilla contando desde la derecha hacia el hueco A16 de la placa y el cable que sale del OE hacia el MAD.

Imagen

Por la cara de arriba, hacemos lo propio con la EPROM #2 y además, conectamos 13 del MAD con A20.

Imagen
Imagen
Imagen

Cuarto nivel

Secret of Mana 2

Usando 4 EPROM 27C801 y 1 74LS139/74HC139

El parche para este juego lo podéis encontrar AQUÍ

El punto OE usado en el MAD verá la totalidad de la memoria asignada, así que no hay que recablear. La gestión de las EPROMs las va a realizar el LS (HC o LS sirven igual).

Nota: Perdonad que no me alargue mucho con este apartado.

Antes de nada, tener la rom SIN header y pasarla por BankSwap, que nos dará como resultado 4 archivos bin a grabar en 4 EPROMs. Recordad marcar bien cuál es cuál.

Bien, ahora nos vamos a regir por el siguiente esquema:

Imagen

Lo explico un poco, TODAS las EPROM han de compartir TODOS los puntos MENOS el OE que será el que haga activarse una u otra dependiendo de la zona que el juego necesite. Para ello los OE de las EPROM ha de conectarse al 74xx139 (el 138 creo que sirve igual) siguiendo el esquema anterior.

Dependiendo de la placa donante, podemos encontrarnos con estos montajes:

Placa HiRom con hueco para dos MASKROM

Imagen
Imagen

Este montaje (cortesía de magno) utiliza los dos huecos de las maskrom para evitar recablear los puntos de unas EPROM a otras... como véis, los OE están al aire (van al LS) y las EPROM están concatenadas por las dos caras y las de la parte alta del PCB a su vez con las de la parte baja.

¡OJO! RECORDAD QUE HAY UN PUNTO DE LA EPROM QUE NO CONCUERDA CON EL DE LA PLACA

Detalles:

Imagen
Imagen

Placa HiRom con hueco para una MASKROM

Imagen

Foto cortesía de kogami (un compañero francés). Aquí se usa el hueco para la maskrom y luego se recablea hacia TRES EPROMs apiladas.

Imagen
Imagen

El resto de fotos de este apartado las he sacado de romlab

Usando una Flash de 32 Mb en lugar de cuatro EPROM

El parche para este juego lo podéis encontrar AQUÍ


De nuevo usamos la placa del Illusion of Time, el MAD está preparado para trabajar con una ROM de 2Mb de tamaño... pero en este caso, el punto OE usado en el MAD verá la totalidad de la memoria asignada, así que no hay que recablear.

Las memorias flash 29F032 tiene la ventaja de que son más duraderas y, por lo menos en las que yo tengo el tiempo de respuesta nunca es mayor de 90ns con lo que nos aseguramos que va a funcionar para SNES siempre.

Imagen

Bien, tras haber grabado convenientemente una memoria flash 29F032 con la rom parcheada (hace falta el adaptador TSOP40b para willem), ojo, SIN APLICAR BANKSWAP la montamos en un adaptador universal para facilitar la tarea y simplemente cableamos hacia los puntos del PCB donante:

Imagen

Pinout de una MASKROM:

Imagen

Como veis, el A22 no se usa, hay cuatro puntos que van a +5v (Vcc) y dos puntos que van a masa (GND, Vss)

Pues nada, tras hacer la faenita, nos quedará algo así:

Imagen
Imagen
Imagen
Imagen


Quinto nivel

Tales of Phantasia

64 Mb de cartucho con dos TSOP


El parche para este juego lo podéis encontrar AQUÍ

Esta parte es como la anterior, tan solo difiere en que se van a usar dos TSOP, con lo que hay que recablear el MAD para que admita dos partes de 32Mb.

Antes de nada, parchear la ROM, ampliarla a 64 Mb con WindHEX, partirla en dos y grabar las TSOP correspondientes.

Presentamos el material

Imagen

Juntamos las TSOP.

Imagen

Como soy un perrete he soldado tods los pines y luego cortado los de OE, WE y NC... para evitar contactos entre OE he dejado los adaptadores un poco separados, lo malo es que de esta forma el cartucho cierra muuuuuuy ajustado aún rebajando el plástico interior.

Si pegamos más las tsop el cartucho cierra perfectamente, así que ya sabéis.

Imagen

El procedimiento es parecido al que hicimos en el SOM, levantando la patilla 13 del MAD y llevándola esta vez al pin 48 del slot.

En el donante usado que es de nuevo la placa SHVC-1J3M-20 (esta vez proveniente de un Super Momotaro Dentetsu 3), este pin está comunicado con A22 así que basta con unir el pin13 del MAD con el A22.

Imagen

Y cableamos como antes, ojo con dejar espacio para el pivote de plástico del cartucho (yo lo marco con un rotulador).

Imagen

Tan solo cuidadito al conectar los OE antes al MAD.

Imagen
Imagen

Este tutorial no es de mi autoria como se imaginaran no me dan las Pe***as para hacerlo mas si es asi de largo asi que les dejo la fuente solo que ahi hay mas gallegadas (sin ofender) y algunos links no mandan directamente a las descargas sino a otros post

Re: [GUIA] Reproducciones Snes

Publicado: 06/01/12 2:50
por Leonel.23
:shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock:
MUUUUUY bueno el tutorial, no entendi mucho, porque no lei detalladamente pero es impresionante lo que se puede hacer

Re: [GUIA] Reproducciones Snes

Publicado: 06/01/12 12:44
por Magnus87
Muuy bueno, aunque yo soy -10^-38 en esto de la electronica. Me interesa la parte de pintado y la etiqueta, estaria bueno mas detalle de esa parte porque me gustaria poder restaurar un par de cartuchos o poder costumizar las consolas, no se que pintura usar o como debo hacerlo ni nada xD

PD: Podrias editar un poco el hilo para que no se vea tan estirado, yo con 1024*768 no alcanzo a ver todo

Re: [GUIA] Reproducciones Snes

Publicado: 06/01/12 14:15
por kuroi1986
son las 2 fotos mas grandes las que deforman todo, habria que achicarlas un poco

Re: [GUIA] Reproducciones Snes

Publicado: 09/01/12 11:58
por s0mbrit4
disculpen el tamaño gente es que hice el post en el laburo y no tenia como redimencionar las imagenes apenas pueda lo cambio

Re: [GUIA] Reproducciones Snes

Publicado: 10/01/12 4:20
por Cryog
Tremendo tutorial y excelente trabajo !!! Esas reproducciones quedaron estupendas ... pero como soy un cero a la izquierda en electrónica y soldar no es lo mio , pues todos esos juegos los meto en mi flashcart y me evito el dolor de cabeza !!!!

Re: [GUIA] Reproducciones Snes

Publicado: 11/01/12 15:48
por Neoblood
Realmente muy bueno, no... es excelente.
Estaria bueno encontrar algo asi pero para sega.

Re: [GUIA] Reproducciones Snes

Publicado: 12/01/12 22:22
por rodrigodelucia
maestro de los maestros .... estoy sin palabras :)

Re: [GUIA] Reproducciones Snes

Publicado: 12/01/12 23:45
por Martin
que bueno que tan los everdrive ahora, esto lo hiciste vos o es un copy past? saludos!

Re: [GUIA] Reproducciones Snes

Publicado: 13/01/12 1:32
por jam007
Martin escribió:que bueno que tan los everdrive ahora, esto lo hiciste vos o es un copy past? saludos!
sip ahora eso existe pero hay personas que les gusta trastear y experimentar a la antigua scene :rock: .
asi nacio el everidrive y los emuladores ,de personas que les animo ve como funcionaba un cartucho.
a ver si algundia me aventuro a hacer uno (terranigma para ntsc y español :mrgreen: )