Reproducciones de SNES.

Todas las ofertas del Black Friday en Amazon, PcC y eBay
1, 2, 3, 4, 5886
josete2k
Abonado a EOL
20.185 mensajes
desde nov 2001
en EOL... ¿no me ves?
Editado 71 veces. Última: 30/06/2016 - 23:15:04 por josete2k.


Es electrónica MUY simple y SEGURO que TODO está respondido en la red (no necesariamente referido a repros de SNES, por supuesto):

http://wiki.xtronics.com/index.php/How_EPROMS_Work










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.

Gracias a todos los que vais manteniendo el hilo vivo, a vtec16, FFantasy6, azulantares y sobre todo a magno por su apoyo contínuo...






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 http://www.snescentral.com 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:

hilo_programa-para-grabar-eeproms_1606706




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


Imagen


Detalle:

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 con Imagen:



Imagen



MEEEECCCCC, lógico, era una EPROM grabada :P




Pues nada nada, a la lavadora unos tres minutitos:

Imagen

En pleno proceso:

Imagen





Ahora sí:

Imagen


Imagen




Tapamos la ventanita de la EPROM con cinta aislante negra.

Imagen

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



Imagen

Imagen




Imagen



Constuyendo el cartucho

vtec16 se ha currado un buen videotutorial que no os podéis perder:

http://www.youtube.com/watch?v=tnaya6ignwc


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: http://nintendoallstars.w.interia.pl/ro ... _types.htm

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

Si no tenéis, yo he probado este de ebay y va de cine:

Imagen

Bueno, bonito y barato HOYGAN!



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

Detalle:

Imagen


Y... ya está, a probar:

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



Peeeeeeero, está en inglish pitinglish... y sería una lástima tener la trilogía tan multilingüe ¿verdad?

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

http://fortaleza.romhackhispano.org/proyectos.html


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

El NBA Live 95 es ideal en este caso, LoRom y con hueco para dos maskrom.

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


Probamos el juego:

Imagen


Metemos etiqueta:
Imagen

¡Y listo!

Imagen



Ya tenemos la trilogía en castellano [360º].






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:

http://nintendoallstars.w.interia.pl/romlab/mads.htm


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




Y listo:


Imagen

Imagen


Ahora sí, GRABANDO.

XD






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:

http://nintendoallstars.w.interia.pl/romlab/sneslab.htm







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



Y listo, a probar:

Imagen


De nuevo comprobamos si graba partida.

Imagen


Lo dejamos molón:

Imagen


Y a otra cosa mariposa XD




Se ha usado el SOM2 pero este proceso es ideal para juegos de 3 o 4 MB como el FinalFantasy VI, Chrono Trigger o similares...






Quinto nivel

Tales of Phantasia




64 Mb de cartucho con dos TSOP, casi ná



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


Probado y el guardado funciona perfectamente

Imagen




Ale, ya me he quedao agusto...

Imagen






Sexto nivel

StarFox 2




¿Chip FX2? Pa qué....



Bueno, aquí se pueden grabar varias roms, lamentablemente, el parche a español añade una imágen al inicio que aumenta la rom a más de 8mb.

PARCHE ESPAÑOL (SEMI): http://www.mediafire.com/?aiucaschfk54hd6

Voy a usar una rom con el parche retail a inglés, que además de traducirla le quita las opciones debug que lleva la rom liberada. Vamos, queda como un juego original.


Primero grabamos la rom en una 27C801, yo he pasado bankswap para no tener que cambiar tantos pines a la hora de cablear (el pinout de la maskrom, pese a ser SMD, coincide con el formato DIP). Se puede hacer sin bankswap ya que esta vez toca meter cables sí o sí.

Preparamos la EPROM doblando las patillas hacia arriba:

Imagen



Ahora ya, a por el cartucho......

Partimos del juego Stunt Race FX donde localizamos y quitamos la maskrom:

Imagen



Antes de cablear, he quitado la pila para ponerla en el lado contrario con tal de que no estorbe en nuestra labor... cableamos:

Imagen



Vamos juntando cables con pines de la EPROM:

Imagen



Dejamos el pin 24 y el 31 al aire ya que esos hay que intercambiarlos:

Imagen



Probamos, et voilà:

Imagen Imagen



El tema es que leyendo por ahí hay forma de overclockear el juego cambiando el XTAL por un de 24Hz en lugar del de 21 que lleva. El problema es que según comentan sólo funciona con juegos SuperFX2 y yo he usado el Stunt Race FX (SuperFX1).


Ya tenemos un UNRELEASED en nuestra SNES.

Imagen






Séptimo nivel

The Legend of Zelda: Ancient Stone Tablets




¡Cartuchos multi-rom!


http://www.youtube.com/watch?v=0I5g598O39I
http://www.youtube.com/watch?v=bEqFc1nfa8o
http://www.youtube.com/watch?v=lnkYbHVPNis



Con un PIC 12F629 y las roms de 2mb en 2x29F032
Imagen

NOTA: NC es NC, no conectéis nada ahí que en realidad son patillas de salida para control de sram, pero en el AST NO SE USAN.

https://www.mediafire.com/?9bhkcfvbcioxog1




Con un PIC 12F629 y las roms de 2mb en 2x29F032, AVANZADO.
Seguramente sea mi último aporte en el tema del Zelda AST.

Este selector lleva implementado el cambio de juego con un reset superior a 2 segundos, es decir:

Reset -> reinicia la consola
Reset +2seg -> cambia de juego y reinicia la consola


Como añadido, guarda el estado del último juego, pero no es cíclico: detrás del 4 no vuelve al 1... si queréis volver al primer juego, hay que volver a grabar el PIC, con lo que es recomendable usar un zócalo para su instalación.

Imagen

La única pega es que los que tengan supercic deben tener el hex que se modificó para hacerlo compatible con el powerpak... donde un doble click de reset genera una señal de 7 segundos de duración, suficiente para cambiar de juego.






Octavo nivel

The Legend of Zelda: Ancient Stone Tablets: Master Quest




¡Cartuchos multi-rom (BIS)!



Contador binario, decodificador y roms de 4mb en 4x29F032
elnaib escribió:Hola,

Os voy a comentar cómo se haría un multijuego de 4 juegos diferentes de 4mb y una sram de 256kb, con un 74HC393 y un 74LS139 por si alguien no quiere utilizar un pic

74LS139

            MAD-1 #4       |01 \/ 16| +5V
            74HC393 #3     |02    15| NC
            74HC393 #4     |03    14| NC
            TSOP 1 (/OE)   |04    13| NC
            TSOP 2 (/OE)   |05    12| NC
            TSOP 3 (/OE)   |06    11| NC
            TSOP 4 (/OE)   |07    10| NC
            GND            |08    09| NC


