Este fin de semana me he puesto manos a la obra para hacer un cartucho de SNES con el menos número posible de recableados. Creo que es la forma más sencilla posible de hacerte una reproducción, y se basa en reordenar el contenido de cada banco de la ROM para hacer que coincidan el pinout de la EPROM con el de la PCB.
Lo voy a explicar paso a paso:
1- Partimos de la base de que las líneas A16-A17-A18 y A19 de una EPROM M27C801 no coinciden con el pinout de las ROMs que usaba Nintendo para los juegos de SNES. Esto implica tener que recablear estas líneas cuando te haces una repro. Por supuesto, esto no aplica a EPROMs más grandes como la 27C16 o la 27C322, puesto que en ellas no coinciden muchos más pines; y me centro en la 27C801 porque es barata, con mucha disponibilidad y de 8 megabit.
2- Si comparamos los pinout, la disparidad está en las líneas A16 <-> A18 y A17 <-> A19. Si logramos que la línea A16 de la EPROM coincida con A18 de la huella en el PCB y la línea A18 de la EPROM coincida con A16 en la huella de la PCB (y lo mismo con A17 y A19), entonces habremos conseguido nuestro objetivo.
Entonces, la distribución de pines sería:
EPROM PCB
----- ---
A16 (soldado) -> A18
A17 (soldado) -> A19
A18 (levantado) -> A16 (en el hueco que deja levantar el pin /OE)
A19 (soldado) -> A17
/OE (levantado) -> 74LS138 ó MAD-1 ó /RD
3- Una vez hecho que coincidan, tendremos que reordenar los bancos de la ROM que grabaremos para que cuando la SNES genere una dirección, encuentre en la EPROM el dato que realmente busca. Esto lo hacemos con un programa que me he hecho en C que lee la EPROM, la parte en trozos y reordena los bancos dentro de cada trozo. Ahora mismo vale para cualquier juego HiROM de cualquier tamaño, aunque agradecería que alguien lo probara si lo va a utilizar antes de nada:
http://magno.romhackhispano.org/BankSwap.exe4- El impedimento que nos queda por resolver es que la línea A18 de la EPROM coincide con /OE de la PCB; esto implica que hay que recablear sólo esa línea, de modo que si nos llevamos A18 de la EPROM con un cable a A16 de la PCB, ya tenemos solucionado el problema. Como A16 de la PCB cooincide AFORTUNADAMENTE con /OE de la EPROM, resulta que hemos resuelto TODO el problema fácilmente: levantamos las patillas A18 y /OE de la EPROM, cableamos A18 de la patilla levantada al pad de la PCB que está debajo de /OE de la EPROM, y luego cableamos /OE de la EPROM a nuestro decodificador de direcciones, al MAD-1 o a /RD del conector (depende del juego).
La foto de cómo queda es ésta:
(hay un cable de más porque haciendo pruebas rompí un pad de la PCB: el cable que une la EPROM superior con la inferior sobra, no será necesario si no rompéis nada)
(realmente, la parte superior debería quedar tan limpita y aseada como está la inferior)
5- La mejor forma de soldar las EPROMs correctamente por los dos lados es soldar primero las memorias directamente por la cara de la pila y ponéis el estaño por la cara de abajo, como si sólo fueran a estar esas dos memorias. Soldáis el cablecito suelto de A18 a A16 y hacéis que el trocito de cable que pasa a la cara de abajo a través del pad sea un poquito largo, que sobresalga la misma longitud que el resto de patillas de la memoria.
Para las EPROMs de la cara de abajo hay que hacer lo siguiente:
5a- Con mucho cuidado, ponéis TODOS los pines de las memorias en horizontal (ayudaros de un cutter y mucha paciencia) y con el soldador estañáis un poquito a la altura de la curvatura de la patilla (por donde une con la cerámica del encapsulado)
5b- Dejáis enfriar bien la soldadura y luego volveís a doblar las patillas
EN LA DIRECCIÓN CONTRARIA A LA QUE ESTABAN. De este modo habréis dejado el chip de memoria
dado la vuelta: ahora la parte de abajo del chip es la parte de arriba
5c- Ahora cortáis las patillas del chip: TODAS MENOS /OE Y A18. El corte lo debéis hacer a ras, de modo que no sobresalgan por debajo del chip.
6- Soldáis las memorias de la parte de abajo normalmente uniendo lo que sobresale de cada patilla del chip de la otra cara con lo que quedan de las patitas del chip que va por esta cara. Esto hay que hacerlo "encajando" la EPROM en el hueco de las patillas, para que quede lo más pegado posible a la PCB.
7- Si habéis cortado bien a ras todas las patillas y habéis soldado bien, el chip de esta cara no sobresaldrá de la PCB, de modo que estará tocando el encapsulado perfectamente la placa; entonces podréis cerrar el cartucho sin problemas.
Si no, no pasa nada, sólo tendréis que romper el cartucho (la tapa que lleva la pegatina) de esta manera:
AntesDespues(me faltan por poner algunas fotos y algo más de información; lo completaré cuando llegue a mi casa)