I need help to make a "X/Y/Z modifier" code in SA2B

Hi ! I just noticed that Knuckles and Rouge are a bit different than the other characters in a very specific way :
They seems to create a sort of barrier in every level you want to play with, you know, you can't by pass it, and when you glide they just turn around and go back.
Well, I think the reason why they freeze the game in levels such as city escape, eternal engine, crazy gadget etc is because they appear right into an infinitly little barrier (noticeable since when you try to glide, the character floats in circles forever. So if we could make a code to modify the position of the character, we could certainly by pass those barriers and play any level with the treasure hunter.

That's my opinion ! Now, feel free to say what you think about the subject, and my idea !

Your best chance here is asking "link" for advice on it otherwise post this topic on retro. but mostly your going to have to pull it off yourself we don't do any sort of sonic research anymore (unless its a topic from our past) and finding anyone to be interested enough to help you here is a rarity.

Do you have a way to create AR codes for SA2B - this would be possible using WiiRd/Gecko dotNET (on Wii or Gamecube) or GCNrd (on Gamecube ONLY(!)). In worst case using Dolphin together with cheat engine should also work.

Basically XYZ modifiers are quite easy: you need to do simple memory searches. In most cases it is most easy to check the vertical variable (for most games this is the Y or Z axis, for SEGA it would typically be the Y axis). Basically using Knuckles or Rouge grab onto a wall and climb up and down. Parallelly do memory searches for "increased value" and "decreased value" while always pausing the game. You will essentially end up finding the vertical variable. Now in all games I saw so far coordinates were stored as a vector, records, structs or array - no matter how they internally do it: all those three are represented identically on game memory: simply all three values as floating point values in a row.

If you do not think you're able to do this, I might give it a try this week-end!

Wow I expected something like that... I mean that complicated... I'm not a hacker at all in fact, I never learnt actually...
I already made some little codes that was never done before like putting mechless tails and eggman in a character modifier joker, or some stuff like that, but I always did it by deduction. So... no I don't think I can do this... I was hoping it could be done without directly hacking the game.
So, well I'd sure be really grateful if you could make it for me, but don't feel obliged, I don't want you to think it was planned :)

Wow I expected something like that... I mean that complicated... I'm not a hacker at all in fact, I never learnt actually...
I already made some little codes that was never done before like putting mechless tails and eggman in a character modifier joker, or some stuff like that, but I always did it by deduction. So... no I don't think I can do this... I was hoping it could be done without directly hacking the game.
So, well I'd sure be really grateful if you could make it for me, but don't feel obliged, I don't want you to think it was planned :)

With the right tutorials anyone can do this but you need an AR (action replay) for gamecube and a spare gamecube. wiis and old AR don't mix anymore since nintendo cockblocked the use of them but there maybe a way now its been awhile.

Since link is willing though, i would love to see more SA2B work from him.

Wow I expected something like that... I mean that complicated... I'm not a hacker at all in fact, I never learnt actually...
I already made some little codes that was never done before like putting mechless tails and eggman in a character modifier joker, or some stuff like that, but I always did it by deduction. So... no I don't think I can do this... I was hoping it could be done without directly hacking the game.
So, well I'd sure be really grateful if you could make it for me, but don't feel obliged, I don't want you to think it was planned :)

With the right tutorials anyone can do this but you need an AR (action replay) for gamecube and a spare gamecube. wiis and old AR don't mix anymore since nintendo cockblocked the use of them but there maybe a way now its been awhile.

Since link is willing though, i would love to see more SA2B work from him.

Wow I expected something like that... I mean that complicated... I'm not a hacker at all in fact, I never learnt actually...
I already made some little codes that was never done before like putting mechless tails and eggman in a character modifier joker, or some stuff like that, but I always did it by deduction. So... no I don't think I can do this... I was hoping it could be done without directly hacking the game.
So, well I'd sure be really grateful if you could make it for me, but don't feel obliged, I don't want you to think it was planned :)

With the right tutorials anyone can do this but you need an AR (action replay) for gamecube and a spare gamecube. wiis and old AR don't mix anymore since nintendo cockblocked the use of them but there maybe a way now its been awhile.

Since link is willing though, i would love to see more SA2B work from him.

"A spare gamecube" ? You mean a second gamecube ?

Yes there pretty easy to get now a days if you don't have a second one.

It is possible to use a pseudo action replay on the Wii now. I am on the Gecko project ( http://wiird.l0nk.org ) who developed Gecko OS the cheating tool for Wii. One of our enthusiastic forum members developed an application which is also able to load the Gecko code handler together with Gamecube games. It cannot load all Gamecube games (for example it fails for streaming audio games such as Starfox Adventures) though. SA2B works, if it is absolutely required I can give basic instructions on how to use AR codes with it. There was also an AR 1.14 loader which essentially loads an Action Replay. You can also downgrade your MIOS (Gamecube handler on Wii) to a very old MIOS still accepting the Action Replay.

Lol don't worry I have a Gamecube with an AR MAX, and SA2B (US) not PAL. But thanks anyway :)

And while I'm at it, I wanted to ask something, why is it impossible to be able to play as regular characters in the Route 101/280 levels or Kart Races ? I mean, what goes wrong when joker switching characters ? It freezes everytime... Especially when a friend of mine managed to get them to work using Cheat Engine on SA2 (Dreamcast) with emulator...

And while I'm at it, I wanted to ask something, why is it impossible to be able to play as regular characters in the Route 101/280 levels or Kart Races ? I mean, what goes wrong when joker switching characters ? It freezes everytime... Especially when a friend of mine managed to get them to work using Cheat Engine on SA2 (Dreamcast) with emulator...

The Dreamcast version has several differences, that is indeed known. That's all I can say, back then I really tried loading regular characters in the driving stages and no it never worked.

For the x/y/z modifier.. as I guessed.. quite easy IF(!) you have the equipment.

However, to make a code out of that.. making it short.. an Action Replay code for Gamecube is essentially impossible.. you need to perform floating point operations on values only accessible via pointers.. the only way to do so is using assembly codes and even then I am limited to about 32 lines per code as well as 60 codes max.

What I can provide though:
-memory addresses (PAL and NTSC-U versions)
-Gecko code (Gecko is the Wii cheat code handler which can also be used in Gamecube mode/on real Gamecubes if you know how to run Gamecube homebrew - on the Gamecube however you will require a USB Gecko to use the codes, on Wii there are loaders which can load games together with codes! - the Gecko code handler is MUCH more versatile and has codes handling these kinda situations!)

So... You're saying you changed Knuckles position without a code action replay, but directly using your PC while linked to your Gamecube ?
And why can't we make an action replay code for that, when you can make one for Super Mario Sunshine ?

So... You're saying you changed Knuckles position without a code action replay, but directly using your PC while linked to your Gamecube ?

Yes!

samou, on 26 June 2010 - 01:35 PM, said:

And why can't we make an action replay code for that, when you can make one for Super Mario Sunshine ?

X/Y/Z Mod(donny2112)*
long code here

Simple thing: would you please point to the pointer data and the floating point data within that code.. it does assembly handling with non-pointered integer values!

Next time you accuse me of denying wishes, please learn what you're talking about. If other people are interested in the addresses or ways of doing it, I'll post it, but I really wouldn't want to work with such an attitude!

Well to make it short.. there are direct addresses.. and indirect (pointer addresses).. on the Gamecube pointers were quite rare, so the Action Replay only has one VERY simple pointer code type.. this code type can be used to access an address which is accessible using one pointer (imagine a pointer to be like a sign on your way, it points where you have to go, as you (the application) do not know the direct target).

That's the first problem.. the code by donny is written to directly access a fixed address - a direct one, not indirect.. and then.. the last aspect. his code is writing regular numbers:

Numbers are like: 0,1,2,3,4,5,6,7,8,9,10 and they are ONLY(!) positive.. so you do not need to care about negative numbers. They are represented quite easily on system memory:
0 = 00000000
8 = 00000008
10 = 0000000A (hexa-decimal)

Sorry to bump this, although it's not like it wasn't far down on the page.
I solved this problem very soon after releasing the character and level switch codes for the US version many years ago, with this code:

It allows you to use the C-Stick to control the direction of gravity. Since it's for the US version, it won't help you directly.
But if anyone with the PAL version wants to port it for you, here's the address and values from the US version. You can easily search for these values when playing Crazy Gadget. They work in all stages.