Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

partial fix issue #21: DisasmViewer reloads on Breakstate #185

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

pvmm
Copy link
Contributor

@pvmm pvmm commented Jun 8, 2023

There seems to be a much simpler solution for issue #21: we reload DisasmViewer code window when we enter break state. A bit of a waste of resources, but the impact is negligible.

@m9710797
Copy link
Contributor

m9710797 commented Jun 8, 2023

Seems like a good idea.

@sdsnatcher
Copy link

sdsnatcher commented Jun 8, 2023

I feel obligated to thank you so much for this fix.

  • It follows the KISS principle
  • It passed my "trial by fire" test for this problem. I'll describe it here:

The use case is: to debug two simultaneous sessions of an MSX-DOS game side by side. One session runs the original game, the other runs an enhanced version you've been working. You're trying to compare when one of the two is misbehaving (either an original bug that was fixed, or something that worked and there's a new bug that you introduced).
You don't have the original source code of the game. This is all hacking/reverse engineering.

  1. What was being tried:
    a) MSX-DOS executables are all loaded at 0x0100.
    b) Most DOS games load a succession of executables for each part of the game
    c) You place a breakpoint at 0x0100 to check when each of the executable is being started
    d) Going back and forth from the openMSX App that is running the original game and the openMSX App running the patched game

  2. What was a nightmare:
    a) The debugger didn't notice that a new MSX-DOS executable was loaded at 0x0100. The code from any of the previous executable was usually shown. The developer stepped for many incorrect instructions puzzled by the misbehavior before realizing that the Z80 instructions being shown were all bogus
    b) The same problem occurred when disconnecting form one openMSX App and connecting to the other


This PR finally makes this use case functional.

@pvmm pvmm marked this pull request as ready for review June 8, 2023 16:08
@pvmm pvmm marked this pull request as draft June 9, 2023 04:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants