Announcement

Collapse
No announcement yet.

Majestic Porter

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

  • #16
    Er,

    Converted back to decimal, you've got 72 now.
    For anyone else reading, he meant "hexadecimal".
    I may be lazy, but I can...zzzZZZzzzZZZzzzZZZ...

    Comment


    • #17
      So, I've finally gotten around to implementing Game Boy/Game Gear Game Genie to "PAR" decryption (technically, there wasn't a Pro Action Replay for the GB or GG, but it's a fairly common colloquialism for raw memory codes), but I'm curious about GB/GG PAR formatting (I've never hacked for either system). Let me give an example:

      VisitntX hacked a code for invincibility, for The Adventures of Pinocchio, for Game Boy. He also posted the PAR version of the same code. For GG, the code is

      C94-C0E-6E9

      ...and the PAR code is

      0100E7FF
      01003FD9

      When I decrypt the GG code, I get

      14C0 C9 - Check Byte E0


      As another example, we'll use another of VisitntX's codes, for The Addams Family - Pugsley's Scavenger Hunt (Game Boy):

      Invincibility, for GG, is BE9-15C-3BE
      In raw form, it's 012BC7C1
      Decryption of the GG code yields 3915 BE - Check Byte 35

      How do these correlate? What does the "01" at the beginning of most PAR codes represent? I've seen such codes start with 03 as well...
      I may be lazy, but I can...zzzZZZzzzZZZzzzZZZ...

      Comment


      • #18
        The codes he posted are Gameboy Gameshark codes.
        You can't edit RAM with a GBGG code, and you can't edit ROM with a GBGS code.
        They're independant methods of cheating.

        012BC7C1 = (01) (2B) (C7) (C1)

        (01) (2B) (C7) (C1)
        (zz) (VV) (A2) (A1)

        (A1)(A2) = (VV), so
        (C1)(C7) = (2B)

        C1C7 = 2B

        0000-7FFF = GB ROM
        8000-8FFF = VRAM
        A000-BFFF = SRAM
        C000-DFFF = WRAM
        E000-FDFF = Mirror of WRAM
        FF80-FFFF = HRAM

        I don't know if SRAM can be edited with GS codes, but I believe both WRAM and HRAM can be.

        (zz) apparently had no purpose built into it, and never got one, so it could be any value, but should be 01 if encoding.
        This reality is mine. Go hallucinate your own.

        Comment


        • #19
          Ah, I didn't realize those were GS codes. And ack, I don't know what I was thinking assuming I was decrypting GG codes to RAM addresses/values...when GG affects ROM. Heh, thanks.
          I may be lazy, but I can...zzzZZZzzzZZZzzzZZZ...

          Comment


          • #20
            I'm still slowly piecing together the GG encryption/decryption routines, a few minutes at a time. After these are finished and the corresponding version is released, I'll implement similar utilities for other systems...
            I may be lazy, but I can...zzzZZZzzzZZZzzzZZZ...

            Comment


            • #21
              anyone got a solution for a better convert of 5000 codes than the slide code ? oO
              just wondering.

              Comment


              • #22
                If you need 5000 codes to perform the edit you want, you should really just get a rom-hack code that performs the desired effect. If it's something like an image replacement, you should just make an ISO of the thing, hack the effect in, and emulate it a few times until you're tired of it.
                This reality is mine. Go hallucinate your own.

                Comment


                • #23
                  thats looks to me a bit to complicated for just condensing some codes oO
                  besides,sometimes the slide code does work for me (especially when i have modified the code asgain),but there are also some which are not compatible :/

                  Comment


                  • #24
                    5000 is a freaking ton of codes. If you just need to do something repeditively, like inventory codes, it's usually easier to make a program routine to do it for you, then plug it in somewhere in the program. I've done stuff like that for SNES and N64, where it's 1022 PAR codes to do, or sometimes even impossible to achieve without adding programming to the game.

                    If you actually had 5000 codes worth of slide codes to enter, you'd have a minimum of 20 sets of slide code entries you'd need to run, assuming the slide codes can do 255 codes, and all the codes fit the slide code rules. You'd also definately not be able to run all 5000 at the same time, so that means start-save-reset a minimum of 10 times if the cheat device doesn't die with 2 slide codes going at the same time.
                    This reality is mine. Go hallucinate your own.

                    Comment


                    • #25
                      oh wait a sec.i guess you did get me wrong.i mean those 5000er codetypes,those which condense several codes into two lines... oO

                      5000 XXXX YYYY
                      AACCCCCC BBBB

                      Comment


                      • #26
                        any new cool news about this project?

                        Comment


                        • #27
                          Sort of, as I've actually started playing with this a little again. I've improved a lot of my code, and I've gotten a little further in implementing all the Game Genie encryption/decryption schemes (GameBoy/GameGear, NES, SNES, Genesis, though only GameBoy/GameGear is finished). Next, I'll be adding PSX XPloder encryption (since I only added decryption so far), N64 XPloder encryption/decryption, and all the PS2 cheat system encryption/decryption schemes.

                          After that, I'm not really sure what I'll do. Any suggestions?
                          I may be lazy, but I can...zzzZZZzzzZZZzzzZZZ...

                          Comment


                          • #28
                            sounds good

                            hm,when you have enough time,you can try a full encryption of 5000'er codes (PSX) or at least implent the slide code encryption.

                            you can also try to implent a ..erm..a hacking device for hacking different emulators in order to create new codes or some sort of ps2dis.just my few thoughts ^^"

                            Comment


                            • #29
                              I'm having a bit of an issue performing an NES GG to ROM address/value conversion...though, perhaps I'm just dead tired. Per UGGCONV's manual:

                              The NES codes come in two forms: XXX-XXX and XXXX-XXXX. Both forms encode a 15-bit address (not 16-bit, the high bit should always be set) and an 8-bit value. The long form also includes a check byte.
                              The code digits are hex digits enciphered with a substitution cipher. The key is as follows:


                              code: A P Z L G I T Y E O X U K S V N
                              hex: 0 1 2 3 4 5 6 7 8 9 A B C D E F


                              Convert the hex values to binary (pad to four bits) and run the binary string though a transposition cipher to decode.
                              The transposition cipher for the six character codes is:


                              code: ABCD EFGH IJKL MNOP QRST UVWX
                              clear: INOP QVWX EJKL MRST AFGH UBCD


                              The transposition cipher for the eight character codes is:

                              code: ABCD EFGH IJKL MNOP QRST UVWX abcd efgh
                              clear: INOP QVWX EJKL MRST AFGH eBCD afgh Ubcd


                              The first two bytes are the address, the next bytes is the value and the final byte (in the eight character code) is the check byte. The decoded forms are AAAA:VV and AAAA:VV:CC respectively.
                              ________________________________________________


                              As a test, let's perform a conversion following the instructions above:

                              Game Genie code - AKE-LVS

                              A = 0000
                              K = 1100
                              E = 1000
                              L = 0011
                              V = 1110
                              S = 1101

                              All together: 0000 1100 1000 0011 1110 1101

                              Code: ABCD EFGH IJKL MNOP QRST UVWX = 0000 1100 1000 0011 1110 1101
                              Clear: INOP QVWX EJKL MRST AFGH UBCD = 1011 1101 1000 0110 0100 1000

                              1011 1101 1000 0110 0100 1000 = BD86 48

                              However, when we convert the above GG code to a ROM address/value with UGGCONV, we get 3D86 48.

                              Anyone have an idea why?
                              I may be lazy, but I can...zzzZZZzzzZZZzzzZZZ...

                              Comment


                              • #30
                                Well as you said

                                Both forms encode a 15-bit address (not 16-bit, the high bit should always be set)
                                NES has RAM in the region 0-7fff, and ROM 8000-FFFF therefore all ROM cheats are in the range 8000-FFFF.

                                If you put in BD86 48 and 3D86 48 into the standard "Game Genie Code Converter" you will see that both generate AKE-LVS, the MSB of the address is simply ignored as the GG hardware hardwires the MSB to high to ensure the address is in the range 8000-FFFF
                                Last edited by Pugsy; 05-07-2008, 06:56:25 PM.
                                Pugsy's MAME Cheat Page : http://mamecheat.co.uk

                                Comment

                                Working...
                                X