WiiRd forum

Wii & Gamecube Hacking => WiiRD Remote Debugger => Topic started by: AlexWong on July 26, 2010, 05:31:18 AM

Title: WiiRD cannot set breakpoint to Call of Duty World At War [RVYE52]
Post by: AlexWong on July 26, 2010, 05:31:18 AM
I set a breakpoint (BP Type: Write) at 0x809CEB88 in the 8th mission BLOOD & IRON. When the value at that address decreased, WiiRD didn't suspend the game and returned a disassembler address. However I changed to BP Type Read WiiRD suspended the game. I don't know why. :confused:
BTW: 0x809CEB88 is the fake address of Tank Health.
Title: Re: WiiRD cannot set breakpoint to Call of Duty World At War [RVYE52]
Post by: Deathwolf on July 26, 2010, 12:43:33 PM
maybe it's the wrong RAM address of health?
Title: Re: WiiRD cannot set breakpoint to Call of Duty World At War [RVYE52]
Post by: Dude on July 26, 2010, 01:20:36 PM
If you set the breakpoint from the mem viewer then make sure that you clicked the START of the address for health:
if the address is 0x809CEB8 then make sure that you didn't accidentally right-click when over 0x809CEB9.  That would make the breakpoint not work since it's checking 0x809CEB9 and not 0x809CEB8.

Might seem odd, I know, but I had a similar problem with a breakpoint not working on write.  I was right-clicking the cell in mem viewer and it would use the current address under the cursor.

Just double check that the address the BP is set on is, in fact, the correct address for the health.  If it still doesn't work then it could be an incorrect address like Deathwolf said.  Try poking the address and see if it alters your health.
Title: Re: WiiRD cannot set breakpoint to Call of Duty World At War [RVYE52]
Post by: AlexWong on July 26, 2010, 08:26:25 PM
I've tried to set bp on 0x809CEB88 to 0x809CEB8B but none of them suspended the game even if the value changed. Is there any other assembler instructions besides store types can change the value in the memories?
Title: Re: WiiRD cannot set breakpoint to Call of Duty World At War [RVYE52]
Post by: AlexWong on July 27, 2010, 03:51:55 AM
Quote from: Mathew_Wi on July 27, 2010, 12:25:32 AM
Quote from: AlexWong on July 26, 2010, 08:26:25 PM
I've tried to set bp on 0x809CEB88 to 0x809CEB8B but none of them suspended the game even if the value changed. Is there any other assembler instructions besides store types can change the value in the memories?

is the exact match box checked?
Both checked and unchecked I tried but neither worked. If someone have the game can try the address himself.
Title: Re: WiiRD cannot set breakpoint to Call of Duty World At War [RVYE52]
Post by: IRS on July 27, 2010, 04:43:25 AM
one fast minor note. the addresses can only end in: 0,4,8,C otherwise it is partial way through the hex values. also.. it might be just the graphical value. sometimes there are 2 values for the same thing.. and other than that you just have to guess at it.
Title: Re: WiiRD cannot set breakpoint to Call of Duty World At War [RVYE52]
Post by: AlexWong on July 27, 2010, 05:51:21 AM
I know it was a fake address of Tank Health. But even if it was a wrong value, when the value decreased, the breakpoint should work and return a disassemble address. I wanted to trace the true address by analysing the disassemble routines but now the bug of breakpoint standed in my way. ???
Title: Re: WiiRD cannot set breakpoint to Call of Duty World At War [RVYE52]
Post by: ZiT on July 27, 2010, 03:01:20 PM
It was a same deal though "WiiRd" and "Gecko dNet" were used though also tried also by me.
help~
Title: Re: WiiRD cannot set breakpoint to Call of Duty World At War [RVYE52]
Post by: hetoan2 on July 27, 2010, 03:24:54 PM
why not use the read data to make a ram write? It should also work on the actual data.
Title: Re: WiiRD cannot set breakpoint to Call of Duty World At War [RVYE52]
Post by: Deathwolf on July 27, 2010, 03:26:50 PM
read is sometimes alot better than write.
just use brkirchs instruction codes.
Title: Re: WiiRD cannot set breakpoint to Call of Duty World At War [RVYE52]
Post by: AlexWong on July 27, 2010, 03:55:51 PM
Read type is useless in that condition. It is always that the value of the true address copy to the fake address so I must set on a Write type bp to trace the true address.
Title: Re: WiiRD cannot set breakpoint to Call of Duty World At War [RVYE52]
Post by: Deathwolf on July 27, 2010, 04:16:13 PM
read and write are not the same.
what ever you are trying, you can every use:

lis rXX,0xXXXX
ori rXX,rXX,0xXXXX
stw rXX,XXXX(rXX)
your bp instruction.
Title: Re: WiiRD cannot set breakpoint to Call of Duty World At War [RVYE52]
Post by: AlexWong on July 27, 2010, 04:29:22 PM
I couldn't find the true address so use your method to lock the value of the fake address is useless. :(
Title: Re: WiiRD cannot set breakpoint to Call of Duty World At War [RVYE52]
Post by: Deathwolf on July 27, 2010, 04:31:16 PM
okay..
the problem: there are *2* instructions.

read:
lis rXX,0xXXXX
ori rXX,rXX,0xXXXX
stw rXX,XXXX(rXX)
your bp instruction.

write:
nop