mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-14 21:37:52 -07:00
Merge branch 'master' into gc-mic
This commit is contained in:
commit
46afefb14f
@ -2,8 +2,7 @@
|
||||
[EmuState]
|
||||
#The Emulation State.
|
||||
EmulationStateId = 4
|
||||
Issues="Scanner does not work, music is buggy, scanner mode is buggy"
|
||||
EmulationIssues =
|
||||
EmulationIssues = EFB to RAM is needed for the scanner/visors to work properly.
|
||||
[Speedhacks]
|
||||
0x803758bc=400
|
||||
[OnFrame]
|
||||
@ -131,6 +130,20 @@ $Have Ing Hive Temple Key 2
|
||||
4241FD80 011B0001
|
||||
$Have Ing Hive Temple Key 3
|
||||
4241FD80 011F0001
|
||||
$One Hit Kill
|
||||
0403DB68 4BFC539C
|
||||
04002F04 FFC00090
|
||||
04002F08 7C1BE050
|
||||
04002F0C 2C000010
|
||||
04002F10 41820008
|
||||
04002F14 EFDEF028
|
||||
04002F18 4803AC54
|
||||
$Full Logbook
|
||||
0421166C 4BDF18CC
|
||||
04002F38 3BE000FF
|
||||
04002F3C 9BE50004
|
||||
04002F40 88050004
|
||||
04002F44 4820E72C
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
|
@ -1,15 +1,147 @@
|
||||
# G2MP01 - Metroid Prime 2 Echoes[EmuState]
|
||||
# G2MP01 - Metroid Prime 2 Echoes
|
||||
[EmuState]
|
||||
#The Emulation State.
|
||||
EmulationStateId = 2
|
||||
Issues="Scanner does not work, music is buggy, scanner mode is buggy"
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = EFB to RAM is needed for the scanner/visors to work properly.
|
||||
[Speedhacks]
|
||||
#Patch OSYieldThread to take more time - MP2's idle loop is really stupid.
|
||||
0x80375c68=400
|
||||
[OnFrame]
|
||||
[ActionReplay]
|
||||
[EmuState]
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = needs safe texture cache and EFB to Ram
|
||||
$(M)
|
||||
C43552C8 0000FF01
|
||||
C436F41C 0000FF02
|
||||
0D30294C 4E800020
|
||||
C530294C 0000FF03
|
||||
$Infinite Health
|
||||
423DDE0C 000A44BB
|
||||
423DDE0C 000B6000
|
||||
$Max Energy Tanks
|
||||
423DDE0C 012B000E
|
||||
423DDE0C 012D000E
|
||||
$Maximum Missiles
|
||||
423DDE0C 013900FA
|
||||
$Infinite Missiles
|
||||
423DDE0C 013700FA
|
||||
$Moon Jump (Hold B)
|
||||
3A705F24 00000200
|
||||
423DDDFC 00D84101
|
||||
$Have Charge Beam
|
||||
423DDE0C 00310001
|
||||
423DDE0C 00330001
|
||||
$Have Dark Beam
|
||||
423DDE0C 00370001
|
||||
423DDE0C 00390001
|
||||
$Have Light Beam
|
||||
423DDE0C 003D0001
|
||||
423DDE0C 003F0001
|
||||
$Have Annihilator
|
||||
423DDE0C 00430001
|
||||
423DDE0C 00450001
|
||||
$Have Super Missile
|
||||
423DDE0C 00470001
|
||||
423DDE0C 00490001
|
||||
$Have Darkburst
|
||||
423DDE0C 004D0001
|
||||
423DDE0C 004F0001
|
||||
$Have Sunburst
|
||||
423DDE0C 00530001
|
||||
423DDE0C 00550001
|
||||
$Have Sonic Boom
|
||||
423DDE0C 00590001
|
||||
423DDE0C 005B0001
|
||||
$Have Combat Visor
|
||||
423DDE0C 005F0001
|
||||
423DDE0C 00610001
|
||||
$Have Scan Visor
|
||||
423DDE0C 00650001
|
||||
423DDE0C 00670001
|
||||
$Have Dark Visor
|
||||
423DDE0C 006B0001
|
||||
423DDE0C 006D0001
|
||||
$Have Echo Visor
|
||||
423DDE0C 00710001
|
||||
423DDE0C 00730001
|
||||
$Have Varia Suit
|
||||
423DDE0C 00770001
|
||||
423DDE0C 00790001
|
||||
$Have Dark Suit
|
||||
423DDE0C 007D0001
|
||||
423DDE0C 007F0001
|
||||
$Have Light Suit
|
||||
423DDE0C 00830001
|
||||
423DDE0C 00850001
|
||||
$Have Space Jump Boots
|
||||
423DDE0C 00BF0001
|
||||
423DDE0C 00C10001
|
||||
$Have Grapple Beam
|
||||
423DDE0C 00B90001
|
||||
423DDE0C 00BB0001
|
||||
$Have Gravity Boost
|
||||
423DDE0C 00C50001
|
||||
423DDE0C 00C70001
|
||||
$Have Screw Attack
|
||||
423DDE0C 00D10001
|
||||
423DDE0C 00D30001
|
||||
$Have Seeker Missile
|
||||
423DDE0C 00CB0001
|
||||
423DDE0C 00CD0001
|
||||
$Have Morph Ball Power Bomb
|
||||
423DDE0C 01310001
|
||||
423DDE0C 01330001
|
||||
$Have Beam Ammo Expansion
|
||||
423DDE0C 013D000F
|
||||
423DDE0C 013F000F
|
||||
$Have Sky Temple Key 1
|
||||
423DDE0C 00DD0001
|
||||
423DDE0C 00DF0001
|
||||
$Have Sky Temple Key 2
|
||||
423DDE0C 00E30001
|
||||
423DDE0C 00E50001
|
||||
$Have Sky Temple Key 3
|
||||
423DDE0C 00E90001
|
||||
423DDE0C 00EB0001
|
||||
$Have Agon Temple Key 1
|
||||
423DDE0C 00EF0001
|
||||
423DDE0C 00F10001
|
||||
$Have Agon Temple Key 2
|
||||
423DDE0C 00F50001
|
||||
423DDE0C 00F70001
|
||||
$Have Agon Temple Key 3
|
||||
423DDE0C 00FB0001
|
||||
423DDE0C 00FD0001
|
||||
$Have Torvus Temple Key 1
|
||||
423DDE0C 01010001
|
||||
423DDE0C 01030001
|
||||
$Have Torvus Temple Key 2
|
||||
423DDE0C 01070001
|
||||
423DDE0C 01090001
|
||||
$Have Torvus Temple Key 3
|
||||
423DDE0C 010D0001
|
||||
423DDE0C 010F0001
|
||||
$Have Ing Hive Temple Key 1
|
||||
423DDE0C 01130001
|
||||
423DDE0C 01150001
|
||||
$Have Ing Hive Temple Key 2
|
||||
423DDE0C 01190001
|
||||
423DDE0C 011B0001
|
||||
$Have Ing Hive Temple Key 3
|
||||
423DDE0C 011F0001
|
||||
423DDE0C 01210001
|
||||
$One Hit Kill
|
||||
0403DCB8 4BFC524C
|
||||
04002F04 FFC00090
|
||||
04002F08 7C1BE050
|
||||
04002F0C 2C000010
|
||||
04002F10 41820008
|
||||
04002F14 EFDEF028
|
||||
04002F18 4803ADA4
|
||||
$Full Logbook
|
||||
04211974 4BDF15C4
|
||||
04002F38 3BE000FF
|
||||
04002F3C 9BE50004
|
||||
04002F40 88050004
|
||||
04002F44 4820EA34
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
|
@ -1,8 +1,9 @@
|
||||
# G2XE8P - SONIC GEMS COLLECTION
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
TLBHack = 1
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = Everything playable with minor glitches, except Sonic the Fighters.
|
||||
EmulationIssues = Everything playable with minor glitches.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
@ -13,3 +14,8 @@ PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
[Video_Settings]
|
||||
SafeTextureCache = True
|
||||
SafeTextureCacheColorSamples = 512
|
||||
[Video_Hacks]
|
||||
DlistCachingEnable = False
|
||||
|
@ -1,8 +1,9 @@
|
||||
# G2XP8P - SONIC GEMS COLLECTION
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
TLBHack = 1
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = Everything playable with minor glitches, except Sonic the Fighters.
|
||||
EmulationIssues = Everything playable with minor glitches.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
@ -13,3 +14,8 @@ PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
[Video_Settings]
|
||||
SafeTextureCache = True
|
||||
SafeTextureCacheColorSamples = 512
|
||||
[Video_Hacks]
|
||||
DlistCachingEnable = False
|
||||
|
19
Data/User/GameConfig/GAVP78.ini
Normal file
19
Data/User/GameConfig/GAVP78.ini
Normal file
@ -0,0 +1,19 @@
|
||||
# GAVP78 - Avatar: The Legend of Aang
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
TLBHack = 1
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 3
|
||||
EmulationIssues =
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
[Video_Settings]
|
||||
SafeTextureCache = True
|
||||
SafeTextureCacheColorSamples = 512
|
19
Data/User/GameConfig/GAVY78.ini
Normal file
19
Data/User/GameConfig/GAVY78.ini
Normal file
@ -0,0 +1,19 @@
|
||||
# GAVE78 - Avatar: The Legend of Aang
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
TLBHack = 1
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 3
|
||||
EmulationIssues =
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
[Video_Settings]
|
||||
SafeTextureCache = True
|
||||
SafeTextureCacheColorSamples = 512
|
19
Data/User/GameConfig/GBWD64.ini
Normal file
19
Data/User/GameConfig/GBWD64.ini
Normal file
@ -0,0 +1,19 @@
|
||||
# GBWD64 - Star Wars Bounty Hunter
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
TLBHack = 1
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = Needs real xfb for videos to show up.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
[Video_Settings]
|
||||
UseXFB = True
|
||||
UseRealXFB = True
|
@ -2,11 +2,18 @@
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
TLBHack = 1
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 0
|
||||
EmulationIssues =
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = Needs real xfb for videos to show up.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
|
||||
[Video_Settings]
|
||||
UseXFB = True
|
||||
UseRealXFB = True
|
||||
|
19
Data/User/GameConfig/GBWF64.ini
Normal file
19
Data/User/GameConfig/GBWF64.ini
Normal file
@ -0,0 +1,19 @@
|
||||
# GBWF64 - Star Wars Bounty Hunter
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
TLBHack = 1
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = Needs real xfb for videos to show up.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
[Video_Settings]
|
||||
UseXFB = True
|
||||
UseRealXFB = True
|
19
Data/User/GameConfig/GBWP64.ini
Normal file
19
Data/User/GameConfig/GBWP64.ini
Normal file
@ -0,0 +1,19 @@
|
||||
# GBWP64 - Star Wars Bounty Hunter
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
TLBHack = 1
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = Needs real xfb for videos to show up.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
[Video_Settings]
|
||||
UseXFB = True
|
||||
UseRealXFB = True
|
@ -2,7 +2,7 @@
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues =
|
||||
EmulationIssues = LLE audio is needed to fix sound issues. Gfx glitches.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
@ -16,4 +16,3 @@ PH_ZFar = 1.99998
|
||||
[Video_Settings]
|
||||
SafeTextureCache = True
|
||||
SafeTextureCacheColorSamples = 512
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues =
|
||||
EmulationIssues = LLE audio is needed to fix sound issues. Gfx glitches.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
@ -15,3 +15,4 @@ PH_ZFar = 1.99998
|
||||
[Gecko]
|
||||
[Video_Settings]
|
||||
SafeTextureCache = True
|
||||
SafeTextureCacheColorSamples = 512
|
||||
|
16
Data/User/GameConfig/GEND69.ini
Normal file
16
Data/User/GameConfig/GEND69.ini
Normal file
@ -0,0 +1,16 @@
|
||||
# GEND69 - 007: Everything or Nothing
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
TLBHack = 1
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationIssues = Needs LLE audio for proper sound.
|
||||
EmulationStateId = 4
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
@ -2,11 +2,15 @@
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
TLBHack = 1
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationIssues = Missing Textures,3D Models Broken cutscenes
|
||||
EmulationStateId = 2
|
||||
EmulationIssues = Needs LLE audio for proper sound.
|
||||
EmulationStateId = 4
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
|
||||
|
16
Data/User/GameConfig/GENP69.ini
Normal file
16
Data/User/GameConfig/GENP69.ini
Normal file
@ -0,0 +1,16 @@
|
||||
# GENP69 - 007: Everything or Nothing
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
TLBHack = 1
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationIssues = Needs LLE audio for proper sound.
|
||||
EmulationStateId = 4
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
@ -2,10 +2,15 @@
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
TLBHack = 1
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationIssues = Missing Textures,3D Models Broken cutscenes
|
||||
EmulationStateId = 2
|
||||
EmulationIssues = Needs LLE audio for proper sound.
|
||||
EmulationStateId = 4
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
|
@ -1,7 +1,16 @@
|
||||
# GG5E52 - Cabela's(R) BGH 2005 Adv.
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
TLBHack = 1
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationIssues = Black screen
|
||||
EmulationStateId = 1
|
||||
EmulationIssues = Needs Jitil to run. LLE audio fixes sound issues.
|
||||
EmulationStateId = 4
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
|
@ -1,7 +1,20 @@
|
||||
# GJBE5G - Bomberman Jetters
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 1
|
||||
Issues="Does Nothing"
|
||||
EmulationStateId = 3
|
||||
EmulationIssues = Use D3D9 for less problems. Videos need Real XFB to show up. Graphic glitches / unstable during videos.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 1
|
||||
PH_SZNear = 1
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar = 0.1
|
||||
[Gecko]
|
||||
[Video_Settings]
|
||||
SafeTextureCache = True
|
||||
SafeTextureCacheColorSamples = 512
|
||||
UseXFB = True
|
||||
UseRealXFB = True
|
||||
|
16
Data/User/GameConfig/GJZE52.ini
Normal file
16
Data/User/GameConfig/GJZE52.ini
Normal file
@ -0,0 +1,16 @@
|
||||
# GJZE52 - Shamu's Deep Sea Adventures
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
TLBHack = 1
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = Needs Jitil to run. LLE audio fixes some sound issues.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
@ -1,8 +1,9 @@
|
||||
# GM6EE9 - Medabots Infinity 4th Submission
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
TLBHack = 1
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = Use LLE plugin for proper ingame sound.(r7483).
|
||||
EmulationIssues = Use LLE plugin for proper ingame sound. MMU speed hack is needed for balloon bombs or the game crashes.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
|
@ -1,8 +1,9 @@
|
||||
# GM6PE9 - Medabots Infinity 4th Submission
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
TLBHack = 1
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = Use LLE plugin for proper ingame sound.(r7483).
|
||||
EmulationIssues = Use LLE plugin for proper ingame sound. MMU speed hack is needed for balloon bombs or the game crashes.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
|
16
Data/User/GameConfig/GOAE52.ini
Normal file
16
Data/User/GameConfig/GOAE52.ini
Normal file
@ -0,0 +1,16 @@
|
||||
# GOAE52 - Cabela's Outdoor Adventures
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
TLBHack = 1
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = Needs Jitil to run. LLE audio fixes sound issues.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
16
Data/User/GameConfig/GOSE41.ini
Normal file
16
Data/User/GameConfig/GOSE41.ini
Normal file
@ -0,0 +1,16 @@
|
||||
# GOSE41 - Open Season
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
TLBHack = 1
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 2
|
||||
EmulationIssues = Severe graphic issues.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
16
Data/User/GameConfig/GOSP41.ini
Normal file
16
Data/User/GameConfig/GOSP41.ini
Normal file
@ -0,0 +1,16 @@
|
||||
# GOSP41 - Open Season
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
TLBHack = 1
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 2
|
||||
EmulationIssues = Severe graphic issues.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
16
Data/User/GameConfig/GOSX41.ini
Normal file
16
Data/User/GameConfig/GOSX41.ini
Normal file
@ -0,0 +1,16 @@
|
||||
# GOSX41 - Open Season
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
TLBHack = 1
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 2
|
||||
EmulationIssues = Severe graphic issues.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
@ -2,5 +2,17 @@
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = Mini games tour bus needs emulate format changes to preview the mini games.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
[Video_Hacks]
|
||||
EFBEmulateFormatChanges = True
|
||||
|
||||
|
17
Data/User/GameConfig/GP6J01.ini
Normal file
17
Data/User/GameConfig/GP6J01.ini
Normal file
@ -0,0 +1,17 @@
|
||||
# GP6J01 - Mario Party 6
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = Mini games tour bus needs emulate format changes to preview the mini games.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
[Video_Hacks]
|
||||
EFBEmulateFormatChanges = True
|
@ -1,11 +1,19 @@
|
||||
# GP6P01 - Mario Party 6
|
||||
[Core]
|
||||
#Values set here will override the main dolphin settings.
|
||||
[EmuState]
|
||||
#The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 0
|
||||
Issues="uses the mic attachment"
|
||||
[OnLoad]
|
||||
#Add memory patches to be loaded once on boot here.
|
||||
[OnFrame]
|
||||
[ActionReplay]
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = Mini games tour bus needs emulate format changes to preview the mini games.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
[Video_Hacks]
|
||||
EFBEmulateFormatChanges = True
|
||||
|
||||
|
||||
|
@ -2,6 +2,17 @@
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = Videos Not seen
|
||||
EmulationIssues = Needs Real Xfb for videos to display.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
[Video_Settings]
|
||||
UseXFB = True
|
||||
UseRealXFB = True
|
||||
|
@ -17,4 +17,7 @@ PH_ZNear = 0.5
|
||||
PH_ZFar = 1
|
||||
[Gecko]
|
||||
[Video_Settings]
|
||||
SafeTextureCache = True
|
||||
SafeTextureCache = True
|
||||
SafeTextureCacheColorSamples = 512
|
||||
[Video_Hacks]
|
||||
DlistCachingEnable = False
|
||||
|
@ -561,7 +561,7 @@ $COLETTE Super Quick Level Up
|
||||
045B6CA8 0098967F
|
||||
$COLETTE Have All Titles
|
||||
05A0DBC7 08000000
|
||||
045B6CB0 FFFFFFFF
|
||||
045B6CB0 08000000
|
||||
$GENIS Full HP
|
||||
05A0DBC9 08000000
|
||||
025B6DBA 0000270F
|
||||
@ -609,7 +609,7 @@ $RAINE Super Quick Level Up
|
||||
045B6ED8 0098967F
|
||||
$RAINE Have All Titles
|
||||
05A0DBD9 08000000
|
||||
045B6EE0 FFFFFFFF
|
||||
045B6EE0 08000000
|
||||
$KRATOS Full HP
|
||||
05A0DBDB 08000000
|
||||
025B744A 0000270F
|
||||
@ -657,7 +657,7 @@ $SHEENA Super Quick Level Up
|
||||
045B6FF0 0098967F
|
||||
$SHEENA Have All Titles
|
||||
05A0DC18 08000000
|
||||
045B6FF8 FFFFFFFF
|
||||
045B6FF8 08000000
|
||||
$ZELOS Full HP
|
||||
05A0DC1A 08000000
|
||||
025B7102 0000270F
|
||||
@ -681,7 +681,7 @@ $ZELOS Super Quick Level Up
|
||||
045B7108 0098967F
|
||||
$ZELOS Have All Titles
|
||||
05A0DC21 08000000
|
||||
045B7110 FFFFFFFF
|
||||
045B7110 08000000
|
||||
$PRESEA Full HP
|
||||
05A0DC23 08000000
|
||||
025B721A 0000270F
|
||||
@ -705,7 +705,7 @@ $PRESEA Super Quick Level Up
|
||||
045B7220 0098967F
|
||||
$PRESEA Have All Titles
|
||||
05A0DC2A 08000000
|
||||
045B7228 FFFFFFFF
|
||||
045B7228 08000000
|
||||
$Equipment Modifier-Lloyd - READ INSTRUCTIONS
|
||||
025B6BC2 0000009B
|
||||
045B6BC4 0122014A
|
||||
@ -789,5 +789,6 @@ PH_ZFar = 1
|
||||
[Video_Settings]
|
||||
SafeTextureCache = True
|
||||
SafeTextureCacheColorSamples = 512
|
||||
[Video_Enhancements]
|
||||
PostProcessingShader =
|
||||
[Video_Hacks]
|
||||
DlistCachingEnable = False
|
||||
|
||||
|
@ -17,4 +17,7 @@ PH_ZNear = 0.5
|
||||
PH_ZFar = 1
|
||||
[Gecko]
|
||||
[Video_Settings]
|
||||
SafeTextureCache = True
|
||||
SafeTextureCache = True
|
||||
SafeTextureCacheColorSamples = 512
|
||||
[Video_Hacks]
|
||||
DlistCachingEnable = False
|
||||
|
@ -17,4 +17,7 @@ PH_ZNear = 0.5
|
||||
PH_ZFar = 1
|
||||
[Gecko]
|
||||
[Video_Settings]
|
||||
SafeTextureCache = True
|
||||
SafeTextureCache = True
|
||||
SafeTextureCacheColorSamples = 512
|
||||
[Video_Hacks]
|
||||
DlistCachingEnable = False
|
||||
|
@ -1,7 +1,8 @@
|
||||
# GRUE78 - Power Rangers Dino Thunder
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationIssues =
|
||||
EmulationIssues = Needs LLE audio for proper sound and Real XFB to display videos.
|
||||
EmulationStateId = 4
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
$(M)
|
||||
@ -16,3 +17,14 @@ $Max Turbo Charges
|
||||
00318047 00000063
|
||||
$Infinite Health
|
||||
04069830 38000004
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
[Video_Settings]
|
||||
UseXFB = True
|
||||
UseRealXFB = True
|
||||
|
18
Data/User/GameConfig/GT3D52.ini
Normal file
18
Data/User/GameConfig/GT3D52.ini
Normal file
@ -0,0 +1,18 @@
|
||||
# GT3D52 - Tony Hawk's Pro Skater 3
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = Neads real xfb for videos to display.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
[Video_Settings]
|
||||
UseXFB = True
|
||||
UseRealXFB = True
|
18
Data/User/GameConfig/GT3E52.ini
Normal file
18
Data/User/GameConfig/GT3E52.ini
Normal file
@ -0,0 +1,18 @@
|
||||
# GT3E52 - Tony Hawk's Pro Skater 3
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = Neads real xfb for videos to display.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
[Video_Settings]
|
||||
UseXFB = True
|
||||
UseRealXFB = True
|
18
Data/User/GameConfig/GT3F52.ini
Normal file
18
Data/User/GameConfig/GT3F52.ini
Normal file
@ -0,0 +1,18 @@
|
||||
# GT3F52 - Tony Hawk's Pro Skater 3
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = Neads real xfb for videos to display.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
[Video_Settings]
|
||||
UseXFB = True
|
||||
UseRealXFB = True
|
18
Data/User/GameConfig/GT3P52.ini
Normal file
18
Data/User/GameConfig/GT3P52.ini
Normal file
@ -0,0 +1,18 @@
|
||||
# GT3P52 - Tony Hawk's Pro Skater 3
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = Neads real xfb for videos to display.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
[Video_Settings]
|
||||
UseXFB = True
|
||||
UseRealXFB = True
|
15
Data/User/GameConfig/GTYE69.ini
Normal file
15
Data/User/GameConfig/GTYE69.ini
Normal file
@ -0,0 +1,15 @@
|
||||
# GTYE69 - TY the Tasmanian Tiger
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues =
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
15
Data/User/GameConfig/GTYP69.ini
Normal file
15
Data/User/GameConfig/GTYP69.ini
Normal file
@ -0,0 +1,15 @@
|
||||
# GTYP69 - TY the Tasmanian Tiger
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues =
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
18
Data/User/GameConfig/GVCE08.ini
Normal file
18
Data/User/GameConfig/GVCE08.ini
Normal file
@ -0,0 +1,18 @@
|
||||
# GVCE08 - Viewtiful Joe Red Hot Rumble
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = Needs real xfb for videos to show up.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
[Video_Settings]
|
||||
UseXFB = True
|
||||
UseRealXFB = True
|
@ -2,8 +2,17 @@
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = Intro (and likely other) video blacked out.
|
||||
EmulationIssues = Needs real xfb for videos to show up.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
[Video_Settings]
|
||||
UseXFB = True
|
||||
UseRealXFB = True
|
||||
|
@ -1,7 +1,7 @@
|
||||
# GVJE08 - VIEWTIFUL JOE
|
||||
[EmuState]
|
||||
EmulationStateId = 0
|
||||
EmulationIssues =
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = Needs real xfb for videos to show up.
|
||||
[OnFrame]
|
||||
[ActionReplay]
|
||||
[Gecko]
|
||||
@ -15,4 +15,3 @@ PH_ZFar =
|
||||
[Video_Settings]
|
||||
UseXFB = True
|
||||
UseRealXFB = True
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
# GVJJ08 - VIEWTIFUL JOE
|
||||
[EmuState]
|
||||
EmulationStateId = 0
|
||||
EmulationIssues =
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = Needs real xfb for videos to show up.
|
||||
[OnFrame]
|
||||
[ActionReplay]
|
||||
[Gecko]
|
||||
|
@ -1,7 +1,7 @@
|
||||
# GVJP08 - VIEWTIFUL JOE
|
||||
[EmuState]
|
||||
EmulationStateId = 0
|
||||
EmulationIssues =
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = Needs real xfb for videos to show up.
|
||||
[OnFrame]
|
||||
[ActionReplay]
|
||||
[Gecko]
|
||||
|
@ -23,4 +23,7 @@ PH_ZFar =
|
||||
[Gecko]
|
||||
[Video_Enhancements]
|
||||
ForceFiltering = False
|
||||
|
||||
[Wii]
|
||||
DisableWiimoteSpeaker = 1
|
||||
[Video_Hacks]
|
||||
DlistCachingEnable = False
|
||||
|
@ -1,8 +1,9 @@
|
||||
# RCJP8P - The Conduit
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
BlockMerging = 1
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationIssues = random crashes
|
||||
EmulationStateId = 2
|
||||
EmulationIssues =
|
||||
EmulationStateId = 4
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
@ -15,4 +16,8 @@ PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
[Video_Enhancements]
|
||||
ForceFiltering = False
|
||||
ForceFiltering = False
|
||||
[Wii]
|
||||
DisableWiimoteSpeaker = 1
|
||||
[Video_Hacks]
|
||||
DlistCachingEnable = False
|
||||
|
@ -21,5 +21,7 @@ SafeTextureCacheColorSamples = 512
|
||||
[Video_Hacks]
|
||||
EFBToTextureEnable = False
|
||||
EFBCopyEnable = True
|
||||
[Video_Enhancements]
|
||||
PostProcessingShader =
|
||||
[Wii]
|
||||
DisableWiimoteSpeaker = 1
|
||||
[Video_Hacks]
|
||||
EFBEmulateFormatChanges = True
|
||||
|
@ -21,5 +21,7 @@ SafeTextureCacheColorSamples = 512
|
||||
[Video_Hacks]
|
||||
EFBToTextureEnable = False
|
||||
EFBCopyEnable = True
|
||||
[Video_Enhancements]
|
||||
PostProcessingShader =
|
||||
[Wii]
|
||||
DisableWiimoteSpeaker = 1
|
||||
[Video_Hacks]
|
||||
EFBEmulateFormatChanges = True
|
||||
|
@ -23,3 +23,7 @@ SafeTextureCacheColorSamples = 512
|
||||
[Video_Hacks]
|
||||
EFBToTextureEnable = False
|
||||
EFBCopyEnable = True
|
||||
[Wii]
|
||||
DisableWiimoteSpeaker = 1
|
||||
[Video_Hacks]
|
||||
EFBEmulateFormatChanges = True
|
||||
|
@ -1,5 +1,6 @@
|
||||
# RWSE8P - MARIO & SONIC At The OlympicGames
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
TLBHack = 1
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = Needs emulating format changes (r6871)
|
||||
@ -15,4 +16,3 @@ PH_ZFar =
|
||||
[Gecko]
|
||||
[Video_Hacks]
|
||||
EFBEmulateFormatChanges = True
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
# RWSJ01 - MARIO & SONIC At The OlympicGames
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
TLBHack = 1
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = Needs emulating format changes (r6871)
|
||||
@ -7,6 +8,11 @@ EmulationIssues = Needs emulating format changes (r6871)
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
[Video_Hacks]
|
||||
EFBEmulateFormatChanges = True
|
||||
EFBEmulateFormatChanges = True
|
||||
|
@ -1,5 +1,6 @@
|
||||
# RWSK01 - MARIO & SONIC At The OlympicGames
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
TLBHack = 1
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = Needs emulating format changes (r6871)
|
||||
@ -7,6 +8,11 @@ EmulationIssues = Needs emulating format changes (r6871)
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
[Video_Hacks]
|
||||
EFBEmulateFormatChanges = True
|
||||
EFBEmulateFormatChanges = True
|
||||
|
@ -1,5 +1,6 @@
|
||||
# RWSP8P - MARIO & SONIC At The OlympicGames
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
TLBHack = 1
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = Needs emulating format changes (r6871)
|
||||
@ -7,6 +8,11 @@ EmulationIssues = Needs emulating format changes (r6871)
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
[Video_Hacks]
|
||||
EFBEmulateFormatChanges = True
|
||||
EFBEmulateFormatChanges = True
|
||||
|
@ -16,4 +16,6 @@ EmulationIssues =
|
||||
[Gecko]
|
||||
[Video_Hacks]
|
||||
DlistCachingEnable = False
|
||||
[Video_Settings]
|
||||
[Video_Settings]
|
||||
[Wii]
|
||||
DisableWiimoteSpeaker = 1
|
||||
|
@ -66,4 +66,5 @@ $Profile Three Name Changer Jedi Hack & [Mitch]
|
||||
[Video_Hacks]
|
||||
DlistCachingEnable = False
|
||||
[Video_Settings]
|
||||
|
||||
[Wii]
|
||||
DisableWiimoteSpeaker = 1
|
||||
|
@ -9,7 +9,7 @@ PH_ExtraParam = 0
|
||||
PH_ZNear = 0. 01
|
||||
PH_ZFar =
|
||||
[EmuState]
|
||||
EmulationStateId = 0
|
||||
EmulationStateId = 4
|
||||
EmulationIssues =
|
||||
[OnFrame]
|
||||
[ActionReplay]
|
||||
|
@ -9,7 +9,7 @@ PH_ExtraParam = 0
|
||||
PH_ZNear = 0. 01
|
||||
PH_ZFar =
|
||||
[EmuState]
|
||||
EmulationStateId = 0
|
||||
EmulationStateId = 4
|
||||
EmulationIssues =
|
||||
[OnFrame]
|
||||
[ActionReplay]
|
||||
|
@ -9,7 +9,7 @@ PH_ExtraParam = 0
|
||||
PH_ZNear = 0. 01
|
||||
PH_ZFar =
|
||||
[EmuState]
|
||||
EmulationStateId = 0
|
||||
EmulationStateId = 4
|
||||
EmulationIssues =
|
||||
[OnFrame]
|
||||
[ActionReplay]
|
||||
|
@ -9,7 +9,7 @@ PH_ExtraParam = 0
|
||||
PH_ZNear = 0. 01
|
||||
PH_ZFar =
|
||||
[EmuState]
|
||||
EmulationStateId = 0
|
||||
EmulationStateId = 4
|
||||
EmulationIssues =
|
||||
[OnFrame]
|
||||
[ActionReplay]
|
||||
|
@ -9,7 +9,7 @@ PH_ExtraParam = 0
|
||||
PH_ZNear = 0. 01
|
||||
PH_ZFar =
|
||||
[EmuState]
|
||||
EmulationStateId = 0
|
||||
EmulationStateId = 4
|
||||
EmulationIssues =
|
||||
[OnFrame]
|
||||
[ActionReplay]
|
||||
|
@ -1,4 +1,4 @@
|
||||
# SC7E52 - Call of Duty: Black Ops
|
||||
# SC7S52 - Call of Duty: Black Ops
|
||||
[Video_Enhancements]
|
||||
MaxAnisotropy = 0
|
||||
[Video]
|
||||
@ -9,7 +9,7 @@ PH_ExtraParam = 0
|
||||
PH_ZNear = 0. 01
|
||||
PH_ZFar =
|
||||
[EmuState]
|
||||
EmulationStateId = 0
|
||||
EmulationStateId = 4
|
||||
EmulationIssues =
|
||||
[OnFrame]
|
||||
[ActionReplay]
|
||||
|
21
Data/User/GameConfig/SD2J01.ini
Normal file
21
Data/User/GameConfig/SD2J01.ini
Normal file
@ -0,0 +1,21 @@
|
||||
# SD2J01 - Just Dance 2
|
||||
[Video_Settings]
|
||||
SafeTextureCache = True
|
||||
SafeTextureCacheColorSamples = 512
|
||||
[Video_Enhancements]
|
||||
MaxAnisotropy = 0
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[EmuState]
|
||||
EmulationStateId = 4
|
||||
EmulationIssues =
|
||||
[OnFrame]
|
||||
[ActionReplay]
|
||||
[Gecko]
|
||||
[Wii]
|
||||
DisableWiimoteSpeaker = 1
|
20
Data/User/GameConfig/SH6E52.ini
Normal file
20
Data/User/GameConfig/SH6E52.ini
Normal file
@ -0,0 +1,20 @@
|
||||
# SH6E52 - Cabela's Big Game Hunter 2012
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
TLBHack = 1
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues = MMU hack is needed or the game crashes during loading. EFB to RAM prevents glitches.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
[Video_Hacks]
|
||||
EFBToTextureEnable = False
|
||||
EFBCopyEnable = True
|
||||
EFBCopyCacheEnable = True
|
20
Data/User/GameConfig/SPDE52.ini
Normal file
20
Data/User/GameConfig/SPDE52.ini
Normal file
@ -0,0 +1,20 @@
|
||||
# SPDE52 - Spider-Man™: SD
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 3
|
||||
EmulationIssues = Needs LLE audio for sound ingame. Graphic glitches.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 1
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar = 0.7
|
||||
[Gecko]
|
||||
[Video_Hacks]
|
||||
EFBToTextureEnable = False
|
||||
EFBCopyEnable = True
|
||||
[Video_Enhancements]
|
||||
MaxAnisotropy = 0
|
20
Data/User/GameConfig/SPDP52.ini
Normal file
20
Data/User/GameConfig/SPDP52.ini
Normal file
@ -0,0 +1,20 @@
|
||||
# SPDP52 - Spider-Man™: SD
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 3
|
||||
EmulationIssues = Needs LLE audio for sound ingame. Graphic glitches.
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 1
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar = 0.7
|
||||
[Gecko]
|
||||
[Video_Hacks]
|
||||
EFBToTextureEnable = False
|
||||
EFBCopyEnable = True
|
||||
[Video_Enhancements]
|
||||
MaxAnisotropy = 0
|
19
Data/User/GameConfig/SRQE41.ini
Normal file
19
Data/User/GameConfig/SRQE41.ini
Normal file
@ -0,0 +1,19 @@
|
||||
# SRQE41 - Racquet Sports
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues =
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
[Wii]
|
||||
DisableWiimoteSpeaker = 1
|
||||
[Video_Hacks]
|
||||
DlistCachingEnable = False
|
19
Data/User/GameConfig/SRQP41.ini
Normal file
19
Data/User/GameConfig/SRQP41.ini
Normal file
@ -0,0 +1,19 @@
|
||||
# SRQP41 - Racquet Sports
|
||||
[Core] Values set here will override the main dolphin settings.
|
||||
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||
EmulationStateId = 4
|
||||
EmulationIssues =
|
||||
[OnFrame] Add memory patches to be applied every frame here.
|
||||
[ActionReplay] Add action replay cheats here.
|
||||
[Video]
|
||||
ProjectionHack = 0
|
||||
PH_SZNear = 0
|
||||
PH_SZFar = 0
|
||||
PH_ExtraParam = 0
|
||||
PH_ZNear =
|
||||
PH_ZFar =
|
||||
[Gecko]
|
||||
[Wii]
|
||||
DisableWiimoteSpeaker = 1
|
||||
[Video_Hacks]
|
||||
DlistCachingEnable = False
|
@ -101,6 +101,7 @@ set(SRCS Src/ActionReplay.cpp
|
||||
Src/HW/EXI_DeviceIPL.cpp
|
||||
Src/HW/EXI_DeviceMemoryCard.cpp
|
||||
Src/HW/EXI_DeviceMic.cpp
|
||||
Src/HW/GCMemcard.cpp
|
||||
Src/HW/GCPad.cpp
|
||||
Src/HW/GCPadEmu.cpp
|
||||
Src/HW/GPFifo.cpp
|
||||
|
@ -287,6 +287,7 @@
|
||||
<ClCompile Include="Src\HW\EXI_DeviceIPL.cpp" />
|
||||
<ClCompile Include="Src\HW\EXI_DeviceMemoryCard.cpp" />
|
||||
<ClCompile Include="Src\HW\EXI_DeviceMic.cpp" />
|
||||
<ClCompile Include="Src\HW\GCMemcard.cpp" />
|
||||
<ClCompile Include="Src\HW\GCPad.cpp" />
|
||||
<ClCompile Include="Src\HW\GCPadEmu.cpp" />
|
||||
<ClCompile Include="Src\HW\GPFifo.cpp" />
|
||||
@ -483,6 +484,7 @@
|
||||
<ClInclude Include="Src\HW\EXI_DeviceIPL.h" />
|
||||
<ClInclude Include="Src\HW\EXI_DeviceMemoryCard.h" />
|
||||
<ClInclude Include="Src\HW\EXI_DeviceMic.h" />
|
||||
<ClInclude Include="Src\HW\GCMemcard.h" />
|
||||
<ClInclude Include="Src\HW\GCPad.h" />
|
||||
<ClInclude Include="Src\HW\GCPadEmu.h" />
|
||||
<ClInclude Include="Src\HW\GPFifo.h" />
|
||||
|
@ -553,6 +553,9 @@
|
||||
<Filter>FifoPlayer</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Src\Movie.cpp" />
|
||||
<ClCompile Include="Src\HW\GCMemcard.cpp">
|
||||
<Filter>HW %28Flipper/Hollywood%29\GCMemcard</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="Src\ConfigManager.h" />
|
||||
@ -1027,6 +1030,9 @@
|
||||
<Filter>FifoPlayer</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Src\Movie.h" />
|
||||
<ClInclude Include="Src\HW\GCMemcard.h">
|
||||
<Filter>HW %28Flipper/Hollywood%29\GCMemcard</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="CMakeLists.txt" />
|
||||
@ -1165,5 +1171,8 @@
|
||||
<Filter Include="FifoPlayer">
|
||||
<UniqueIdentifier>{ca7d56f7-4e84-4d15-9aea-7ae6fa7d6586}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HW %28Flipper/Hollywood%29\GCMemcard">
|
||||
<UniqueIdentifier>{3e9e6e83-c1bf-45f9-aeff-231f98f60d29}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -97,6 +97,7 @@ files = [
|
||||
'Src/HW/EXI_DeviceIPL.cpp',
|
||||
'Src/HW/EXI_DeviceMemoryCard.cpp',
|
||||
'Src/HW/EXI_DeviceMic.cpp',
|
||||
'Src/HW/GCMemcard.cpp',
|
||||
'Src/HW/GCPad.cpp',
|
||||
'Src/HW/GCPadEmu.cpp',
|
||||
'Src/HW/GPFifo.cpp',
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include "EXI_Device.h"
|
||||
#include "EXI_DeviceMemoryCard.h"
|
||||
#include "Sram.h"
|
||||
#include "GCMemcard.h"
|
||||
|
||||
#define MC_STATUS_BUSY 0x80
|
||||
#define MC_STATUS_UNLOCKED 0x40
|
||||
@ -34,6 +35,7 @@
|
||||
#define MC_STATUS_PROGRAMEERROR 0x08
|
||||
#define MC_STATUS_READY 0x01
|
||||
#define SIZE_TO_Mb (1024 * 8 * 16)
|
||||
#define MC_HDR_SIZE 0xA000
|
||||
|
||||
static CEXIMemoryCard *cards[2];
|
||||
|
||||
@ -84,7 +86,6 @@ CEXIMemoryCard::CEXIMemoryCard(const int index)
|
||||
|
||||
INFO_LOG(EXPANSIONINTERFACE, "Reading memory card %s", m_strFilename.c_str());
|
||||
pFile.ReadBytes(memory_card_content, memory_card_size);
|
||||
SetCardFlashID(memory_card_content, card_index);
|
||||
|
||||
}
|
||||
else
|
||||
@ -94,11 +95,11 @@ CEXIMemoryCard::CEXIMemoryCard(const int index)
|
||||
memory_card_size = nintendo_card_id * SIZE_TO_Mb;
|
||||
|
||||
memory_card_content = new u8[memory_card_size];
|
||||
memset(memory_card_content, 0xFF, memory_card_size);
|
||||
|
||||
GCMemcard::Format(memory_card_content, m_strFilename.find(".JAP.raw") != std::string::npos, nintendo_card_id);
|
||||
memset(memory_card_content+MC_HDR_SIZE, 0xFF, memory_card_size-MC_HDR_SIZE);
|
||||
WARN_LOG(EXPANSIONINTERFACE, "No memory card found. Will create new.");
|
||||
Flush();
|
||||
}
|
||||
SetCardFlashID(memory_card_content, card_index);
|
||||
}
|
||||
|
||||
void innerFlush(FlushData* data)
|
||||
|
@ -61,7 +61,10 @@ void decodeCI8image(u32* dst, u8* src, u16* pal, int width, int height)
|
||||
}
|
||||
}
|
||||
|
||||
GCMemcard::GCMemcard(const char *filename, bool forceCreation, bool sjis) : m_valid(false), m_fileName(filename)
|
||||
GCMemcard::GCMemcard(const char *filename, bool forceCreation, bool sjis)
|
||||
: m_valid(false)
|
||||
, m_fileName(filename)
|
||||
, mc_data(NULL)
|
||||
{
|
||||
File::IOFile mcdFile(m_fileName, "r+b");
|
||||
if (!mcdFile.IsOpen())
|
||||
@ -71,10 +74,7 @@ GCMemcard::GCMemcard(const char *filename, bool forceCreation, bool sjis) : m_va
|
||||
return;
|
||||
}
|
||||
Format(forceCreation ? sjis : !AskYesNoT("Format as ascii (NTSC\\PAL)?\nChoose no for sjis (NTSC-J)"));
|
||||
if (!mcdFile.Open(m_fileName, "r+b"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -227,7 +227,7 @@ GCMemcard::GCMemcard(const char *filename, bool forceCreation, bool sjis) : m_va
|
||||
|
||||
bool GCMemcard::IsAsciiEncoding()
|
||||
{
|
||||
return hdr.Encoding[1] == 0;
|
||||
return hdr.Encoding == 0;
|
||||
}
|
||||
|
||||
bool GCMemcard::Save()
|
||||
@ -245,51 +245,49 @@ bool GCMemcard::Save()
|
||||
return mcdFile.Close();
|
||||
}
|
||||
|
||||
void GCMemcard::calc_checksumsBE(u16 *buf, u32 num, u16 *c1, u16 *c2)
|
||||
void GCMemcard::calc_checksumsBE(u16 *buf, u32 length, u16 *csum, u16 *inv_csum)
|
||||
{
|
||||
*c1 = 0;*c2 = 0;
|
||||
for (u32 i = 0; i < num; ++i)
|
||||
*csum = *inv_csum = 0;
|
||||
|
||||
for (u32 i = 0; i < length; ++i)
|
||||
{
|
||||
//weird warnings here
|
||||
*c1 += Common::swap16(buf[i]);
|
||||
*c2 += Common::swap16((u16)(buf[i] ^ 0xffff));
|
||||
*csum += BE16(buf[i]);
|
||||
*inv_csum += BE16((u16)(buf[i] ^ 0xffff));
|
||||
}
|
||||
if (*c1 == 0xffff)
|
||||
*csum = BE16(*csum);
|
||||
*inv_csum = BE16(*inv_csum);
|
||||
if (*csum == 0xffff)
|
||||
{
|
||||
*c1 = 0;
|
||||
*csum = 0;
|
||||
}
|
||||
if (*c2 == 0xffff)
|
||||
if (*inv_csum == 0xffff)
|
||||
{
|
||||
*c2 = 0;
|
||||
*inv_csum = 0;
|
||||
}
|
||||
}
|
||||
|
||||
u32 GCMemcard::TestChecksums()
|
||||
{
|
||||
u16 csum1=0,
|
||||
csum2=0;
|
||||
u16 csum=0,
|
||||
csum_inv=0;
|
||||
|
||||
u32 results = 0;
|
||||
|
||||
calc_checksumsBE((u16*)&hdr, 0xFE , &csum1, &csum2);
|
||||
if (BE16(hdr.CheckSum1) != csum1) results |= 1;
|
||||
if (BE16(hdr.CheckSum2) != csum2) results |= 1;
|
||||
calc_checksumsBE((u16*)&hdr, 0xFE , &csum, &csum_inv);
|
||||
if ((hdr.Checksum != csum) || (hdr.Checksum_Inv != csum_inv)) results |= 1;
|
||||
|
||||
calc_checksumsBE((u16*)&dir, 0xFFE, &csum1, &csum2);
|
||||
if (BE16(dir.CheckSum1) != csum1) results |= 2;
|
||||
if (BE16(dir.CheckSum2) != csum2) results |= 2;
|
||||
calc_checksumsBE((u16*)&dir, 0xFFE, &csum, &csum_inv);
|
||||
if ((dir.Checksum != csum) || (dir.Checksum_Inv != csum_inv)) results |= 2;
|
||||
|
||||
calc_checksumsBE((u16*)&dir_backup, 0xFFE, &csum1, &csum2);
|
||||
if (BE16(dir_backup.CheckSum1) != csum1) results |= 4;
|
||||
if (BE16(dir_backup.CheckSum2) != csum2) results |= 4;
|
||||
calc_checksumsBE((u16*)&dir_backup, 0xFFE, &csum, &csum_inv);
|
||||
if ((dir_backup.Checksum != csum) || (dir_backup.Checksum_Inv != csum_inv)) results |= 4;
|
||||
|
||||
calc_checksumsBE((u16*)(((u8*)&bat)+4), 0xFFE, &csum1, &csum2);
|
||||
if (BE16(bat.CheckSum1) != csum1) results |= 8;
|
||||
if (BE16(bat.CheckSum2) != csum2) results |= 8;
|
||||
calc_checksumsBE((u16*)(((u8*)&bat)+4), 0xFFE, &csum, &csum_inv);
|
||||
if ((bat.Checksum != csum) || (bat.Checksum_Inv != csum_inv)) results |= 8;
|
||||
|
||||
calc_checksumsBE((u16*)(((u8*)&bat_backup)+4), 0xFFE, &csum1, &csum2);
|
||||
if (BE16(bat_backup.CheckSum1) != csum1) results |= 16;
|
||||
if (BE16(bat_backup.CheckSum2) != csum2) results |= 16;
|
||||
calc_checksumsBE((u16*)(((u8*)&bat_backup)+4), 0xFFE, &csum, &csum_inv);
|
||||
if ((bat_backup.Checksum != csum) || (bat_backup.Checksum_Inv != csum_inv)) results |= 16;
|
||||
|
||||
return results;
|
||||
}
|
||||
@ -298,39 +296,12 @@ bool GCMemcard::FixChecksums()
|
||||
{
|
||||
if (!m_valid)
|
||||
return false;
|
||||
|
||||
u16 csum1=0,
|
||||
csum2=0;
|
||||
|
||||
calc_checksumsBE((u16*)&hdr, 0xFE, &csum1, &csum2);
|
||||
hdr.CheckSum1[0] = u8(csum1 >> 8);
|
||||
hdr.CheckSum1[1] = u8(csum1);
|
||||
hdr.CheckSum2[0] = u8(csum2 >> 8);
|
||||
hdr.CheckSum2[1] = u8(csum2);
|
||||
|
||||
calc_checksumsBE((u16*)&dir, 0xFFE, &csum1, &csum2);
|
||||
dir.CheckSum1[0] = u8(csum1 >> 8);
|
||||
dir.CheckSum1[1] = u8(csum1);
|
||||
dir.CheckSum2[0] = u8(csum2 >> 8);
|
||||
dir.CheckSum2[1] = u8(csum2);
|
||||
|
||||
calc_checksumsBE((u16*)&dir_backup, 0xFFE, &csum1, &csum2);
|
||||
dir_backup.CheckSum1[0] = u8(csum1 >> 8);
|
||||
dir_backup.CheckSum1[1] = u8(csum1);
|
||||
dir_backup.CheckSum2[0] = u8(csum2 >> 8);
|
||||
dir_backup.CheckSum2[1] = u8(csum2);
|
||||
|
||||
calc_checksumsBE((u16*)(((u8*)&bat)+4), 0xFFE, &csum1, &csum2);
|
||||
bat.CheckSum1[0] = u8(csum1 >> 8);
|
||||
bat.CheckSum1[1] = u8(csum1);
|
||||
bat.CheckSum2[0] = u8(csum2 >> 8);
|
||||
bat.CheckSum2[1] = u8(csum2);
|
||||
|
||||
calc_checksumsBE((u16*)(((u8*)&bat_backup)+4), 0xFFE, &csum1, &csum2);
|
||||
bat_backup.CheckSum1[0] = u8(csum1 >> 8);
|
||||
bat_backup.CheckSum1[1] = u8(csum1);
|
||||
bat_backup.CheckSum2[0] = u8(csum2 >> 8);
|
||||
bat_backup.CheckSum2[1] = u8(csum2);
|
||||
|
||||
calc_checksumsBE((u16*)&hdr, 0xFE, &hdr.Checksum, &hdr.Checksum_Inv);
|
||||
calc_checksumsBE((u16*)&dir, 0xFFE, &dir.Checksum, &dir.Checksum_Inv);
|
||||
calc_checksumsBE((u16*)&dir_backup, 0xFFE, &dir_backup.Checksum, &dir_backup.Checksum_Inv);
|
||||
calc_checksumsBE((u16*)&bat+2, 0xFFE, &bat.Checksum, &bat.Checksum_Inv);
|
||||
calc_checksumsBE((u16*)&bat_backup+2, 0xFFE, &bat_backup.Checksum, &bat_backup.Checksum_Inv);
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -620,8 +591,7 @@ u32 GCMemcard::ImportFile(DEntry& direntry, u8* contents, int remove)
|
||||
{
|
||||
index = i;
|
||||
dir.Dir[i] = direntry;
|
||||
dir.Dir[i].FirstBlock[0] = u8(firstFree1 >> 8);
|
||||
dir.Dir[i].FirstBlock[1] = u8(firstFree1);
|
||||
*(u16*)&dir.Dir[i].FirstBlock = BE16(firstFree1);
|
||||
if (!remove)
|
||||
{
|
||||
dir.Dir[i].CopyCounter = dir.Dir[i].CopyCounter+1;
|
||||
@ -642,7 +612,7 @@ u32 GCMemcard::ImportFile(DEntry& direntry, u8* contents, int remove)
|
||||
int j = 2;
|
||||
while(j < BE16(direntry.BlockCount) + 1)
|
||||
{
|
||||
bat_backup.Map[i] = Common::swap16(last + (u16)j);
|
||||
bat_backup.Map[i] = BE16(last + (u16)j);
|
||||
i++;
|
||||
j++;
|
||||
}
|
||||
@ -654,25 +624,16 @@ u32 GCMemcard::ImportFile(DEntry& direntry, u8* contents, int remove)
|
||||
}
|
||||
|
||||
//update last allocated block
|
||||
int lastallocated = BE16(bat_backup.LastAllocated) + j - 1;
|
||||
bat_backup.LastAllocated[0] = u8(lastallocated >> 8);
|
||||
bat_backup.LastAllocated[1] = u8(lastallocated);
|
||||
|
||||
*(u16*)&bat_backup.LastAllocated = BE16(BE16(bat_backup.LastAllocated) + j - 1);
|
||||
//update freespace counter
|
||||
int freespace1 = totalspace - firstFree1 - fileBlocks + MC_FST_BLOCKS;
|
||||
bat_backup.FreeBlocks[0] = u8(freespace1 >> 8);
|
||||
bat_backup.FreeBlocks[1] = u8(freespace1);
|
||||
*(u16*)&bat_backup.FreeBlocks = BE16(totalspace - firstFree1 - fileBlocks + MC_FST_BLOCKS);
|
||||
|
||||
|
||||
if (!remove)
|
||||
{ // ... and dir update counter
|
||||
int updateCtr = BE16(dir_backup.UpdateCounter) + 1;
|
||||
dir_backup.UpdateCounter[0] = u8(updateCtr >> 8);
|
||||
dir_backup.UpdateCounter[1] = u8(updateCtr);
|
||||
*(u16*)&dir_backup.UpdateCounter = BE16(BE16(dir_backup.UpdateCounter) + 1);
|
||||
// ... and bat update counter
|
||||
updateCtr = BE16(bat_backup.UpdateCounter) + 1;
|
||||
bat_backup.UpdateCounter[0] = u8(updateCtr >> 8);
|
||||
bat_backup.UpdateCounter[1] = u8(updateCtr);
|
||||
*(u16*)&bat_backup.UpdateCounter = BE16(BE16(bat_backup.UpdateCounter) + 1);
|
||||
}
|
||||
bat = bat_backup;
|
||||
return SUCCESS;
|
||||
@ -698,9 +659,7 @@ u32 GCMemcard::RemoveFile(u8 index) //index in the directory array
|
||||
|
||||
//free the blocks
|
||||
int blocks_left = BE16(dir.Dir[index].BlockCount);
|
||||
int block = BE16(dir.Dir[index].FirstBlock) - 1;
|
||||
bat.LastAllocated[0] = (u8)(block >> 8);
|
||||
bat.LastAllocated[1] = (u8)block;
|
||||
*(u16*)&bat.LastAllocated = BE16(BE16(dir.Dir[index].FirstBlock) - 1);
|
||||
|
||||
u8 nextIndex = index + 1;
|
||||
memset(&(dir.Dir[index]), 0xFF, DENTRY_SIZE);
|
||||
@ -713,9 +672,7 @@ u32 GCMemcard::RemoveFile(u8 index) //index in the directory array
|
||||
//Only get file data if it is a valid dir entry
|
||||
if (BE16(tempDEntry->FirstBlock) != 0xFFFF)
|
||||
{
|
||||
u16 freeBlock= BE16(bat.FreeBlocks) - BE16(tempDEntry->BlockCount);
|
||||
bat.FreeBlocks[0] = u8(freeBlock >> 8);
|
||||
bat.FreeBlocks[1] = u8(freeBlock);
|
||||
*(u16*)&bat.FreeBlocks = BE16(BE16(bat.FreeBlocks) - BE16(tempDEntry->BlockCount));
|
||||
|
||||
u16 size = DEntry_BlockCount(nextIndex);
|
||||
if (size != 0xFFFF)
|
||||
@ -754,9 +711,7 @@ u32 GCMemcard::RemoveFile(u8 index) //index in the directory array
|
||||
}
|
||||
}
|
||||
// increment update counter
|
||||
int updateCtr = BE16(dir.UpdateCounter) + 1;
|
||||
dir.UpdateCounter[0] = u8(updateCtr >> 8);
|
||||
dir.UpdateCounter[1] = u8(updateCtr);
|
||||
*(u16*)&dir.UpdateCounter = BE16(BE16(dir.UpdateCounter) + 1);
|
||||
|
||||
return SUCCESS;
|
||||
}
|
||||
@ -989,9 +944,7 @@ void GCMemcard::Gcs_SavConvert(DEntry* tempDEntry, int saveType, int length)
|
||||
// It is stored only within the corresponding GSV file.
|
||||
// If the GCS file is added without using the GameSaves software,
|
||||
// the value stored is always "1"
|
||||
int blockCount = length / BLOCK_SIZE;
|
||||
tempDEntry->BlockCount[0] = u8(blockCount >> 8);
|
||||
tempDEntry->BlockCount[1] = u8(blockCount);
|
||||
*(u16*)&tempDEntry->BlockCount = BE16(length / BLOCK_SIZE);
|
||||
}
|
||||
break;
|
||||
case SAV:
|
||||
@ -1157,70 +1110,97 @@ u32 GCMemcard::ReadAnimRGBA8(u8 index, u32* buffer, u8 *delays)
|
||||
return frames;
|
||||
}
|
||||
|
||||
bool GCMemcard::Format(bool sjis, bool New, int slot, u16 SizeMb, bool hdrOnly)
|
||||
|
||||
bool GCMemcard::Format(u8 * card_data, bool sjis, u16 SizeMb)
|
||||
{
|
||||
// Currently only formats cards for slot A
|
||||
const u32 data_size = BLOCK_SIZE * (SizeMb * MBIT_TO_BLOCKS - MC_FST_BLOCKS);
|
||||
if (!card_data)
|
||||
return false;
|
||||
memset(card_data, 0xFF, BLOCK_SIZE*3);
|
||||
memset(card_data + BLOCK_SIZE*3, 0, BLOCK_SIZE*2);
|
||||
|
||||
SRAM m_SRAM;
|
||||
GCMC_Header gcp;
|
||||
gcp.hdr = (Header*)card_data;
|
||||
gcp.dir = (Directory *)(card_data + BLOCK_SIZE);
|
||||
gcp.dir_backup = (Directory *)(card_data + BLOCK_SIZE*2);
|
||||
gcp.bat = (BlockAlloc *)(card_data + BLOCK_SIZE*3);
|
||||
gcp.bat_backup = (BlockAlloc *)(card_data + BLOCK_SIZE*4);
|
||||
|
||||
if (New)
|
||||
{
|
||||
mc_data_size = data_size;
|
||||
mc_data = new u8[mc_data_size];
|
||||
}
|
||||
// Only Format 16MB memcards for now
|
||||
if ((SizeMb != MemCard2043Mb) || (data_size != mc_data_size)) return false;
|
||||
*(u16*)gcp.hdr->SizeMb = BE16(SizeMb);
|
||||
*(u16*)gcp.hdr->Encoding = BE16(sjis ? 1 : 0);
|
||||
|
||||
File::IOFile pStream(File::GetUserPath(F_GCSRAM_IDX), "rb");
|
||||
if (pStream)
|
||||
{
|
||||
pStream.ReadBytes(&m_SRAM, 64);
|
||||
pStream.Close();
|
||||
}
|
||||
else
|
||||
{
|
||||
m_SRAM = sram_dump;
|
||||
}
|
||||
|
||||
const u64 time = CEXIIPL::GetGCTime();
|
||||
u64 rand = Common::swap64(time);
|
||||
FormatInternal(gcp);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool GCMemcard::Format(bool sjis, u16 SizeMb)
|
||||
{
|
||||
memset(&hdr, 0xFF, BLOCK_SIZE);
|
||||
memset(&dir, 0xFF, BLOCK_SIZE);
|
||||
memset(&dir_backup, 0xFF, BLOCK_SIZE);
|
||||
memset(&bat, 0, BLOCK_SIZE);
|
||||
memset(&bat_backup, 0, BLOCK_SIZE);
|
||||
|
||||
GCMC_Header gcp;
|
||||
gcp.hdr = &hdr;
|
||||
gcp.dir = &dir;
|
||||
gcp.dir_backup = &dir_backup;
|
||||
gcp.bat = &bat;
|
||||
gcp.bat_backup = &bat_backup;
|
||||
|
||||
*(u16*)hdr.SizeMb = BE16(SizeMb);
|
||||
*(u16*)hdr.Encoding = BE16(sjis ? 1 : 0);
|
||||
FormatInternal(gcp);
|
||||
|
||||
m_sizeMb = SizeMb;
|
||||
maxBlock = (u32)m_sizeMb * MBIT_TO_BLOCKS;
|
||||
if (mc_data)
|
||||
{
|
||||
delete mc_data;
|
||||
mc_data = NULL;
|
||||
}
|
||||
mc_data_size = BLOCK_SIZE * (m_sizeMb * MBIT_TO_BLOCKS - MC_FST_BLOCKS);
|
||||
mc_data = new u8[mc_data_size];
|
||||
if (!mc_data)
|
||||
return false;
|
||||
|
||||
memset(mc_data, 0xFF, mc_data_size);
|
||||
m_valid = true;
|
||||
|
||||
return Save();
|
||||
}
|
||||
|
||||
void GCMemcard::FormatInternal(GCMC_Header &GCP)
|
||||
{
|
||||
Header *p_hdr = GCP.hdr;
|
||||
u64 rand = CEXIIPL::GetGCTime();
|
||||
p_hdr->formatTime = Common::swap64(rand);
|
||||
|
||||
for(int i = 0; i < 12; i++)
|
||||
{
|
||||
rand = (((rand * (u64)0x0000000041c64e6dULL) + (u64)0x0000000000003039ULL) >> 16);
|
||||
hdr.serial[i] = (u8)(m_SRAM.flash_id[slot][i] + (u32)rand);
|
||||
p_hdr->serial[i] = (u8)(g_SRAM.flash_id[0][i] + (u32)rand);
|
||||
rand = (((rand * (u64)0x0000000041c64e6dULL) + (u64)0x0000000000003039ULL) >> 16);
|
||||
rand &= (u64)0x0000000000007fffULL;
|
||||
}
|
||||
*(u32*)&p_hdr->SramBias = g_SRAM.counter_bias;
|
||||
*(u32*)&p_hdr->SramLang = g_SRAM.lang;
|
||||
// TODO: determine the purpose of Unk2 1 works for slot A, 0 works for both slot A and slot B
|
||||
*(u32*)&p_hdr->Unk2 = 0; // = _viReg[55]; static vu16* const _viReg = (u16*)0xCC002000;
|
||||
*(u16*)&p_hdr->deviceID = 0;
|
||||
calc_checksumsBE((u16*)p_hdr, 0xFE, &p_hdr->Checksum, &p_hdr->Checksum_Inv);
|
||||
|
||||
hdr.fmtTime.high = (time >> 32) & 0xFFFFFFFF;
|
||||
hdr.fmtTime.low = time & 0xFFFFFFFF;
|
||||
*(u32*)&(hdr.SramBias) = m_SRAM.counter_bias;
|
||||
*(u32*)&(hdr.SramLang) = m_SRAM.lang;
|
||||
*(u32*)&(hdr.Unk2) = Common::swap32(1); // = _viReg[55]; static vu16* const _viReg = (u16*)0xCC002000;
|
||||
// TODO: find out why memcard cares if component cable used for now set to one like main app
|
||||
*(u16*)&(hdr.deviceID) = 0;
|
||||
*(u16*)&(hdr.SizeMb) = Common::swap16(SizeMb);
|
||||
*(u16*)&(hdr.Encoding) = Common::swap16(sjis ? 1 : 0);
|
||||
|
||||
if (!hdrOnly)
|
||||
{
|
||||
memset(&dir, 0xFF, BLOCK_SIZE);
|
||||
memset(&dir_backup, 0xFF, BLOCK_SIZE);
|
||||
*(u16*)&dir.UpdateCounter = 0;
|
||||
*(u16*)&dir_backup.UpdateCounter = Common::swap16(1);
|
||||
memset(&bat, 0, BLOCK_SIZE);
|
||||
memset(&bat_backup, 0, BLOCK_SIZE);
|
||||
*(u16*)&bat.UpdateCounter = 0;
|
||||
*(u16*)&bat_backup.UpdateCounter = Common::swap16(1);
|
||||
*(u16*)&bat.FreeBlocks = *(u16*)&bat_backup.FreeBlocks = Common::swap16(SizeMb * MBIT_TO_BLOCKS - MC_FST_BLOCKS);
|
||||
*(u16*)&bat.LastAllocated = *(u16*)&bat_backup.LastAllocated = Common::swap16(4);
|
||||
memset(mc_data, 0xFF, mc_data_size);
|
||||
}
|
||||
Directory *p_dir = GCP.dir,
|
||||
*p_dir_backup = GCP.dir_backup;
|
||||
*(u16*)&p_dir->UpdateCounter = 0;
|
||||
*(u16*)&p_dir_backup->UpdateCounter = BE16(1);
|
||||
calc_checksumsBE((u16*)p_dir, 0xFFE, &p_dir->Checksum, &p_dir->Checksum_Inv);
|
||||
calc_checksumsBE((u16*)p_dir_backup, 0xFFE, &p_dir_backup->Checksum, &p_dir_backup->Checksum_Inv);
|
||||
|
||||
FixChecksums();
|
||||
Save();
|
||||
return true;
|
||||
BlockAlloc *p_bat = GCP.bat,
|
||||
*p_bat_backup = GCP.bat_backup;
|
||||
*(u16*)&p_bat_backup->UpdateCounter = BE16(1);
|
||||
*(u16*)&p_bat->FreeBlocks = *(u16*)&p_bat_backup->FreeBlocks = BE16(( BE16(p_hdr->SizeMb) * MBIT_TO_BLOCKS) - MC_FST_BLOCKS);
|
||||
*(u16*)&p_bat->LastAllocated = *(u16*)&p_bat_backup->LastAllocated = BE16(4);
|
||||
calc_checksumsBE((u16*)p_bat+2, 0xFFE, &p_bat->Checksum, &p_bat->Checksum_Inv);
|
||||
calc_checksumsBE((u16*)p_bat_backup+2, 0xFFE, &p_bat_backup->Checksum, &p_bat_backup->Checksum_Inv);
|
||||
}
|
@ -19,12 +19,12 @@
|
||||
#define __GCMEMCARD_h__
|
||||
|
||||
#include "Common.h"
|
||||
#include "../../../Core/Src/HW/Sram.h"
|
||||
#include "Sram.h"
|
||||
#include "StringUtil.h"
|
||||
#include "../../../Core/Src/HW/EXI_DeviceIPL.h"
|
||||
#include "EXI_DeviceIPL.h"
|
||||
|
||||
#define BE32(x) ((u32((x)[0])<<24) | (u32((x)[1])<<16) | (u32((x)[2])<<8) | u32((x)[3]))
|
||||
#define BE16(x) ((u16((x)[0])<<8) | u16((x)[1]))
|
||||
#define BE32(x) (Common::swap32(x))
|
||||
#define BE16(x) (Common::swap16(x))
|
||||
#define ArrayByteSwap(a) (ByteSwap(a, a+sizeof(u8)));
|
||||
|
||||
enum
|
||||
@ -67,7 +67,7 @@ enum
|
||||
CI8,
|
||||
};
|
||||
|
||||
class GCMemcard
|
||||
class GCMemcard : NonCopyable
|
||||
{
|
||||
private:
|
||||
friend class CMemcardManagerDebug;
|
||||
@ -81,15 +81,10 @@ private:
|
||||
u16 m_sizeMb;
|
||||
|
||||
#pragma pack(push,1)
|
||||
struct OSTime {
|
||||
u32 low;
|
||||
u32 high;
|
||||
};
|
||||
|
||||
struct Header { //Offset Size Description
|
||||
// Serial in libogc
|
||||
u8 serial[12]; //0x0000 12 ?
|
||||
OSTime fmtTime; //0x000c 8 time of format (OSTime value)
|
||||
u64 formatTime; //0x000c 8 time of format (OSTime value)
|
||||
u8 SramBias[4]; //0x0014 4 sram bias at time of format
|
||||
u8 SramLang[4]; //0x0018 4 sram language
|
||||
u8 Unk2[4]; //0x001c 4 ? almost always 0
|
||||
@ -99,8 +94,8 @@ private:
|
||||
u8 Encoding[2]; //0x0024 2 encoding (ASCII or japanese)
|
||||
u8 Unused1[468]; //0x0026 468 unused (0xff)
|
||||
u8 UpdateCounter[2];//0x01fa 2 update Counter (?, probably unused)
|
||||
u8 CheckSum1[2]; //0x01fc 2 Checksum 1 (?)
|
||||
u8 CheckSum2[2]; //0x01fe 2 Checksum 2 (?)
|
||||
u16 Checksum; //0x01fc 2 Additive Checksum
|
||||
u16 Checksum_Inv; //0x01fe 2 Inverse Checksum
|
||||
u8 Unused2[7680]; //0x0200 0x1e00 unused (0xff)
|
||||
} hdr;
|
||||
|
||||
@ -153,31 +148,38 @@ private:
|
||||
DEntry Dir[DIRLEN]; //0x0000 Directory Entries (max 127)
|
||||
u8 Padding[0x3a];
|
||||
u8 UpdateCounter[2];//0x1ffa 2 update Counter
|
||||
u8 CheckSum1[2]; //0x1ffc 2 Checksum 1
|
||||
u8 CheckSum2[2]; //0x1ffe 2 Checksum 2
|
||||
u16 Checksum; //0x1ffc 2 Additive Checksum
|
||||
u16 Checksum_Inv; //0x1ffe 2 Inverse Checksum
|
||||
} dir, dir_backup;
|
||||
|
||||
struct BlockAlloc {
|
||||
u8 CheckSum1[2]; //0x0000 2 Checksum 1
|
||||
u8 CheckSum2[2]; //0x0002 2 Checksum 2
|
||||
u16 Checksum; //0x0000 2 Additive Checksum
|
||||
u16 Checksum_Inv; //0x0002 2 Inverse Checksum
|
||||
u8 UpdateCounter[2];//0x0004 2 update Counter
|
||||
u8 FreeBlocks[2]; //0x0006 2 free Blocks
|
||||
u8 LastAllocated[2];//0x0008 2 last allocated Block
|
||||
u16 Map[0xFFB]; //0x000a 0x1ff8 Map of allocated Blocks
|
||||
} bat,bat_backup;
|
||||
struct GCMC_Header
|
||||
{
|
||||
Header *hdr;
|
||||
Directory *dir, *dir_backup;
|
||||
BlockAlloc *bat, *bat_backup;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
u32 ImportGciInternal(FILE* gcih, const char *inputFile, std::string outputFile);
|
||||
|
||||
static void FormatInternal(GCMC_Header &GCP);
|
||||
public:
|
||||
|
||||
GCMemcard(const char* fileName, bool forceCreation=false, bool sjis=false);
|
||||
bool IsValid() { return m_valid; }
|
||||
bool IsAsciiEncoding();
|
||||
bool Save();
|
||||
bool Format(bool sjis = false, bool New = true, int slot = 0, u16 SizeMb = MemCard2043Mb, bool hdrOnly = false);
|
||||
bool Format(bool sjis = false, u16 SizeMb = MemCard2043Mb);
|
||||
static bool Format(u8 * card_data, bool sjis = false, u16 SizeMb = MemCard2043Mb);
|
||||
|
||||
void calc_checksumsBE(u16 *buf, u32 num, u16 *c1, u16 *c2);
|
||||
static void calc_checksumsBE(u16 *buf, u32 length, u16 *csum, u16 *inv_csum);
|
||||
u32 TestChecksums();
|
||||
bool FixChecksums();
|
||||
|
@ -246,7 +246,7 @@ void Init()
|
||||
|
||||
// FIXME: does Wiimote Speaker support really require a different interval? (issue 4608)
|
||||
const int interval = SConfig::GetInstance().m_LocalCoreStartupParameter.
|
||||
bDisableWiimoteSpeaker ? 1250 : 1500;
|
||||
bDisableWiimoteSpeaker ? 15000 : 4000;
|
||||
const int fields = SConfig::GetInstance().m_LocalCoreStartupParameter.
|
||||
bVBeam ? 2 : 1;
|
||||
IPC_HLE_PERIOD = GetTicksPerSecond() / (interval * fields);
|
||||
|
@ -134,6 +134,8 @@ namespace PowerPC
|
||||
#endif
|
||||
if (t == 0xff) // load to the cache
|
||||
{
|
||||
if (jit)
|
||||
jit->GetBlockCache()->InvalidateICache(addr);
|
||||
if (HID0.ILOCK) // instruction cache is locked
|
||||
return Memory::ReadUnchecked_U32(addr);
|
||||
// select a way
|
||||
|
@ -52,7 +52,6 @@ if(wxWidgets_FOUND)
|
||||
Src/LogWindow.cpp
|
||||
Src/Main.cpp
|
||||
Src/MemcardManager.cpp
|
||||
Src/MemoryCards/GCMemcard.cpp
|
||||
Src/MemoryCards/WiiSaveCrypted.cpp
|
||||
Src/NetWindow.cpp
|
||||
Src/PHackSettings.cpp
|
||||
|
@ -256,7 +256,6 @@ xcopy "$(SolutionDir)..\Externals\SDL\$(PlatformName)\*.dll" "$(TargetDir)" /e /
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugFast|x64'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Src\MemcardManager.cpp" />
|
||||
<ClCompile Include="Src\MemoryCards\GCMemcard.cpp" />
|
||||
<ClCompile Include="Src\MemoryCards\WiiSaveCrypted.cpp" />
|
||||
<ClCompile Include="Src\Debugger\MemoryCheckDlg.cpp" />
|
||||
<ClCompile Include="Src\Debugger\MemoryView.cpp" />
|
||||
@ -311,7 +310,6 @@ xcopy "$(SolutionDir)..\Externals\SDL\$(PlatformName)\*.dll" "$(TargetDir)" /e /
|
||||
<ClInclude Include="Src\LogWindow.h" />
|
||||
<ClInclude Include="Src\Main.h" />
|
||||
<ClInclude Include="Src\MemcardManager.h" />
|
||||
<ClInclude Include="Src\MemoryCards\GCMemcard.h" />
|
||||
<ClInclude Include="Src\MemoryCards\WiiSaveCrypted.h" />
|
||||
<ClInclude Include="Src\Debugger\MemoryCheckDlg.h" />
|
||||
<ClInclude Include="Src\Debugger\MemoryView.h" />
|
||||
|
@ -6,9 +6,6 @@
|
||||
<ClCompile Include="Src\stdafx.cpp" />
|
||||
<ClCompile Include="Src\WXInputBase.cpp" />
|
||||
<ClCompile Include="Src\WxUtils.cpp" />
|
||||
<ClCompile Include="Src\MemoryCards\GCMemcard.cpp">
|
||||
<Filter>GUI\Saves</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Src\MemoryCards\WiiSaveCrypted.cpp">
|
||||
<Filter>GUI\Saves</Filter>
|
||||
</ClCompile>
|
||||
@ -144,9 +141,6 @@
|
||||
<ClInclude Include="Src\stdafx.h" />
|
||||
<ClInclude Include="Src\WXInputBase.h" />
|
||||
<ClInclude Include="Src\WxUtils.h" />
|
||||
<ClInclude Include="Src\MemoryCards\GCMemcard.h">
|
||||
<Filter>GUI\Saves</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Src\MemoryCards\WiiSaveCrypted.h">
|
||||
<Filter>GUI\Saves</Filter>
|
||||
</ClInclude>
|
||||
|
@ -43,7 +43,6 @@ else:
|
||||
'Src/LogWindow.cpp',
|
||||
'Src/Main.cpp',
|
||||
'Src/MemcardManager.cpp',
|
||||
'Src/MemoryCards/GCMemcard.cpp',
|
||||
'Src/MemoryCards/WiiSaveCrypted.cpp',
|
||||
'Src/NetWindow.cpp',
|
||||
'Src/PHackSettings.cpp',
|
||||
|
@ -27,6 +27,7 @@
|
||||
#include "HW/SI.h"
|
||||
#include "HW/DSPHLE/DSPHLE.h"
|
||||
#include "HW/DSPLLE/DSPLLE.h"
|
||||
#include "HW/GCMemcard.h"
|
||||
#include "IPC_HLE/WII_IPC_HLE.h"
|
||||
#include "NANDContentLoader.h"
|
||||
|
||||
@ -37,7 +38,6 @@
|
||||
#include "Frame.h"
|
||||
#include "HotkeyDlg.h"
|
||||
#include "Main.h"
|
||||
#include "MemoryCards/GCMemcard.h"
|
||||
#include "VideoBackendBase.h"
|
||||
|
||||
#define TEXT_BOX(page, text) new wxStaticText(page, wxID_ANY, text, wxDefaultPosition, wxDefaultSize)
|
||||
|
@ -321,7 +321,7 @@ void CISOProperties::CreateGUIControls(bool IsWad)
|
||||
// Wii Console
|
||||
EnableProgressiveScan = new wxCheckBox(m_GameConfig, ID_ENABLEPROGRESSIVESCAN, _("Enable Progressive Scan"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
|
||||
EnableWideScreen = new wxCheckBox(m_GameConfig, ID_ENABLEWIDESCREEN, _("Enable WideScreen"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
|
||||
DisableWiimoteSpeaker = new wxCheckBox(m_GameConfig, ID_DISABLEWIIMOTESPEAKER, _("Disable Wiimote Speaker"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
|
||||
DisableWiimoteSpeaker = new wxCheckBox(m_GameConfig, ID_DISABLEWIIMOTESPEAKER, _("Alternate Wiimote Timing"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
|
||||
DisableWiimoteSpeaker->SetToolTip(_("Mutes the Wiimote speaker. Fixes random disconnections on real wiimotes. No effect on emulated wiimotes."));
|
||||
|
||||
// Video
|
||||
|
@ -29,7 +29,7 @@
|
||||
|
||||
#include "IniFile.h"
|
||||
#include "FileUtil.h"
|
||||
#include "MemoryCards/GCMemcard.h"
|
||||
#include "HW/GCMemcard.h"
|
||||
|
||||
#undef MEMCARD_MANAGER_STYLE
|
||||
#define MEMCARD_MANAGER_STYLE wxCAPTION | wxSYSTEM_MENU | wxDIALOG_NO_PARENT | wxCLOSE_BOX | wxRESIZE_BORDER | wxMAXIMIZE_BOX
|
||||
|
@ -179,8 +179,8 @@ void Pos_ReadIndex_Float_SSSE3(int Index)
|
||||
if(Index < MaxSize)
|
||||
{
|
||||
const u32* pData = (const u32 *)(cached_arraybases[ARRAY_POSITION] + (Index * arraystrides[ARRAY_POSITION]));
|
||||
const __m128i a = _mm_loadu_si128((__m128i*)pData);
|
||||
__m128i b = _mm_shuffle_epi8(a, three ? kMaskSwap32_3 : kMaskSwap32_2);
|
||||
GC_ALIGNED128(const __m128i a = _mm_loadu_si128((__m128i*)pData));
|
||||
GC_ALIGNED128(__m128i b = _mm_shuffle_epi8(a, three ? kMaskSwap32_3 : kMaskSwap32_2));
|
||||
_mm_storeu_si128((__m128i*)VertexManager::s_pCurBufferPointer, b);
|
||||
LOG_VTX();
|
||||
VertexManager::s_pCurBufferPointer += 12;
|
||||
|
@ -353,8 +353,8 @@ void LOADERDECL TexCoord_ReadIndex16_Float2_SSSE3()
|
||||
{
|
||||
u16 Index = DataReadU16();
|
||||
const u32 *pData = (const u32 *)(cached_arraybases[ARRAY_TEXCOORD0+tcIndex] + (Index * arraystrides[ARRAY_TEXCOORD0+tcIndex]));
|
||||
const __m128i a = _mm_loadl_epi64((__m128i*)pData);
|
||||
const __m128i b = _mm_shuffle_epi8(a, kMaskSwap32);
|
||||
GC_ALIGNED128(const __m128i a = _mm_loadl_epi64((__m128i*)pData));
|
||||
GC_ALIGNED128(const __m128i b = _mm_shuffle_epi8(a, kMaskSwap32));
|
||||
u8* p = VertexManager::s_pCurBufferPointer;
|
||||
_mm_storel_epi64((__m128i*)p, b);
|
||||
LOG_TEX2();
|
||||
|
@ -28,7 +28,8 @@ D3DXCOMPILESHADERTYPE PD3DXCompileShader = NULL;
|
||||
|
||||
namespace DX9
|
||||
{
|
||||
|
||||
static char vsVersions[5][7] = {"ERROR", "vs_1_4", "vs_2_a", "vs_3_0", "vs_4_0"};
|
||||
static char psVersions[5][7] = {"ERROR", "ps_1_4", "ps_2_a", "ps_3_0", "ps_4_0"};
|
||||
// D3DX
|
||||
HINSTANCE hD3DXDll = NULL;
|
||||
int d3dx_dll_ref = 0;
|
||||
@ -55,6 +56,7 @@ static bool auto_depth_stencil = false;
|
||||
|
||||
#define VENDOR_NVIDIA 4318
|
||||
#define VENDOR_ATI 4098
|
||||
#define VENDOR_INTEL 32902
|
||||
|
||||
bool bFrameInProgress = false;
|
||||
|
||||
@ -112,6 +114,10 @@ bool IsATIDevice()
|
||||
{
|
||||
return GetCurAdapter().ident.VendorId == VENDOR_ATI;
|
||||
}
|
||||
bool IsIntelDevice()
|
||||
{
|
||||
return GetCurAdapter().ident.VendorId == VENDOR_INTEL;
|
||||
}
|
||||
|
||||
|
||||
HRESULT Init()
|
||||
@ -139,6 +145,11 @@ HRESULT Init()
|
||||
int adapter = g_Config.iAdapter;
|
||||
D3D->GetDeviceCaps((adapter >= 0 && adapter < std::min(MAX_ADAPTERS, numAdapters)) ? adapter : D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, &caps);
|
||||
Enumerate();
|
||||
if(IsIntelDevice()){
|
||||
// Murder the a because Intel doesn't support 2.0a because the 'a' part was a ATI and Nvidia war going on
|
||||
psVersions[2][5] = '0';
|
||||
vsVersions[2][5] = '0';
|
||||
}
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
@ -522,16 +533,14 @@ D3DFORMAT GetSupportedDepthSurfaceFormat(D3DFORMAT target_format)
|
||||
|
||||
const char *VertexShaderVersionString()
|
||||
{
|
||||
static const char *versions[5] = {"ERROR", "vs_1_4", "vs_2_a", "vs_3_0", "vs_4_0"};
|
||||
int version = ((D3D::caps.VertexShaderVersion >> 8) & 0xFF);
|
||||
return versions[std::min(4, version)];
|
||||
return vsVersions[std::min(4, version)];
|
||||
}
|
||||
|
||||
const char *PixelShaderVersionString()
|
||||
{
|
||||
static const char *versions[5] = {"ERROR", "ps_1_4", "ps_2_a", "ps_3_0", "ps_4_0"};
|
||||
int version = ((D3D::caps.PixelShaderVersion >> 8) & 0xFF);
|
||||
return versions[std::min(4, version)];
|
||||
return psVersions[std::min(4, version)];
|
||||
}
|
||||
|
||||
LPDIRECT3DSURFACE9 GetBackBufferSurface()
|
||||
|
@ -47,6 +47,7 @@ namespace D3D
|
||||
#define FOURCC_NULL ((D3DFORMAT)(MAKEFOURCC('N','U','L','L')))
|
||||
|
||||
bool IsATIDevice();
|
||||
bool IsIntelDevice();
|
||||
HRESULT Init();
|
||||
HRESULT Create(int adapter, HWND wnd, int resolution, int aa_mode, bool auto_depth);
|
||||
void Close();
|
||||
|
Loading…
Reference in New Issue
Block a user