Announcement

Collapse
No announcement yet.

PS2: Code Condensing

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • PS2: Code Condensing

    Important: The whole thing would only work if there is constant difference between the codes! In this example the difference is 1


    Example:

    00000000 00000063
    00000001 00000063
    00000002 00000063
    00000003 00000063
    00000004 00000063
    00000005 00000063
    00000006 00000063
    00000007 00000063
    00000008 00000063
    00000009 00000063
    0000000A 00000063
    0000000B 00000063
    0000000C 00000063
    0000000D 00000063
    0000000E 00000063
    0000000F 00000063

    this is our Main - Code which have 16 Lines. But with condensing we can make this much shorter!




    16 Byte Condensing


    Whats happend with our Code if we make a 16 Byte Condensing?(The Code above runs in 8 Bytes. This you can see because of the "0" in front of the Code)?
    The whole code would be halved!

    10000000 00006363
    10000002 00006363
    10000004 00006363
    10000006 00006363
    10000008 00006363
    1000000A 00006363
    1000000C 00006363
    1000000E 00006363

    We see that the first Numbers have changed (0 -> 1). This "1" say that the codes runs now in 16 Bytes!
    1xxxxxxx0000???? (before 0xxxxxx 000000??).

    We also see that difference between all Codes have changed (1 -> 2). One 16 Bytes Line takes over the work of two 8 Bytes Lines! But we have to include the Digit from the lost Line in our 16 Bytes Line (63 -> 6363)

    But we can still condense more lines!




    32 Byte Condensing


    What happend to our 16 Bytes Code if we condense it to a 32 Byte Code?
    It is halved too or quartered if we see our Code in the beginning!

    20000000 63636363
    20000004 63636363
    20000008 63636363
    2000000C 63636363

    We see that the first Numbers have changed (1 -> 2). This "2" say that the codes runs now in 32 Bytes!
    2xxxxxxx???????? (before 1xxxxxx 0000????).

    We also see that difference between all Codes have changed (2 -> 4). One 32 Bytes Line takes over the work of two 16 Bytes Lines! But we have to include the Digit from the lost Line in our 32 Bytes Line (6363 -> 63636363)

    But we can still condense more lines!



    32 Byte Super Condensing


    You would ask how you can condense a Code whichs is already running in 32 bytes......

    40000000 00040001
    63636363 00000000

    How this code is build ?

    40000000 <-it is the first Address but instead of a 2 we have now a 4!

    0004 <- This shows how often 32 bytes is include in this Code!

    0001 <- this shows how many lines are calculate between the difference (At this example every, cause the Difference is 1 in the orginal of the Code!

    63636363 <- Digit / Value

    00000000 <- this is just a kind of verifier... you can use what want (e.g. DEADFACE ^^)

    In variable:

    4aaaaaaa xxxxZZZZ
    bbbbbbbb 00000000

    aaaaaaaa <- the Address which our Code begins
    bbbbbbbb <-Digit we have to choose

    but how we get xxxx and ZZZZ?

    We have to take a Hex/Raw - Calulator e.g. the Windwos - Calculator.

    We count how many Adresses our orginal Code have ---> 16 but we have to convert it in Raw/Hex --->10!
    Now write in your Raw/Hex - calculator... 10 : 4...-----> = 4

    Now our code is:
    40000000 0004ZZZZ
    63636363 00000000

    Now we only have to find "ZZZZ"

    This value indicates how many Lines are jumped over to the next Code. This system only runs with32 Byte. You just choose 2 Codes which stands among themselves. (just use the Addresses)

    20000000
    20000004

    ---> 20000004 - 20000000 = 4

    This we have to divide with 4

    4:4 = 1

    Now our code is complete!

    40000000 00040001
    63636363 00000000

    The same method on another example

    Address 1 -> 20000008 12345678
    Address 2 -> 2000009C 12345678

    we see the Code runs already in 32 Byte

    2000009C - 20000008 = 94 ......----> 94 : 4 = 25 .....

    40000008 00020025
    12345678 00000000

    why 0002?
    Because 32 bytes are 2 times include in this Code

    Note: for this method our first Adress of the Code have to lie on 0, 4 , 8 , C !!! Otherwise you have to take one Adress before the condense Code!

    Example:

    "unlock all the movies"

    Raphael
    003FBF73 00000003

    Talim
    003FBF74 00000003

    Yunsung
    003FBF75 00000003

    Cassandra
    003FBF76 00000003

    Mitsurugi
    003FBF77 00000003

    Taki
    003FBF78 00000003

    Voldo
    003FBF79 00000003

    Nightmare
    003FBF7A 00000003

    Astaroth
    003FBF7B 00000003

    Ivy
    003FBF7C 00000003

    Kilik
    003FBF7D 00000003

    Xiaghua
    003FBF7E 00000003

    Maxi
    003FBF7F 00000003

    Necrid
    003FBF80 00000003

    Heihachi
    003FBF81 00000003

    Sophitia
    003FBF82 00000003

    Seung Mina
    003FBF83 00000003

    Yoshimitsu
    003FBF84 00000003

    Charade
    003FBF85 00000003

    Cervantes
    003FBF86 00000003

    would be

    003FBF73 00000003
    403FBF74 00050001
    03030303 00000000

    we see the first Adress of the Code dont lies on 0 , 4, 8 , C so we just take this line before the condense Code!!
    Current Ongoing Projects :.
    Hacking Turbo Grafx 16 & CD Games and MSX

  • #2
    Is there a tool to un-condense codes? PS2 patch engine won't work with them and I suck at math.

    Comment


    • #3
      download
      https://forum.gamehacking.org/node/69151

      see example
      https://forum.gamehacking.org/node/69153
      lee4 Does Not Accept Codes Requests !
      When lee4 asks a question it does not mean lee4 will look at your game
      *How to create and use SegaCD codes >click here<*
      >)

      Comment


      • #4
        I was talking about a code that was already condensed by someone else, I can't seem to figure everything all out about it. Here is the code below:

        40534CB4 00100005
        00000000 00000000
        40534E08 00040005
        00000000 00000000
        4054B5EC 00100005
        00000000 00000000
        4054B740 00040005
        00000000 00000000

        I thought I had it all un-condensed but I didn't, the codes froze the game up when it originally wouldn't.
        Last edited by 47iscool; 03-25-2014, 02:05:14 AM. Reason: grammer

        Comment


        • #5
          Originally posted by 47iscool View Post
          I was talking about a code that was already condensed by someone else,
          yes I know that

          Originally posted by 47iscool View Post
          I can't seem to figure everything all out about it. Here is the code below:

          40534CB4 00100005
          00000000 00000000
          40534E08 00040005
          00000000 00000000
          4054B5EC 00100005
          00000000 00000000
          4054B740 00040005
          00000000 00000000

          I thought I had it all um-condensed but I didn't, the codes froze the game up when it originally wouldn't.
          condensed code#1
          40534CB4 00100005
          00000000 00000000

          condensed code#2
          40534E08 00040005
          00000000 00000000

          condensed code#3
          4054B5EC 00100005
          00000000 00000000

          condensed code#4
          4054B740 00040005
          00000000 00000000

          Code:
          For example
          
          condensed code#0
          40534CB4 00100005
          00000001 00000000
          
          you will need Windows Calculator in Programer Mode to convert HEX to DEC
          
          in the Condensed .NET app
          
          40534CB4 change to 20534CB4 copy and paste into the "Start Address" text box
          
          HEX 0010 convert to DEC 16 copy and paste into the "Total Lines" text box
          
          0005 Full Word count
          4 Full Word count 1
          8 Full Word count 2
          C Full Word count 3
          10 Full Word count 4
          14 = Full Word count 5
          00000014 copy and paste into the "Address Increment" text box
          
          00000001 copy and paste into the "Start Value" text box
          
          00000000 copy and paste into the "value Increment" text box
          
          then click on the "Create Uncondensed" button
          Last edited by lee4; 03-24-2014, 09:35:23 PM.
          lee4 Does Not Accept Codes Requests !
          When lee4 asks a question it does not mean lee4 will look at your game
          *How to create and use SegaCD codes >click here<*
          >)

          Comment


          • #6
            Thanks lee, if not for your post I would have never figured that out. It would be cool though if you could just paste the condensed code in and it auto-un-condense it.

            Okay hopefully this is the full un-condensed code:

            20534CB4 00000000
            20534CC8 00000000
            20534CDC 00000000
            20534CF0 00000000
            20534D04 00000000
            20534D18 00000000
            20534D2C 00000000
            20534D40 00000000
            20534D54 00000000
            20534D68 00000000
            20534D7C 00000000
            20534D90 00000000
            20534DA4 00000000
            20534DB8 00000000
            20534DCC 00000000
            20534DE0 00000000
            20534E08 00000000
            20534E1C 00000000
            20534E30 00000000
            20534E44 00000000
            2054B5EC 00000000
            2054B600 00000000
            2054B614 00000000
            2054B628 00000000
            2054B63C 00000000
            2054B650 00000000
            2054B664 00000000
            2054B678 00000000
            2054B68C 00000000
            2054B6A0 00000000
            2054B6B4 00000000
            2054B6C8 00000000
            2054B6DC 00000000
            2054B6F0 00000000
            2054B704 00000000
            2054B718 00000000
            2054B740 00000000
            2054B754 00000000
            2054B768 00000000
            2054B77C 00000000
            Last edited by 47iscool; 03-29-2014, 02:56:35 PM.

            Comment


            • #7
              Originally posted by 47iscool View Post
              Thanks lee, if not for your post I would have never figured that out.

              It would be cool though if you could just paste the condensed code in and ii auto-un-condense it.

              Okay hopefully this is the full un-condensed code:
              Its look confusing at first but its simple.

              where is the fun, in that?

              looks fine.
              lee4 Does Not Accept Codes Requests !
              When lee4 asks a question it does not mean lee4 will look at your game
              *How to create and use SegaCD codes >click here<*
              >)

              Comment


              • #8
                Originally posted by lee4 View Post
                Its look confusing at first but its simple.

                where is the fun, in that?

                looks fine.
                Well it was kind of frustrating for me at first as I had 3 other codes to convert, but in the end they all work as they should.

                I made sure I pasted that info you wrote into a text file for future reference. I doubt I'll ever use codetype 4 though you never know, if perhaps sometime in the future I can memorize how everything works I might just use it someday.

                Comment

                Working...
                X