ROM Hack button hacking

  • Thread starter Thread starter Tall Alien
  • Start date Start date
  • Views Views 2,403
  • Replies Replies 10

Tall Alien

Banned!
Banned
Joined
Nov 8, 2008
Messages
225
Reaction score
1
Trophies
1
XP
148
Country
United States
for example starfox command



i want to hack button controls. how do i open up the rom to where that is?

"You just have to pick out which memory addresses on the ROM are for B and Y/A and do some fiddling"

i found that on this website http://www.teamcyclops.com/forum/showthread.php?p=80376

so i just wanna find out how to do that and get there i'll try the rest on my own


ps: if toenailed was able to do the same for phantom hourglass, im pretty sure this can be done. nobody else is willing to attemp this, but me. man i gotta do this so badly
 
That's pretty simple assembler.
Two I/O registers:

GBATek said:
4000130h - KEYINPUT - Key Status Â

Bit Expl.
0 Button A (0=Pressed, 1=Released)
1 Button B (etc.)
2 Select (etc.)
3 Start (etc.)
4 Right (etc.)
5 Left (etc.)
6 Up (etc.)
7 Down (etc.)
8 Button R (etc.)
9 Button L (etc.)

4000136h - NDS7 - EXTKEYIN - Key X/Y Input Â

0 Button X (0=Pressed, 1=Released)
1 Button Y (0=Pressed, 1=Released)
3 DEBUG button (0=Pressed, 1=Released/None such)
6 Pen down (0=Pressed, 1=Released/Disabled)
7 Hinge/folded (0=Open, 1=Closed)

As it says, if the bit is cleared, the button is pressed. Games usually read those registers, XOR them so that 1 indicates a pressed button, and save them in memory. All you have to do then is finding where the game checks those variables and change the code accordingly. Will need some assembly knowledge and a debugger.
If the game doesn't use buttons at all, then you just have to write your own checks.
 
Interesting. Thanks for the info KiC.
smile.gif

BTW, do you know if there is a complete tutorial for this?
 
Samurai Pizza Katz said:
whats I/O

blink.gif


I don't think you know how complex a task it is that you want to achieve. It requires hooking into the touchscreen handler so that you can read input from the D-pad (status in 0x4000130) and fake the stylus input (for which you would possibly have to keep track of the virtual point that the stylus is 'touching' at any moment -- might be possible to just put something like x=64 if left is pushed, etc but that might be too tight or too loose). Also I believe the D-pad already controls something (IIRC -- it's been a while since I played it) so you would have to void the D-pad input after you were done polling it. In short, it is a huge task for someone that has never worked on the internals of GBA/DS, and/or ARM programming.
 
so does this mean someone could hack smackdown vs raw 09 and make use of the buttons because that would be awesome.
 
rushpunk said:
so does this mean someone could hack smackdown vs raw 09 and make use of the buttons because that would be awesome.

i havent tried the game yet bet i know it sucks. that would be sick
 

Site & Scene News

Popular threads in this forum