Kodewerx
https://www.kodewerx.org/forum/

[Wii] Metroid Prime Trilogy (R3ME01) [NTSC-US]
https://www.kodewerx.org/forum/viewtopic.php?f=18&t=7134
Page 1 of 1

Author:  Hextator [ Wed Dec 23, 2009 1:35 am ]
Post subject:  [Wii] Metroid Prime Trilogy (R3ME01) [NTSC-US]

This is what I managed to learn about this game while playing the Corruption portion of the game:

Link

Excuse my crappy PPC coding; I don't know the instruction set very well and can't find extensive documentation on it.

The game crashes after about 10 minutes every time I run it with the Gecko active. The code(s) are probably most easily used by loading the codes from the SD card without the USB Gecko connectivity active.

Author:  James0x57 [ Thu Dec 24, 2009 4:35 am ]
Post subject:  Re: [Wii] Metroid Prime Trilogy (R3ME01) [NTSC-US]

Are you using the GXFlush Hook when you get that crash?

Author:  Hextator [ Thu Dec 24, 2009 3:26 pm ]
Post subject: 

My hook type is set to "automatic". It's been choosing VI hook.

I'll try switching to GXFlush and see if that helps. That's what it says to do on the WiiRD database, if I recall. Of course, I didn't find that site until after I had made the code. I was glad to see that while similar cheats had been made, nothing quite like what I had learned was up there.

Author:  James0x57 [ Thu Dec 24, 2009 6:54 pm ]
Post subject:  Re: [Wii] Metroid Prime Trilogy (R3ME01) [NTSC-US]

Try putting an activator on it that checks the line of asm right before the one you hijacked. If it still crashes then you'll know that what you're writing is crashing it instead of something like the ASM moving.

Author:  Hextator [ Thu Dec 24, 2009 7:16 pm ]
Post subject: 

That's what I did. Except I used the line of ASM that I DID hijack, so it only writes it once. Then it writes it again if and when the ASM is there again. I've tested several times and confirmed that this is not the problem.

The game crashes even when no codes are active. I had problems with it crashing before I even hacked any codes!

Author:  James0x57 [ Thu Dec 24, 2009 9:01 pm ]
Post subject:  Re: [Wii] Metroid Prime Trilogy (R3ME01) [NTSC-US]

Oh.. *shrugs*

Author:  Hextator [ Wed Feb 03, 2010 4:46 pm ]
Post subject:  Re: [Wii] Metroid Prime Trilogy (R3ME01) [NTSC-US]

I should probably mention that loading codes from the SD slot does NOT help with my crashing issue. I'm giving up on trying to hack this game, at least for now.

I'm trying to hack out statistics about how often certain badges work/are dropped from certain enemies in Paper Mario: The Thousand Year Door, but I'm not sure I can use my USB Gecko for that. James, if you have any information on this, I'd appreciate you sharing it.

***Hextator can't be assed to join a whole other forum just to ask one question

Author:  James0x57 [ Sun Feb 07, 2010 5:32 am ]
Post subject:  Re: [Wii] Metroid Prime Trilogy (R3ME01) [NTSC-US]

Right now you can't hack GCN games on Wii. In the future though; dunno.


About Trilogy Crashing:
PizzaBoy wrote:
You probably know that Metroid Prime Trilogy enjoys resetting the system randomly while scanning memory. I have finally figured out what causes it (but not why) and how to avoid it.

When you are ready to do a scan with Wiird, pause the game using Wiird's pause button. If the game's music is still playing while paused, quickly unpause. Keep pausing the game until you get everyone's favorite buzzing sound instead of music. Once you have the game paused with the buzzing noise, you are free to scan and then unpause. If the graphics go crazy after unpausing, just open and close the menu (the 2 button on the wiimote).

All of this probably has something to do with threads, but that's a bit beyond me.

Oh, and if it matters, I use the GXFlush hook for this game.

Author:  Parasyte [ Sun Feb 07, 2010 2:17 pm ]
Post subject:  Re: [Wii] Metroid Prime Trilogy (R3ME01) [NTSC-US]

The original Metroid Prime (GameCube) crashed when the game was paused for too long. (When dumping memory, for example.) The solution was quite simple; backup and restore the Memory Interface I/O registers. Many of them act like counters. I cannot tell you what they are exactly, but I can tell you that taking a snapshot of their state upon entering a long-running pause, and then restoring them before letting the game continue running was the fix.

Here's the relevant code from GCNrd:

Code:
u32 timers[0x20];

MemoryCopy32(timers, (u32*)(0xCC004000), 0x80); //backup memory "timers"
// ...
MemoryCopy32((u32*)(0xCC004000), timers, 0x80); //restore memory "timers"

Where "MemoryCopy32" is like memcpy() but reads/writes 32-bits at a time.

I discovered data in the MI changing sporadically one day in a "memory viewer" that I wrote a long, long time ago. It was a stand-alone program that let you watch memory in a "hex editor"-like view. I made it refresh the data constantly, so I could see any weirdness. Stepping through main memory didn't reveal anything unusual, of course, but stepping through the memory-mapped I/O registered revealed the MI doing crazy things when I wasn't even touching it! To my pleasant surprise, adding this simple code [above] fixed the problem entirely.

As I recall, the "unpause" also did something strange with the first-person view/camera orientation. (Kind of like GoldenEye 007 does with a GameShark Pro.)


This information may or may not be useful for Wii. But perhaps it will give you some ideas!

Author:  Hextator [ Sun Feb 07, 2010 2:43 pm ]
Post subject:  Re: [Wii] Metroid Prime Trilogy (R3ME01) [NTSC-US]

Well that won't help me at all if my crashes aren't related. My crashes don't occur during cheat searching, nor do I do any pausing.

If I simply let the game run with the GXFlush hook, without doing ANYTHING, it will eventually just crash. The game just freezes.

Author:  Parasyte [ Sun Feb 07, 2010 9:17 pm ]
Post subject:  Re: [Wii] Metroid Prime Trilogy (R3ME01) [NTSC-US]

That was to the developers. And yeah, it may not help. But what I'm hearing is a bug report, so...

Page 1 of 1 All times are UTC - 8 hours [ DST ]
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/