| koolaidman Member Level: 24 Posts: 72/108 EXP: 73589 For next: 4536 Since: 07-17-10 Since last post: 3.4 years Last activity: 1.2 years |
|
||
| Hey there! I noticed that we had some stuff on this prototype on the wiki already. I'm not sure if there was a thread already or some kind of topic on another forum, so I decided to make one here since it's relatively big. The E3 Demo that was released a few years a go has a lot of the function/memory location symbols in the executable, making it easy to find certain things. I noticed that the system(task_st *) function (at 0x17C1B0 when viewed in IDA Pro, 0x7C37C in the file itself) contains a few jumps to various other menus at 0x17C2FC. As it turns out, the game uses this function around start up to determine what screen to go to. By default it goes to make_game(task_st *), which starts the game up normally. Using a debugging version of PCSX2 (compile PCSX2 with Debug), you can use a nifty little debugger to set up breakpoints and view memory. What I did was set up a breakpoint at 0x17C2FC and restarted the game without closing PCSX2. Once the breakpoint was triggered, I modified the lower region of what was contained in the V0 register to the address of the first instruction of a particular location within the subroutine that calls a "make_" function that I want to jump to. Then I resumed the game and I got all these nifty menus to pop up. Take a look: make_play: ![]() make_editor (this one looks really familiar to another megaman game's debugger, anyone remember?): ![]() make_viewer: ![]() make_battle: ![]() make_sound_test: ![]() make_demomenu: ![]() make_face_viewer: ![]() make_kawiatest (convo): ![]() make_tuto (displays really messed up geometry if you zoom in or out): ![]() You can download PCSX2 savestates to put in your sstates folder which may/may not work depending on your PCSX2 version. These were made with a version of PCSX2 compiled on July 1 2014. Making a code would probably be a bit easier. Anyone feel up to it? I'm curious if any of this is still in the final somewhere. Since I'm familiar with the xrefs layout to this function in particular it might be easy to find if it still exists. That's all I have for now. I went looking to see if there was anywhere you could go to still get a working link to this prototype but I can't find anything that works. I still have the prototype, but I don't feel like uploading the entire thing. Anyone have a copy they wouldn't mind reuploading somewhere else? |














