Register - Login
Views: 99383212
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
04-24-22 02:00:45 AM
Jul - The Cutting Room Floor - Megaman X: Command Mission E3 Prototype (Debug stuff!) New poll - New thread - New reply
Next newer thread | Next older thread
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

Posted on 07-04-14 10:13:36 PM Link | Quote
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?

Dickson
Member
Level: 18


Posts: 45/60
EXP: 27762
For next: 2135

Since: 07-16-12


Since last post: 3.6 years
Last activity: 3.1 years

Posted on 07-06-14 05:46:59 AM Link | Quote
Awesome find. Gonna take a look at this soon
Next newer thread | Next older thread
Jul - The Cutting Room Floor - Megaman X: Command Mission E3 Prototype (Debug stuff!) New poll - New thread - New reply


Rusted Logic

Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

30 database queries.
Query execution time:  0.094413 seconds
Script execution time:  0.005362 seconds
Total render time:  0.099775 seconds


TidyHTML vomit below
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 2 column 185 - Warning: unescaped & or unknown entity "&page"
line 119 column 11 - Warning: <form> isn't allowed in <table> elements
line 118 column 10 - Info: <table> previously mentioned
line 120 column 11 - Warning: missing <tr>
line 120 column 119 - Warning: missing </font> before </td>
line 124 column 16 - Warning: plain text isn't allowed in <tr> elements
line 120 column 11 - Info: <tr> previously mentioned
line 125 column 68 - Warning: missing </nobr> before </td>
line 141 column 68 - Warning: missing </nobr> before <tr>
line 147 column 35 - Warning: missing <tr>
line 147 column 50 - Warning: missing </font> before </td>
line 148 column 37 - Warning: unescaped & or unknown entity "&id"
line 147 column 225 - Warning: missing </font> before </table>
line 149 column 35 - Warning: missing <tr>
line 149 column 50 - Warning: missing </font> before </td>
line 149 column 91 - Warning: missing </font> before </table>
line 156 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 158 column 9 - Warning: missing <tr>
line 176 column 13 - Warning: missing <tr>
line 177 column 102 - Warning: unescaped & or unknown entity "&postid"
line 223 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 225 column 9 - Warning: missing <tr>
line 243 column 13 - Warning: missing <tr>
line 244 column 102 - Warning: unescaped & or unknown entity "&postid"
line 249 column 17 - Warning: missing <tr>
line 249 column 17 - Warning: discarding unexpected <table>
line 252 column 35 - Warning: missing <tr>
line 252 column 50 - Warning: missing </font> before </td>
line 252 column 91 - Warning: missing </font> before </table>
line 254 column 35 - Warning: missing <tr>
line 254 column 50 - Warning: missing </font> before </td>
line 255 column 37 - Warning: unescaped & or unknown entity "&id"
line 254 column 225 - Warning: missing </font> before </table>
line 256 column 17 - Warning: discarding unexpected </textarea>
line 256 column 28 - Warning: discarding unexpected </form>
line 256 column 35 - Warning: discarding unexpected </embed>
line 256 column 43 - Warning: discarding unexpected </noembed>
line 256 column 53 - Warning: discarding unexpected </noscript>
line 256 column 64 - Warning: discarding unexpected </noembed>
line 256 column 74 - Warning: discarding unexpected </embed>
line 256 column 82 - Warning: discarding unexpected </table>
line 256 column 90 - Warning: discarding unexpected </table>
line 258 column 9 - Warning: missing </font> before <table>
line 270 column 25 - Warning: discarding unexpected </font>
line 279 column 37 - Warning: discarding unexpected </font>
line 257 column 1 - Warning: missing </center>
line 120 column 63 - Warning: <img> lacks "alt" attribute
line 125 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 125 column 93 - Warning: <img> lacks "alt" attribute
line 141 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 141 column 98 - Warning: <img> lacks "alt" attribute
line 148 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 246 - Warning: <img> proprietary attribute value "absmiddle"
line 161 column 22 - Warning: <img> lacks "alt" attribute
line 161 column 63 - Warning: <img> lacks "alt" attribute
line 161 column 112 - Warning: <img> lacks "alt" attribute
line 161 column 162 - Warning: <img> lacks "alt" attribute
line 172 column 15 - Warning: <img> lacks "alt" attribute
line 188 column 1393 - Warning: <img> lacks "alt" attribute
line 191 column 1558 - Warning: <img> lacks "alt" attribute
line 194 column 1637 - Warning: <img> lacks "alt" attribute
line 197 column 1716 - Warning: <img> lacks "alt" attribute
line 200 column 1799 - Warning: <img> lacks "alt" attribute
line 203 column 1880 - Warning: <img> lacks "alt" attribute
line 206 column 1964 - Warning: <img> lacks "alt" attribute
line 209 column 2054 - Warning: <img> lacks "alt" attribute
line 212 column 2190 - Warning: <img> lacks "alt" attribute
line 228 column 22 - Warning: <img> lacks "alt" attribute
line 228 column 63 - Warning: <img> lacks "alt" attribute
line 228 column 112 - Warning: <img> lacks "alt" attribute
line 228 column 162 - Warning: <img> lacks "alt" attribute
line 239 column 15 - Warning: <img> lacks "alt" attribute
line 255 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 255 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 255 column 246 - Warning: <img> proprietary attribute value "absmiddle"
line 264 column 25 - Warning: <img> lacks "alt" attribute
line 269 column 267 - Warning: <img> lacks "alt" attribute
line 149 column 50 - Warning: trimming empty <font>
line 249 column 17 - Warning: trimming empty <tr>
line 252 column 50 - Warning: trimming empty <font>
line 125 column 68 - Warning: <nobr> is not approved by W3C
line 141 column 68 - Warning: <nobr> is not approved by W3C
line 177 column 27 - Warning: <nobr> is not approved by W3C
line 244 column 27 - Warning: <nobr> is not approved by W3C
Info: Document content looks like HTML5
Info: No system identifier in emitted doctype
Tidy found 84 warnings and 0 errors!


The alt attribute should be used to give a short description
of an image; longer descriptions should be given with the
longdesc attribute which takes a URL linked to the description.
These measures are needed for people using non-graphical browsers.

For further advice on how to make your pages accessible
see http://www.w3.org/WAI/GL.
You are recommended to use CSS to specify the font and
properties such as its size and color. This will reduce
the size of HTML files and make them easier to maintain
compared with using <FONT> elements.

You are recommended to use CSS to control line wrapping.
Use "white-space: nowrap" to inhibit wrapping in place
of inserting <NOBR>...</NOBR> into the markup.

About HTML Tidy: https://github.com/htacg/tidy-html5
Bug reports and comments: https://github.com/htacg/tidy-html5/issues
Official mailing list: https://lists.w3.org/Archives/Public/public-htacg/
Latest HTML specification: http://dev.w3.org/html5/spec-author-view/
Validate your HTML documents: http://validator.w3.org/nu/
Lobby your company to join the W3C: http://www.w3.org/Consortium

Do you speak a language other than English, or a different variant of
English? Consider helping us to localize HTML Tidy. For details please see
https://github.com/htacg/tidy-html5/blob/master/README/LOCALIZE.md