devinacker / bsnes-plus

debug-oriented fork of bsnes
http://bsnes.revenant1.net
327 stars 94 forks source link

Show object code in tracelog / Make tracelog layout configurable #334

Open Ramsis-SNES opened 2 years ago

Ramsis-SNES commented 2 years ago

Hi!

It would be very nice if ROM object code was actually shown in tracelogs.

Currently it looks like this:

00ffa0 sei                     A:0000 X:0000 Y:0000 S:01ff D:0000 DB:00 ..1B.I.. V:  0 H: 46 F: 0
00ffa1 clc                     A:0000 X:0000 Y:0000 S:01ff D:0000 DB:00 ..1B.I.. V:  0 H: 50 F: 0
00ffa2 xce                     A:0000 X:0000 Y:0000 S:01ff D:0000 DB:00 ..1B.I.. V:  0 H: 53 F: 0
00ffa3 jml $c00f1b    [c00f1b] A:0000 X:0000 Y:0000 S:01ff D:0000 DB:00 ..MX.I.C V:  0 H: 57 F: 0

There should be another column between the address and the mnemonic, like so:

00ffa0 78          sei                     A:0000 X:0000 Y:0000 S:01ff D:0000 DB:00 ..1B.I.. V:  0 H: 46 F: 0
00ffa1 18          clc                     A:0000 X:0000 Y:0000 S:01ff D:0000 DB:00 ..1B.I.. V:  0 H: 50 F: 0
00ffa2 fb          xce                     A:0000 X:0000 Y:0000 S:01ff D:0000 DB:00 ..1B.I.. V:  0 H: 53 F: 0
00ffa3 5c 1b 0f c0 jml $c00f1b    [c00f1b] A:0000 X:0000 Y:0000 S:01ff D:0000 DB:00 ..MX.I.C V:  0 H: 57 F: 0

Ideally, this would be user-configurable. Even better would be an option to further configure the layout of tracelogs with things like adding blank lines after user-defined instructions (rts/rtl/rti come to mind), switching between uppercase or lowercase letters in hex numbers, and/or toggling the logging of status registers.

Thanks! :-)