ppsspp/assets/compat.ini
LunaMoo 864a4b38aa
Work around Brothers in Arms speed issue via compat hack (#18513)
Co-authored-by: Henrik Rydgård <hrydgard@gmail.com>
2024-09-18 09:51:07 +00:00

1796 lines
40 KiB
INI
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ========================================================================================
# compat.ini for PPSSPP
# ========================================================================================
#
# This file is not meant to be user-editable, although is kept as a separate ini
# file instead of compiled into the code for debugging purposes.
#
# The uses cases are strict:
# * Enable fixes for things we can't reasonably emulate without completely ruining
# performance for other games, such as the screen copies in Dangan Ronpa
# * Disabling accuracy features like 16-bit depth rounding, when we can't seem to
# implement them at all in a 100% compatible way
# * Emergency game-specific compatibility fixes before releases, such as the GTA
# music problem where every attempted fix has reduced compatibility with other games
# * Enable "unsafe" performance optimizations that some games can tolerate and
# others cannot. We do not currently have any of those.
#
# This functionality should NOT be used for any of the following:
# * Cheats
# * Fun hacks, like enlarged heads or whatever
# * Fixing general compatibility issues. First try to find a general solution. Try hard.
#
# Game IDs can be looked up at GameFAQs, for example:
# http://www.gamefaqs.com/psp/925776-grand-theft-auto-liberty-city-stories/data
# Sometimes the information may be incomplete though.
#
# ========================================================================================
# Issue numbers refer to issues on https://github.com/hrydgard/ppsspp/issues
# ========================================================================================
[VertexDepthRounding]
# Phantasy Star Portable needs depth rounding to 16-bit precision for text to show up.
# It's enough to do it at the vertex granularity. #3777
# Phantasy Star Portable
ULJM05309 = true
ULUS10410 = true
ULES01218 = true
ULJM08023 = true
ULES01218 = true
# Phantasy Star Portable 1 Demo
NPUH90023 = true
# Phantasy Star Portable 2
ULES01439 = true
ULUS10529 = true
ULJM05493 = true
NPJH50043 = true
ULJM08030 = true
NPUH90023 = true
ULJM91014 = true
NPJH90002 = true
ULJM05732 = true
NPJH50332 = true
# Phantasy Star Portable 2 JP Demo
ULJM91018 = true
NPJH90062 = true
# Phantasy Star Portable Infinity Demo
NPJH90157 = true # Infinity demo
# Puyo Puyo Fever 2 #3663 (layering)
ULJM05058 = true
# NBA 2K13 #6603 (menu glitches)
ULAS42332 = true
ULJS00551 = true
NPJH50713 = true
ULJS00596 = true
ULES01578 = true
ULUS10598 = true
# Power Stone Collection #6257 (map arrow)
ULES00496 = true
ULUS10171 = true
ULJM05178 = true
# Taiko no Tatsujin Portable DX #7920 (missing text)
ULJS00383 = true
NPJH50426 = true
ULAS42282 = true
# PhotoKano #7920 (missing text)
ULJS00378 = true
NPJH50579 = true
ULJS19069 = true
NPJH50579 = true
# After Burner: Black Falcon (#8514, only affects video)
ULUS10244 = true
ULES00753 = true
ULES00785 = true
# Matching Maker 3 x Tousouchuu (#15913)
ULJS00242 = true
[PixelDepthRounding]
# Heroes Phantasia requires pixel depth rounding. #6485 (flickering overlaid sprites)
NPJH50558 = true
ULJS00456 = true
ULJS00454 = true
# Tales of Phantasia: Full Voice Edition
# Attempted workaround for stencil testing driver bug on Arm Exynos (similar to the previous Adreno bug).
# Seems that writing to depth disables a faulty optimization it's trying to do (as we saw in stencil draw).
ULJS00079 = true
ULJS19016 = true
UCAS40110 = true
NPJH50854 = true
# Heroes Phantasia Limited Edition Disc requires pixel depth rounding.
ULJS00455 = true
# Phantasy Star games flickering
# Phantasy Star Portable
ULJM05309 = true
ULUS10410 = true
ULES01218 = true
ULJM08023 = true
ULES01218 = true
# Phantasy Star Portable 1 Demo
NPUH90023 = true
# Phantasy Star Portable 2
ULES01439 = true
ULUS10529 = true
ULJM05493 = true
NPJH50043 = true
ULJM08030 = true
NPUH90023 = true
ULJM91014 = true
NPJH90002 = true
ULJM05732 = true
NPJH50332 = true
# Phantasy Star Portable 2 JP Demo
ULJM91018 = true
NPJH90062 = true
# Phantasy Star Portable Infinity Demo
NPJH90157 = true # Infinity demo
# Nayuta no Kiseki might improve with pixel depth rounding. See issue #8744.
ULJM06113 = true
NPJH50625 = true
ULJM08069 = true
NPJH50625 = true
[DepthRangeHack]
# Phantasy Star Portable 2 and Infinity both use viewport depth outside [0, 1].
# This gets clamped in our current implementation, but attempts to fix it run into
# Other bugs, so we've restored this hack for now.
# Phantasy Star Portable
ULJM05309 = true
ULUS10410 = true
ULES01218 = true
ULJM08023 = true
ULES01218 = true
# Phantasy Star Portable 1 Demo
NPUH90023 = true
# Phantasy Star Portable 2
ULES01439 = true
ULUS10529 = true
ULJM05493 = true
NPJH50043 = true
ULJM08030 = true
NPUH90023 = true
ULJM91014 = true
NPJH90002 = true
ULJM05732 = true
NPJH50332 = true
# Phantasy Star Portable 2 JP Demo
ULJM91018 = true
NPJH90062 = true
# Phantasy Star Portable Infinity Demo
NPJH90157 = true # Infinity demo
[ClearToRAM]
# SOCOM Navy Seals games require this. See issue #8973.
# Navy Seals : Tactical Strike
UCES00855 = true
UCUS98649 = true
NPJG00035 = true
NPJG90068 = true
UCJS10102 = true
# Tactical Strike demo
NPUG70003 = true
# Fireteam Bravo
UCKS45021 = true
UCUS98615 = true
UCES00038 = true
ULES00038 = true
# Fireteam Bravo 2
UCES00543 = true
UCUS98645 = true
# Fireteam Bravo 2 Demo
UCUS98677 = true
UCUS98691 = true
# DBZ Tenkaichi Tag Team, see issue #14283
ULJS00311 = true
ULAS42247 = true
ULUS10537 = true
ULUS10737 = true
ULJS19067 = true
ULAS42318 = true
NPUH90087 = true # demo
NPEH90042 = true # demo
[Force04154000Download]
# This applies a hack to Dangan Ronpa, its demo, and its sequel.
# The game draws solid colors to a small framebuffer, and then reads this directly in VRAM.
# We force this framebuffer to 1x and force download it automatically.
NPJH50631 = true
NPJH50372 = true
NPJH90164 = true
NPJH50515 = true
# Let's also apply to Me & My Katamari.
ULUS10094 = true
ULES00339 = true
ULJS00033 = true
UCKS45022 = true
ULJS19009 = true
NPJH50141 = true
[DrawSyncEatCycles]
# This replaced Crash Tag Team Racing hack to also fix Gundam games
# It makes sceGeDrawSync eat a lot of cycles which can affect timing in lots of games,
# might be negative for others, but happens to fix games below.
# Gundam Battle Royale might need it to avoid crashes when certain Ace enemies shows up
ULJS00083 = true
ULKS46104 = true
ULJS19015 = true
# Gundam Battle Chronicle needs it to avoid crashes after most battles
ULJS00122 = true
ULKS46158 = true
ULJS19021 = true
# Gundam Battle Universe same problem as above
ULJS00145 = true
ULKS46183 = true
ULJS00260 = true
ULJS19041 = true
NPJH50843 = true
# Helps with Jeanne d'Arc weird 40/40 fps problem #5154
UCAS40129 = true
UCJS10048 = true
UCKS45033 = true
UCJS18014 = true
UCUS98700 = true
NPJG00032 = true
UCJX90019 = true
# Fixes some double framerate issues in Patapon 2, contributed by pamford45
UCJS10089 = true
NPJG00010 = true
PSPJ30000 = true
UCAS40232 = true
UCAS40239 = true
UCES01177 = true
UCUS98732 = true
UCJS18036 = true
UCAS40292 = true
UCJS18053 = true
# Rewrite
# fixes softlocks, see #15904
ULJM06364 = true
ULJM06365 = true
# Crash Tag Team Racing used to need it to pass checking memory stick screen.
# ULES00168 = true
# ULES00169 = true
# ULES00170 = true
# ULES00171 = true
# ULES00172 = true
# ULJM05036 = true
# ULUS10044 = true
[KernelGetSystemTimeLowEatMoreCycles]
# Brothers in Arms: D-Day works around weird FPS(falling under 100% even on powerful hardware) as well as it's animation speed #18509
# recommend to OC PSP CPU to at least twice as much as real PSP to get constant 60 fps
ULES00608 = true
ULUS10193 = true
[DrawSyncInstant]
# Bizarre timing issue in Sakura-sou no Pet na Kanojo, see issue #15224. Note that an instant DrawSync is not logical.
NPJH50745 = true
[FakeMipmapChange]
# This hacks separates each mipmap to independent textures to display wrong-size mipmaps.
# For example this requires games like Tactics Ogre(Japanese) to display multi bytes fonts stored in mipmaps.
# See issue #5350.
# Tactics Ogre (Japanese)
ULJM05753 = true
NPJH50348 = true
ULJM06009 = true
# We handle the US/EU versions by detecting its weird use of two identical mipmaps and treating it as a normal 2D texture (#17491 / #17980)
[RequireBufferedRendering]
# Warn the user that the game will not work and have issue, if buffered rendering is not enabled.
# Midnight Club: LA Remix
ULUS10383 = true
ULES01144 = true
ULJS00180 = true
ULJS00267 = true
ULJM05904 = true
NPJH50440 = true
# Midnight Club 3 : DUB edition
ULUS10021 = true
ULES00108 = true
# GTA : VCS
ULUS10160 = true
ULES00502 = true
ULES00503 = true
ULJM05297 = true
ULJM05395 = true
ULJM05884 = true
NPJH50827 = true
# GTA : LCS
ULUS10041 = true
ULES00151 = true
ULES00182 = true
ULJM05255 = true
ULJM05359 = true
ULJM05885 = true
NPJH50825 = true
ULKS46157 = true
# Sindacco Chronicles total conversion
ULUS01826 = true
# GOW : Ghost of Sparta
UCUS98737 = true
UCAS40323 = true
NPHG00092 = true
NPEG00044 = true
NPEG00045 = true
NPJG00120 = true
NPUG80508 = true
UCJS10114 = true
UCES01401 = true
UCES01473 = true
# GOW : Ghost of Sparta Demo
NPJG90095 = true
NPEG90035 = true
NPUG70125 = true
# GOW : Chains Of Olympus
UCAS40198 = true
UCUS98653 = true
UCES00842 = true
ULJM05438 = true
ULJM05348 = true
UCKS45084 = true
NPUG80325 = true
NPEG00023 = true
NPHG00027 = true
NPHG00028 = true
NPJH50170 = true
UCET00844 = true
# GOW: Chains of Olympus Demo
UCUS98705 = true
UCED00971 = true
UCUS98713 = true
# Daxter
UCUS98618 = true
UCUS98654 = true
UCES00044 = true
NPUG80329 = true
NPEG00025 = true
UCKS45025 = true
# Ys Seven
ULUS10551 = true
ULJM05475 = true
NPEH00065 = true
NPJH50350 = true
ULJM08041 = true
NPEH00065 = true
# The Legend of Heroes: Trails in the Sky
ULUS10540 = true
ULUS10578 = true
ULES01556 = true
ULJM05170 = true
ULJM08033 = true
NPJH50373 = true
# Grand Knights History
ULJS00394 = true
ULJS19068 = true
NPJH50518 = true
# Tactics Ogre
ULUS10565 = true
ULES01500 = true
ULJM05753 = true
NPJH50348 = true
ULJM06009 = true
UCKS45164 = true
# Metal Gear Solid : Peace Walker
ULUS10509 = true
ULES01372 = true
ULJM08038 = true
NPJH50045 = true
ULJM05630 = true
NPJH90082 = true
NPJH90063 = true
# Star Ocean : Second Evolution
ULUS10375 = true
ULES01187 = true
ULJM05591 = true
ULJM05325 = true
UCAS40203 = true
# Driver 76
ULUS10235 = true
ULES00740 = true
# Chili Con Carnage
ULUS10216 = true
ULES00629 = true
# Digimon Adventure
NPJH50686 = true
ULJS00541 = true
ULAS42340 = true
# Danganronpa
ULJS00337 = true
ULJS19060 = true
NPJH50372 = true
NPJH50515 = true
# Danganronpa Demo
NPJH90164 = true
# Super Danganronpa 2
ULJS00521 = true
ULJS00522 = true
NPJH50631 = true
# The Simpsons Game
ULUS10295 = true
ULES00975 = true
ULES00979 = true
ULES00978 = true
ULES00977 = true
ULES00976 = true
# Jeanne d'Arc
UCUS98700 = true
UCJS10048 = true
# Jeanne d'Arc Senkou Taikenban (Demo)
UCJX90019 = true
# Dante's Inferno
ULUS10469 = true
ULES01384 = true
ULJM05621 = true
NPJH50220 = true
ULJM05799 = true
ULKS46248 = true
# Test Drive Unlimited
ULET00386 = true
ULUS10249 = true
ULES00637 = true
ULKS46126 = true
# Silent Hill: Shattered Memories
ULUS10450 = true
ULES01352 = true
ULJM05564 = true
NPJH50148 = true
ULAS42189 = true
# Silent Hill: Origins
ULUS10285 = true
ULES00869 = true
ULJM05281 = true
NPJH50051 = true
# Manhunt 2
ULUS10280 = true
ULES00756 = true
# LEGO Star Wars II: The Original Trilogy
ULUS10155 = true
ULES00479 = true
# LEGO Indiana Jones: The Original Adventures
ULUS10365 = true
ULES01086 = true
# LEGO Batman: The Videogame
ULUS10380 = true
ULES01151 = true
# Burnout Dominator
ULUS10236 = true
ULES00750 = true
ULJM05242 = true
ULJM05371 = true
NPJH50304 = true
ULES00703 = true
# Yu-Gi-Oh Tag Force 6
ULJM05940 = true
NPJH50794 = true
# TODO: There are many more.
[RequireBlockTransfer]
# Warn the user that the game will have issue graphic, if simulate block transfer is not enabled.
# The Legend of Heroes: Trails in the Sky need it to fix graphical glitch in menu screen. See issues #8053
ULUS10540 = true
ULUS10578 = true
ULES01556 = true
ULJM05170 = true
ULJM08033 = true
NPJH50373 = true
NPUH10191 = true
NPUH10197 = true
# Grand Knights History need it to fix blackboxes on characters and flickering texture . See issues #2135, #6099
ULJS00394 = true
ULJS19068 = true
NPJH50518 = true
# Gradius Collection (see #13887)
ULUS10103 = true
ULES00381 = true
ULJM05091 = true
# GachiTora! Abarenbou Kyoushi in High School need it to render shadows properly (see #14136)
ULJS00355 = true
NPJH50409 = true
# MegaMan Maverick Hunter X (see #10085)
ULES00251 = true
ULUS10068 = true
ULJM05043 = true
[DisableAccurateDepth]
# Midnight Club: LA Remix
ULUS10383 = true
ULES01144 = true
ULJS00180 = true
ULJS00267 = true
ULJM05904 = true
NPJH50440 = true
# Midnight Club 3 : DUB edition
ULUS10021 = true
ULES00108 = true
# Shadow of Destiny (#9545)
ULUS10459 = true
NPJH50036 = true
# Burnout games have problems with this on Mali, and have no use for it
# Legends
#ULES00125 = true
#ULUS10025 = true
#ULJM05228 = true
#NPJH50305 = true
#ULJM05049 = true
#ULKS46027 = true
#ULAS42019 = true
# Dominator
ULUS10236 = true
ULES00750 = true
ULJM05242 = true
ULJM05371 = true
NPJH50304 = true
ULES00703 = true
ULAS42095 = true
[RequireDefaultCPUClock]
# GOW : Ghost of Sparta
UCUS98737 = true
UCAS40323 = true
NPHG00092 = true
NPEG00044 = true
NPEG00045 = true
NPJG00120 = true
NPUG80508 = true
UCJS10114 = true
UCES01401 = true
UCES01473 = true
# GOW : Ghost of Sparta Demo
NPJG90095 = true
NPEG90035 = true
NPUG70125 = true
# Tekken 6
ULUS10466 = true
ULES01376 = true
ULJS00224 = true
NPUH10047 = true
ULAS42214 = true
ULJS19054 = true
NPJH50184 = true
[MGS2AcidHack]
ULUS10006 = true # Metal Gear Acid
ULES00008 = true
ULJM05001 = true
ULAS42007 = true
ULJM08001 = true
ULUS10077 = true # Metal Gear Acid 2
ULAS42035 = true
ULES00284 = true
ULJM05047 = true
ULKS46065 = true
ULJM08011 = true
[SonicRivalsHack]
ULES00622 = true # SR1
ULUS10195 = true # SR1
ULUS10323 = true # SR2
ULES00940 = true # SR2
ULET00958 = true
[BlockTransferAllowCreateFB]
# Digimon Adventure (JP and English patches)
NPJH50686 = true
ULJS00541 = true
ULAS42340 = true
# MotoGP
ULUS10153 = true
UCES00373 = true
ULJS00078 = true
UCAS40104 = true
# Ys Seven disabled (caused glitches, see #13529)
# ULUS10551 = true
# ULJM05475 = true
# ULJM05475 = true
# NPEH00065 = true
# NPJH50350 = true
# Burnout Legends
ULES00125 = true
ULUS10025 = true
ULJM05228 = true
NPJH50305 = true
ULJM05049 = true
ULKS46027 = true
ULAS42019 = true
# Burnout Dominator
ULUS10236 = true
ULES00750 = true
ULJM05242 = true
ULJM05371 = true
NPJH50304 = true
ULES00703 = true
# Test Drive Unlimited
ULET00386 = true
ULUS10249 = true
ULES00637 = true
ULKS46126 = true
# Naruto Shippuden: Ultimate Ninja Impact
ULUS10582 = true
ULES01537 = true
ULJS00390 = true
ULAS42297 = true
ULJS19071 = true
NPJH50435 = true
NPJH50435 = true
# Naruto Shippuden: Ultimate Ninja Heroes 3 (issue #16733)
ULJS00236 = true
ULAS42208 = true
ULUS10518 = true
ULAS42231 = true
ULJS19066 = true
ULAS42317 = true
ULUS10518 = true
# Gradius Collection
ULUS10103 = true
ULES00381 = true
ULJM05091 = true
ULJM05222 = true
ULAS42040 = true
ULKS46064 = true
# Shaun White Snowboarding (player shadow)
ULES01185 = true
ULUS10399 = true
ULJM05412 = true
NPJH50083 = true
ULJM05570 = true
# Cars Race-o-rama
ULUS10428 = true
ULES01333 = true
# MX vs ATV Reflex
ULES01375 = true
ULUS10429 = true
# Silent Hill: Origins
# Avoids readback.
ULES00869 = true
ULUS10285 = true
ULKS46161 = true
ULJM05281 = true
NPJH50051 = true
# Silent Hill: Shattered Memories
# Avoids readback.
ULUS10450 = true
ULES01352 = true
ULJM05564 = true
NPJH50148 = true
ULAS42189 = true
# Toca Race Driver 3 / DTM Race Driver 3 / V8 Supercars Shootout 3
# Avoids readback.
ULES00613 = true
ULES00615 = true
ULES00614 = true
# Toca Race Driver 2 / DTM Race Driver 2
# Avoids readback.
ULES00040 = true
ULES00041 = true
ULJM05160 = true
# Narikiri Dungeon X. See issue #16714.
ULJS00293 = true
[IntraVRAMBlockTransferAllowCreateFB]
# Final Fantasy - Type 0
ULJM05900 = true
ULJM05901 = true
NPJH50443 = true
NPJH50444 = true
ULJM06217 = true
ULJM06218 = true
UCAS40346 = true
UCAS40347 = true
# Boku no Natsuyasumi: Mushi Mushi Hakase to Teppen-yama no Himitsu!!
UCJS10038 = true
UCJS18013 = true
# Megaman Maverick Hunter X (see #10085)
ULES00251 = true
ULUS10068 = true
ULJM05043 = true
# R-TYPE TACTICS (see #14198)
ULJS00111 = true # Japan
NPJH50106 = true # Japan
UCKS45065 = true # Korea
UCAS40168 = true # Asia
ULES01121 = true # Europe
ULUS10343 = true # US, (R-TYPE COMMAND)
NPUH90008 = true # (R-TYPE COMMAND demo)
# R-TYPE TACTICS II -Operation BITTER CHOCOLATE-
NPJH50119 = true
ULJS00233 = true
NPJH90089 = true # (demo)
NPJH90065 = true # Unknown
# Colin McRae 2005 (sun effect, see #7810)
ULES00111 = true
ULKS46010 = true
ULJM05223 = true
ULJM05362 = true
# Iron Man, see [BlockTransferDepth] below.
ULES01070 = true
ULES01071 = true
ULUS10347 = true
# Note! This whole flag is disabled temporarily by appending "Disabled" to its name). See 7914
[YugiohSaveFixDisabled]
# The cause of Yu-gi-oh series 's bad save (cannot save) are load "save status" and use cwcheat,
# but the real cause still unknown. #7914
# Yu-Gi-Oh! Duel Monsters GX: Tag Force
ULJM05151 = true
ULES00600 = true
ULUS10136 = true
# Yu-Gi-Oh! Duel Monsters GX: Tag Force 2
ULUS10302 = true
ULJM05260 = true
ULES00925 = true
ULES00926 = true
# Yu-Gi-Oh! Duel Monsters GX: Tag Force 3
ULES01183 = true
ULJM05373 = true
# Yu-Gi-Oh! 5D's Tag Force 4
ULUS10481 = true
ULJM05479 = true
ULES01362 = true
# Yu-Gi-Oh! 5D's Tag Force 5
ULUS10555 = true
ULJM05734 = true
ULES01474 = true
# Yu-Gi-Oh! 5D's Tag Force 6
ULJM05940 = true
NPJH50794 = true
# Yu-Gi-Oh! 5D's Tag Force
ULJM05940 = true
# Yu-Gi-Oh! ARC-V Tag Force Special
NPJH00142 = true
[ForceUMDDelay]
# F1 2006 won't boot at all with our standard unrealistically fast timing.
UCES00238 = true
UCJS10045 = true
# F1 2005, japan only?
UCJS10019 = true
# Arctic Adventures - Polar's Puzzles
NPEZ00219 = true
NPUZ00114 = true
# Innocent Life (see issue #2830)
UCAS40079 = true
ULUS10219 = true
ULES00658 = true
UCAS40187 = true
ULJS00119 = true
ULKS46167 = true
NPJH50017 = true
# Pangya Fantasy Golf (see issue #17458)
ULUS10438 = true
ULJM05687 = true
ULJM05440 = true
ULKS46164 = true
# Qix++ (see issue #13724)
ULJM05617 = true
NPJH50199 = true
# Mahou Shoujo Madoka Magica Portable 6557
ULJS00430 = true
ULJS00429 = true
# Harvest Moon US (issue #18287)
ULUS10458 = true
ULES01489 = true
NPJH50019 = true
ULJS19039 = true
ULJS00188 = true
# Twisted Metal sound effects break without this
UCES00018 = true
UCUS98601 = true
[GoWFramerateHack60]
# Replaces ForceMax60FPS for GOW games, should provide smoother experience
# Also works around softlock in GOW:GOS , see #8299
# GOW : Ghost of Sparta
UCUS98737 = true
UCAS40323 = true
NPHG00092 = true
NPEG00044 = true
NPEG00045 = true
NPJG00120 = true
NPUG80508 = true
UCJS10114 = true
UCES01401 = true
UCES01473 = true
# GOW : Ghost of Sparta Demo
NPEG90035 = true
NPUG70125 = true
NPJG90095 = true
# GOW : Chains Of Olympus
UCAS40198 = true
UCUS98653 = true
UCES00842 = true
ULJM05438 = true
ULJM05348 = true
UCKS45084 = true
NPUG80325 = true
NPEG00023 = true
NPHG00027 = true
NPHG00028 = true
NPJH50170 = true
UCET00844 = true
# GOW: Chains of Olympus Demo
UCUS98705 = true
UCED00971 = true
UCUS98713 = true
[FramerateHack30]
# Note that this hack is not universal, will not work for games simply added to the list
# 30 fps hacks for games that run well are disabled by default since it's only an option for users with very weak hardware
# GOW in 30 fps doesn't suffer from softlock #8299, so the hack is actually simpler
# GOW : Ghost of Sparta
# UCUS98737 = true
# UCAS40323 = true
# NPHG00092 = true
# NPEG00044 = true
# NPEG00045 = true
# NPJG00120 = true
# NPUG80508 = true
# UCJS10114 = true
# UCES01401 = true
# UCES01473 = true
# GOW : Ghost of Sparta Demo
# NPEG90035 = true
# NPUG70125 = true
# NPJG90095 = true
# GOW : Chains Of Olympus
# UCAS40198 = true
# UCUS98653 = true
# UCES00842 = true
# ULJM05438 = true
# ULJM05348 = true
# UCKS45084 = true
# NPUG80325 = true
# NPEG00023 = true
# NPHG00027 = true
# NPHG00028 = true
# NPJH50170 = true
# UCET00844 = true
# GOW: Chains of Olympus Demo
# UCUS98705 = true
# UCED00971 = true
# UCUS98713 = true
# Brian Lara 2007: Pressure Play
# workaround for incorrect fps/game speed
ULES00814 = true
ULES00815 = true
# Blitz: Overtime
# workaround for incorrect fps/game speed
ULUS10200 = true
[ForceMax60FPS]
# Some games are very heavy and render as fast as they can. They benefit greatly from
# capping the framerate at 60fps.
# F1 2006 has extremely long loading times if we don't limit the framerate.
UCES00238 = true
UCJS10045 = true
# F1 2005, japan only?
UCJS10019 = true
# The Transformers games are also afflicted with long loading times and render too fast like GoW.
# Transformers - The Game
ULES00823 = true
ULES00824 = true
ULES00825 = true
ULUS10274 = true
# Transformers - Revenge of the Fallen
ULES01286 = true
ULES01287 = true
ULUS10433 = true
# Tekken 6
ULUS10466 = true
ULES01376 = true
ULJS00224 = true
NPUH10047 = true
ULAS42214 = true
ULJS19054 = true
NPJH50184 = true
# Hot Wheels - Ultimate Racing (issue #12604, this is a workaround)
ULUS10239 = true
ULES00828 = true
# Fat Princess: Fistful of Cake loading speeds benefit greatly.
UCAS40285 = true
UCES01312 = true
NPJG00045 = true
NPHG00025 = true
UCKS45137 = true
UCUS98740 = true
# Mumbo Jumbo games (see issue #12857)
ULUS10287 = true # Super Collapse 3
ULES01027 = true # Super Collapse 3
ULUS10203 = true # Platypus
ULES01029 = true # Platypus
ULUS10227 = true # 7 Wonders of the Ancient World
ULES01037 = true # 7 Wonders of the Ancient World
# Super Monkey Ball Adventures also benefits from this (#7674).
ULES00364 = true
ULUS10132 = true
# Homebrew Kurok (we don't normally add homebrew here but it has a distinctive GameID)
KURO00767 = true
# Scooby-Doo! Who's Watching Who?
ULUS10168 = true
ULES00571 = true
# Tron Evolution
ULUS10548 = true
ULES01494 = true
ULES01495 = true
# Atari Classics Evolved
ULUS10325 = true
# Kurohyou 2: Ryu ga Gotoku Ashura Hen (Japan)
NPJH50562 = true
NPJH50333 = true
# Silent Hill Origin
ULUS10285 = true
ULES00869 = true
# Resistance Retribution
UCES01184 = true
UCUS98668 = true
UCJP00174 = true
# Spider-Man 3
ULES00938 = true
ULUS10317 = true
# NBA 2K13
ULUS10598 = true
ULES01578 = true
# Killzone: Liberation (see issue #6207)
UCES00279 = true
UCKS45041 = true
UCUS98646 = true
UCET00278 = true
UCUS98670 = true
UCUS98646 = true
# Infected
ULES00337 = true
ULES00338 = true
ULUS10054 = true
[JitInvalidationHack]
# This is an absolutely awful hack that somehow prevents issues when clearing the JIT,
# if the game has copied code with EmuHack opcodes or something. Hopefully will be able
# to remove this in the future.
# See #3854.
# Tony Hawk's Underground
ULUS10014 = true
ULES00033 = true
ULES00034 = true
ULES00035 = true
# MTX MotoTrax
ULUS10138 = true
ULES00581 = true
[HideISOFiles]
# DJ Max Portable has some crude copy-protection functionality where it looks for ISO/CSO files
# in a few directories. Prevent this by hiding the files from the game.
# To be sure, catch all versions and remixes of the game that's been seen in reports.
# It checks the following directories:
# /
# /PSP/
# /PSP/COMMON
# /PSP/GAME
ULKS46116 = true
ULKS46189 = true
ULKS46190 = true
ULKS46236 = true
ULKS46240 = true
ULKS46059 = true
ULUS10403 = true
ULUS10538 = true
ULKS46050 = true
ULJM05836 = true
ULJM46236 = true
ULJM06034 = true
NPHH00260 = true
CF0020046 = true
CF0020074 = true
NPJH50471 = true
ULJM06033 = true
NPJH50559 = true
NPEH00030 = true
[MoreAccurateVMMUL]
# Fixes leg shaking in Tekken 6. The potential for slowdown in other games is large enough
# that we will not generally apply this accurate mode where not needed.
ULUS10466 = true
ULES01376 = true
ULJS00224 = true
NPUH10047 = true
ULAS42214 = true
ULJS19054 = true
NPJH50184 = true
[ForceSoftwareRenderer]
# Darkstalkers
ULES00016 = true
ULUS10005 = true
ULJM05005 = true
[DarkStalkersPresentHack]
# Darkstalkers
ULES00016 = true
ULUS10005 = true
ULJM05005 = true
[ReportSmallMemStick]
# Harry Potter and the Goblet of Fire - issue #13266
ULUS10032 = true
ULES00210 = true
ULES00214 = true
ULES00215 = true
ULES00216 = true
ULKS46047 = true
# Street Fighter Alpha 3 MAX - issue #10462
ULJM05082 = true
ULUS10062 = true
ULES00235 = true
ULJM05225 = true
CPCS01043 = true
ULUS10062 = true
# LEGO Star Wars II: The Original Trilogy
ULES00479 = true
ULUS10155 = true
# Tony Hawk's Underground 2 Remix
ULES00033 = true
ULUS10014 = true
# Virtua Tennis: World Tour
ULES00126 = true
ULJM05079 = true
ULKS46023 = true
ULUS10037 = true
# Warriors Orochi - issue #16827
ULJM05314 = true
ULUS10341 = true
ULES01054 = true
ULJM08022 = true
NPJH50126 = true
ULJM08052 = true
ULAS42316 = true
# Doko Demo Issho - issue #18420
UCJS10002 = true
UCJS10039 = true
UCJS18012 = true
[MemstickFixedFree]
ULJM05571 = true
ULES01367 = true
NPEH00029 = true
ULUS10455 = true
[BlueToAlpha]
# Some games render first to RGB of a 4444 texture, then they switch to 565 and render masked to blue,
# just to be able to render to the alpha channel of the 4444. We can detect that and reroute rendering
# to avoid problems.
# Split/Second
ULES01402 = true
ULUS10513 = true
ULJM05812 = true
NPJH50371 = true
# Colin McRae's DiRT 2 - issue #13012 (car reflections)
ULUS10471 = true
ULJM05533 = true
NPJH50006 = true
ULES01301 = true
# Outrun 2006: Coast to Coast - issue #11358 (car reflections)
ULES00262 = true
ULUS10064 = true
ULKS46087 = true
[ForceMaxDepthResolution]
# See #17014 - some games don't need our heuristics that drop down to 16-bit depth.
# Outrun 2006: Coast to Coast - issue #11358 (car reflections)
ULES00262 = true
ULUS10064 = true
ULKS46087 = true
# Split/Second
ULES01402 = true
ULUS10513 = true
ULJM05812 = true
NPJH50371 = true
# Cars Race-o-rama
ULUS10428 = true
ULES01333 = true
# Test Drive Unlimited
ULET00386 = true
ULUS10249 = true
ULES00637 = true
ULKS46126 = true
[DateLimited]
# Car Jack Streets - issue #12698
NPUZ00043 = true
NPEZ00198 = true
[ShaderColorBitmask]
# Colin McRae's DiRT 2 - issue #13012 (water)
ULUS10471 = true
ULJM05533 = true
NPJH50006 = true
ULES01301 = true
# Outrun 2006: Coast to Coast - issue #11358 (car reflections), #11928 (water)
ULES00262 = true
ULUS10064 = true
ULKS46087 = true
# Burnout Dominator - lens flare effect (issue #11100)
ULUS10236 = true
ULES00750 = true
ULJM05242 = true
ULJM05371 = true
NPJH50304 = true
ULES00703 = true
ULAS42095 = true
# Need for Speed - Shift (same as Burnout Dominator)
ULUS10462 = true
ULES01275 = true
ULJM05494 = true
NPJH50143 = true
ULJM05738 = true
# Dragon Ball Z: Tenkaichi Tag Team: Shadows, see issue #18494
ULUS10537 = true
ULES01456 = true
ULJS00311 = true
ULJS19067 = true
ULAS42247 = true
ULAS42318 = true
[DisableFirstFrameReadback]
# Wipeout Pure: Temporary workaround for lens flare flicker. See #13344
UCUS98612 = true
UCJS10007 = true
UCES00001 = true
UCKS45008 = true
NPJG00059 = true
# SOCOM: Fireteam Bravo 3 (see issue #18958, hopefully fixes crash in Stockpile mission, #10461)
UCES-01242 = true
NPJG-00035 = true
NPHG-00032 = true
[MpegAvcWarmUp]
# God Eater issue #13527 ,It is custom mpeg library that required sceMpegGetAvcAu return ERROR_MPEG_NO_DATA but break FIFA 14 issue #14086
# God Eater 1
ULJS00237 = true
ULKS46238 = true
# God Eater 2
ULJS00597 = true
NPJH50832 = true
ULJS19093 = true
NPJH50832 = true
# God Eater Burst
ULJS00351 = true
NPJH50352 = true
ULJS00350 = true
ULKS46263 = true
ULUS10563 = true
ULES01519 = true
ULJS19056 = true
NPJH50352 = true
ULUS10563FV = true
ULJS19081 = true
NPJH50352 = true
# Field Commander, see issue #10209
ULUS10088 = true
ULES00335 = true
ULKS46070 = true
# Valkyrie Profile Lenneth (last video crash, see #6008)
ULUS10107 = true
ULJM05101 = true
ULES00724 = true
ULJM05320 = true
[CenteredLines]
# Echochrome looks better with these. Related: #15556
UCES01011 = true
UCAS40197 = true
NPEG00006 = true
NPUG80135 = true
# Webfest homebrew game (wireframe 3D rendering) looks substantially better with this.
WEBF00752 = true
[ZZT3SelectHack]
# Bypass softlock on Zettai Zetsumei Toshi 3 character select screen #4901
# This problem affects the game also on PS3
ULJS00191 = true
UCAS40252 = true
UCKS45119 = true
NPJH50907 = true
UCAS40328 = true
ULJS19050 = true
NPJH50907 = true
[AllowLargeFBTextureOffsets]
# Final Fantasy - Type 0, see #18879
ULJM05900 = true
ULJM05901 = true
NPJH50443 = true
NPJH50444 = true
ULJM06217 = true
ULJM06218 = true
UCAS40346 = true
UCAS40347 = true
# Quickfix for Clone Wars, see #12949
ULES01284 = true
ULES01285 = true
ULUS10477 = true
# Star Wars: The Force Unleashed
ULUS10345 = true
ULKS46143 = true
ULES00981 = true
ULES00982 = true
LBSW10345 = true # Some modded version found in our report logs
# Juiced 2 bloom effect (see #7295)
ULES00928 = true
ULUS10312 = true
ULKS46154 = true
[FramebufferAllowLargeVerticalOffset]
# Tokimeki Memorial 4 (see #6379)
NPJH50127 = true
ULKS46226 = true
ULAS42206 = true
ULJM05541 = true
# Breath of Fire III
ULES00193 = true
ULJM05029 = true
ULJM05224 = true
NPJH50214 = true
[AtracLoopHack]
#Atrac looped incorrectly see #7601 #13773 #11586 #10139 #12083
#Coded Arms: Contagion
ULUS10184 = true
ULJM05243 = true
ULKS46139 = true
#Gripshift
ULUS10040 = true
ULES00177 = true
ULKS46040 = true
ULJM05089 = true
#Jackass the Game
ULUS10303 = true
ULES00897 = true
#Shrek smash
ULUS10194 = true
ULES00618 = true
# Silver Fall
ULES00808 = true
ULUS10270 = true
[DeswizzleDepth]
UCUS98633 = true
UCAS40145 = true
UCES00420 = true
UCJS10052 = true
UCKS45048 = true
UCJS18030 = true
UCJS18047 = true
NPJG00015 = true
[SplitFramebufferMargin]
# Killzone: Liberation (see issue #6207)
UCES00279 = true
UCKS45041 = true
UCUS98646 = true
UCET00278 = true
UCUS98670 = true
UCUS98646 = true
[UseFFMPEGFindStreamInfo]
# The Warriors: Works around regression (#8991) by reverting to the old behavior
ULUS10213 = true
ULES00483 = true
[ForceLowerResolutionForEffectsOn]
# The water effect of DiRT 2 and Outrun doesn't work in higher resolutions.
# Colin McRae's DiRT 2 - issue #13012 (water)
ULUS10471 = true
ULJM05533 = true
NPJH50006 = true
ULES01301 = true
# Outrun 2006: Coast to Coast - issue #11358 (car reflections), #11928 (water)
ULES00262 = true
ULUS10064 = true
ULKS46087 = true
# Burnout Dominator - lens flare effect (issue #11100)
# Some of the steps don't work at high resolution yet.
ULUS10236 = true
ULES00750 = true
ULJM05242 = true
ULJM05371 = true
NPJH50304 = true
ULES00703 = true
ULAS42095 = true
# Need for Speed - Shift (same as Burnout Dominator)
ULUS10462 = true
ULES01275 = true
ULJM05494 = true
NPJH50143 = true
ULJM05738 = true
# Motorstorm - See #16429
UCES01250 = true
UCAS40266 = true
UCUS98743 = true
UCES01250 = true
UCKS45124 = true
UCJS10104 = true
NPJG00047 = true
# Tiger Woods 06 - bloom during rain
ULUS10028 = true
ULES00153 = true
ULES00154 = true
ULJM05059 = true
ULAS42020 = true
[ForceLowerResolutionForEffectsOff]
# Some games really don't work with this. Ratchet & Clank looks terrible.
UCUS98633 = true
UCAS40145 = true
UCES00420 = true
UCJS10052 = true
UCKS45048 = true
UCES00420 = true
UCJS18030 = true
UCJS18047 = true
NPJG00015 = true
# The various Tantalus games will not work with this.
# Cars Race-o-rama
ULUS10428 = true
ULES01333 = true
# MX vs ATV Reflex
ULES01375 = true
ULUS10429 = true
# MX vs ATV Untamed
ULUS10330 = true
ULES00993 = true
ULKS46176 = true
# Spongebob: The Yellow Avenger
ULES00280 = true
ULUS10092 = true
# Also, it's a really bad idea in Kurohyou.
# Kurohyou: Ryu ga Gotoku Shinshou
ULJM05713 = true
NPJH50333 = true
ULAS42244 = true
UCKS45159 = true
ULJM08047 = true
# Kurohyou 2: Ryu ga Gotoku Ashura Hen (Japan)
NPJH50562 = true
NPJH50333 = true
[NearestFilteringOnFramebufferCreate]
# Ridge Racer speedometer dynamic CLUT problem - they rely on some palette entries
# from memory, and render to the rest of the palette. The palette entries loaded from memory
# must not be blurred by filtering, so nearest it is. See issue #8509
# Ridge Racer
ULJS00001 = true
ULUS10001 = true
UCKS45002 = true
UCES00002 = true
ULJS19002 = true
UCKS45053 = true
NPJH50140 = true
# Ridge Racer 2
ULJS00080 = true
UCKS45032 = true
UCES00422 = true
UCAS40273 = true
NPJH50366 = true
[AllowDownloadCLUT]
# Temporary compatibility option, while working on the GPU CLUT-from-framebuffer path.
# Not required for any games now that it works, but might be useful for development.
[SecondaryTextureCache]
# Was previously the "Retain changed textures" setting.
# See https://github.com/hrydgard/ppsspp/issues/16339#issuecomment-1304826656
# Popolocrois
UCJS10005 = true
UCAS40009 = true
ULUS10018 = true
UCJS18003 = true
ULES00291 = true
NPJG00033 = true
# Fushigi no Dungeon: Fuurai no Shiren 4 Plus - Kami no Hitomi to Akuma no Heso
ULJS00547 = true
NPJH50698 = true
[EnglishOrJapaneseOnly]
# Twinbee Portable, see issue #16382
ULAS42089 = true
ULJM05221 = true
ULJM05323 = true
[OldAdrenoPixelDepthRoundingGL]
# See #16015
# Naruto Shippuden: Ultimate Ninja Impact
ULUS10582 = true
ULES01537 = true
ULJS00390 = true
ULAS42297 = true
ULJS19071 = true
NPJH50435 = true
NPJH50435 = true
# Kingdom Hearts - Birth By Sleep
ULES01441 = true
ULJM05600 = true
ULUS10505 = true
ULJM05775 = true # Final MIX
PSPJ30012 = true
UCAS40295 = true
UCKS45143 = true
UCAS40317 = true
UCAS40326 = true
UCKS45168 = true
ULJM06213 = true
ULJM06214 = true
# Monster Hunter Portable 3rd
NPJB40001 = true
NPJH55800 = true
ULJM05800 = true
ULJM08058 = true
# Persona 3 Portable
ULES01523 = true
ULUS10512 = true
UCAS40288 = true
ULJM05489 = true
UCKS45140 = true
ULJM08044 = true
NPJH50040 = true
UCKS45175 = true
# Hack/Link
ULJS00266 = true
ULJS00279 = true
ULJS19058 = true
# Midnight Club: LA Remix
ULUS10383 = true
ULES01144 = true
ULJS00180 = true
ULJS00267 = true
ULJM05904 = true
NPJH50440 = true
# ModNation Racers
UCES01327 = true
UCUS98741 = true
UCAS40306 = true
UCJS10112 = true
NPJG00116 = true
NPUG70097 = true # Demo
# Toca Race Driver 3 / DTM Race Driver 3 / V8 Supercars Shootout 3
ULES00613 = true
ULES00615 = true
ULES00614 = true
# Toca Race Driver 2 / DTM Race Driver 2
ULES00040 = true
ULES00041 = true
ULJM05160 = true
[ForceCircleButtonConfirm]
# Shining Ark, issue #15663
NPJH50717 = true
ULJM06223 = true
# Danball Senki, issue #17622
ULJS00361 = true
# Danball Senki Boost
ULJM05990 = true
# Shining Blade
NPJH50530 = true
[DisallowFramebufferAtOffset]
# Little Big Planet, see #16030
UCUS98744 = true
UCES01264 = true
UCJS10107 = true
NPJG00073 = true
UCAS40262 = true
# WWE Smackdown vs RAW 2006 : See #13797
ULES00227 = true
ULKS46057 = true
ULUS10050 = true
# WWE Smackdown vs RAW 2007
ULUS10199 = True
ULES00631 = True
ULJM05233 = True
# Rainbow Six: Vegas: See #9324
# Replaces a heuristic we added in #16971, which broke Castlevania - Symphony of the Night.
ULES00584 = true
ULUS10206 = true
[RockmanDash2SoundFix]
# Rockman Dash 2, see #11442
ULJM05037 = true
ULJM05216 = true
NPJH50181 = true
[ReadbackDepth]
# Syphon Filter - Dark Mirror
UCES00310 = true
UCUS98641 = true
UCUS98656 = true
UCUS98656 = true # Demo
# Syphon Filter - Logan's Shadow
UCUS98606 = true
UCES00710 = true
NPUG80173 = true
NPUA80013 = true # Demo
UCUS98704 = true # Demo
NPEG90002 = true # Demo
SYPH04036 = true # Prototype?
# Syphon Filter - Combat Ops (weird multiplayer-only variant)
NPUG80114 = true
NPEG00004 = true
[BlockTransferDepth]
# Iron Man - see issue #16530
# Note that this option also requires IntraVRAMBlockTransferAllowCreateFB.
ULES01070 = true
ULES01071 = true
ULUS10347 = true
# Hayate no Gotoku!! Nightmare Paradise - see issue #17878
ULJM05416 = true
[DaxterRotatedAnalogStick]
# Daxter (see issue #17015)
UCUS98618 = true
UCUS98654 = true
UCES00044 = true
NPUG80329 = true
NPEG00025 = true
UCKS45025 = true
# GOW : Ghost of Sparta
UCUS98737 = true
UCAS40323 = true
NPHG00092 = true
NPEG00044 = true
NPEG00045 = true
NPJG00120 = true
NPUG80508 = true
UCJS10114 = true
UCES01401 = true
UCES01473 = true
# GOW : Ghost of Sparta Demo
NPJG90095 = true
NPEG90035 = true
NPUG70125 = true
# GOW : Chains Of Olympus
UCAS40198 = true
UCUS98653 = true
UCES00842 = true
ULJM05438 = true
ULJM05348 = true
UCKS45084 = true
NPUG80325 = true
NPEG00023 = true
NPHG00027 = true
NPHG00028 = true
NPJH50170 = true
UCET00844 = true
# GOW: Chains of Olympus Demo
UCUS98705 = true
UCED00971 = true
UCUS98713 = true
[SOCOMClut8Replacement]
# SOCOM and other games use CLUT8 with crafty sampling as if it was CLUT16. Issue #16210
UCES00855 = true
UCUS98649 = true
NPUG70003 = true # demo
UCUS98714 = true # demo
# SOCOM Fireteam Bravo 3
UCES01242 = true
NPHG00032 = true
UCUS98716 = true
NPEG90024 = true # demo
# SOCOM Navy Seals Portable (Japanese version)
UCJS10102 = true
NPJG00035 = true
NPJG90068 = true # demo
[Fontltn12Hack]
# optimumFont do not return ltn12.pgf see #11055
NPJH00052 = true
[LoadCLUTFromCurrentFrameOnly]
# Helps Syphon Filter: Logan's Shadow color issue, # where we accidentally load a CLUT from an outdated framebuffer.
# Perhaps this should be the default.
UCUS98606 = true
UCES00710 = true
NPUG80173 = true
NPUA80013 = true # Demo
UCUS98704 = true # Demo
NPEG90002 = true # Demo
SYPH04036 = true # Prototype?
[ForceUMDReadSpeed]
# Aces of War required slow read speed (even in Real PSP), see #11062
ULES00590 = true
ULJM05075 = true
# Sengoku Musou 3Z Special DLC see #9993
ULJM06024 = true
# Bejeweled 2. This shouldn't really fix anything since it's a PSN game that didn't run from UMD,
# but apparently it does work around the timing error. See issue #15304 .
NPUG30038 = true
NPEG00036 = true
# Doko Demo Issho, load savedata error see #18420
UCJS10002 = true
UCJS18002 = true
# Driver 76, see #16904 #12054
ULUS10235 = true
ULES00740 = true
# Harukanaru Toki no Naka de 3 with Izayoiki Aizouban, see #6127
ULJM05441 = true
KOEIP0167 = true
ULJM06245 = true
# Ace Combat: Joint Assault #12434
ULUS10511 = true
ULES01408 = true
# Ace Combat X2: Joint Assault #5545
ULJS00290 = true
ULKS46254 = true
ULJS19057 = true
NPJH50263 = true
# Tales of the World: Radiant Mythology 2 - #19196
ULJS00175 = true
UCAS40244 = true
UCKS45110 = true
ULJS19044 = true
NPJH50852 = true
[AllowDelayedReadbacks]
# NOTE: This only affects Vulkan currently.
# Added for easy experimentation. Many games using readbacks do not work well delaying them, though.
# For example, Motorstorm lighting adaptation goes into self-oscillation (!)
# UCES01250 = true
[TacticsOgreEliminateDebugReadback]
ULUS10565 = true
ULES01500 = true
ULJM05753 = true
NPJH50348 = true
ULJM06009 = true
UCKS45164 = true
[DisableMemcpySlicing]
UCES01184 = true
UCUS98668 = true
UCJP00174 = true