Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Gambatte core CDL problem #1349
Not sure why, but I see Gambatte core now using a real GB firmware which is a code chunk at 000-100 in CPU address space. the Code and Data Logger seems log this area as well at the boot up.
I can force my CDL/IDA scripts to ignore this but this is not actually right in general for the CDL logging.
yeah, there is no special case lol two different ROMs (one inside the CPU and one on the cart) execute the same are of the CPU address space (000-100).
before now there are no BIOS code in gambatte core so CDL logger just record the cart code/data flow.
now the gambatte core MUST use the bios and run it before the ROM, so we have double execution at the 000-100 area.
both are merged with the CDL dumb core because it doesn't know about two different roms are executed at the same rom area (000-100).
so we have CDL with merged code execution flow from BIOS rom and the ROM 000-100 area in one file.
so. what we have. two different roms are mapped at the same place in the CDL file. so we have a wrong code flow trace.
here is two fix path:
obviously, this is affects the ID cdl parsing. I can avoid this issue just by avoiding the code ida script in 000-100 area.. but this is not a issue for game boy color. they have more internal rom and this may interfer with more ROM data/code. I can avoid much more code in my scripts but this is ridiculous... I can actually put my head in my ass also the same way... but this is not an option