-
Notifications
You must be signed in to change notification settings - Fork 257
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
Win32 debugger tweaks and fixes #368
base: master
Are you sure you want to change the base?
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_control Look 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