74HC393

   RESET (MAD-1 #9)   |01\/14| +5V
            GND       |02  13| 393 PIN#1
          74LS139 #2  |03  12| 393 PIN#2
          74LS139 #3  |04  11| A13 (SRAM #26)
             NC       |05  10| A14 (SRAM #1)
             NC       |06  09| NC
            GND       |07  08| NC


Para que funcione el segundo contador, el que controla la sram, hay que conectar el pin 12 al pin 2 y el 1 al 13 del 393.

Para que no haya problemas con el arranque del juego haremos un circuito RC con un delay de 1/10 de segundo, eso se consigue haciendo que el valor del condensador en faradios multiplicado por el valor de la resistencia en ohmios debe valer 0.1, y se conectaría de la siguiente forma

5V—condensador—393 pin 2—resistencia—ground


Como consejo todas las patillas que no están conectadas (NC) es mejor dejarlas conectadas a masa.

El sistema está probado en el multijuegos de shooters que hice y que se puede ver en el video de la primera página, comentar que no lo he probado con 4 TSOP de 4 mb, pero lo haré pronto pues me tiene que llegar el material.

Bueno pues ya sabéis como se hace un multijuego de 4 juegos diferentes de 4 mb, a ver si alguien postea su experiencia.

Un saludo




PIC 12F629 y roms de 4mb en 4x29F032
MASTER QUEST, son 4x32mb, o cualquier multi con 4 juegos en 4 memorias. Sin gestión de sram, me faltan pines para ello (tendría que usar un 16F630):

NOTA: los /OE de TODAS las EPROM/FLASH han de ir unidos, sacados de la PCB y direccionados a MAD#4

Imagen


Cambio de juego manteniendo reset 2 segundos:
:020000040000FA
:100000000000000000008312073099008B01831666
:100010002830850081019B011C141A088312850079
:100020008C01851D11288B014B20051C3028851C57
:100030003328051D36283928851D1F281C284B20EC
:1000400085191C284B2085191C284B2085191C2834
:100050004B2085191C282C28300885003C201128AD
:100060001530B0001C281330B0001C280730B00039
:100070001C281630B0001C28300883169A0038302F
:100080009B081C1555309D00AA309D009C141C1126
:1000900083128C0108000330B1001830B200023026
:1000A000B300B10B5428B20B5628B30B5128582873
:0200B000080046
:0400B20000340034E2
:02400E00543F1D
:1042000016006A006F0073006500740065002000EE
:00000001FF



Cambio de juego con reset:
:020000040000FA
:100000000000000000008312073099008B01831666
:100010002830850081019B011C141A088312850079
:100020008C01851D11288B014B20051C3028851C57
:100030003328051D36283928851D2C281C284B20DF
:1000400085191C284B2085191C284B2085191C2834
:100050004B2085191C282C28300885003C201128AD
:100060001530B0001C281330B0001C280730B00039
:100070001C281630B0001C28300883169A0038302F
:100080009B081C1555309D00AA309D009C141C1126
:1000900083128C0108000330B1001830B200023026
:1000A000B300B10B5428B20B5628B30B5128582873
:0200B000080046
:0400B20000340034E2
:02400E00543F1D
:1042000016006A006F0073006500740065002000EE
:00000001FF













ANEXO 1

¿Donante NTSC o PAL? No pifiarla antes de grabar.




Probando la rom en un emulador



Los emuladores no tienen región, adaptan el funcionamiento y la emulación a los datos contenidos en la cabecera de la rom. Así pues una rom con región JAP establecida en su cabecera, el emulador será ejecutada como si de una cartucho japonés en una Super Famicom japonesa se tratara, en cambio, si la región de la cabecera está establecida en Europa, el emulador se convierte en una SNES PAL a todos los efectos, 50Hz y restricciones PAL.


Para saber si una rom NTSC va a funcionar en un donante PAL o viceversa, nos podemos valer de un truquito basado en la modificación de la cabecera REAL de la rom. Cambiando el dato de región para que, aún siendo una rom NTSC, el emulador la ejecute en modo SNES PAL y veamos si funciona, tiene cuelgues o fallos.


Este paso se puede hacer sin arreglar el checksum y también sin borrar el header smc de la rom (el que borramos para grabar en una EPROM), es sólo a fines de testeo antes de elegir donante




En el ejemplo, voy a cambiarle la región al Dragon Ball Z Super Butouden 3, el cual lleva protección por software en su versión japonesa. Por contra, la versión PAL llamada "Ultime Menace" NO lleva protección.






Para llegar a ello, basta con:


Abrir la rom en el emulador y anotar o simplemente recordar el nombre INTERNO de la rom, en este caso "SFX SUPERBUTOUDEN3"

Imagen

Podéis ver la región de la rom en el dato más bajo, "Japan" y el tipo de salida en "Output: NTSC 60Hz".


El emulador ahora se comporta como una Super Famicom japonesa.




Bien, abrid WindHex32 y abrid la rom en cuestion, pulsáis Ctrl+F o vais a Text Search:

Imagen

Escribid parte del nombre interno de la rom (marcad la casilla "Ignore Case" para que no distinga mayúsculas y minúsculas)

Imagen



Buscad el byte que os marco en la imagen:

Imagen

Como podéis ver, es un 00 y como dato, corresponde a Japón (NTSC).


Activamos el editor de WindHex32:

Imagen


Y acto seguido cambiamos el byte 00 por 02

Imagen



Guardamos la rom y probamos de nuevo en emulador, que ahora actuará como una SNES PAL como indica en "Output":

Imagen

Ojo, la rom sigue siendo JAP, tan solo hemos engañado al emulador para que se convierta en una SNES PAL.



¡Vaya qué lástima, esta rom está protegida por software!

Bueno, ya lo sabíamos.






ANEXO 2

SuperCIC en la consola




O cómo hacer tu SNES multirregión.



Gracias a magno..

Hilo sobre el SuperCIC



Nada más, grabar un PIC 16F630 con el último HEX y seguir el esquema que os propongo.


Esquema:

Imagen

Los pines (¿o se dice pins?) de las PPU (ambos) han de levantarse y el CIC de la consola mejor extraerlo.

Resultado:

Imagen






Características y funcionamiento:

El funcionamiento es simple, con el reset de la consola pasamos de PAL-forzado, NTSC-forzado y modo AUTO (detecta la región del cartucho).

Compatible con el 100% de los cartuchos. Funcionan tanto Super MArio RPG como Star Ocean y cartuchos normales.

Si metemos un juego NTSC y tenemos el forzado PAL, el juego arranca en NTSC y cambia automáticamente a los 9 segundos. Esto permite saltarse algunas comprobaciones al arrancar el juego. O sea, arranca en el modo del cartucho y luego establece el modo que le ponemos. Esto es siguiendo el esquema que os propongo.

Se puede cambiar de modo en caliente, o sea, en cualquier momento.

Haciendo doble reset se envia una señal reset de 7 segundos. Útil para los poseedores del powerpack, ya que es necesario presionar reset 7 segundos para transferir la SRMA a la tarjeta de memoria (CF)... o sea, en lugar de 7 segundos, basta con pulsar doble el reset (como hacer doble click en el ratón).


Saludos.






ANEXO 3

SuperCIC KEY




O cómo hacer tus cartuchos multirregión.



Bueno, me enteré gracias a magno (una vez más) y su hilo sobre el SuperCIC de que podemos disfrutar de una consola multirregión automática....


¿Sólo la consola?

NOOOOOO...


El creador del código del SuperCIC ikari_01 nos ha brindado además con código para sustituir el CIC de los cartuchos, dándonos la oportunidad de hacer nuestros cartuchos REGION-Free.


OJO, esto hace el cartucho libre de región, pero si el juego lleva protección por software, el resultado será nulo igualmente.




Bien, en el paquete del SuperCIC tenemos dos archivos *.hex que corresponden al código a grabar en nuestros IC.


Para sustituir el CIC de la consola se usa el archivo LOCK (cerradura) grabado en un PIC 16F630 (ver hilo de magno para más info).

El archivo que nos interesa es el KEY (llave), que va a ir grabado en un PIC 12F629.


Imagen

Os dejo el esquema e iré ampliando la info de grabación del PIC y montaje en unos días.


Resultado:
Imagen



Pequeño inciso sobre la grabación de estos PICs.

Yo suelo usar WinPIC800 pero por algún motivo inexplicable, la remesa que tengo de chips 12F629 dan error contínuo con WinPIC así que me toca usar de nuevo el acalamado ICProg.

Para programar tengo un TE-20

Imagen


Bien, para cumplir los valores de oscilación (timing) del fabricante, estos chips vienen calibrados de fábrica así que usan los últimos bits para ello... además el bandgap ha de mantenerse como vino de fábrica también.

Si abrimos el ICProg y leemos el dispositivo, veremos al bit final algo así (343C):

Imagen

Anotamos el valor porque es propenso a borrarse.

Cargamos el hex, fijáos que el valor Oscilador ha cambiado del valor que tenga a EC (externo):

Imagen

Y al darle a programar nos dará esto:

Imagen

El uso que le vamos a dar actualmente (superCIC_key) prescinde del oscilador interno y lo coge del CLK de la consola, así que es totalmente innecesario que mantengamos el valor de calibración... aun así, lo ideal es darle al NO porque así mantendremos la calibración de fábrica por si quisieramos en un futuro darle un uso alternativo (que lo dudo).

Si nos preguntase por cambiar el bandgap y usar el del archivo, le decimos que no.


¿Qué pasa si ya la hemos liado? ¿Si ya hemos borrado el OSCCAL y no sabemos cuál es?

Imagen

Pues, estamos de suerte, no pasa NADA (en el caso que nos ocupa, claro) ya que como he dicho el valor CLK lo cogemos de la consola, podemos darle al Sí como al No...

OJITO, tal vez de valor ausente porque no detecte el chip o esté defectuoso... en ese caso fallaría la verificación seguro.

Al final:

Imagen

Felicidades, ya tienes tu SuperCIC_key grabado y funcional.










ANEXO 4

Usando dos tipos de adaptadores TSOP-DIP




La facilidad de no cablear



No me extiendo...

Existen varios adaptadores de TSOP a formato DIP, no es difícil encontrar en la red fotolitos para poder meter nuestras tsop en un cartucho de snes sin tener que cablear nada.

Por ejemplo el de romlab:

Imagen
Imagen



Este en concreto lo tengo comprobado y funcionando, mirad:

Imagen




Bien, hay otros tipos. Este por ejemplo:

Imagen


Este en especial, nos dio problemillas a FFantasy6 y a mi porque tiene una pista mal y los A20 y A21 están intercambiados. Podéis bien pasar esos puntos con cables o simplemente manipular la rom para que A20 y A21 estén permutados.



¿Cómo?

-Ampliando la rom a 4Mb (si no lo está ya).
-Partirla en 4 partes.
-Cambiar el orden de las dos partes centrales (la dos por la tres y viceversa).
-Volver a unir.


La rom resultante NO funcionará en ningún emulador, únicamente en el adaptador "malo".

Debéis puentear R1 y R3.


Imagen Imagen
Lexarius
Adicto
416 mensajes
desde nov 2006
en Sector 9
Editado 1 vez. Última: 17/05/2012 - 22:21:50 por Lexarius.
Muy bueno el tuto! Esto es lo que hacia falta,en castellano y paso por paso.Le ira de lujo a mucha gente! [oki]

Salu2x [bye]
ryo1975
Viciando
7.555 mensajes
desde nov 2009
en Motorola 68000
ESPECTACULAR

muchas gracias compañero [oki]
racort
endeve como mapuesto
5.215 mensajes
desde may 2006
josete2k, un 10 para ti, muy interesante el hilo.
mirakbueno
¡A metamorfosearse!
4.675 mensajes
desde mar 2007
en Buscame en Angel Grove...
¿esto mismo valdria para hacer repros de game boy?
kkdelavk
MegaDrive!!!
2.613 mensajes
desde abr 2007
en el yermo (malaga)
muchas gracias, a ver si me animo con un Chrono en español :D
bertobp
Clasicómano
11.139 mensajes
desde abr 2011
en Barcelona
mirakbueno escribió:¿esto mismo valdria para hacer repros de game boy?


Evidentemente cada maquina tiene sus caracteristicas y no vale el esquema... que de GB/GBC yo si tengo experiencia y puedo aportar mi granito al tuto! ;)
El titulo deberia especificar para que consola es, o para las que se vayan poniendo a la larga.

Me parece un post muy bueno y ahi va el "pulgar arriba" ;) [poraki]
mirakbueno
¡A metamorfosearse!
4.675 mensajes
desde mar 2007
en Buscame en Angel Grove...
bertobp escribió:
mirakbueno escribió:¿esto mismo valdria para hacer repros de game boy?


Evidentemente cada maquina tiene sus caracteristicas y no vale el esquema... que de GB/GBC yo si tengo experiencia y puedo aportar mi granito al tuto! ;)
El titulo deberia especificar para que consola es, o para las que se vayan poniendo a la larga.

Me parece un post muy bueno y ahi va el "pulgar arriba" ;) [poraki]


Gracias por comentar, a ver si hacen un tutuo sobre repros de game boy y me animo que me gustaria aprender y poder hacerme varias traducciones al español de juegos de game boy como por ejemplo zelda link's awakening
stroquer
MegaAdicto!!!
4.999 mensajes
desde jul 2008
en Behind the musgo
Gracias por el curro.
TunneT
MegaAdicto!!!
1.201 mensajes
desde sep 2008
al final me animaré y haré repros yo tb jeje

seguiré el hilo, gracias [oki]
1, 2, 3, 4, 5886