# gpSP game settings database # What is this file??? game_config.txt is a database of settings on a # per-game basis. A couple of the settings are required to make games # work at all, but most of them are there to improve the performance of # a game. If a game doesn't work then look through the settings here, # but keep in mind that this file can not be used to fix a majority of # games, the ones that don't work because of emulator bugs. For those # you'll have to wait for a new release and hope it someday gets fixed. # This file is meant to be edited in plain text, with a normal editor. # game_name, game_code, and vender_code can be found in the game's header. # All three must match for the game to be used, and those setting must be # in that order. Be sure to use [!] ROMs (verified by GoodGBA) when # building this list. Right now I don't know how much overlap there is # between different region games, but usually idle loops don't apply to # them. If you're using a different region than the one in here you can # try copying the entry, it might improve it. # You can also find the three identifying codes on the second line from # the top in gpSP's main menu. So anyone should be able to add settings # to this file if they know what to set, but for some options it'll take # a lot of special knowledge for them to be of any use. Be sure to see if # your game is already here, but only if the game_name/game_code/ # vender_code all match. Only the first full match's settings will be used. # Everything here is case sensitive. Don't mess with this file unless # you know what you're doing - if in doubt sooner ask someone who does. # I mainly focus on USA versions, so try those first. And, just because # a game is on here doesn't mean the game actually works in the current # version. :/ # These are the following options: # idle_loop_eliminate_target - tells the recompiler that this branch # is an idle loop and thus a hardware update should follow it every # time. This is purely a speed improvement and is not meant to improve # compatibility - if it does it represents a strange timing problem in # the game. You can only set one of these for now. Don't use this if # you don't know what you're doing, it can break the game. Some games # will run miserably slowly without this option. # translation_gate_target - tells the recompiler to put an indirect # branch (gate) at this point, so artificially stop the current block. # This is useful if the game performs self modifying code from within # the same block it is currently executing - this can prevent it from # causing SMC hits far more times than it should. This is also only a # speed hack; you can have up to 8 of these. Don't use this if you don't # know what you're doing, they'll just make the game slower and are # rarely helpful (good for Camelot games). # iwram_stack_optimize - set this to "no" to turn it off. By default this # is set on. It will turn off an optimization that assumes that the stack # is always in IWRAM, and thus makes ldm/stm relative to the stack much # faster. Turning it off will degrade game speed slightly, but is # necessary for a few games that don't follow this convention. # flash_rom_type - set this to 128KB if the game has a 128KB flash ROM, # otherwise leave it alone or you might break game saving. If you get # a white screen when the game starts try this option. # bios_rom_hack_39 - a hack that allows "roll" to work with the correct BIOS # in Zelda: Minish Cap. # bios_rom_hack_2C - like the above but allows Rayman Advance to work. # Castlevania: Circle of the Moon (U) game_name = DRACULA AGB1 game_code = AAME vender_code = A4 idle_loop_eliminate_target = 080003d2 # Megaman Battle Network (U) game_name = MEGAMAN_BN game_code = AREE vender_code = 08 idle_loop_eliminate_target = 08000338 # Megaman Battle Network 2 (U) game_name = MEGAMAN_EXE2 game_code = AE2E vender_code = 08 idle_loop_eliminate_target = 08000358 # Megaman Battle Network 3 White (U) game_name = MEGA_EXE3_WH game_code = A6BE vender_code = 08 idle_loop_eliminate_target = 0800036c # Megaman Battle Network 3 Blue (U) game_name = MEGA_EXE3_BL game_code = A3XE vender_code = 08 idle_loop_eliminate_target = 0800036c # Megaman Battle Network 4 Red Sun (U) game_name = MEGAMANBN4RS game_code = B4WE vender_code = 08 idle_loop_eliminate_target = 080003a6 # Megaman Battle Network 4 Blue Moon (U) game_name = MEGAMANBN4BM game_code = B4BE vender_code = 08 idle_loop_eliminate_target = 080003a6 # Megaman Battle Network 5 Team Protoman (U) game_name = MEGAMAN5_TP_ game_code = BRBE vender_code = 08 idle_loop_eliminate_target = 080003ca # Megaman Battle Network 5 Team Colonel (U) game_name = MEGAMAN5_TC_ game_code = BRKE vender_code = 08 idle_loop_eliminate_target = 080003ca # Megaman Battle Network 6 Cybeast Gregar (U) game_name = MEGAMAN6_GXX game_code = BR5E vender_code = 08 idle_loop_eliminate_target = 080003da # Megaman Zero (U/E) game_name = MEGAMAN ZERO game_code = AZCE vender_code = 08 idle_loop_eliminate_target = 080004ee # Megaman Zero 2 (U) game_name = MEGAMANZERO2 game_code = A62E vender_code = 08 idle_loop_eliminate_target = 08000664 # Megaman Zero 3 (U) game_name = MEGAMANZERO3 game_code = BZ3E vender_code = 08 idle_loop_eliminate_target = 08001a08 # Megaman Zero 4 (U) game_name = MEGAMANZERO4 game_code = B4ZP vender_code = 08 idle_loop_eliminate_target = 0800090c # Kirby: Nightmare in Dreamland (U) game_name = AGB KIRBY DX game_code = A7KE vender_code = 01 idle_loop_eliminate_target = 08000fae iwram_stack_optimize = no # Kirby: Nightmare in Dreamland (E) game_name = AGB KIRBY DX game_code = A7KP vender_code = 01 idle_loop_eliminate_target = 08000fae iwram_stack_optimize = no # Super Mario Advance (U) game_name = SUPER MARIOA game_code = AMZE vender_code = 01 idle_loop_eliminate_target = 08001cf2 # Super Mario Advance 2 (U) game_name = SUPER MARIOB game_code = AA2E vender_code = 01 idle_loop_eliminate_target = 08000534 # Super Mario Advance 3 (U) game_name = SUPER MARIOC game_code = A3AE vender_code = 01 idle_loop_eliminate_target = 08002ba4 # Super Mario Advance 4 (U) game_name = SUPER MARIOD game_code = AX4E vender_code = 01 idle_loop_eliminate_target = 08000732 flash_rom_type = 128KB # Super Mario Advance 4 (E) game_name = SUPER MARIOD game_code = AX4P vender_code = 01 idle_loop_eliminate_target = 08000732 flash_rom_type = 128KB # Advance Wars (U) # This one was really annoying to find, I hope it's okay.. there # might be a better one somewhere. game_name = ADVANCEWARS game_code = AWRE vender_code = 01 idle_loop_eliminate_target = 0803880a # Pokemon Emerald (E/U) # I don't know why this has an idle loop when Ruby doesn't.... game_name = POKEMON EMER game_code = BPEE vender_code = 01 idle_loop_eliminate_target = 080008ce flash_rom_type = 128KB # Pokemon Emerald (G) game_name = POKEMON EMER game_code = BPED vender_code = 01 idle_loop_eliminate_target = 080008ce flash_rom_type = 128KB # Pokemon Emerald (F) game_name = POKEMON EMER game_code = BPEF vender_code = 01 idle_loop_eliminate_target = 080008ce flash_rom_type = 128KB # Pokemon Emerald (S) game_name = POKEMON EMER game_code = BPES vender_code = 01 idle_loop_eliminate_target = 080008ce flash_rom_type = 128KB # Pokemon Emerald (I) game_name = POKEMON EMER game_code = BPEI vender_code = 01 idle_loop_eliminate_target = 080008ce flash_rom_type = 128KB # Pokemon Sapphire (U) game_name = POKEMON SAPP game_code = AXPE vender_code = 01 flash_rom_type = 128KB # Pokemon Sapphire (G) game_name = POKEMON SAPP game_code = AXPD vender_code = 01 flash_rom_type = 128KB # Pokemon Sapphire (I) game_name = POKEMON SAPP game_code = AXPI vender_code = 01 flash_rom_type = 128KB # Pokemon Sapphire (S) game_name = POKEMON SAPP game_code = AXPS vender_code = 01 flash_rom_type = 128KB # Pokemon Sapphire (F) game_name = POKEMON SAPP game_code = AXPF vender_code = 01 flash_rom_type = 128KB # Pokemon Ruby (U) game_name = POKEMON RUBY game_code = AXVE vender_code = 01 flash_rom_type = 128KB # Pokemon Ruby (G) game_name = POKEMON RUBY game_code = AXVD vender_code = 01 flash_rom_type = 128KB # Pokemon Ruby (I) game_name = POKEMON RUBY game_code = AXVI vender_code = 01 flash_rom_type = 128KB # Pokemon Ruby (S) game_name = POKEMON RUBY game_code = AXVS vender_code = 01 flash_rom_type = 128KB # Pokemon Ruby (F) game_name = POKEMON RUBY game_code = AXVF vender_code = 01 flash_rom_type = 128KB # V-Rally 3 (E) game_name = V-RALLY 3 game_code = AVRP vender_code = 70 idle_loop_eliminate_target = 080aa920 # Mario Vs Donkey Kong (U) game_name = MARIOVSDK game_code = BM5E vender_code = 01 idle_loop_eliminate_target = 08033eec # Pokemon: Sapphire (U) game_name = POKEMON SAPP game_code = AXPE vender_code = 01 flash_rom_type = 128KB # Pokemon: Sapphire (G) game_name = POKEMON SAPP game_code = AXPD vender_code = 01 flash_rom_type = 128KB # Pokemon: Fire Red (E/U) game_name = POKEMON FIRE game_code = BPRE vender_code = 01 idle_loop_eliminate_target = 080008c6 flash_rom_type = 128KB # Pokemon: Fire Red (S) game_name = POKEMON FIRE game_code = BPRS vender_code = 01 idle_loop_eliminate_target = 080008c6 flash_rom_type = 128KB # Pokemon: Fire Red (G) game_name = POKEMON FIRE game_code = BPRD vender_code = 01 idle_loop_eliminate_target = 080008c6 flash_rom_type = 128KB # Pokemon: Fire Red (I) game_name = POKEMON FIRE game_code = BPRI vender_code = 01 idle_loop_eliminate_target = 080008c6 flash_rom_type = 128KB #...
AS_Entertainment