I've been having a lot of success with my first hack on Sega Genesis, but I'm having trouble finding a way to locate a specific breakpoint I'm looking for. I'll try to be brief:
I want to rewrite the asm code so that my characters will not be able to trade with each other, unless under certain conditions. I also want a message on the screen to display information for the player.
Fortunately, this sort of exists in the game already. The conditions for the trade are different and the message on screen is different, but my life would be so easy if I could just locate this code and modify to my own needs. I'll need to have a similar message for other things later on in the hack, so you could imagine that locating this code will save me hours upon hours of work.
The problem is that I can't find anything concrete in the RAM data to set a breakpoint on: I found a FONT table for the message onscreen and searched every which way for the hex data (including relative/arbitrary search). The VDP data is stored in a separate place from the game's RAM. Most of the pertinent data would be in the VRAM, but I can't find a debugger that breaks on VRAM (RegenD has a menu for it, but it doesn't seem to work).
The only thing that really changes when I trigger the action above is the VDP, so I don't have anything else to go on. If I knew the op codes for writing to the VRAM, I might be able to find it in the ROM file. I might be able to find it if the debugger just breaks when I hit the button on my joypad, but I don't think there's a way to break for that either.
Actually, how does the game even know where to direct the PC when you hit a joypad button? I know it's a somewhat unrelated, but I'm curious.
Well, any ideas? I don't know if there's a standard way to approach this problem or if I need to come at it some other way entirely.