WiiRd forum

Wii & Gamecube Hacking => Wii Game hacking help => Topic started by: live2play on March 25, 2012, 08:43:53 PM

Title: Can't Determine ASM for Write
Post by: live2play on March 25, 2012, 08:43:53 PM
I have an address that is being written, but placing a write BP (exact or otherwise) on the adress never results in a trigger.  If you have an address that is being updated when being viewed in the Mmeory Viewer in "realtime" but that never triggers a write BP, what can you do to determine what ASM is writing the value to that memory address?
Title: Re: Can't Determine ASM for Write
Post by: toonlink444 on March 25, 2012, 10:14:08 PM
Do a read breakpoint then trace it to the write. I don't personally know how to do this but I think it has to do with the link register. Someone correct me if this is totally incorrect.
Title: Re: Can't Determine ASM for Write
Post by: live2play on March 25, 2012, 10:23:55 PM
Thanks.  I'll give it a try.
Title: Re: Can't Determine ASM for Write
Post by: dcx2 on March 26, 2012, 03:03:26 AM
I think some addresses will be written to by the ARM processor in Hollywood (the companion to the PowerPC processor, Broadway).  Since the write happens on a different processor, the PPC's write breakpoint will not fire.

I think it may also be possible that an interrupt handler is writing to that address.  Interrupt handlers are run in "supervisor" mode, which generally prevents other interrupts (i.e. breakpoints) from firing, so you wouldn't see the breakpoint.  The code handler gets around this by returning to user mode after a breakpoint hits, in case another breakpoint (i.e. crash) happens.