SNES Disassembly - How to handle code copied to RAM?

Discussion of hardware and software development for Super NES and Super Famicom.

Moderator: Moderators

Forum rules
  • For making cartridges of your Super NES games, see Reproduction.
Post Reply
Yoshimaster96
Posts: 13
Joined: Sat Jan 09, 2016 5:30 pm

SNES Disassembly - How to handle code copied to RAM?

Post by Yoshimaster96 » Mon May 04, 2020 9:56 pm

What it says on the tin. I'm working on a Star Fox disassembly, and a large chunk of important code that gets copied to RAM (from $028000-$02D9C2 to $7E3193-$7E8B54) is giving me some trouble.

I'm using (leaked) IDA 7.0 for the disassembly, and I tried using "Load Additional Binary" to copy the data over, but it doesn't seem to resolve references that have bit 15 clear (basically everything), which is making it difficult to figure out the control flow and structure of these functions, as well as which functions call which others.

The actual address is there mind you, but it's highlighted in red (indicating some sort of error, unfortunately IDA doesn't specify exactly what the error is and/or what can be done to resolve it).

Additionally, right-clicking on the value and clicking Offsets (Alt+R) doesn't include anything from bank $7E at all (only values from $8000-$FFFF will include $7E in the dropdown, and none of the jump offsets are in this range, the last bit of code in this region is a function at $7E5ADA-$7E5C71, everything after is data).

I'm not sure what I can/should do about this, please help.

Post Reply