I've been looking into creating compact codes, rather than having 50 lines for one particular code.
I know how it works for BSD (PS3 Bruteforce codes).
Example how it works for PS3 codes:
So for example you have the codes:
This code would be compressed to:
(Starts at Offset 10A11, and writes it 7 times from that position, each time skipping only 1 byte, basically writing over all the offsets from the uncompressed code).
I've tried the same method for PCSX2 (RAW codes), but there seems to be a different method to it there. Does anyone know how it works exactly for the RAW codes in pnach files?
Let's take a code here for example for Star Ocean 3 (Max IC Skills for Fayt):
If I went with the 'PS3' style, it'd become:
But this isn't the case with PCSX2 RAW codes. If I could figure this one out I could create some updated codes that are normally really long.
I know it should be doable, because I've seen it done on some Codebreaker codes. (particularly CBv7+ codes). These can all be converted to proper RAW codes and they'll work flawlessly. I just can't figure out how they've done it.
I know how it works for BSD (PS3 Bruteforce codes).
Example how it works for PS3 codes:
Code:
4TXXXXXX YYYYYYYY
4NNNWWWW VVVVVVVV
X= Address/Offset
Y= Value to write (Starting)
N=Times to Write
W=Increase Address By
V=Increase Value By
T=Address/Offset type
Normal/Pointer
0 / 8 = 8bit [FF]
1 / 9 = 16bit [FFFF]
2 / A = 32bit [FFFFFFFF]
So for example you have the codes:
Code:
20010A11 0000FFFF
20010A12 0000FFFF
20010A13 0000FFFF
20010A14 0000FFFF
20010A15 0000FFFF
20010A16 0000FFFF
20010A17 0000FFFF
This code would be compressed to:
Code:
42010A11 0000FFFF
40070001 00000000
(Starts at Offset 10A11, and writes it 7 times from that position, each time skipping only 1 byte, basically writing over all the offsets from the uncompressed code).
I've tried the same method for PCSX2 (RAW codes), but there seems to be a different method to it there. Does anyone know how it works exactly for the RAW codes in pnach files?
Let's take a code here for example for Star Ocean 3 (Max IC Skills for Fayt):
Code:
00501E50 000000FF
00501E51 000000FF
00501E52 000000FF
00501E53 000000FF
00501E54 000000FF
00501E55 000000FF
00501E56 000000FF
00501E57 000000FF
If I went with the 'PS3' style, it'd become:
Code:
40501E50 000000FF
40080001 00000000
But this isn't the case with PCSX2 RAW codes. If I could figure this one out I could create some updated codes that are normally really long.
I know it should be doable, because I've seen it done on some Codebreaker codes. (particularly CBv7+ codes). These can all be converted to proper RAW codes and they'll work flawlessly. I just can't figure out how they've done it.
AMD Ryzen 5 3600 @ 3.60~4.20 GHz | Corsair Vengeance LPX 32 GB (2x16GB) DDR4-3200
MSI GeForce GTX 1660 Super @ 6 GB | Samsung 980 1TB | Windows 10 Pro x64 (22H2)
MSI GeForce GTX 1660 Super @ 6 GB | Samsung 980 1TB | Windows 10 Pro x64 (22H2)