Hacking Post your WiiU cheat codes here!

CosmoCortney

i snack raw pasta and chew lollipops
OP
Member
Joined
Apr 18, 2013
Messages
1,768
Trophies
2
Location
on the cool side of the pillow
Website
follow-the-white-rabbit.wtf
XP
3,017
Country
Germany
*((unsigned int*)0x1F601B44)
to clarify the order of operations.
It converts/interprets the hex value to a pointer. Hard to explain. Used the same method to convert a value to an LPCVOID pointer.
So.. (unsigned int*)0x1F601B44 will treat it as a 32-bit pointer. the braces around it with the *-operator treat the whole expression as an effective address.
(correct me if I said anything wrong)
 
Last edited by CosmoCortney,

DarkFlare69

Well-Known Member
Member
Joined
Dec 8, 2014
Messages
5,147
Trophies
2
Location
Chicago
XP
4,750
Country
United States
Does it crash with a beep noise or just hang the system (music still playing or turned off)?
beep noise

The variable i is not updated in the loop so it crashes because it runs endlessly? Also, maybe you want
Code:
*((unsigned int*)0x1F601B44)
to clarify the order of operations.
Yes, I don't want i to be updated. In the comparison, it should only reload the value at the address and compare it to i, which won't change.

To explain it better, 0x1F601B44 is an address that stores the number of frames the game has processed. The game runs at 59FPS. Multiplying 59 by 5 and adding it onto the current value at 0x1F601B44 will return the value that the address will equal in 5 seconds. The loop will load the number just mentioned into variable i, and it won;t update it since starting loop. Then, it will compare the current value at 0x1F601B44 to the value it should be in 5 seconds, and if it's less than, execute the code, because that means 5 seconds haven't passed yet
 

CosmoCortney

i snack raw pasta and chew lollipops
OP
Member
Joined
Apr 18, 2013
Messages
1,768
Trophies
2
Location
on the cool side of the pillow
Website
follow-the-white-rabbit.wtf
XP
3,017
Country
Germany
beep noise


Yes, I don't want i to be updated. In the comparison, it should only reload the value at the address and compare it to i, which won't change.

To explain it better, 0x1F601B44 is an address that stores the number of frames the game has processed. The game runs at 59FPS. Multiplying 59 by 5 and adding it onto the current value at 0x1F601B44 will return the value that the address will equal in 5 seconds. The loop will load the number just mentioned into variable i, and it won;t update it since starting loop. Then, it will compare the current value at 0x1F601B44 to the value it should be in 5 seconds, and if it's less than, execute the code, because that means 5 seconds haven't passed yet

Then use i = i as third argument.
Well, if it crashes with a beep sound it could indeed be the possible issue Bully mentioned.
(If it hung itself without beep noise it could be caused because the process didn't terminate early enough.
I experienced this issue while working on the codehandler)
 
  • Like
Reactions: 0100100001001001

0100100001001001

Well-Known Member
Member
Joined
Mar 11, 2017
Messages
124
Trophies
0
Age
42
XP
121
Country
United States
Then use i = i as third argument.
Well, if it crashes with a beep sound it could indeed be the possible issue Bully mentioned.
(If it hung itself without beep noise it could be caused because the process didn't terminate early enough.
I experienced this issue while working on the codehandler)

Ok, so I know I'm not going to understand your answer, but I would really like to know how you come to the conclusion based on it hanging with or without a buzz. I'm a mechanic and this sort of thing is my forte in hydraulic systems, 12v electrical systems in equipment, and mechanical systems ( engine, transmission ). In those a buzz or a click, or a pop, or silence can tell me a lot, so I'm just curious where it applies here.
 

skoolzout1

Well-Known Member
Member
Joined
Mar 16, 2017
Messages
538
Trophies
0
Location
The Maple Syrup Aisle
XP
953
Country
Canada
There are always built in hardware timer-counters that can count clean intervals of time for you. But holy hell would it probably take a lot of reading to figure out how to set the interrupt handler stuff. Unless someones already made a C++ library for it all.

But other than that, you could eliminate the FOR loop being the issue by using a while loop instead as a test.

Simply initializing i outside of the while loop first should be all that needs to change.
Then use i = i as third argument.
Well, if it crashes with a beep sound it could indeed be the possible issue Bully mentioned.
(If it hung itself without beep noise it could be caused because the process didn't terminate early enough.
I experienced this issue while working on the codehandler)

or i += 0, or i *= 1, or i &= 0xFFFFFFFF, or i |= 0x00000000, or..... i cant think of any others....

ummmmmm.... fun fact, a NOP is just Ori r0,r0,r0

(They both assemble into 0x60000000, cool right?)
 
Last edited by skoolzout1,

CosmoCortney

i snack raw pasta and chew lollipops
OP
Member
Joined
Apr 18, 2013
Messages
1,768
Trophies
2
Location
on the cool side of the pillow
Website
follow-the-white-rabbit.wtf
XP
3,017
Country
Germany
Ok, so I know I'm not going to understand your answer, but I would really like to know how you come to the conclusion based on it hanging with or without a buzz. I'm a mechanic and this sort of thing is my forte in hydraulic systems, 12v electrical systems in equipment, and mechanical systems ( engine, transmission ). In those a buzz or a click, or a pop, or silence can tell me a lot, so I'm just curious where it applies here.
As I started working on the codehandler to be installed with tcpgecko.elf I tried something to pause/unpause the system. The idea was getting the system stuck in an infinite loop which can be exited by user input. This method worked on the Wii and GameCube. But the Wii U decides to never come back to life even I can still read/write from/to memory. Sometimes the system responses and causes a DSI exception. When this happened no beep sound occured. iirc the music was playing still fine.

I experienced similar behaviors of the system when stuck in an infinite loop while messing with some assembly code.
So if DarkFlare's system responded like this his code got possibly stuck in the for-loop.
By telling us it froze with a beep noise the code maybe caused an access violation or the code was messed up somewhere. I can imagine that the missing 3rd argument could have confused the loop in a way that it branched to some non-existing or unrelated code

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

ummmmmm.... fun fact, a NOP is just Ori r0,r0,r0

(They both assemble into 0x60000000, cool right?)
Yep, noticed that by assembling nop and ori r0, r0, 0. Both times the assembled code became 0x60000000 :P
There are many ways to do effectively nothing. replace the ori with oris, and or andis. Or perform an OR instruction where all registers are the same. or branch forward by 4 bytes. add/subtract 0, multiply or divide by 1 :P
 
  • Like
Reactions: 0100100001001001

Don Jon

Well-Known Member
Member
Joined
Nov 20, 2015
Messages
1,057
Trophies
0
Age
38
XP
1,496
Country
United States
what happened to that loading cheat codes by sdcard thinga majigga

2lOsV1TyTtK1KBhdBSRT-Q.png
 
Last edited by Don Jon,

DarkFlare69

Well-Known Member
Member
Joined
Dec 8, 2014
Messages
5,147
Trophies
2
Location
Chicago
XP
4,750
Country
United States
There are always built in hardware timer-counters that can count clean intervals of time for you. But holy hell would it probably take a lot of reading to figure out how to set the interrupt handler stuff. Unless someones already made a C++ library for it all.

But other than that, you could eliminate the FOR loop being the issue by using a while loop instead as a test.

Simply initializing i outside of the while loop first should be all that needs to change.
I'm doing this to practice C, I know there's better ways, but I'm doing this for fun.

I'll try the while loop later
 
  • Like
Reactions: CosmoCortney

tastymeatball

Well-Known Member
Member
Joined
Nov 30, 2016
Messages
277
Trophies
0
Age
38
XP
2,496
Country
Germany
Another code for Super Mario Maker V1.46

Have Shell Helmet (ZL+L Gamepad)
09020000 102EFA64
000000A0 00000000
30000000 270A6EC4
20000000 30000000
001203C4 00000000
001242E0 00000000
D0000000 DEADCAFE


Have Spike Helmet (ZR+R Gamepad)
09020000 102EFA64
00000050 00000000
30000000 270A6EC4
20000000 30000000
001203C4 00000001 <- this value is for the actual effect; don't use alone or game will crash when you take damage; FFFFFFFF (-1) for no Helmet
001242E0 00000001 <- this value is for visual effect; FFFFFFFF (-1) for no Helmet
D0000000 DEADCAFE
 

BeRnYGP

Well-Known Member
Member
Joined
Jul 1, 2015
Messages
159
Trophies
0
XP
163
Country
Mexico
Another code for Super Mario Maker V1.46

Have Shell Helmet (ZL+L Gamepad)
09020000 102EFA64
000000A0 00000000
30000000 270A6EC4
20000000 30000000
001203C4 00000000
001242E0 00000000
D0000000 DEADCAFE


Have Spike Helmet (ZR+R Gamepad)
09020000 102EFA64
00000050 00000000
30000000 270A6EC4
20000000 30000000
001203C4 00000001 <- this value is for the actual effect; don't use alone or game will crash when you take damage; FFFFFFFF (-1) for no Helmet
001242E0 00000001 <- this value is for visual effect; FFFFFFFF (-1) for no Helmet
D0000000 DEADCAFE

*sigh* Nintendo has just updated to v1.47; so I guess these doesnt work anymore(?)
 

tastymeatball

Well-Known Member
Member
Joined
Nov 30, 2016
Messages
277
Trophies
0
Age
38
XP
2,496
Country
Germany
Code update regarding V1.47
Have Shell Helmet (ZL+L Gamepad)
09020000 102EFA64
000000A0 00000000
30000000 270A6EC4
20000000 30000000
001203C4 00000000
001242FC 00000000
D0000000 DEADCAFE

the rest of the codes posted by me seem still to work. The only thing changed for the helmet code is the offset for the visual address by 0x1C
 
Last edited by tastymeatball,

BeRnYGP

Well-Known Member
Member
Joined
Jul 1, 2015
Messages
159
Trophies
0
XP
163
Country
Mexico
Code update regarding V1.47
Have Shell Helmet (ZL+L Gamepad)
09020000 102EFA64
000000A0 00000000
30000000 270A6EC4
20000000 30000000
001203C4 00000000
001242FC 00000000
D0000000 DEADCAFE

the rest of the codes posted by me seem still to work. The only thing changed for the helmet code is the offset for the visual address by 0x1C

Thanks:yayu:
 

tastymeatball

Well-Known Member
Member
Joined
Nov 30, 2016
Messages
277
Trophies
0
Age
38
XP
2,496
Country
Germany
It seems that tcpGecko doesn't work when you start Zelda Twilight Princess HD. As soon as I boot the game the connection gets lost and when I close the game I can reconnect. Is there a workaround to this?
 

Asakura_Hao

Active Member
Newcomer
Joined
Nov 15, 2016
Messages
28
Trophies
0
Age
37
XP
155
Country
United States
Another code for Super Mario Maker V1.46

Have Shell Helmet (ZL+L Gamepad)
09020000 102EFA64
000000A0 00000000
30000000 270A6EC4
20000000 30000000
001203C4 00000000
001242E0 00000000
D0000000 DEADCAFE


Have Spike Helmet (ZR+R Gamepad)
09020000 102EFA64
00000050 00000000
30000000 270A6EC4
20000000 30000000
001203C4 00000001 <- this value is for the actual effect; don't use alone or game will crash when you take damage; FFFFFFFF (-1) for no Helmet
001242E0 00000001 <- this value is for visual effect; FFFFFFFF (-1) for no Helmet
D0000000 DEADCAFE

Can you please make the Spike Helmet work as the Shell Helmet code? I've ended up freezing the game do to mix-ups and it takes a lot to get back to business.
 

tastymeatball

Well-Known Member
Member
Joined
Nov 30, 2016
Messages
277
Trophies
0
Age
38
XP
2,496
Country
Germany
Can you please make the Spike Helmet work as the Shell Helmet code? I've ended up freezing the game do to mix-ups and it takes a lot to get back to business.
Do you mean to swap the button the button activators? So you get a Shell Helmet with ZR+R and a Spike Helmet with ZL+L? If it is that just swap the second line of each code.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    DinohScene @ DinohScene: ahh nothing beats a coffee disaronno at work