IsoFrieze / DiztinGUIsh

A Super NES ROM Disassembler
GNU General Public License v3.0
270 stars 26 forks source link

support BSNES capturing other tracelog CPU data besides just main CPU #43

Open binary1230 opened 3 years ago

binary1230 commented 3 years ago

our mod to BSNES is outputting just one CPU for the moment, the main CPU.

it's pretty trivial on the BSNES side to extend the functionality to other CPUs like the SPC, SA-1, etc.

to do that, each CPU in BSNES-plus would need a new ::disassemble_opcode_bin() function, looking like the one here: https://github.com/binary1230/bsnes-plus/blob/e30dfc784f3c40c0db0a09124db4ec83189c575c/bsnes/snes/cpu/core/disassembler/disassembler.cpp#L224

We should pick new header IDs for each CPU and its abridged format.

and then, in Tracer, just hook up the remaining calls to dumb to the new disassemble_opcode_bin() functions: https://github.com/binary1230/bsnes-plus/blob/e30dfc784f3c40c0db0a09124db4ec83189c575c/bsnes/ui-qt/debugger/tracer.cpp#L62

specifically, in the following:

Tracer::outputSa1Trace()
Tracer::outputSfxTrace()
Tracer::outputSgbTrace()