(06-08-2014, 09:42 AM)RachelB Wrote: MemmapFunctions.cpp?
Oh, silly me, I tried looking for "Memory" and didn't find it. Thanks.
I've added this code at the beginning of ReadFromHardware:
// Alert when reading the S character in SRW GC:
if (em_address == 0x8081eba0 || em_address == 0x0081baa0) // Beginning of font block
CCPU::Break();
else if (em_address == 0x808b1ed4 || em_address == 0x008aedd4) // Beginning of font file
CCPU::Break();
else if (em_address == 0x808b3128 || em_address == 0x008b0028) // Beginning of character block
CCPU::Break();
else if (em_address == 0x808b312a || em_address == 0x008b002a) // Beginning of character tile
CCPU::Break();
But I don't get any breaks. I'm positive the font is being read from these addresses because corrupted data is shown on screen. What could I be doing wrong?
EDIT:
We figured it out. The breakpoints only activate if the emulator is running in interpreter mode (JIT -> Interpreter core). The previous addresses didin't trigger it for some reason though, this line did:
if (em_address == 0x80819782 || em_address == 0x00816682) // Beginning of first dialogue
CCPU::Break();
We ran the game until the part before the first dialogue was used in normal mode, turned on interpreter mode and the break was triggered when we entered the scene.
Hopefully somebody else finds this useful.