📄 game_config.txt
字号:
# 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
# Hoshi no Kirby: Yume no Izumi Deluxe (J)
game_name = AGB KIRBY DX
game_code = A7KJ
vender_code = 01
idle_loop_eliminate_target = 08000f92
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 (J)
game_name = SUPER MARIOD
game_code = AX4J
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 (J)
game_name = POKEMON EMER
game_code = BPEJ
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 (J)
game_name = POKEMON SAPP
game_code = AXPJ
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 (J)
game_name = POKEMON RUBY
game_code = AXVJ
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 (J)
game_name = POKEMON FIRE
game_code = BPRJ
vender_code = 01
idle_loop_eliminate_target = 080008b2
# If you have the European version try this instead.
#idle_loop_eliminate_target = 080008c6
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
# Pokemon: Fire Red (F)
game_name = POKEMON FIRE
game_code = BPRE
vender_code = 01
idle_loop_eliminate_target = 080008c6
flash_rom_type = 128KB
# Pokemon: Leaf Green (E/U)
# Hey, this one is the same as Fire Red, who'd have thought? :B
game_name = POKEMON LEAF
game_code = BPGE
vender_code = 01
idle_loop_eliminate_target = 080008b2
flash_rom_type = 128KB
# Pokemon: Leaf Green (S)
game_name = POKEMON LEAF
game_code = BPGS
vender_code = 01
idle_loop_eliminate_target = 080008b6
flash_rom_type = 128KB
# Pokemon: Leaf Green (G)
game_name = POKEMON LEAF
game_code = BPGD
vender_code = 01
idle_loop_eliminate_target = 080008b6
flash_rom_type = 128KB
# Pokemon: Leaf Green (I)
game_name = POKEMON LEAF
game_code = BPGI
vender_code = 01
idle_loop_eliminate_target = 080008b6
flash_rom_type = 128KB
# Pokemon: Leaf Green (F)
game_name = POKEMON LEAF
game_code = BPGF
vender_code = 01
idle_loop_eliminate_target = 080008b6
flash_rom_type = 128KB
# Pokemon: Fushigi no Dungeon Aka no Kyuujotai (J)
game_name = POKE DUNGEON
game_code = B24J
vender_code = 01
flash_rom_type = 128KB
# Pokemon: Red Rescue Team (E/U)
game_name = POKE DUNGEON
game_code = B24E
vender_code = 01
flash_rom_type = 128KB
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -