[XCXAspectV100E_V101E]
moduleMatches = 0x218F6E07, 0xF882D5CF

# Code cave
codeCaveSize = 0x0000028

_widthScaleRatio = 0x0000000
0x0000000 = .float ($width/$gameWidth)
_heightScaleRatio = 0x0000004
0x0000004 = .float ($height/$gameHeight)

_aspectChangeCave = 0x0000008
; Scale the width of the viewport that it wants to calculate the ratio for
0x0000008 = lis r7, _widthScaleRatio@ha
0x000000C = lfs f8, _widthScaleRatio@l(r7)
0x0000010 = fmuls f13, f13, f8
; Scale the height of the viewport that it wants to calculate the ratio for
0x0000014 = lis r7, _heightScaleRatio@ha
0x0000018 = lfs f8, _heightScaleRatio@l(r7)
0x000001C = fmuls f9, f9, f8

0x0000020 = fdivs f13, f13, f9 ; Original instruction that got replaced by the code cave jump, which divides the width and height to get the aspect ratio
0x0000024 = blr ; Return to the original code

# Code changes
0x03160AE8 = bla _aspectChangeCave ; Modify this instruction to go to the code cave which scales the height and width to the upscale ratios
0x1003E754 = .float ($width/$height) ; Modify constant that has a ratio in the code


[XCXAspectV102U]
moduleMatches = 0x30B6E091

# Code cave
codeCaveSize = 0x0000028

_widthScaleRatio = 0x0000000
0x0000000 = .float ($width/$gameWidth)
_heightScaleRatio = 0x0000004
0x0000004 = .float ($height/$gameHeight)

_aspectChangeCave = 0x0000008
0x0000008 = lis r7, _widthScaleRatio@ha
0x000000C = lfs f8, _widthScaleRatio@l(r7)
0x0000010 = fmuls f13, f13, f8
0x0000014 = lis r7, _heightScaleRatio@ha
0x0000018 = lfs f8, _heightScaleRatio@l(r7)
0x000001C = fmuls f9, f9, f8

0x0000020 = fdivs f13, f13, f9
0x0000024 = blr

# Code changes
0x03160A68 = bla _aspectChangeCave
0x1003E754 = .float ($width/$height)


[XCXAspectV100U_V101U]
moduleMatches = 2878856811, 0x676EB33E

# Code cave
codeCaveSize = 0x0000028

_widthScaleRatio = 0x0000000
0x0000000 = .float ($width/$gameWidth)
_heightScaleRatio = 0x0000004
0x0000004 = .float ($height/$gameHeight)

_aspectChangeCave = 0x0000008
0x0000008 = lis r7, _widthScaleRatio@ha
0x000000C = lfs f8, _widthScaleRatio@l(r7)
0x0000010 = fmuls f13, f13, f8
0x0000014 = lis r7, _heightScaleRatio@ha
0x0000018 = lfs f8, _heightScaleRatio@l(r7)
0x000001C = fmuls f9, f9, f8

0x0000020 = fdivs f13, f13, f9
0x0000024 = blr


# Code changes
0x031608E8 = bla _aspectChangeCave
0x1003E754 = .float ($width/$height)


[XCXAspectV100J]
moduleMatches = 0x785CA8A9

# Code cave
codeCaveSize = 0x0000028

_widthScaleRatio = 0x0000000
0x0000000 = .float ($width/$gameWidth)
_heightScaleRatio = 0x0000004
0x0000004 = .float ($height/$gameHeight)

_aspectChangeCave = 0x0000008
0x0000008 = lis r7, _widthScaleRatio@ha
0x000000C = lfs f8, _widthScaleRatio@l(r7)
0x0000010 = fmuls f13, f13, f8
0x0000014 = lis r7, _heightScaleRatio@ha
0x0000018 = lfs f8, _heightScaleRatio@l(r7)
0x000001C = fmuls f9, f9, f8

0x0000020 = fdivs f13, f13, f9
0x0000024 = blr

# Code changes
0x03156880 = bla _aspectChangeCave
0x1003E6C4 = .float ($width/$height)

[XCXAspectV101J]
moduleMatches = 0x8780C48F

# Code cave
codeCaveSize = 0x0000028

_widthScaleRatio = 0x0000000
0x0000000 = .float ($width/$gameWidth)
_heightScaleRatio = 0x0000004
0x0000004 = .float ($height/$gameHeight)

_aspectChangeCave = 0x0000008
0x0000008 = lis r7, _widthScaleRatio@ha
0x000000C = lfs f8, _widthScaleRatio@l(r7)
0x0000010 = fmuls f13, f13, f8
0x0000014 = lis r7, _heightScaleRatio@ha
0x0000018 = lfs f8, _heightScaleRatio@l(r7)
0x000001C = fmuls f9, f9, f8

0x0000020 = fdivs f13, f13, f9
0x0000024 = blr

# Code changes
0x0315BBA8 = bla _aspectChangeCave
0x1003E714 = .float ($width/$height)

[XCXAspectV102J]
moduleMatches = 0x7672271D

# Code cave
codeCaveSize = 0x0000028

_widthScaleRatio = 0x0000000
0x0000000 = .float ($width/$gameWidth)
_heightScaleRatio = 0x0000004
0x0000004 = .float ($height/$gameHeight)

_aspectChangeCave = 0x0000008
0x0000008 = lis r7, _widthScaleRatio@ha
0x000000C = lfs f8, _widthScaleRatio@l(r7)
0x0000010 = fmuls f13, f13, f8
0x0000014 = lis r7, _heightScaleRatio@ha
0x0000018 = lfs f8, _heightScaleRatio@l(r7)
0x000001C = fmuls f9, f9, f8

0x0000020 = fdivs f13, f13, f9
0x0000024 = blr

# Code changes
0x0315BE80 = bla _aspectChangeCave
0x1003E714 = .float $width/$height
