Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- this outputs the current line of trace logger on screen
- -- very basic and not well tested, but helps when executing SNES' open bus, which is bugged on bsnes
- local PFLAGS_ON = string.reverse("NVMXDIZC")
- local PFLAGS_OFF = string.lower(PFLAGS_ON)
- function on_paint(frame_advance)
- gui.top_gap(32)
- gui.left_gap(24)
- gui.right_gap(24)
- local previous_bus = memory.getregister("pbpc")
- local A, X, Y, S = memory.getregister("a"), memory.getregister("x"), memory.getregister("y"), memory.getregister("s")
- local D, DB = memory.getregister("d"), memory.getregister("db")
- local processor_flags = bit.rflagdecode(memory.getregister("p"), 8, PFLAGS_ON, PFLAGS_OFF)
- local V, H = memory.getregister("vcounter"), memory.getregister("hcounter")
- local code = memory.disassemble("snes-XA", 0x1000000 + previous_bus, 1)[1].disasm
- local log_text = string.format("%.6x A:%.4x X:%.4x Y:%.4x S:%.4x D:%.4x DB:%.2x %s V:%3d H:%4d",
- previous_bus, A, X, Y, S, D, DB, processor_flags, V, H)
- gui.text(-24, -32, log_text, "white", "darkblue")
- gui.text(-24, -16, code, "red", "darkblue")
- end
- gui.repaint()
Advertisement
Add Comment
Please, Sign In to add comment