Please read:
Code Type 0: Standard 1 Byte Write:
Code Type 1: Standard 2 Byte Write:
Code Type 2: Standard 4 Byte Write:
Code Type 3: Increase / Decrease Write:
Code Type 4: Multi-Write (Repeater):
Code Type 5: Copy and Paste:
Code Type 7: No More / No Less than Write:
Code Type 8: Forward Byte Search (Set Pointer):
Code Type 9: Pointer Manipulator: (Set/Move Pointer)
Code Type A: Mass Write:
Code Type B: Backward Byte Search (Set Pointer):
Code Type C: Address Byte Search (Set Pointer):
Code Type D: 2 Byte Test Commands (Code Skipper):
> The majority of PS4 saves use Little Endian but Save Wizard uses Big Endian. Save Wizard will automatically swap the Endian for those specific games. Therefore, "000F423F" in a code will write as "3F420F00" in the save. This is true for all standard write codes. If either the code does not write or writes in a unique way, it does not swap the Endian. Such as the Search Value for the Pointer Codes (Types 8/B/C) and Bytes Written in unique ways (Type A).
> If you use a Pointer Offset Code (Types 8/9/B/C) followed by a code that uses the Pointer Offset Type; the Address written in that code will then offset forwards from the Pointer Offset Address instead of it being the Address itself.
> These are not all of the code Types nor are they complete translations for each code. Save Wizard / Game Genie has never really publicly posted anything about the code formats so the majority have been discovered over the course of the past decade. Shout out to every single code hunter and the community as a whole!
> If you use a Pointer Offset Code (Types 8/9/B/C) followed by a code that uses the Pointer Offset Type; the Address written in that code will then offset forwards from the Pointer Offset Address instead of it being the Address itself.
> These are not all of the code Types nor are they complete translations for each code. Save Wizard / Game Genie has never really publicly posted anything about the code formats so the majority have been discovered over the course of the past decade. Shout out to every single code hunter and the community as a whole!
Writes 1 Byte (8 Bits) to a specific Address
0BYYYYYY 000000XX
B = Offset Type
X = Bytes to Write
Example:
00000456 00000063
00000456 00000063 - Normal Offset
00000456 00000063 - Writes to this Address
00000456 00000063 - Writes these Bytes
0BYYYYYY 000000XX
B = Offset Type
​0 = Default
8 = Offset from Pointer
Y = Address8 = Offset from Pointer
X = Bytes to Write
Example:
00000456 00000063
00000456 00000063 - Normal Offset
00000456 00000063 - Writes to this Address
00000456 00000063 - Writes these Bytes

Writes 2 Bytes (16 Bits) to a specific Address
1BYYYYYY 0000XXXX
B = Offset Type
X = Bytes to Write
Example:
10001E24 000003E7
10001E24 000003E7 - Normal Offset
10001E24 000003E7 - Writes to this Address
10001E24 000003E7- Writes these Bytes
1BYYYYYY 0000XXXX
B = Offset Type
0 = Default
8 = Offset from Pointer
Y = Address8 = Offset from Pointer
X = Bytes to Write
Example:
10001E24 000003E7
10001E24 000003E7 - Normal Offset
10001E24 000003E7 - Writes to this Address
10001E24 000003E7- Writes these Bytes

Writes 4 Bytes (32 Bits) to a specific Address
2BYYYYYY XXXXXXXX
B = Offset Type
X = Bytes to Write
Example:
20000250 3B9AC9FF
20000250 3B9AC9FF - Normal Offset
20000250 3B9AC9FF - Writes to this Address
20000250 3B9AC9FF - Writes these Bytes
2BYYYYYY XXXXXXXX
B = Offset Type
0 = Default
8 = Offset from Pointer
Y = Address8 = Offset from Pointer
X = Bytes to Write
Example:
20000250 3B9AC9FF
20000250 3B9AC9FF - Normal Offset
20000250 3B9AC9FF - Writes to this Address
20000250 3B9AC9FF - Writes these Bytes

