Gaming Gateway Cheats

  • Thread starter Thread starter blinkzane
  • Start date Start date
  • Views Views 4,766,427
  • Replies Replies 5,000
  • Likes Likes 16
Status
Not open for further replies.
Honestly though... I haven't been able to get any of the key triggers to work on my 3ds at all. So the code I posted above doesn't work as intended.

EDIT: figured out why and fixed the post. I was trying to use DC, but that changes the offset. Does anybody know how I can write the code to ADD to what is already there? Using the data register codes somehow, maybe?

Edit2: Figured it out by looking at someone else's code for the EU version.
 
Last edited by urherenow,
I have my sources, yes. N3DS or O3DS?



Pish posh :P with my code, 255 is the maximum you can get anyways :

But here you go. Decided to only use one button combo, though. ;)

[N3DS set practice plays to 1 L+R]
DD000000 00000300
D3000000 36825FDC
20000000 00000001
D0000000 00000000

[N3DS set real plays to 1 L + R]
DD000000 00000300
D3000000 3646BECC
20000000 00000001
D0000000 00000000

[O3DS set practice plays to 1 L + R]
DD000000 00000300
D3000000 32C25FDC
20000000 00000001
D0000000 00000000

[O3DS set real plays to 1 L + R]
DD000000 00000140
D3000000 3286BECC
20000000 00000001
D0000000 00000000
hey are these codes for The Legend of Zelda Triforce heroes or for what because I did try it and 3ds didn't freeze but the code not work !
 
I Said N3ds only buttons... ZL, ZR, CStick Up/Right/Down/Left.

--------------------- MERGED ---------------------------


I Am most likely mistaken but does that mean you could make...
[Press Down+R for 1 Free Play]
DD000000 00000180 //Sets Keys to R+Down
DC000000 20000000 //Sets Of set to 2
3646744C 00000001 //Changes value of the address to 1
Am i wrong or would it work like this too?
no... DC adds a value. D3 sets an offset. The 3 in your third line isn't valid.

EDIT: I had it all wrong, I guess. DC doesn't add anything to the offset, it changes the offset (by whatever you tell it to add). I wish there was a way to simply add to a value that was already there...
 
Last edited by urherenow,
no... DC adds a value. D3 sets an offset. The 3 in your third line isn't valid.

EDIT: I had it all wrong, I guess. DC doesn't add anything to the offset, it changes the offset. I wish there was a way to simply add to a value that was already there...
Im confused is it right or wrong? btw ill be back in like an hour lol thx for the help. Please continue to answer lol
 
Im confused is it right or wrong? btw ill be back in like an hour lol thx for the help. Please continue to answer lol
I said, read the text file that comes with the gateway files. It tells you everything. What you did was wrong. Say you wanted to set it to 5 free plays at address 3646744C:

[Press Down+R for 5 Free Plays]
DD000000 00000180 //Sets Keys to R+Down
D3000000 30000000 //Sets offset to 30000000
2646744C 00000005 //Changes value of the address to 5, the first 2 tells the gateway to only write an 8bit value 646744C + offset (30000000) gives you the address 3646744C

a 3 in that first number tells GW to look for a condition. From the text file that you should look at:

Conditional 32bit codes:
3XXXXXXX YYYYYYYY - Greater Than (YYYYYYYY > [XXXXXXX + offset])
 
Last edited by urherenow,
I said, read the text file that comes with the gateway files. It tells you everything. What you did was wrong. Say you wanted to set it to 5 free plays at address 3646744C:

[Press Down+R for 5 Free Plays]
DD000000 00000180 //Sets Keys to R+Down
D3000000 30000000 //Sets offset to 30000000
2646744C 00000005 //Changes value of the address to 5, the first 2 tells the gateway to only write an 8bit value 646744C + offset (30000000) gives you the address 3646744C

a 3 in that first number tells GW to look for a condition. From the text file that you should look at:

Conditional 32bit codes:
3XXXXXXX YYYYYYYY - Greater Than (YYYYYYYY > [XXXXXXX + offset])
So...
DD000000 00000180 //sets keys
D3000000 30000000 //sets offset
2646744C 00000005 //Changes value & 2 Is to tell GW that it is an 8 bit code. (Does it make it so the max is 99?)
Adds 3 to adress to make full adress but stil leave a spot for a 0, 2 for 8 bit or 3 for condition?
 
So...
DD000000 00000180 //sets keys
D3000000 30000000 //sets offset
2646744C 00000005 //Changes value & 2 Is to tell GW that it is an 8 bit code. (Does it make it so the max is 99?)
Adds 3 to adress to make full adress but stil leave a spot for a 0, 2 for 8 bit or 3 for condition?
Almost. You must remember that the numbers are in HEX (base 16, not base 10), so the max is FF, which is 255 (for an 8 bit write.). Also there are a lot of things that first number can be. READ THE TEXT FILE. Screw it. I'll paste it here:

CHEAT CODE FORMAT
=================

The GATEWAY 3DS cheatcode format is based on the old ActionReplay DS
code format, the one you all know and love! We added some code types
for your convenience as well!

The following code types are supported:

NOTE: default value of offset and data registers is zero.

Memory Writes:
0XXXXXXX YYYYYYYY - 32bit write to [XXXXXXX + offset]
1XXXXXXX 0000YYYY - 16bit write to [XXXXXXX + offset]
2XXXXXXX 000000YY - 8bit write to [XXXXXXX + offset]

Conditional 32bit codes:
3XXXXXXX YYYYYYYY - Greater Than (YYYYYYYY > [XXXXXXX + offset])
4XXXXXXX YYYYYYYY - Less Than (YYYYYYYY < [XXXXXXX + offset])
5XXXXXXX YYYYYYYY - Equal To (YYYYYYYY == [XXXXXXX + offset])
6XXXXXXX YYYYYYYY - Not Equal To (YYYYYYYY != [XXXXXXX + offset])

Conditional 16bit deref + write codes:
7XXXXXXX ZZZZYYYY - Greater Than
8XXXXXXX ZZZZYYYY - Less Than
9XXXXXXX ZZZZYYYY - Equal To
AXXXXXXX ZZZZYYYY - Not Equal To

Offset Codes:
BXXXXXXX 00000000 - offset = *(xxx)
D3000000 XXXXXXXX - set offset to immediate value
DC000000 XXXXXXXX - Adds an value to the current offset

Loop Code:
C0000000 YYYYYYYY - Sets the repeat value to 'YYYYYYYY'
D1000000 00000000 - Loop execute
D0000000 00000000 - Terminator code

Data Register Codes:
D4000000 XXXXXXXX - Adds XXXXXXXX to the data register
D5000000 XXXXXXXX - Sets the data register to XXXXXXXX
D6000000 XXXXXXXX - (32bit) [XXXXXXXX+offset] = data ; offset += 4
D7000000 XXXXXXXX - (16bit) [XXXXXXXX+offset] = data & 0xffff ; offset += 2
D8000000 XXXXXXXX - (8bit) [XXXXXXXX+offset] = data & 0xff ; offset++
D9000000 XXXXXXXX - (32bit) sets data to [XXXXXXXX+offset]
DA000000 XXXXXXXX - (16bit) sets data to [XXXXXXXX+offset] & 0xffff
DB000000 XXXXXXXX - (8bit) sets data to [XXXXXXXX+offset] & 0xff

Special Codes:
DD000000 XXXXXXXX - if KEYPAD has value XXXXXXXX execute next block
 
Last edited by urherenow,
hey are these codes for The Legend of Zelda Triforce heroes or for what because I did try it and 3ds didn't freeze but the code not work !

Badge Arcade

So...
DD000000 00000180 //sets keys
D3000000 30000000 //sets offset
2646744C 00000005 //Changes value & 2 Is to tell GW that it is an 8 bit code. (Does it make it so the max is 99?)
Adds 3 to adress to make full adress but stil leave a spot for a 0, 2 for 8 bit or 3 for condition?

Max for an 8 bit value is FF which equals 255
The first digit is always a code identifier, it can never be an address. But since an address can be 8 digits long and the first digit is used we are using a new code type (D3) to properly complete the address.
 
Badge Arcade



Max for an 8 bit value is FF which equals 255
The first digit is always a code identifier, it can never be an address. But since an address can be 8 digits long and the first digit is used we are using a new code type (D3) to properly complete the address.
And I just went back and saw your badge codes, which taught me how to add a value (I was stupid, trying to use DC...)

Thank you!
 
Almost. You must remember that the numbers are in HEX (base 16, not base 10), so the max is FF, which is 255 (for an 8 bit write.).
Here i refrase that ok, 8 bit is 01, 1 to FF, 225. Does that make what i said correct? also i dont understand why i need to put a 2 or 3? i dont understand why it needs to be there i've been using 0... then again ive only made very simple codes... btw do you like the NSMB2 codes... any issues?
 
Here i refrase that ok, 8 bit is 01, 1 to FF, 225. Does that make what i said correct? also i dont understand why i need to put a 2 or 3? i dont understand why it needs to be there i've been using 0... then again ive only made very simple codes... btw do you like the NSMB2 codes... any issues?

An 8 bit write writes one single byte (code type 2), a 16bit write two bytes (code type 1), a 32 but write four bytes (code type 0).
If you do a 32bit write on a value that the game has defined/is using as an 8bit value you are modifying three additional adjacent bits. Best case, nothing happens as the three bit were garbage. Worst case, the device freezes, crashes etc. That's why it is important to only write as little bytes as necessary, that's what we need the different write types for.
 
Here i refrase that ok, 8 bit is 01, 1 to FF, 225. Does that make what i said correct? also i dont understand why i need to put a 2 or 3? i dont understand why it needs to be there i've been using 0... then again ive only made very simple codes... btw do you like the NSMB2 codes... any issues?
It's about 2 hours past my bedtime and you're starting to get a under my skin. I even posted the whole text file (that you should have already read) in a spoiler a couple of posts up. Please read it.

Memory Writes:
0XXXXXXX YYYYYYYY - 32bit write to [XXXXXXX + offset]

Your codes are fine until you do that to a game with consecutive memory spots for items (for example). You try to give yourself 5 of one item, and wonder why you took away the 3 items that were next to it (because instead of 05 being written to memory, you actually just wrote 00000005. That's the problem with it.
 
It's about 2 hours past my bedtime and you're starting to get a under my skin. I even posted the whole text file (that you should have already read) in a spoiler a couple of posts up. Please read it.

Memory Writes:
0XXXXXXX YYYYYYYY - 32bit write to [XXXXXXX + offset]

Your codes are fine until you do that to a game with consecutive memory spots for items (for example). You try to give yourself 5 of one item, and wonder why you took away the 3 items that were next to it (because instead of 05 being written to memory, you actually just wrote 00000005. That's the problem with it.
Ok sorry that I annoyed you and thank you very much i understand now.
 
yes, both uses the same address

Thanks!

But how do I find out what the right offset is. For Example the NTR cheat plugin for Xenoblade Chronicles has a cheat for increasing the running speed. So how can I find that specific cheat when I open the cheat.plg with an Hex Editor?
 
Thanks!

But how do I find out what the right offset is. For Example the NTR cheat plugin for Xenoblade Chronicles has a cheat for increasing the running speed. So how can I find that specific cheat when I open the cheat.plg with an Hex Editor?
If you manage to get some Xenoblade 3D codes working, could you share them??
 
Thanks!

But how do I find out what the right offset is. For Example the NTR cheat plugin for Xenoblade Chronicles has a cheat for increasing the running speed. So how can I find that specific cheat when I open the cheat.plg with an Hex Editor?
no, there is no way to convert cheat plg to gw cheat, thought you meant ntr cheat address to gw cheat address
 
Please read the readme that is in the Gateway zip file. It explains pretty clearly what the numbers mean. D3000000 xxxxxxxx is telling it to set the current offset to xxxxxxxx. This is needed because the first digit must be available for other things (like 2, 1, or 0 for 8 bit, 16bit, or 32bit write. Here's what I just made for badge arcade (which is only slightly diferent from what others have posted already here, but I did my own search for the addresses and I set the triggers how I wanted them:

[Press Up+L to add 10 Practice Plays]
DD000000 00000240
D3000000 3682155C
DB000000 00000000
D4000000 0000000A
D8000000 00000000
D0000000 00000000
[Press Down+L for 1 Practice Play]
DD000000 00000280
D3000000 3682155C
20000000 00000001
[Press Up+R to add 10 Free Plays]
DD000000 00000140
D3000000 3646744C
DB000000 00000000
D4000000 0000000A
D8000000 00000000
D0000000 00000000
[Press Down+R for 1 Free Play]
DD000000 00000180
D3000000 3646744C
20000000 00000001

Thank you @Localhorst86 for showing me the adding bit :D

cool! for USA version right?
 
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum