El funcionamiento de la pila en los cartuchos
Lo llamativo es que la diferencia llega a darse dentro de un mismo título. Las tiradas europeas en inglés de Pokémon Rojo y Azul llevan una CR2025, mientras que las alemanas y las francesas de esos mismos juegos montan una CR1616. Pokémon Amarillo lleva CR1616 en todas sus versiones. Con esa dispersión, la respuesta por consola sirve como punto de partida y nada más; la certeza está en el ejemplar concreto. De hecho, hasta tienen consumiciones diferentes dependiendo del juego: Oro, Plata y Cristal llevan un reloj en tiempo real dentro del cartucho, para que amanezca y anochezca de verdad. Ese reloj sigue corriendo con la consola apagada y se alimenta de la misma celda que mantiene la partida, de manera que una sola pila atiende dos consumos y uno de ellos no se detiene nunca. Es decir, de todas, la batería que se agota más rápido siempre será la de esa generación. Esos tres juegos montan también la CR2025 grande en lugar de la CR1616 habitual de la plataforma. Todo esto, al menos, en lo que vemos nosotros.
- Pan Docs, documentación del chip MBC3 y su reloj en tiempo real.
- Base de datos de tipos de guardado en Nintendo 64 del emulador Mupen64Plus.
- Decompilaciones del proyecto pret de Pokémon Rubí y Esmeralda.
- GBATEK, referencia técnica de Game Boy Advance, apartados de memoria de respaldo y reloj en tiempo real.
- Base de datos de cartuchos del proyecto FlashGBX.
- Hilo de GBAtemp sobre cartuchos falsos de Pokémon para GBA y su guardado en SRAM.
En Rubí, Zafiro y Esmeralda la pila mueve el reloj
Estos tres juegos llevan una pila CR1616 y llevan un reloj en tiempo real. La partida, sin embargo, no está en ninguna memoria que dependa de esa pila: está en un chip de memoria flash, que conserva los datos sin corriente y los conserva igual con la celda agotada, muerta o directamente ausente.
En una placa europea de Esmeralda que tengo fotografiada, con el código AGB-E05, no se distinguen por la distancia. El chip de ocho patas del reloj, un S3511, y el chip Macronix donde vive la partida están pegados el uno al otro, y la celda queda a un lado de los dos. Lo que separa las dos funciones es la serigrafía: U3 RTC para el reloj, FLASH U2 para la memoria. Mirando la placa no lo adivinas; hay que leer lo que Nintendo imprimió encima.
Cuando la pila se agota lo que se detiene es el reloj. Las bayas dejan de crecer y los eventos que dependen del día se paran, mientras la partida guardada continúa exactamente donde estaba.
El propio juego alimenta la confusión. Cuando uno de estos cartuchos falla al guardar y no consigue reparar su memoria de respaldo, muestra un mensaje que nombra dos culpables posibles: la memoria dañada o la pila interna agotada. Ese texto está literalmente en el código. De los dos culpables que nombra, en un cartucho auténtico de esa generación el segundo no puede serlo nunca.
Lo que sí pudo pasar
Quedan varias explicaciones posibles, y sigo sin saber cuál de ellas se llevó mis treinta y nueve horas.
La memoria flash puede desgastarse si se escribe en ella muchas veces. Un guardado puede quedarse a medias por un cuelgue o porque el cartucho se mueve en la ranura mientras escribe. Y el cartucho puede no ser auténtico: existen copias no oficiales de Pokémon que guardan en SRAM detrás de una celda barata en lugar de en flash, y en una de esas la pila sí se lleva la partida.
Esa última posibilidad es la única en la que la explicación de manual habría acertado, y habría acertado por casualidad.
Solo un tipo de memoria necesita corriente
La división que de verdad importa no separa juegos buenos de juegos malos ni cartuchos viejos de cartuchos nuevos, sino memorias que necesitan alimentación de memorias que se apañan sin ella.
La EEPROM y la memoria flash no son volátiles y guardan sin ninguna ayuda. Existe una tercera de la misma familia, la FRAM, que en esto se comporta igual, y ninguna de las tres necesita pila para conservar lo que has guardado.
La SRAM es la que se sale del grupo. Es volátil, pierde su contenido en cuanto se le corta la corriente, y por ese motivo los cartuchos que la usan llevan dentro una celda de botón que la mantiene alimentada con la consola apagada. Ahí, y solo ahí, una pila agotada significa una partida perdida.
Y hay una cuarta categoría, la de los juegos que funcionaban con contraseñas: no guardaban nada, así que no tienen ni celda ni memoria que perder.
El mismo juego con dos pilas distintas
Aquí está el detalle que rompe la idea de que hay una pila por consola, porque no la hay. Esta es la distribución que vemos nosotros. En Game Boy y Game Boy Color el tipo habitual es la CR1616, aunque los casos más conocidos montan la CR2025. En Game Boy Advance vuelve a ser la CR1616. En NES y Super Nintendo la celda habitual es la CR2032, igual que en los juegos de Nintendo 64 que usan SRAM.
Los números describen la pieza y conviene entenderlos, porque son la razón por la que no vale cualquiera. Las dos primeras cifras son el diámetro en milímetros y las dos últimas el grosor en décimas. Una CR2025 y una CR2032 miden las dos 20 mm de ancho, pero la primera tiene 2,5 mm de grosor y la segunda 3,2. Meter la gruesa donde va la fina hace que la carcasa no cierre o que la celda apriete contra la placa.
Lo llamativo es que la diferencia llega a darse dentro de un mismo título. Las tiradas europeas en inglés de Pokémon Rojo y Azul llevan una CR2025, mientras que las alemanas y las francesas de esos mismos juegos montan una CR1616. Pokémon Amarillo lleva CR1616 en todas sus versiones. Con esa dispersión, la respuesta por consola sirve como punto de partida y nada más; la certeza está en el ejemplar concreto.
El reloj consume cuando nadie juega
Oro, Plata y Cristal llevan un reloj en tiempo real dentro del cartucho, para que amanezca y anochezca de verdad. Ese reloj sigue corriendo con la consola apagada y se alimenta de la misma celda que mantiene la partida, de manera que una sola pila atiende dos consumos y uno de ellos no se detiene nunca.
Esos tres juegos montan también la CR2025 grande en lugar de la CR1616 habitual de la plataforma.
La Nintendo 64 usó tres sistemas a la vez
En la Nintendo 64 la división se ve dentro de una sola máquina, porque repartió sus juegos más conocidos entre los tres tipos de memoria sin ninguna lógica de importancia.
Sin ninguna celda, guardando en EEPROM: GoldenEye 007, Mario Kart 64, Super Mario 64, Banjo-Kazooie, Perfect Dark y los tres Mario Party. Tampoco lleva celda lo que guarda en flash, que es el caso de The Legend of Zelda Majora's Mask y de los dos Pokémon Stadium. Con SRAM y una CR2032 soldada: Ocarina of Time, F-Zero X, Super Smash Bros. y 1080° Snowboarding.
Ocarina lleva celda y Majora no, y son dos Zelda de la misma consola, lo que deja bastante claro que la antigüedad no es el criterio.
Conviene saber también que no todo lo que guardas en esta consola vive en el cartucho. Bastantes juegos escriben en el Controller Pak, la tarjeta de memoria que se enchufa al mando, y algunos no guardan en ningún otro sitio. Si lo que has perdido estaba ahí, el cartucho no tiene nada que ver con el asunto.
Cualquier título se comprueba en la base de datos de tipos de guardado del emulador Mupen64Plus, anotada al final. Los juegos PAL con pila los tengo recogidos en una lista en mi tienda, en neerlandés, aunque los títulos se leen igual en cualquier idioma.
Cuántos cartuchos de Game Boy Advance llevan celda
Existe una base de datos pública con el tipo de guardado de los cartuchos de GBA. Contando las referencias con licencia que recoge, un 17% guarda en SRAM o en FRAM.
Esa cifra es un techo y no un dato exacto, porque la FRAM va contada dentro y la FRAM no necesita pila. El número de cartuchos de GBA que realmente llevan celda queda por debajo de ese 17%.
Tres preguntas para el vendedor
La primera no es por el año del juego sino por dónde guarda. Buscar el título junto a "save type" resuelve la duda en un minuto, y si la respuesta es EEPROM o flash ya no hay nada que negociar por ese lado: aunque el cartucho lleve una celda, tu partida no depende de ella.
La segunda solo tiene sentido si el juego usa SRAM, y son tres datos en una: si la celda se ha cambiado, cuándo, y qué pasó con la partida que había dentro. El tercer dato conviene no saltárselo, porque el cambio suele llevarse por delante la partida antigua.
La tercera es por los tornillos. Nintendo puso un tornillo de seguridad de 3,8 mm en Game Boy y Game Boy Color y uno de tres puntas en Game Boy Advance. Un tornillo de estrella corriente en su lugar quiere decir que alguien ha estado dentro, o que el cartucho no salió de fábrica así. Es un indicio fuerte y no una prueba, y merece la pena preguntar antes de descartar la compra, porque una celda ya reemplazada juega a favor del comprador.
Y si el juego guarda en EEPROM o en flash y aun así ha perdido la partida, la pila no es el sitio donde buscar. Empieza por los contactos.
Fuentes
Pan Docs, documentación del chip MBC3 y su reloj en tiempo real: https://gbdev.io/pandocs/MBC3.html
Base de datos de tipos de guardado del emulador Mupen64Plus, archivo mupen64plus.ini: https://github.com/mupen64plus/mupen64plus-core/blob/master/data/mupen64plus.ini
Decompilaciones del proyecto pret de Pokémon Rubí y Esmeralda, ficheros src/strings.c y src/save_failed_screen.c: https://github.com/pret/pokeruby y https://github.com/pret/pokeemerald
GBATEK, referencia técnica de Game Boy Advance, apartados de memoria de respaldo y reloj en tiempo real: https://problemkaputt.de/gbatek.htm
Base de datos de cartuchos del proyecto FlashGBX, fichero db_AGB.json: https://github.com/lesserkuma/FlashGBX/blob/master/FlashGBX/config/db_AGB.json
Hilo de GBAtemp sobre cartuchos falsos de Pokémon para GBA y su guardado en SRAM: https://gbatemp.net/threads/fake-pokemon-gba-carts-more-common-than-real-ones-any-good.462748/
Emilio lleva RetroSoulsBorne, una tienda online neerlandesa de juegos y consolas retro. Compra, prueba y pone precio a cada cartucho él mismo.





































Leía el principio y decía yo "espera, el mensaje es distinto, ¿no? en rubí zafiro es otra cosa".
ResponderEliminarLa pila de mi cartucho de la zafiro se agotó circa 2013, y desde entonces da un mensaje al encenderse de que no trackeará hora tras apagar la consola y los ciclos estarán rotos cada vez que lo enciendo, pero eso aparte, el juego funciona con normalidad y los saves no están rotos.
Dicho esto, no tenía ni idea de la diferencia, de qué tipo de hardware de guardado necesita o no corriente, ni de la estructura interna o la distinción de la SRAM. Muchas gracias por la pieza, es interesante de verdad.