Can anyone tell me what constitutes as a write in the SNES Debugger?

Started by RaidouJFlo, August 25, 2018, 12:29:09 PM

Previous topic - Next topic

RaidouJFlo

I'm still an SNES scrub. Sorry the topic title is misleading af. I just need a bit of help with mmx hacking.

In Mega MAN X, $1F99 is originally 00 which represents 0 upgrades.

This single byte represents 4 upgrades acquired, with each upgrade having a bit value (with the maximum number of upgrades giving it a value of #$0F).

If I tell the SNES Debugger (from BSNES) to break on write to $1F99 at a value of 08, it doesn't stop (even though this value is what the address is set to after acquiring the dash upgrade). I assume it's not writing an immediate value but possibly doing some kind of bit shift.

I am following the dissassembler but I have not found anything yet.

Is there an opcode in SNES that sets the bits of a single byte but does not constitute a "write?"

DarkSamus993

Don't know what to tell you, it should be breaking. It works fine for me with bsnes+

RaidouJFlo

Quote from: DarkSamus993 on August 25, 2018, 02:17:34 PM
Don't know what to tell you, it should be breaking. It works fine for me with bsnes+

So apparently having an address range of 7E1F99 - 7E1F99 doesn't work as much as just 7E1F99 would. Removing the second 7E1F99 worked.

Finally I can see what's happening. It's a TSB.

Thanks,