Registrarse

[pokefirered] Habilitar soporte de guardado para cartucho AGB-E05-02

Acimut

Profesional de WaH
¡Que tal!

Hoy traigo mi primer tuto para decomp, y en esta ocasión es el cómo hacer para que sus hacks de decomp puedan guardar sus progresos de partida (save game) si los meten en un cartucho AGB-E05-02.

El principal problema es que el cartucho AGB-E05-02 no cuenta con el chip flash 1mb, por lo que al momento de guardar el juego no te dejará hacerlo y te dará una advertencia de que el chip 1M no está instalado en el sistema, o algo así xdn't

Tengo un cartucho de esos y quiero jugarlo en mi GBA ¿Qué hago para que mi proyecto de decomp pueda guardar en ese cartucho? es la pregunta que se hizo el usuario @gameboy_cl hace un poco más de un año. Para solucionar esto, los de binario lo tienen fácil porque solo es pasarle un parche que lo soluciona y listo, aunque yo me pasé algunos días sin poder encontrar dicho parche. Así que, luego de hablar con dicho usuario, me pasó un parche que no pude aplicar a saber por qué, y luego me pasó una rom firered que le dejaba guardar sus partidas, la volvimos parche. Ahí me di cuenta que el bendito parche era para el fire red 1.1, o revisión 1 en pokefirered xd

Ya con algo con qué trabajar, me puse manos a la obra y me puse a decompilar el parche para pasarlo a pokefirered. Así que, luego de pruebas con mi amigo quilaqueo, logramos que funcionara.

Ahora que estoy revisando cosas, aprovecho para pasar el recurso, y ya sé que pasó más de un año, perdonadme, aquí les paso una rama recién actualizada, aunque los cambios son exactamente los mismos xd

Bueno, ahora sí el tuto:
Si tienes este cartucho y quieres que tu proyecto de decomp funcione el guardado en ese cartucho cuando juegues en tu GBA, o quieres sacar una versión compatible sin matarte la cabeza, sólo tienes que aplicar los cambios que dejé en la rama anterior. Solo son nueve archivos a modificar, y las modificaciones son fáciles de replicar, con solo copiar y pegar.

Luego de replicar los cambios por el método que más les convenga ya estamos listos para compilar y sólo tienen que ir al archivo config.mk para modificar la línea que contiene SAVE_TYPE ?= SRAM y seleccionar el tipo de rom que vas a compilar.

Una vez localizada esa línea, ponen:
SAVE_TYPE ?= SRAM para compilar una rom que se pondrá en el cartucho Nintendo AGB-E05-02 y pueda realizar guardado de partida.
SAVE_TYPE ?= FLASH_1MB para compilar una rom que funcionará en cartucho con el chip flash 1M, el mismo que funciona en emulador.

Listo, luego renombran su rom compilada con algún nombre que diferencie el tipo de guardado.

Recuerden que la rom compilada con la opción SRAM no guardará en el emulador, así que para publicar una rom y jugar en emulador, usar la opción FLASH_1MB, aunque realmente pueden poner cualquier definición que no sea SRAM en esa línea y debería funcionar.

El recurso se hizo pensando para aplicar los cambios mediante directivas de procesador, y poder compilar 2 rom distintas con y sin los cambios. Revisión 0 y 1 debería funcionar sin problemas. Desconozco si la opción modern funciona con esto.


Créditos:
Decompilación del parche: Acimut
Pruebas técnicas en hardware real: Quilaqueo (Amigo @gameboy_cl cómo te pongo aquí?)
Parche: ni idea de dónde lo sacó quilaqueo xd

Fotos de los cartuchos by quilaqueo:
Repito, este recurso funciona con el cartucho Nintendo AGB-E05-02, para ese Nihlehdo AGB-E05-01 no funciona.

PD: Si alguien lo necesita para emerald, por favor que tenga al menos un cartucho de esos para hacer las pruebas y que en efecto me ayude a realizar las pruebas.
Edit: está demás decir que ese parche lo he decompilado a las patadas, pero funciona xd
 
Última edición:
Arriba