Increases or Decreases a specified amount of data from a specific Address
This does not add/remove Bytes into the save, it just adjusts the value of the Bytes already in it
3BYYYYYY XXXXXXXX
B = Byte Value & Offset Type
X = Bytes to Add/Sub
Example:
31003E3D 0000112A
31003E3D 0000112A - Add 2 Bytes Worth
31003E3D 0000112A - Add to this Address
31003E3D 0000112A - Add These Bytes
Before:
After:
For the 8 Byte Value Type, it will write 4 Bytes of data but will continue to write the bytes afterwards if it cannot write any more.
This does not add/remove Bytes into the save, it just adjusts the value of the Bytes already in it
3BYYYYYY XXXXXXXX
B = Byte Value & Offset Type
0 = Add 1 Byte (000000XX)
1 = Add 2 Bytes (0000XXXX)
2 = Add 4 Bytes
3 = Add 8 Bytes
4 = Sub 1 Byte (000000XX)
5 = Sub 2 Bytes (0000XXXX)
6 = Sub 4 Bytes
7 = Sub 8 Bytes
8 = Offset from Pointer; Add 1 Byte (000000XX)
9 = Offset from Pointer; Add 2 Bytes (0000XXXX)
A = Offset from Pointer; Add 4 Bytes
B = Offset from Pointer; Add 8 Bytes
C = Offset from Pointer; Sub 1 Byte (000000XX)
D = Offset from Pointer; Sub 2 Bytes (0000XXXX)
E = Offset from Pointer; Sub 4 Bytes
F = Offset from Pointer; Sub 8 Bytes
Y = Address1 = Add 2 Bytes (0000XXXX)
2 = Add 4 Bytes
3 = Add 8 Bytes
4 = Sub 1 Byte (000000XX)
5 = Sub 2 Bytes (0000XXXX)
6 = Sub 4 Bytes
7 = Sub 8 Bytes
8 = Offset from Pointer; Add 1 Byte (000000XX)
9 = Offset from Pointer; Add 2 Bytes (0000XXXX)
A = Offset from Pointer; Add 4 Bytes
B = Offset from Pointer; Add 8 Bytes
C = Offset from Pointer; Sub 1 Byte (000000XX)
D = Offset from Pointer; Sub 2 Bytes (0000XXXX)
E = Offset from Pointer; Sub 4 Bytes
F = Offset from Pointer; Sub 8 Bytes
X = Bytes to Add/Sub
Example:
31003E3D 0000112A
31003E3D 0000112A - Add 2 Bytes Worth
31003E3D 0000112A - Add to this Address
31003E3D 0000112A - Add These Bytes
Before:

After:

For the 8 Byte Value Type, it will write 4 Bytes of data but will continue to write the bytes afterwards if it cannot write any more.
Writes Bytes numerous times to an increasing Address
4BYYYYYY XXXXXXXX
4CCCDDDD ZZZZZZZZ
B = Byte Value & Offset Type
X = Bytes to Write
C = Amount of times to repeat Write
D = Increases Address by per Write
Z = Increases Value by per Write
Example:
41004500 00000100
4004000C 00000002
​
41004500 00000100 - Writes 2 Bytes Worth
4004000C 00000002 - Writes Four Times
41004500 00000100 - Writes to this Address
4004000C 00000002 - Distance Between Writes
41004500 00000100 - Writes these Bytes
4004000C 00000002 - Increases By 2 Per Write
4BYYYYYY XXXXXXXX
4CCCDDDD ZZZZZZZZ
B = Byte Value & Offset Type
0 = 1 Byte (Only Writes 000000XX)
1 = 2 Bytes (Only Writes 0000XXXX)
2 = 4 Bytes
8 = Offset from Pointer; 1 Byte (Only Writes 000000XX)
9 = Offset from Pointer; 2 Bytes (Only Writes 0000XXXX)
A = Offset from Pointer; 4 Bytes
Y = Address1 = 2 Bytes (Only Writes 0000XXXX)
2 = 4 Bytes
8 = Offset from Pointer; 1 Byte (Only Writes 000000XX)
9 = Offset from Pointer; 2 Bytes (Only Writes 0000XXXX)
A = Offset from Pointer; 4 Bytes
X = Bytes to Write
C = Amount of times to repeat Write
D = Increases Address by per Write
Z = Increases Value by per Write
Example:
41004500 00000100
4004000C 00000002
​
41004500 00000100 - Writes 2 Bytes Worth
4004000C 00000002 - Writes Four Times
41004500 00000100 - Writes to this Address
4004000C 00000002 - Distance Between Writes
41004500 00000100 - Writes these Bytes
4004000C 00000002 - Increases By 2 Per Write

