cemu_graphic_packs
cemu_graphic_packs copied to clipboard
BatmanArkhamOrigins_60FPS is Very Broken
trafficstars
the current patch
[Bat60FpsVerv1]
moduleMatches = 0xB5EB56F6
# Location for .float 60.00
_float = 0x10000a08
CodeCaveSize = 0x0c
_60fps = 0x00000000
0X00000000 = lis r3,_float@h
0X00000004 = lfs f1,_float@l(r3)
0X00000008 = blr
0x024d3164 = bla _60fps
#0x024d3164 = lfs f1,04e0(r3) #0x42F584E0
0x02C82558 = nop #Vsync
0x02C82504 = nop #SwapInterval
[Bat60FpsVerv16]
moduleMatches = 0x10A2A41A
# Location for .float 60.00
_float = 0x10000a08
CodeCaveSize = 0x0c
_60fps = 0x00000000
0X00000000 = lis r3,_float@h
0X00000004 = lfs f1,_float@l(r3)
0X00000008 = blr
0x24D4E68 = bla _60fps
#0x024D4E68 = lfs f1,0x4E0(r3)
0x02C837FC = nop #Vsync
this has a bla the immediate instruction before a blr
so its like broken broken
there are 2 ways to fix this:
;mod currenly makes the game run at 60 fps for a little bit then crashes
;; Location for .float 60.00 == 0x10000a08
;r2 = 0x10008000
;r3 = 0x42F584E0
;0x024D4E68 = lfs f1,04e0(r3) before being overwritten
[BatmanOrigins_60Fps_v16]
moduleMatches = 0x10A2A41A ; v16(EU/NA/JP)
0x024D4E68 = lfs f1,-0x75F8(r2)
0x02C837FC = nop ;Vsync
;no clue if removing ;SwapInterval nop is intentional or a typo
[BatmanOrigins_60Fps_v1]
moduleMatches = 0xB5EB56F6 ; v1(EU/NA)
0x024D3164 = lfs f1,-0x75F8(r2)
0x02C82558 = nop ;Vsync
0x02C82504 = nop ;SwapInterval
;[BatmanOrigins_60Fps_JPv0]
;moduleMatches = 0xDC369A88 ; v0(JP)
;0x = lfs f1,-0x75F8(r2)
;0x = nop ;Vsync
;0x = nop ;SwapInterval
or
;mod currenly makes the game run at 60 fps for a little bit then crashes
[BatmanOrigins_60Fps]
moduleMatches = 0x10A2A41A, 0xB5EB56F6, 0xDC369A88 ; v16(EU/NA/JP), v1(EU/NA), v0(JP)
.origin = codecave
; Location for .float 60.00
float = 0x10000a08
_60fps:
lis r3,float@h
lfs f1,float@l(r3)
blr
[BatmanOrigins_60Fps_v16]
moduleMatches = 0x10A2A41A ; v16(EU/NA/JP)
0x024D4E68 = nop ; <- can be any instruction we want before branching
0x024D4E6C = ba _60fps
0x02C837FC = nop ;Vsync
;no clue if removing ;SwapInterval nop is intentional or a typo
[BatmanOrigins_60Fps_v1]
moduleMatches = 0xB5EB56F6 ; v1(EU/NA)
0x024D3164 = nop ; <- can be any instruction we want before branching
0x024D3168 = ba _60fps
0x02C82558 = nop ;Vsync
0x02C82504 = nop ;SwapInterval
;[BatmanOrigins_60Fps_JPv0]
;moduleMatches = 0xDC369A88 ; v0(JP)
;0x = nop ; <- can be any instruction we want before branching
;0x = ba _60fps
;0x = nop ;Vsync
;0x = nop ;SwapInterval
but now that I've fixed the infinite jump loop of a bla right before a blr there is a new issue with the mod in which it will run at 60fps for about 1 second, then the game crashes so found two different solutions to the layer 1 problem and now there is a layer 2 problem