You have the same 2 addresses repeated with different values, and you found the code though ram searching which eventually led to the asm code. After 32 pages you finally see what I have said some 20+ pages ago about how hacking asm is something that comes with experience and observing what is happening in the registers and instructions. Now take this experience and hack more codes, I want to see some advanced stuff from you now.
Announcement
Collapse
No announcement yet.
Hacking Sequential codes PSX
Collapse
X
-
Helder if you don't mind me saying in my opinion looking back over this thread, this is a great read for any novice game hackers out there like me, who were almost clueless about how to hack a game at the beginning of this thread. The 32 pages of this topic cover a wide variety of different aspects that are involved in game hacking.
I have found myself that the past few ew days that I've been reading over all the previous pages of this thread from start to finish, drilling what you and all the other hackers have been teaching me about ram and rom hacking and how I could implement what and then apply this knowledge to hacking codes I want to hack for games.
Now what's confusing me about the Balrog animation code, is I don't fully understand why I used the values 3 and 1 to make the asm code? because I also placed a breakpoint on player 2's ram animation addresstoo and then got into a fight with player 2 Cpu Balrog, and then checked the registers in the debugger for the value that's responsible for loading the start of his cpu animation, and noticed that one of the registers on the left hand site of the debugger was loading a value of 1 in register s1, but on players 1 side the ram address loads the value 3 into register v0, to load the start of his punchbag animation?
Do registers s0 to s6 always load the values for player 2's data, because It can get confusing when you have to try and differentiate were player 1 and players 2's values are are and what register there being stored in.Last edited by jin299; 11-06-2014, 08:18:07 PM.
Comment
-
Helder, regarding ram hacking for I haven't had much success at all at finding these 3 hacks for the game Street Fighter EX2 Plus, Speed modifier, Perform specials moves in the air and no charge needed for special moves.
I tried hacking the speed modifier for the game by using increased and decreased searches and by using different to searches when the increased, decreased method didn't work, I also tried hacking the no charge for special moves code by using increased value when charging backwards with Bison, and decreased value, when standing still with them, and then searched equal to value when standing still, but couldn't find anything, I then tried the usual different to search value method, by comparing when a charge moves is performed and when it isn't but that didn't work either, I tried all the same method for each 3 hacks, but haven't been successful at finding any of them?
I found the no charge ram code here it is 801E81AA 0107, but it's glitchy is and doesn't seem to work very well is there anyway I can resolve the issue through asm hacking?Last edited by jin299; 11-14-2014, 12:43:35 PM.
Comment
-
ASM is the way to go! when you start to hold back I'm sure a routine checks how long it's been charging and if it meets the requirements to allow the move to execute then it either branches or stops branching (depends on how it's programmed) so just observe what's going on by putting a break on that address.Spoiler Alert! Click to view...
THE BAD GUY!!!!!!
Comment
-
Right man I came across this instruction beq branch v0, 0, $8013DD38 broke on that instruction to confirm the condition was true it was, but now i'm completely lost as oppose to what exactly I''m supposed to do next. Am I suppose to press F7 to jump to the assigned address location the branch is branching too or am I suppose to nop the Beq Branch above,
I undersand that If v0, and 0 are equal the condition is true and it will branch to the address $8013DD38, what I don't understand is where about's is register 0 in the debugger located?Last edited by jin299; 11-14-2014, 09:40:30 PM.
Comment
-
Helder I found out a way to use cpu Bison II in arcade mode in the game Street Fighter Ex2 Plus through asm hacking, but there's a problem. Whenever i face a player the game acts as if I'm the computer controlled player in arcade mode, in other words i'm the cpu opponent Player 1 fights and the cpu is player 1 which is strange, is there anyway I can manipulate the game so that I can control cpu Bison II perform his winning pose and fight through like Arcade mode like you normally as if I was human controlled?
Or would performing such a modification on the game not be possible through asm or ram hacking, and require re- programming of the game?Last edited by jin299; 11-19-2014, 07:48:55 PM.
Comment
-
It depends on how the game is programed. I would look for a code that either makes the player or cpu control the character then put a break on it and see what happens when the cpu and player win. I'm sure there are some conditional branches there that one might affect Bison II.Spoiler Alert! Click to view...
THE BAD GUY!!!!!!
Comment
-
I tried that I even put a write breakpoint on the round status modifier, then I loaded cpu bison II as player 2 let him win the first round then, as soon as the victory sign of him winning showed up on the screen I checked to find the register that controlled that exact thing and then looked at the registers to find where the correct pointer is being loaded it was it was register v0, and the instruction was addiu v0, $6, but found nothing and all that happened what was the loading screen of a stage began to load and at the fight screen it said i was the challenger instead of the computer?
Given how this game is programmed i don't think it's possible to play as him in arcade mode restriction free, because I tested a theory and it did let me perform his winning pose at the end of the match in that mode, but then it loaded Hayate as player 1 instead in the next match, which caused the game to completely hang?Last edited by jin299; 11-20-2014, 05:10:12 PM.
Comment
-
I hear ye man, like maybe D activator ram code might do the trick?
I think the main problem wrong with the code, is caused by when you try and play through Arcade mode using Bison II, as soon as you defeat the first opponent with him the game automatically assumes that Bison II is being controlled by the computer, so that why it assumes when Bison II has won a match that in the next one he has been defeated, if that makes sense lol.
Maybe If we could try and find a code that manipulates the game into thinking that Bison II is human controlled and has actually won the match without the game thinking he has been defeated like a regular opponent in Arcade mode then we might be able to find a way to play as him in arcade mode, by tricking the game into thinking he is a human controlled player, and not a cpu controlled.
What do you think? I was thinking if possible this code might be achievable through rom hacking.Last edited by jin299; 11-20-2014, 09:06:31 PM.
Comment
-
I found something the code lets me win the match, when playing as Bison II, but there's one problem, when, Bison II performs his winning pose animation he is completely invisible during the animation?
Is there any way to get around this problem?Last edited by jin299; 11-22-2014, 12:25:58 PM.
Comment
-
First off from now on when you ask for help post what you found and what codes you are using since I don't know what you're doing from a simple question which lacks alot of detail for me to help you. How did you find this? what did you do to make this code like did you nop something or whatever you did.Spoiler Alert! Click to view...
THE BAD GUY!!!!!!
Comment
-
figured out a work around in the code for Bison II in Street Fighter Ex2 plus basically what I did was set a write breakpoint on the cpu controlled ram modifier address code which is [801E669C] ! , then I went to versus mode and loaded Bison II as player 1 and as player 2 in the match, then waited until player 2 no flag Bison II won the first round of the fight and then as soon as the victory sign appears in the match, the breakpoint broke on that ram address, I then observed the register and noticed that register V0 was loading the value 061D at the time the victory sign appeared, so I carefully looked and found an lw instruction which the help of the memory viewer which happened to be the right instruction, so I assembled the instruction to ori v0, zero, $061D, i then went to Arcade mode and picked Bison II, and won the the first round with him and noticed that I could win a match using cpu controlled Bison II.
So basically all I did was copied the the value that was loading non flag Bison II winning animation from 2 over to player 1 and then test the code out when playing as bison II with player 1.
However for some odd reason when I tried to fight the next opponent, the game loaded Kairi as player 1 instead of Bison II, and I don't know? why this is?Last edited by jin299; 11-23-2014, 02:02:45 PM.
Comment
-
I would put a break on that address again and try other characters to see what values they load, might turn out that Kairi is the default character the game loads when it's someone you're not supposed to be using.Spoiler Alert! Click to view...
THE BAD GUY!!!!!!
Comment
-
Helder the instruction was a load word instruction so that would explain why the register V0 was loading a 32 bit address which was 4000061D right?
Also if the value 061D is the default value for when you are not supposed to be controlling an unseletable character in the game, in our case we are dealing with Bison II and if kairi happens to be the default character how would I go about finding the value that tells the game he is playable' like the way human controlled flag Bison II is fully playable in the game ?
Also when you were refering to break on that address again, you meant this address right 801E996C? or where you refering to the lw instruction in which I placed a breakpoint on in the debugger?Last edited by jin299; 11-23-2014, 10:23:08 PM.
Comment
Comment