If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below. Also, before requesting
codes, note that there is a main site, which may contain what you
are looking for already. Also, if you know what you want, feel free to
search for it directly.
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...
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.
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'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...
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.
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 :/
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.
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?
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 ^^"
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:
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
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
Comment