Copies Bytes from a specific Address and Writes it to another
5BYYYYYY XXXXXXXX
5BZZZZZZ 00000000
B = Offset Type
X = Amount of Bytes to Copy
Example:
500000A2 00000004
500000B4 00000000
500000A2 00000004 - Normal Offset
500000B4 00000000 - Normal Offset
500000A2 00000004 - Copies the Bytes from this Address
500000B4 00000000 - Pastes Bytes to this Address
500000A2 00000004 - Copies Four Bytes Worth
500000B4 00000000
5BYYYYYY XXXXXXXX
5BZZZZZZ 00000000
B = Offset Type
0 = Default
8 = Offset from Pointer
Y = Address to Copy Bytes8 = Offset from Pointer
X = Amount of Bytes to Copy
1 = 1 Bytes
2 = 2 Bytes
So on...
Z = Address to Paste Bytes2 = 2 Bytes
So on...
Example:
500000A2 00000004
500000B4 00000000
500000A2 00000004 - Normal Offset
500000B4 00000000 - Normal Offset
500000A2 00000004 - Copies the Bytes from this Address
500000B4 00000000 - Pastes Bytes to this Address
500000A2 00000004 - Copies Four Bytes Worth
500000B4 00000000

Writes Bytes up to a specified Maximum/Minimum to a specific Address
7BYYYYYY XXXXXXXX
B = Byte Value & Offset Type
X = Bytes to Write
This code is the same as a standard write code however it will only write the bytes if the current value at the address is no more or no less than X.
For example, you can use a no less than value to make sure the address has more than X but will take no effect if it already has more than the value on the save.
7BYYYYYY XXXXXXXX
B = Byte Value & Offset Type
0 = No Less Than: 1 Byte (000000XX)
1 = No Less Than: 2 Bytes (0000XXXX)
2 = No Less Than: 4 Bytes
4 = No More Than: 1 Byte (000000XX)
5 = No More Than: 2 Bytes (0000XXXX)
6 = No More Than: 4 Bytes
8 = Offset from Pointer; No Less Than: 1 Byte (000000XX)
9 = Offset from Pointer; No Less Than: 2 Bytes (0000XXXX)
A = Offset from Pointer; No Less Than: 4 Bytes
C = Offset from Pointer; No More Than: 1 Byte (000000XX)
D = Offset from Pointer; No More Than: 2 Bytes (0000XXXX)
E = Offset from Pointer; No More Than: 4 Bytes
Y = Address1 = No Less Than: 2 Bytes (0000XXXX)
2 = No Less Than: 4 Bytes
4 = No More Than: 1 Byte (000000XX)
5 = No More Than: 2 Bytes (0000XXXX)
6 = No More Than: 4 Bytes
8 = Offset from Pointer; No Less Than: 1 Byte (000000XX)
9 = Offset from Pointer; No Less Than: 2 Bytes (0000XXXX)
A = Offset from Pointer; No Less Than: 4 Bytes
C = Offset from Pointer; No More Than: 1 Byte (000000XX)
D = Offset from Pointer; No More Than: 2 Bytes (0000XXXX)
E = Offset from Pointer; No More Than: 4 Bytes
X = Bytes to Write
This code is the same as a standard write code however it will only write the bytes if the current value at the address is no more or no less than X.
For example, you can use a no less than value to make sure the address has more than X but will take no effect if it already has more than the value on the save.
Searches Forwards for a specified Value and saves the Value's Address as the Pointer Offset
Will start from the beginning of the save file, but can be changed using a previous Pointer Offset
8BCCYYYY XXXXXXXX
*Other Code Here, Use Specific Offset Type*
B = Offset Type
Y = Amount of Bytes to Search
Example:
80010004 01B00117 - Searches for four bytes of "01B00117" Once using Default Offset
28000010 7FFFFFFF - Standard Write code using the "8" Offset Type (Refer to Code Type 2) and offsets by 0x10
Will start from the beginning of the save file, but can be changed using a previous Pointer Offset
8BCCYYYY XXXXXXXX
*Other Code Here, Use Specific Offset Type*
B = Offset Type
0 = Default
8 = Offset from Pointer
C = Amount of Times to Find until Pointer Set8 = Offset from Pointer
Y = Amount of Bytes to Search
1 = 1 Byte
2 = 2 Bytes
and so on...
X = Bytes to Search, use Multiple Lines if Needed2 = 2 Bytes
and so on...
Example:
80010004 01B00117 - Searches for four bytes of "01B00117" Once using Default Offset
28000010 7FFFFFFF - Standard Write code using the "8" Offset Type (Refer to Code Type 2) and offsets by 0x10

