News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Can anyone tell me what constitutes as a write in the SNES Debugger?  (Read 1530 times)

RaidouJFlo

  • Jr. Member
  • **
  • Posts: 68
    • View Profile
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?"
« Last Edit: August 25, 2018, 12:37:27 pm by RaidouJFlo »

DarkSamus993

  • Sr. Member
  • ****
  • Posts: 250
    • View Profile
Re: Can anyone tell me what constitutes as a write in the SNES Debugger?
« Reply #1 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+

RaidouJFlo

  • Jr. Member
  • **
  • Posts: 68
    • View Profile
Re: Can anyone tell me what constitutes as a write in the SNES Debugger?
« Reply #2 on: August 25, 2018, 02:49:49 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,
« Last Edit: August 25, 2018, 03:04:39 pm by RaidouJFlo »