03-09-2024, 11:39 AM
(This post was last modified: 03-09-2024, 12:17 PM by Sponge.
Edit Reason: Add missing EVA information
)
Frameskip [Wiimmfi Team]
Posted here should other people want to look at it. Extracted from v93 of the payload.
Originally wanting to convert the entire code into C2 format, I gave up due to the length and difficulty with reading the code. Some parts are in C2 whilst most parts are written in 06 format.
This only contains the actual frameskip related code. There were other parts related to debugging, but I removed them as I think it's pointless to include here and further increased the code length (It's also not even usable; Despite being downloaded and hooked by the Wiimmfi payload, a value is read that prevents the code from being executed. Another thing is that it's also similar, if not the same as the version used in CTGP to monitor performance. I would add comparison images, but I've lost this part of the code along with images of me using it.)
Technically supersedes this version as most internal systems will now run at full speed under 30 FPS with this code, but I'll post it here as I don't like the way I've converted and I don't want to port it as a result.
This code uses addresses 0x80001614 through 0x8000166B. Ensure no other codes read or write to these addresses
PAL
040095e4 60000000
040095f4 60000000
0451b69c 480000dc
04654400 60000000
C2562AD0 00000010
3C608000 88831621
2C040000 41A20028
3C808000 80841624
2C040000 40820058
38800000 98831621
38000000 981E0088
48000040 3C608000
88831620 2C040001
40A20030 2C000000
40A20028 3C808000
80841624 2C040000
41A20018 38000001
981E0088 3C808000
98041621 48000008
98031620 2C000000
60000000 00000000
C254DF88 00000007
3C60809C 80631E38
80630000 80630000
2C030021 4182001C
2C030025 41820014
2C030029 4182000C
38600001 48000008
38600000 00000000
C20095c4 00000086
7EA3AB78 7F24CB78
9421FFD8 93810018
3F808000 813C1628
93C10020 2F890000
83C3004C 419E0028
2F9E0000 419E0020
89430069 39200000
913C1628 312AFFFF
7D295110 39290001
993E0008 2F840000
39200000 419E011C
3D20809C 93E10024
892938BC 7C7F1B78
2F890000 60000000
2F9E0000 39200001
419E0248 7C0802A6
93010008 9001002C
9321000C 3F208000
93410010 93610014
93A1001C 3D80801A
618C65AC 7D8903A6
4E800421 7C7A1B78
3D808036 618C32A8
7D8903A6 4E800421
8139162C 3D008000
83BE0068 7C781B78
8B7F0069 7FA9EA14
815E006C 3B7B0001
7FBDDA14 93681630
7F8AE840 419C0098
3D408000 814A1634
7F895000 409C0088
2F890000 419E02F8
891E0008 3CE08000
81471638 7D3B4A14
7D1B4214 7F43D378
991E0008 7F6ADA14
39000000 3D408000
9139162C 93671638
910A163C 3D80801A
618C65D4 7D8903A6
4E800421 39200000
8001002C 83010008
8321000C 7C0803A6
83410010 83610014
83A1001C 83E10024
7D234B78 83810018
83C10020 38210028
480002A4 2F890000
409D0150 3D408000
912A1640 3D80801A
618CAD5C 7D8903A6
4E800421 815E006C
3D208000 39291644
39000000 7FBD5050
39400001 34FD0001
90690000 90890004
9119162C 915C1628
4081007C 3D20809C
3D008000 81291F50
9148164C 2F890000
419E0064 89490000
2F8A0000 419E0058
A9490012 2F8A0000
41BD004C 3D40809C
814AD728 814A0B74
2F8A0006 419E0038
895F0069 2F8A0000
419E0010 70EA0001
41820008 38FD0002
3CC08000 A1090010
81461650 7D074214
7D4A3A14 B1090010
91461650 3FE08000
7FC3F378 3BFF1654
3D808020 618CFE24
7D8903A6 4E800421
815F0000 3D208000
817F0004 3929165C
91490000 91690004
3D80801A 618CAD5C
7D8903A6 4E800421
907F0000 3D208000
39400001 7F43D378
9149163C 909F0004
3D80801A 618C65D4
7D8903A6 4E800421
39200001 4BFFFE94
83E10024 7D234B78
83810018 83C10020
38210028 48000150
3D208000 39400000
91491640 3D80801A
618CAD5C 7D8903A6
4E800421 3CE08000
3D408000 89071622
394A1668 3D208000
906A0000 2F880000
39291644 908A0004
39600000 39400000
91690004 91490000
419E000C 3908FFFF
99071622 2F980000
4BFFFF14 3FE0809C
813F1F50 2F890000
41BEFF04 89490000
2F8A0000 41BEFEF8
A9290012 2F890000
419DFEEC 3D20809C
8129D728 81290B74
2F890006 41BEFED8
7FC3F378 3D808020
618CFE24 7D8903A6
4E800421 3D808016
618CEAB0 7D8903A6
4E800421 815F1F50
3D008000 A12A0010
7D3B4A14 5529043E
B12A0010 91281664
4BFFFE94 7C0802A6
7FC3F378 9001002C
3D808020 618CFE24
7D8903A6 4E800421
8001002C 39200001
83E10024 7D234B78
83810018 7C0803A6
83C10020 38210028
4800002C 3D80801A
618CAD5C 7D8903A6
4E800421 3D408000
394A1668 8139162C
906A0000 908A0004
4BFFFCE8 7C791B78
2C190000 00000000
063632a8 000000FC
3D20809C 81291F50
2F890000 419E00D4
3D40809C 814AD728
2F8A0000 419E00C4
3D00809C 80E820D8
2F870000 419E00B4
89090000 2F880000
419E00A8 A9090012
2F880000 41BD009C
814A0B74 2F8A0006
419E0090 8147291C
3D008000 A0090010
396727A0 1D4A0058
39870180 90081664
3900000C 7D475214
39200000 38E70150
88CA0059 7D0903A6
48000024 7D07202E
80A80004 81050008
80850004 7F882000
419E0048 39290001
42400038 7F864800
41BEFFF4 806A0048
55282834 7C634E30
70630001 41A2FFE0
7D0B402E 5524103A
2F880000 41BEFFB8
7D0C202E 4BFFFFB4
38600000 4E800020
81050000 A108000C
7F880040 409DFFB0
4E800020 00000000
04001614 000F7709
04001634 00000006
Posted here should other people want to look at it. Extracted from v93 of the payload.
Originally wanting to convert the entire code into C2 format, I gave up due to the length and difficulty with reading the code. Some parts are in C2 whilst most parts are written in 06 format.
This only contains the actual frameskip related code. There were other parts related to debugging, but I removed them as I think it's pointless to include here and further increased the code length (It's also not even usable; Despite being downloaded and hooked by the Wiimmfi payload, a value is read that prevents the code from being executed. Another thing is that it's also similar, if not the same as the version used in CTGP to monitor performance. I would add comparison images, but I've lost this part of the code along with images of me using it.)
Technically supersedes this version as most internal systems will now run at full speed under 30 FPS with this code, but I'll post it here as I don't like the way I've converted and I don't want to port it as a result.
This code uses addresses 0x80001614 through 0x8000166B. Ensure no other codes read or write to these addresses
PAL
040095e4 60000000
040095f4 60000000
0451b69c 480000dc
04654400 60000000
C2562AD0 00000010
3C608000 88831621
2C040000 41A20028
3C808000 80841624
2C040000 40820058
38800000 98831621
38000000 981E0088
48000040 3C608000
88831620 2C040001
40A20030 2C000000
40A20028 3C808000
80841624 2C040000
41A20018 38000001
981E0088 3C808000
98041621 48000008
98031620 2C000000
60000000 00000000
C254DF88 00000007
3C60809C 80631E38
80630000 80630000
2C030021 4182001C
2C030025 41820014
2C030029 4182000C
38600001 48000008
38600000 00000000
C20095c4 00000086
7EA3AB78 7F24CB78
9421FFD8 93810018
3F808000 813C1628
93C10020 2F890000
83C3004C 419E0028
2F9E0000 419E0020
89430069 39200000
913C1628 312AFFFF
7D295110 39290001
993E0008 2F840000
39200000 419E011C
3D20809C 93E10024
892938BC 7C7F1B78
2F890000 60000000
2F9E0000 39200001
419E0248 7C0802A6
93010008 9001002C
9321000C 3F208000
93410010 93610014
93A1001C 3D80801A
618C65AC 7D8903A6
4E800421 7C7A1B78
3D808036 618C32A8
7D8903A6 4E800421
8139162C 3D008000
83BE0068 7C781B78
8B7F0069 7FA9EA14
815E006C 3B7B0001
7FBDDA14 93681630
7F8AE840 419C0098
3D408000 814A1634
7F895000 409C0088
2F890000 419E02F8
891E0008 3CE08000
81471638 7D3B4A14
7D1B4214 7F43D378
991E0008 7F6ADA14
39000000 3D408000
9139162C 93671638
910A163C 3D80801A
618C65D4 7D8903A6
4E800421 39200000
8001002C 83010008
8321000C 7C0803A6
83410010 83610014
83A1001C 83E10024
7D234B78 83810018
83C10020 38210028
480002A4 2F890000
409D0150 3D408000
912A1640 3D80801A
618CAD5C 7D8903A6
4E800421 815E006C
3D208000 39291644
39000000 7FBD5050
39400001 34FD0001
90690000 90890004
9119162C 915C1628
4081007C 3D20809C
3D008000 81291F50
9148164C 2F890000
419E0064 89490000
2F8A0000 419E0058
A9490012 2F8A0000
41BD004C 3D40809C
814AD728 814A0B74
2F8A0006 419E0038
895F0069 2F8A0000
419E0010 70EA0001
41820008 38FD0002
3CC08000 A1090010
81461650 7D074214
7D4A3A14 B1090010
91461650 3FE08000
7FC3F378 3BFF1654
3D808020 618CFE24
7D8903A6 4E800421
815F0000 3D208000
817F0004 3929165C
91490000 91690004
3D80801A 618CAD5C
7D8903A6 4E800421
907F0000 3D208000
39400001 7F43D378
9149163C 909F0004
3D80801A 618C65D4
7D8903A6 4E800421
39200001 4BFFFE94
83E10024 7D234B78
83810018 83C10020
38210028 48000150
3D208000 39400000
91491640 3D80801A
618CAD5C 7D8903A6
4E800421 3CE08000
3D408000 89071622
394A1668 3D208000
906A0000 2F880000
39291644 908A0004
39600000 39400000
91690004 91490000
419E000C 3908FFFF
99071622 2F980000
4BFFFF14 3FE0809C
813F1F50 2F890000
41BEFF04 89490000
2F8A0000 41BEFEF8
A9290012 2F890000
419DFEEC 3D20809C
8129D728 81290B74
2F890006 41BEFED8
7FC3F378 3D808020
618CFE24 7D8903A6
4E800421 3D808016
618CEAB0 7D8903A6
4E800421 815F1F50
3D008000 A12A0010
7D3B4A14 5529043E
B12A0010 91281664
4BFFFE94 7C0802A6
7FC3F378 9001002C
3D808020 618CFE24
7D8903A6 4E800421
8001002C 39200001
83E10024 7D234B78
83810018 7C0803A6
83C10020 38210028
4800002C 3D80801A
618CAD5C 7D8903A6
4E800421 3D408000
394A1668 8139162C
906A0000 908A0004
4BFFFCE8 7C791B78
2C190000 00000000
063632a8 000000FC
3D20809C 81291F50
2F890000 419E00D4
3D40809C 814AD728
2F8A0000 419E00C4
3D00809C 80E820D8
2F870000 419E00B4
89090000 2F880000
419E00A8 A9090012
2F880000 41BD009C
814A0B74 2F8A0006
419E0090 8147291C
3D008000 A0090010
396727A0 1D4A0058
39870180 90081664
3900000C 7D475214
39200000 38E70150
88CA0059 7D0903A6
48000024 7D07202E
80A80004 81050008
80850004 7F882000
419E0048 39290001
42400038 7F864800
41BEFFF4 806A0048
55282834 7C634E30
70630001 41A2FFE0
7D0B402E 5524103A
2F880000 41BEFFB8
7D0C202E 4BFFFFB4
38600000 4E800020
81050000 A108000C
7F880040 409DFFB0
4E800020 00000000
04001614 000F7709
04001634 00000006