Adjusts the Pointer Offset using numerous Operators
9Y000000 XXXXXXXX
Y = Operator
9Y000000 XXXXXXXX
Y = Operator
0 = Set Pointer to Big Endian value at XXXXXXXX
1 = Set Pointer to Little Endian value at XXXXXXXX
2 = Add X to Pointer
3 = Sub X to Pointer
4 = Set Pointer to the end of file and subtract X
5 = Set Pointer to X
X = Value to set / change1 = Set Pointer to Little Endian value at XXXXXXXX
2 = Add X to Pointer
3 = Sub X to Pointer
4 = Set Pointer to the end of file and subtract X
5 = Set Pointer to X
Writes a specified amount of Bytes to a specific Address
ABYYYYYY XXXXXXXX
ZZZZZZZZ ZZZZZZZZ
B = Offset Type
X = Amount of Bytes to Write
Z = Bytes to Write, use Multiple Lines if Needed
Example:
A0004510 00000010
11223344 55667788
99AABBCC DDEEFF00
A0004510 0000000F - Writes to this Address
11223344 55667788
99AABBCC DDEEFF00
A0004510 0000000F - Writes this many Bytes
11223344 55667788 - Bytes to Write (1)
99AABBCC DDEEFF00 - Bytes to Write (2)
ABYYYYYY XXXXXXXX
ZZZZZZZZ ZZZZZZZZ
B = Offset Type
0 = Normal
8 = Offset from Pointer
Y = Writes to this Address8 = Offset from Pointer
X = Amount of Bytes to Write
Z = Bytes to Write, use Multiple Lines if Needed
Example:
A0004510 00000010
11223344 55667788
99AABBCC DDEEFF00
A0004510 0000000F - Writes to this Address
11223344 55667788
99AABBCC DDEEFF00
A0004510 0000000F - Writes this many Bytes
11223344 55667788 - Bytes to Write (1)
99AABBCC DDEEFF00 - Bytes to Write (2)

Searches Backwards for a specified Value and saves the Value's Address as the Pointer Offset
Will start from the end of the save file, but can be changed using a previous Pointer Offset
BBCCYYYY XXXXXXXX
*Other Code Here, Use Specific Offset Type*
B = Offset Type
Y = Amount of Bytes to Search
Will start from the end of the save file, but can be changed using a previous Pointer Offset
BBCCYYYY XXXXXXXX
*Other Code Here, Use Specific Offset Type*
B = Offset Type
0 = Default
8 = Offset from Pointer
C = Amount of Times to Find until Pointer Set8 = Offset from Pointer
Y = Amount of Bytes to Search
1 = 1 Byte
2 = 2 Bytes
and so on...
X = Bytes to Search, use Multiple Lines if Needed2 = 2 Bytes
and so on...
Searches for a Value from a specified Address and saves the new Value's Address as the Pointer Offset
Rather than searching for Bytes already given such as code types 8 and B, this code will instead search using the bytes at a specific Address
CBFFYYYY XXXXXXXX
*Other Code Here, Use Specific Offset Type*
B = Offset Type
Y = Amount of Bytes to Search from Address
Rather than searching for Bytes already given such as code types 8 and B, this code will instead search using the bytes at a specific Address
CBFFYYYY XXXXXXXX
*Other Code Here, Use Specific Offset Type*
B = Offset Type
0 = Search Forwards from Address Given
4 = Search from 0x0 to Address Given
8 = Offset from Pointer; Search Forwards from Address Given
C = Offset from Pointer; Search from 0x0 to Address Given
F = Amount of Times to Find until Pointer Set4 = Search from 0x0 to Address Given
8 = Offset from Pointer; Search Forwards from Address Given
C = Offset from Pointer; Search from 0x0 to Address Given
Y = Amount of Bytes to Search from Address
1 = 1 Byte
2 = 2 Bytes
and so on...
X = Address of Bytes to Search with2 = 2 Bytes
and so on...
Test a specific Address using an Operation; skips the following code lines if Operation fails
DBYYYYYY CCDDXXXX
B = Offset Type
C = Lines of code to skip if test fails
D = Test Operation
DBYYYYYY CCDDXXXX
B = Offset Type
0 = Normal
8 = Offset from Pointer
Y = Address to test8 = Offset from Pointer
C = Lines of code to skip if test fails
D = Test Operation
0 = Equal
1 = Not Equal
2 = Greater Than (Value at the Address is greater than the tested value)
3 = Less Than (Value at the Address is less than the tested value)
X = Value to test1 = Not Equal
2 = Greater Than (Value at the Address is greater than the tested value)
3 = Less Than (Value at the Address is less than the tested value)
Last edited: