marcrobledo / super-game-boy-border-injector

Injects a custom Super Game Boy Border into any Game Boy ROM in the most possible user-friendly way!
http://www.marcrobledo.com/super-game-boy-border-injector/
Other
18 stars 4 forks source link

Incompatible ROM: Bank 0 has no free space error #2

Closed GBPlayer88 closed 6 months ago

GBPlayer88 commented 7 months ago

This ROMs give the error:

Batman - The Animated Series (USA, Europe) Castlevania II - Belmont's Revenge (USA, Europe) Donkey Kong Land (USA, Europe) (SGB Enhanced) Donkey Kong Land III (USA, Europe) (Rev 1) (SGB Enhanced) Pokemon - Red Version (USA, Europe) (SGB Enhanced) Pokemon - Blue Version (USA, Europe) (SGB Enhanced) Super Mario Land 2 - 6 Golden Coins (USA, Europe) (Rev 2) Wario Land - Super Mario Land 3 (World)

marcrobledo commented 7 months ago

Batman - The Animated Series (USA, Europe) Castlevania II - Belmont's Revenge (USA, Europe) Wario Land - Super Mario Land 3 (World)

Fixed compatibility for these (and probably more!), thank you!

Super Mario Land 2 - 6 Golden Coins (USA, Europe) (Rev 2)

Sadly, this game has not enough free space for new SGB code. This doesn't mean it would be impossible to inject a border, but it would require some advancing hacking that an automatic web injector can't provide :-( Looks like (Rev 1) works though!

Donkey Kong Land (USA, Europe) (SGB Enhanced) Donkey Kong Land III (USA, Europe) (Rev 1) (SGB Enhanced) Pokemon - Red Version (USA, Europe) (SGB Enhanced) Pokemon - Blue Version (USA, Europe) (SGB Enhanced)

Unfortunately, these are already SGB Enhanced. So even if the injector worked with them, the game's original code would replace the injected border by their own. Again, this could be fixed but it would require to do some reverse engineering and disable the original border loading call.

I'm considering the idea of adding a small database that should compile known games with borders so the injector can disable the original border loading call on those. I can try to work on the most famous games like Pokemon, but the rest will need the help of the Game Boy community.

GBPlayer88 commented 7 months ago

Te hablo en español porque va a ser más directo.

Principalmente, gracias por el currazo y los fixes.

Te comento que tengo más ROMs con soporte para SGB y el inyector los pilla sin problemas. Para estos que dan algo más de guerra, no sería mejor hacer que reemplazase la información del SGB que ya viene en la propia ROM?

marcrobledo commented 6 months ago

No tengo ningún problema en escribir en español, por supuesto :-)

Pero este es un espacio internacional, y es útil que queden registrados todos los avances y preguntas que se han hecho en inglés, porque siempre pueden servir en un futuro, tanto para mí como para el resto de gente.

No es tan fácil reemplazar el borde de un juego ya existente, cada juego lo tiene en un sitio diferente, ocupa un tamaño diferente, etc. Sería extremadamente complicado hacer un parcheador automático que buscara en la ROM el sitio en el que se carga el borde original y lo desactivara. Es mejor hacerlo manualmente para cada juego.

Ya he implementado eso para los Pokémon en el fichero known-games.js para que cualquiera pueda añadir sus juegos en un commit.