Closed GoogleCodeExporter closed 9 years ago
Sorry, this can't be solved. Lsnes isn't/won't be supporting it either for
similar reasons.
The address being read from is in the MMIO range. Bsnes has a design
shortcoming which renders it incapable of distinguishing real (destructive)
reads from debugger reads. Therefore the entire MMIO range is crudely blocked
off from debugger access to prevent debugging tools from changing the emulation
state. The effect of this is 0x00 getting read.
To make matters worse, there is another problem. Even without the above
problem, handling fetches from open bus requires simulation of the MDR register
since it will change after each fetch. The pattern of fetches is interleaved
oddly with the pattern of data accesses, depending on the vagaries of
particular instructions. In effect, the instruction needs to be executed
completely in order to know what happens to MDR.
Fixing this, if it's even possible, requires major renovations to bsnes
internals which are not likely ever to happen.
Original comment by zero...@zeromus.org
on 6 Mar 2015 at 12:57
Original comment by zero...@zeromus.org
on 6 Mar 2015 at 12:58
Fair enough. I guess I was thinking of the tracelogger as working in an
altogether simpler manner, with the emulator core somehow remembering and
reporting its most recent instruction.
Original comment by matthew....@gmail.com
on 6 Mar 2015 at 4:03
Original issue reported on code.google.com by
matthew....@gmail.com
on 28 Feb 2015 at 4:27Attachments: