Page 1 of 2 1 2 Last
  1. #1
    Interesting
    VIP
    Dynamite's Avatar
    Join Date
    Jan 2019
    Posts
    8
    Reputation

    33

    Credits
    3,314

    Save Wizard Custom Quick Code Formats
    Share:

    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.

    > When a Pointer is set using Codes 8, 9, B, or C, the following write codes with the Pointer Offset Type will have the Address in the code offset forwards from the Pointer Address.

    > 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 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


    Code Type 1: Standard 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


    Code Type 2: Standard 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


    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:

    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.

    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


    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


    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:

    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


    Code Type 9: Pointer Manipulator: (Set/Move Pointer)
    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

    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)


    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: Address 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 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 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.

    Code Type D: 2 Byte Test Commands (Code Skipper):
    Spoiler: 
    DBYYYYYY CCDDXXXX

    B = Offset Type
    0 = Normal
    8 = Offset from Pointer
    Y = Address to test
    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 test
    Last edited by Dynamite; August 5th, 2021 at 06:10 PM.

  2. #2
    Known as Vicodin10
    Staff
    Jay's Avatar
    Join Date
    Dec 2018
    Posts
    46
    Reputation

    169

    Credits
    4,475

    Re: Save Wizard Custom Quick Code Formats
    Share:

    I was hoping this would get posted here.
    Now I can replace the link on our Save Wizard Discord with the link to this thread.

    Thanks!!!


    Pinned Thread.
    Info

    Known as Vicodin10


  3. #3

    Re: Save Wizard Custom Quick Code Formats
    Share:

    Seeing how much work you gotta do just to make a quick code is crazy, and I appreciate everybody that does it. I'll love to do this myself, but I don't have the skills or the patience to do it.

  4. #4

    Re: Save Wizard Custom Quick Code Formats
    Share:

    Is it possible to add bytes with quick codes instead of overwrite them?

  5. #5
    Interesting
    VIP
    Dynamite's Avatar
    Join Date
    Jan 2019
    Posts
    8
    Reputation

    33

    Credits
    3,314

    Re: Save Wizard Custom Quick Code Formats
    Share:

    Originally Posted by Devaraja
    Is it possible to add bytes with quick codes instead of overwrite them?
    Unfortunately, no. I know Save Wizard has their own methods that do so but they wouldn't allow common users to do it likely due to the fact it could cause issues for their servers and program.

  6. #6

    Re: Save Wizard Custom Quick Code Formats
    Share:

    I see thank you. Do you know how would I input longer address? for example I want to write 1 byte to this address 10ACDBB

  7. #7
    Interesting
    VIP
    Dynamite's Avatar
    Join Date
    Jan 2019
    Posts
    8
    Reputation

    33

    Credits
    3,314

    Re: Save Wizard Custom Quick Code Formats
    Share:

    Originally Posted by Devaraja
    I see thank you. Do you know how would I input longer address? for example I want to write 1 byte to this address 10ACDBB
    Code type 9 should do the trick.
    I.E. "95000000 010ACDBB"
    And then just make sure you use the pointer offset for the write codes.

    Example:
    95000000 010ACDBB
    08000010 000000FF
    Will write "FF" at 0x10ACDCB

  8. #8

    Re: Save Wizard Custom Quick Code Formats
    Share:

    010ACDBB 000000FF


    and and all (Counts or Pointer types )still allow you to use anything under and above it so example

    Max address you can use is

    07FFFFFF

    Since this would be
    07 if not a pointer
    and 07FFFFFF+08 if a pointer = 0FFFFFFF

    This is the same for 4 type .. and many of the other types .. u get full control of an address up to 0x07FFFFFF
    Last edited by Skiller; February 20th, 2021 at 03:04 AM.

  9. #9

    Re: Save Wizard Custom Quick Code Formats
    Share:

    Good work! This was exactly what I was looking for.

    I have seen that a lot of codes contain "00000000". What does that formatting mean?

  10. #10
    Interesting
    VIP
    Dynamite's Avatar
    Join Date
    Jan 2019
    Posts
    8
    Reputation

    33

    Credits
    3,314

    Re: Save Wizard Custom Quick Code Formats
    Share:

    Originally Posted by AxUU
    Good work! This was exactly what I was looking for.

    I have seen that a lot of codes contain "00000000". What does that formatting mean?
    As in the first half is all 0's or the 2nd half? Could you provide an example?

Page 1 of 2 1 2 Last