Win32 debugger tweaks and fixes#368
Conversation
|
I need to get a proper development environment going before I do something significant like that. |
Not sure that it's a good idea. At least it should be optional, IMHO. |
10e1068 to
b1e6893
Compare
|
I found this great bug where someone interpreted the lParam of a WM_MOUSEWHEEL event as a window handle instead of packed X and Y coords. I don't have a firm grasp on handles, but Windows somehow knows to silently do nothing when you give it a garbage one, which is the only reason scrolling ever didn't crash. |
|
retest this please |
|
Merge was a simple res.rc conflict |
|
Appveryor literally marked it as failing because this is a draft PR. What a jerk |
|
Actually, the build error is that I declared my dialog process as a BOOL and not an INT_PTR. What fun! |
|
Here is an example of something the new code dumper output: 0D:9EE2: 30 0F BMI $9EF3
0D:9EE4: 0F UNDEFINED
0D:9EE5: 12 UNDEFINED
0D:9EE6: 2C INTERRUPTED
do_title_screen:
; Set nametable addresses
0D:9EE7: A9 10 LDA #$10
0D:9EE9: 85 F7 STA ppu_ctrl_mirror
0D:9EEB: 8D 00 20 STA PPU_CTRL
; Disable rendering
; (But leave things visible on the left 8 pixels?)
0D:9EEE: A9 06 LDA #$06
0D:9EF0: 85 F8 STA ppu_mask_mirror
0D:9EF2: 8D 01 20 STA PPU_MASK
; Set horizontal mirroring
0D:9EF5: A9 0F LDA #$0F
0D:9EF7: 20 5D C0 JSR set_mmc1_controlLook at $9EE6. It really wants to interpret that as |
9687f84 to
ef0f982
Compare
|
I don't like that appveyor won't build this unless I resolve the merge conflicts. I'll probably keep force pushing over them. |
756679b to
77c0b07
Compare
|
Ok, wow, remind me never to use hotkeys again. They are operating system-level events that get consumed by your application, and no one else gets to have them. So the little Ctrl+A shortcut for goto address intefered with my ability to select all in Notepad++. Pure jank. I've implemented "hotkeys" properly as accelerators. I had to touch |
We should disable background input for emulator's system functions, I think. Or add an option for it. |
|
I think the Mac build failure is the result of some missing configuration from upstream. 5a483e3 could not possibly have caused it. A rebase should fix that. |
What other system functions are there? Everything else seems to use accelerators or manually process |
Don’t worry, sometimes the build environment fails to pull in the proper dependencies from the package manager. In this case it looks like homebrew failed to pull in Qt5. I bet it will succeed if it runs again |
|
what's going on in this PR? does someone need to make a test build for us to evaluate? it seems like a lot of work has been put into this. |
|
Damn, has it really been a year since I touched this? Have people been working on the debugger core in the time since? This merge conflict doesn't seem too bad... Looks like a lot of the stuff I pulled out of Anyway, this branch builds on my machine. I think it's failing on AppVeyor because of a pipeline glitch. I haven't made a new commit since then to test that. There are 4 things I want to fix before we call this good enough.
I had some other plans, but we could always merge this in and do those in a new branch.
|
|
yes, it looks like a pipeline glitch. |
|
Thanks man, I'm glad you want to incorporate this. This build still thinks it's 2.4.0-dev-adfkjasdkfj, so it's getting quite rotten indeed. First I think we should tackle the merge conflicts. If the changes on master are minor enough, maybe you could revert them and I could work to incorporate them into my big refactor? I'm pretty sure git wants to create two copies of all the debugger code right now. I can tackle the "good enough" requirements this week. Apparently I already got started on Future Plan 1 (07c81ea), so I can work on that as well. |
BRK is a quirky opcode that has a length of 2 even though it doesn't take any operands. It's not disassembled as 2 bytes by FCEUX, so scrolling up by 2 like that didn't make sense. This has cause me a LOT of annoyance over the years!
This was only here because a previous programmer had gotten confused over the WM_MOUSEWHEEL event parameters. See 6b004b4


This was originally a lazy Notepad++ branch to fix a pet peeve of mine, but it's become my hobby over the last couple of weeks. Thanks to @bbbradsmith for the toolbar layout plan!
Consolidate a bunch of existing options and features into a toolbar, including:
Add some new options and features:
Bug fixes
Refactor the thousand-line megalithic WindProc into a bunch of callbacks with the stupid wParam and lParam values parsed
What if we also showed symbol addresses as a tooltip?
Should I add dashes to
BRK?Shoutouts to that lazy guy