1
+ -- 7 Sins (PAL)
2
+ -- emu used=JakX v2
3
+
4
+ apiRequest (1.0 )
5
+
6
+ local gpr = require (" ee-gpr-alias" )
7
+
8
+ local eeObj = getEEObject ()
9
+ local emuObj = getEmuObject ()
10
+
11
+ local CheckInputs = function ()
12
+
13
+ local pad_bits = emuObj .GetPad ()
14
+
15
+ local UP = pad_bits & 0x0010
16
+ local DOWN = pad_bits & 0x0040
17
+ local LEFT = pad_bits & 0x0080
18
+ local RIGHT = pad_bits & 0x0020
19
+ local Triangle = pad_bits & 0x1000
20
+ local Cross = pad_bits & 0x4000
21
+ local Square = pad_bits & 0x8000
22
+ local Circle = pad_bits & 0x2000
23
+ local L1 = pad_bits & 0x0400
24
+ local L2 = pad_bits & 0x0100
25
+ local L3 = pad_bits & 0x0002
26
+ local R1 = pad_bits & 0x0800
27
+ local R2 = pad_bits & 0x0200
28
+ local R3 = pad_bits & 0x0004
29
+ local Select = pad_bits & 0x0001
30
+ local Start = pad_bits & 0x0008
31
+
32
+ if (L3 ~= 0 ) then
33
+ -- Infinite Sins
34
+ eeObj .WriteMem32 (0x2025B9BC ,0x24030000 )
35
+ end
36
+ if (DOWN ~= 0 and L1 ~= 0 ) then
37
+ -- Display Likes
38
+ eeObj .WriteMem32 (0x201782A4 ,0x00000000 )
39
+ end
40
+ if (R3 ~= 0 ) then
41
+ -- Infinite Money
42
+ eeObj .WriteMem32 (0x2017DC28 ,0x0803FFC5 )
43
+ eeObj .WriteMem32 (0x2017DC2C ,0x00000000 )
44
+ eeObj .WriteMem32 (0x200FFF14 ,0x3C04461C )
45
+ eeObj .WriteMem32 (0x200FFF18 ,0xAC440008 )
46
+ eeObj .WriteMem32 (0x200FFF1C ,0xC4400008 )
47
+ eeObj .WriteMem32 (0x200FFF20 ,0x46000024 )
48
+ eeObj .WriteMem32 (0x200FFF24 ,0x0805F70C )
49
+ end
50
+ if (UP ~= 0 and L1 ~= 0 ) then
51
+ -- Never Fill Weakness Gauges
52
+ eeObj .WriteMem32 (0x202C85CC ,0x0803FFC0 )
53
+ eeObj .WriteMem32 (0x200FFF00 ,0x3C040000 )
54
+ eeObj .WriteMem32 (0x200FFF04 ,0xAC640008 )
55
+ eeObj .WriteMem32 (0x200FFF08 ,0xC4610008 )
56
+ eeObj .WriteMem32 (0x200FFF0C ,0x080B2175 )
57
+ end
58
+
59
+ end
60
+
61
+ emuObj .AddVsyncHook (CheckInputs )
62
+
63
+ local patcher = function ()
64
+
65
+ -- Widescreen hack 16:9
66
+
67
+ -- Zoom
68
+ -- 0040023c 00088244 00000000 02080046
69
+ -- 2a40023c abaa4234 02080046 02080046
70
+ eeObj .WriteMem32 (0x00226abc ,0x3c02402a ) -- 3c024000
71
+ eeObj .WriteMem32 (0x00226ac0 ,0x3442aaab ) -- 44820800
72
+ eeObj .WriteMem32 (0x00226ac4 ,0x44820800 ) -- 00000000
73
+
74
+ -- Y-Fov
75
+ -- 03080046 2400a0e7 2d200002
76
+ eeObj .WriteMem32 (0x00226ae4 ,0x080bf5c4 ) -- 46000803
77
+
78
+ eeObj .WriteMem32 (0x002fd710 ,0x46000803 ) -- 00000000
79
+ eeObj .WriteMem32 (0x002fd714 ,0x3c013f40 ) -- 00000000
80
+ eeObj .WriteMem32 (0x002fd718 ,0x4481f000 ) -- 00000000
81
+ eeObj .WriteMem32 (0x002fd71c ,0x461e0002 ) -- 00000000
82
+ eeObj .WriteMem32 (0x002fd720 ,0x08089aba ) -- 00000000
83
+
84
+ emuObj .ThrottleMax ()
85
+ end
86
+
87
+ emuObj .AddVsyncHook (patcher )
88
+
89
+ emuObj .SetGsTitleFix ( " forceSimpleFetch" , " reserved" , { texMode = 1 } )
0 commit comments