THREAD: Save Wizard Custom Quick Code Formats
  1. 09-20-2017, 10:25 PM
    Dynamite's Avatar
    Dynamite
    Vault dweller
    Dynamite's Avatar
    Dynamite
    Vault dweller
    258
    Posts
    13,133
    Reputation
    Nov 2012
    NextGenUpdate
    Newer Version Here: You must login or register to view this content. I WILL NO LONGER BE UPDATING THIS THREAD

    Notes:
    Spoiler:
    Because the majority of PS4 saves use Little Endian, Save Wizard will automatically swap the values for those specific games. Therefore, writing "000039FE" in a code will post as "FE390000". This is true for all codes except for the Search Value in the Pointer Codes (Code Types 8/B/C) and the Bytes Written in the Mass Write Code (Code Type A). These values will be pasted exactly how they're written in the code.

    I prefer to use Bytes instead of Bits but for a quick translation:
    8-bits = 1 Byte, 16-bits = 2 Bytes, 32-bits = 4 Bytes.
    I also know some veterans like to use bitwise operators when writing codes but I'm not here to confuse anyone so I'm not going to do that :P

    These are not all of the codes 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 community! (There are way too many to name and if I start I know I'll forget some)

    Code Type 0: Standard 8-bit (1 Byte) Write:
    Spoiler:
    0BYYYYYY 000000XX

    B = Offset Type
    ​0 = Default
    8 = Offset from Pointer

    Y = Address
    X = Bytes to Write

    Example:

    00000456 00000063

    00000456 00000063 - Normal Offset
    00000456 00000063 - Writes to this Address
    00000456 00000063 - Writes these Bytes

    You must login or register to view this content.

    Code Type 1: Standard 16-bit (2 Byte) Write:
    Spoiler:
    1BYYYYYY 0000XXXX

    B = Offset Type
    0 = Default
    8 = Offset from Pointer

    Y = Address
    X = Bytes to Write

    Example:

    10001E24 000003E7

    10001E24 000003E7 - Normal Offset
    10001E24 000003E7 - Writes to this Address
    10001E24 000003E7- Writes these Bytes

    You must login or register to view this content.

    Code Type 2: Standard 32-bit (4 Byte) Write:
    Spoiler:
    2BYYYYYY XXXXXXXX

    B = Offset Type
    0 = Default
    8 = Offset from Pointer

    Y = Address
    X = Bytes to Write

    Example:

    20000250 3B9AC9FF

    20000250 3B9AC9FF - Normal Offset
    20000250 3B9AC9FF - Writes to this Address
    20000250 3B9AC9FF - Writes these Bytes

    You must login or register to view this content.

    Code Type 3: Increase / Decrease Code:
    Spoiler:
    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 = Address
    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:
    You must login or register to view this content.
    After:
    You must login or register to view this content.

    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.

    Code Type 4: Multi-Write Code (Repeater):
    Spoiler:
    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 = Address
    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

    You must login or register to view this content.

    Code Type 5: Copy and Paste Code:
    Spoiler:
    5BYYYYYY XXXXXXXX
    5BZZZZZZ 00000000

    B = Offset Type
    0 = Default
    8 = Offset from Pointer

    Y = Address to Copy Bytes
    X = Amount of Bytes to Copy
    1 = 1 Bytes
    2 = 2 Bytes
    So on...

    Z = Address to Paste Bytes

    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

    You must login or register to view this content.

    Code Type 7: No More / No Less than Code:
    Spoiler:
    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 = Address
    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 code.

    Code Type 8: Forward Byte Search (Set Pointer):
    Spoiler:
    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 Set
    Y = Amount of Bytes to Search
    1 = 1 Byte
    2 = 2 Bytes
    and so on...

    X = Bytes to Search, use Multiple Lines if Needed

    Example:

    80010002 01B00117 - Searches for two 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

    You must login or register to view this content.

    Code Type 9: Pointer Manipulator:
    Spoiler:
    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 / change

    This code is commonly used to offset the Pointer after a search or before a write.

    Code Type A: Mass Write Code:
    Spoiler:
    ABYYYYYY XXXXXXXX
    ZZZZZZZZ ZZZZZZZZ

    B = Offset Type
    0 = Normal
    8 = Offset from Pointer

    Y = Writes to this Address
    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)

    You must login or register to view this content.

    Code Type B: Backward Byte Search (Set Pointer):
    Spoiler:
    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 Set
    Y = Amount of Bytes to Search
    1 = 1 Byte
    2 = 2 Bytes
    and so on...

    X = Bytes to Search, use Multiple Lines if Needed

    This code works exactly the same as Code Type 8, however it instead searches backwards from the end of the file (or pointer)

    Code Type C: Offset Byte Search (Set Pointer):
    Spoiler:
    CBFFYYYY XXXXXXXX
    *Other Code Here, Use Specific Offset Type*

    B = Offset Type
    0 = Search Forwards from Address Given
    4 = Search Backwards from Address Given
    8 = Offset from Pointer; Search Forwards from Address Given
    C = Offset from Pointer; Search Backwards from Address Given

    F = Amount of Times to Find until Pointer Set
    Y = Amount of Bytes to Search from Address
    1 = 1 Byte
    2 = 2 Bytes
    and so on...

    X = Address of Bytes to Search with

    Rather than searching for bytes already given such as codes 8 and B, this code will instead search using the bytes at a specific Address.
    Last edited by Dynamite ; 01-17-2021 at 09:31 AM. Reason: Added Increase/Decrease Code, Pointer Manipulator, and Pointer Command 2

  2. The Following 88 Users Say Thank You to Dynamite For This Useful Post:

    , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , See more...

  3. 09-21-2017, 01:59 AM
    MrLibido's Avatar
    MrLibido
    Do a barrel roll!
    MrLibido's Avatar
    MrLibido
    Do a barrel roll!
    133
    Posts
    5,823
    Reputation
    Apr 2017
    NextGenUpdate
    This is perfect, thank you and very detailed too with pic and colored code, i it possible to write codes to the left instead to the right?

    Value i want to modify is 90 lenght from search result, do i need to use negative value instead? Like -90 or something FF FF FF 70


    4A000000 7F7F7F7F
    4002FFFFFF70 ? 00000000 Loes

    Thanks
  4. The Following User Thanked MrLibido For This Useful Post:


  5. 09-21-2017, 02:36 AM
    Dynamite's Avatar
    Dynamite
    Vault dweller
    Dynamite's Avatar
    Dynamite
    Vault dweller
    258
    Posts
    13,133
    Reputation
    Nov 2012
    NextGenUpdate
    Originally Posted by engagex View Post
    This is perfect, thank you and very detailed too with pic and colored code, i it possible to write codes to the left instead to the right?

    Value i want to modify is 90 lenght from search result, do i need to use negative value instead? Like -90 or something FF FF FF 70


    4A000000 7F7F7F7F
    4002FFFFFF70 ? 00000000 Loes

    Thanks


    I'm actually not sure - I tried looking for a way but couldn't find one. My guess is that it only supports positive values for the offsets.
  6. 09-21-2017, 03:03 AM
    MrLibido's Avatar
    MrLibido
    Do a barrel roll!
    MrLibido's Avatar
    MrLibido
    Do a barrel roll!
    133
    Posts
    5,823
    Reputation
    Apr 2017
    NextGenUpdate
    Originally Posted by 7429 View Post
    I'm actually not sure - I tried looking for a way but couldn't find one. My guess is that it only supports positive values for the offsets.


    Thanks, hopefully sw team reveal it secret sauce if it's possible
  7. 09-21-2017, 04:01 AM
    Dynamite's Avatar
    Dynamite
    Vault dweller
    Dynamite's Avatar
    Dynamite
    Vault dweller
    258
    Posts
    13,133
    Reputation
    Nov 2012
    NextGenUpdate
    Added Copy Bytes Format and Fill Format Smile
  8. 09-21-2017, 05:38 AM
    SkillerCMP's Avatar
    SkillerCMP
    Do a barrel roll!
    SkillerCMP's Avatar
    SkillerCMP
    Do a barrel roll!
    129
    Posts
    1,887
    Reputation
    Mar 2011
    NextGenUpdate
    Some of your formats are off this is from a post i pout on GG way back

    what is ( Auto Swaps) the ps4 SW/SE seem to have some code types setup to Auto swap so the code types are readable example 9999 is 270F but when u look in advanced mode it will show as 0F27 so your Quick code would not use the value 0F27 it use 270F, then there are ones that dont swap like the search u put values in them ones as seen in Advanced mode

    Code Types

    0TXXXXXX 000000YY = 8Bit Write
    1TXXXXXX 0000YYYY = 16Bit Write ( Auto Swaps)
    2TXXXXXX YYYYYYYY = 32Bit Write ( Auto Swaps)

    X= Address/Offset
    Y= Value to write
    T=Address/Offset type (0 = Normal / 8 = Offset From Pointer

    Multi Write ( Auto Swaps)
    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
    1 / 9 = 16bit
    2 / A = 32bit

    Search Type
    8ZZZXXXX YYYYYYYY

    Z= Amount of times to find before Write
    X= Amount of data to Match
    Y= Seach For (note can be xtended for more just continue it like YYYYYYYY YYYYYYYY under it)
    Once u have your Seach type done then place one of the standerd code types under it with setting T to the Pointer type

    Fill Type
    ATXXXXXX 0000YYYY
    VVVVVVVV VVVVVVVV

    T = type 0 = Normal Address 8 = Pointer Style
    X = Address/Offset
    Y = Amount to Fill
    V = Value to write note this is not in reversed format Note that this can extend how ever long your code is

    A0000000 0000000C
    99999999 99999999
    99999999 00000000
    would write 99 From 00 to 0B
    Last edited by SkillerCMP ; 09-21-2017 at 05:43 AM.

  9. The Following 3 Users Say Thank You to SkillerCMP For This Useful Post:

    , ,

  10. 09-21-2017, 06:11 AM
    Dynamite's Avatar
    Dynamite
    Vault dweller
    Dynamite's Avatar
    Dynamite
    Vault dweller
    258
    Posts
    13,133
    Reputation
    Nov 2012
    NextGenUpdate
    Originally Posted by SkillerCMP View Post
    Some of your formats are off this is from a post i pout on GG way back

    what is ( Auto Swaps) the ps4 SW/SE seem to have some code types setup to Auto swap so the code types are readable example 9999 is 270F but when u look in advanced mode it will show as 0F27 so your Quick code would not use the value 0F27 it use 270F, then there are ones that dont swap like the search u put values in them ones as seen in Advanced mode

    Code Types

    0TXXXXXX 000000YY = 8Bit Write
    1TXXXXXX 0000YYYY = 16Bit Write ( Auto Swaps)
    2TXXXXXX YYYYYYYY = 32Bit Write ( Auto Swaps)

    X= Address/Offset
    Y= Value to write
    T=Address/Offset type (0 = Normal / 8 = Offset From Pointer

    Multi Write ( Auto Swaps)
    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
    1 / 9 = 16bit
    2 / A = 32bit

    Search Type
    8ZZZXXXX YYYYYYYY

    Z= Amount of times to find before Write
    X= Amount of data to Match
    Y= Seach For (note can be xtended for more just continue it like YYYYYYYY YYYYYYYY under it)
    Once u have your Seach type done then place one of the standerd code types under it with setting T to the Pointer type

    Fill Type
    ATXXXXXX 0000YYYY
    VVVVVVVV VVVVVVVV

    T = type 0 = Normal Address 8 = Pointer Style
    X = Address/Offset
    Y = Amount to Fill
    V = Value to write note this is not in reversed format Note that this can extend how ever long your code is

    A0000000 0000000C
    99999999 99999999
    99999999 00000000
    would write 99 From 00 to 0B


    That's due to most PS4 saves being in big endian. If you wanted a value to be 9999 it would still be 270F for the quick code though.

    I see what you mean about the Seach code though, I tried to mention it but using "FFFF" as an example probably isn't the best thing to do lol. I'll edit it once I get back on my computer Smile
    Last edited by Dynamite ; 09-21-2017 at 06:25 AM.

  11. 09-21-2017, 06:39 AM
    22
    Posts
    50
    Reputation
    Sep 2017
    NextGenUpdate
    Thank you very much for the detailed tutorial. I will use it to understand what the quickcodes I use actually do and maybe to alter them (like instead of getting max xp, just getting 10k more or stuff like this)
  12. 09-25-2017, 02:33 PM
    SkillerCMP's Avatar
    SkillerCMP
    Do a barrel roll!
    SkillerCMP's Avatar
    SkillerCMP
    Do a barrel roll!
    129
    Posts
    1,887
    Reputation
    Mar 2011
    NextGenUpdate
    Originally Posted by 7429 View Post
    That's due to most PS4 saves being in big endian. If you wanted a value to be 9999 it would still be 270F for the quick code though.

    I see what you mean about the Seach code though, I tried to mention it but using "FFFF" as an example probably isn't the best thing to do lol. I'll edit it once I get back on my computer Smile


    i left the endian information out because it will just confuse people . reality SW code types auto swap between the 2 so you can write your codes how you would see them in a calculator

    i would not be me if i was to fill your head with wrong information Winky Winky

    Also code types for every Generation have always used Bit not Byte . so might be better to keep using the same language.
    Last edited by SkillerCMP ; 09-25-2017 at 02:41 PM.

  13. The Following 2 Users Say Thank You to SkillerCMP For This Useful Post:

    ,

  14. 09-25-2017, 04:10 PM
    Dynamite's Avatar
    Dynamite
    Vault dweller
    Dynamite's Avatar
    Dynamite
    Vault dweller
    258
    Posts
    13,133
    Reputation
    Nov 2012
    NextGenUpdate
    Originally Posted by SkillerCMP View Post
    i left the endian information out because it will just confuse people . reality SW code types auto swap between the 2 so you can write your codes how you would see them in a calculator

    i would not be me if i was to fill your head with wrong information Winky Winky

    Also code types for every Generation have always used Bit not Byte . so might be better to keep using the same language.


    In my eyes, bytes are more accurate when it comes to these codes - I can see what you mean though Smile