Need help with Adventure Island: The Beginning (Wiiware)

Started by salva23, June 11, 2009, 05:12:27 AM

Previous topic - Next topic

Romaap

Then you could just use a button activator, so the value is only written when those buttons are pressed :)

salva23

Exactly that would work. A button to turn on/off the code. I din't really know that could be done. Any idea on how to go about doing that? Basically this code can only be used in the shop and should not be used anywhere else. If the game boots up with this code enabled then it just freezes on the map.

I guess mapping the code to the Gamecube Controller on the Z button would work fine if that's possible.

g6flavor


Romaap

use this guide to know how to use button activators.

Just an IF code to check if you are in the shop is also possible, but you need something that is always the same in the shop and different outside.

Could you check what the value of that address wich contains the actual number of melons is outside the shop? (check at different points)

salva23

Wow this gets even more interesting everytime. It's amazing all you can do with USB Gecko. I just wish I knew a lot more about how everything works though.

Anyways here is my update. I followed the guide for the button activators. I thought that this game supported the GC controller but it doesn't. So I tried finding the value for a button on the Wii controller. However no matter how I search I always end up with 25-30 results and when I go to memory viewer and click the on/off button, all of them seem to respond correct to the button presses. I tried picking the top to make my code and then another one but no luck.

I searched for 16-bit values and I searched for the values of the buttons like 0100, or 0200, or 1000 or whatever it's for the button I want to find the address for. I followed the guide as posted but this didn't work for me. I also tried making it a 20XXXXXX FFBFMyButtonCode and 28XXXXXX FFBFMyButtonCode and no luck.

So I'm now in the path for the what If code. Although I have no idea yet of what you guys are talking about. But here are the values for 80598810 at different parts of the game. I used Memory Viewer to see how the value changes. This is really interesting. The value is not the same.


When in a level and it doesn't matter if you are collecting Melons or not. This is the same on all levels it seems.

80598810 00000000

After passing the level and when your score is all added up according to the items colelcted and how much your life bar has left. This is the same on all levels at the end it seems.

80598810 FFFFFF00

In the World Map. This seems to be the same all over the map.

80598810 00030001


In the shop. This really is the number of melons you have collected in levels. And it changes as you buy stuff.

80598810 000000XX

Romaap

The IF codetype is used to check if an address has a certain value, if it does not meet the requirments it will not enable the code.
The IF codetype's all start with 2 or 3.
The button activator is also an IF code, it checks wich button is pressed.

So in this case you could add a code that checks if the value is lower than 100 (because it is only lower than 100 when you are in the shop and in a level), so we would need the IF lower codetype:
26______ YYYYYYYY : 32bits If lower (ba) (signed) Compares if 32bits at [ba+address]<YYYYYYYY.
If yes, codes are executed (else code execution set to false).


so the code would be:
26598810 00000065  //check if the value is lower than 101
04598810 00000064  //set the value to 100 if it is indeed lower than 101
E0000000 80008000  //Full Terminator (acts as an End IF)

salva23

Amazing. That is the code. It works like a charm. No freezes, no lockups. This is really interesting. Thanks for explaining it to me. I'm so new at this and this sure is different than tools like Tsearch or ArtMoney because well in those tools once you have found the address you just freze or change the value and it seems to work, then you just save your cheats. Cheating in Emulators also seems so easy compared to this.

This is really handy though. So basically the same address is different depending where you are, so just freezing the address to a espesific value caused the game to freeze but by telling the program to only change it if the value is lower than 101 which it's when you are in the shop or in a level, it works fine :)

Awesome thanks a lot to everyone that helped me out here. I was totally lost.