Henrik Rydgård and Claude Sonnet 5
b1f0112cef
Debugger: Remove opcode-fusion display and fix cpu step size units
...
DisassemblyManager used to fuse lui+addiu/load/store into single pseudo-
instructions ("li", fused loads/stores) for display. This only applied to a
handful of opcodes, complicated DisassemblyManager, and was the root cause of
a stepping bug: Core_PerformCPUStep's Into/Over cases treated stepSize as a
byte count, while the WebSocket cpu.stepInto handler computed it as an
instruction count (needed to step over a whole fused macro in one go) - so a
plain, non-fused stepInto silently executed zero instructions.
Removed the fusion logic entirely (DisassemblyMacro, DISTYPE_MACRO) - every
disassembly line is now exactly one 4-byte instruction. With that,
"how many instructions does this line span" is always 1, so the
getInstructionSizeAt() byte-size queries in the legacy Windows and ImGui
debuggers are gone too; step requests just pass 1. Core_RequestCPUStep's
stepSize is now consistently in instructions everywhere.
Also fixes the PPSSPPHeadless build, broken since 0ed1f3e added
OpenWebDebugger() (which calls System_LaunchUrl) without a headless stub.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Hqm11k99viLfbJm2MkH4BH
2026-08-08 11:16:36 +02:00
Henrik Rydgård
9a7241708c
Win32 file dialog: Prefill the filename when saving
2026-03-07 09:49:57 +01:00
Henrik Rydgård
330a638281
Add ability to copy function hash from the disassembly view
...
See #4179
2026-02-09 19:26:43 +01:00
oltolm
72f305c779
fix warnings and cmake windows build
2026-02-04 21:28:01 +01:00
Henrik Rydgård
4007e973f3
Driveby cleanup: Remove use of legacy <tchar.h>
2026-02-01 14:43:40 +01:00
Henrik Rydgård
c20be71c10
Fix the API for MIPSAssembleOpcode to remove a global
2025-11-03 16:08:07 +01:00
Henrik Rydgård
5751e202a5
Remove redundant .c_str()
2025-08-31 13:37:43 +02:00
Henrik Rydgård
09e067c6e1
Revert "Get rid of remains of support for non-square screen DPIs"
...
This reverts commit f206ed95eb .
2025-05-21 21:41:50 +02:00
Henrik Rydgård
ff37cbe184
Minor memory safety fixes
2025-05-14 09:39:09 +02:00
Henrik Rydgård
f206ed95eb
Get rid of remains of support for non-square screen DPIs
2025-02-20 11:14:26 -06:00
Henrik Rydgård
23954f5403
Implement the disassembly mode too
2025-01-09 13:35:29 +01:00
Henrik Rydgård
3e198c53b2
More include cleanup
2024-12-18 13:57:26 +01:00
Henrik Rydgård
597be1c9bc
Stop pretending that DisassemblyManager isn't a singleton - it currently is.
2024-12-12 19:25:04 +01:00
Henrik Rydgård
637d15434e
Minor code cleanup. Add Goto LR button
2024-12-10 22:56:03 +01:00
Henrik Rydgård
7992ff4627
Make CBreakpoints an object
2024-11-25 00:22:53 +01:00
Henrik Rydgård
a8744f5992
Disable the native debugger when RetroAchievements hardcore mode is enabled
2024-11-10 19:19:03 +01:00
Henrik Rydgård
2767fb1f9e
Actually fix the black background in the win32 debugger
2024-11-07 12:55:53 +01:00
Henrik Rydgård
cf6d06c56a
Start work on imdbg
2024-11-07 11:10:12 +01:00
Henrik Rydgård
c787149472
Start moving the CPU debug-step logic to Core.cpp
2024-11-03 17:54:51 +01:00
Henrik Rydgård
f020d1d815
Windows inputbox: Add flags field, delete dupe code, add ability to mask passwords
2024-09-26 10:48:31 +02:00
Henrik Rydgård
f2ee437323
Merge pull request #18579 from GermanAizek/emplace_back
...
Minor replaced insert to emplace C++11
2023-12-19 14:30:26 +01:00
Herman Semenov
4ea842a3c1
Minor replaced insert to emplace C++11
2023-12-19 16:06:48 +03:00
Henrik Rydgård
6140321be5
Merge pull request #18566 from Nemoumbra/debugger-ui-fix
...
Stop opening some context menus when the game's not loaded
2023-12-17 16:31:41 +01:00
Herman Semenov
3d422b11c0
[GPU Common Vulkan/UI/Windows Debugger] Added const reference for function params
2023-12-14 14:23:31 +03:00
Nemoumbra
a4fe83ea20
Stop some UI elements from opening when the game's not loaded
2023-12-14 01:40:46 +03:00
Nemoumbra
5ca099a747
Scan/remove -> edit symbols
2023-07-17 16:38:24 +03:00
Nemoumbra
23cbddd3c6
Logical error fixed and func list properly updated now
2023-07-08 22:40:11 +03:00
Nemoumbra
abd2b21d60
Added the logic to the ScanRemoveWindow
2023-07-08 22:40:11 +03:00
Unknown W. Brackets
6da10463f9
Debugger: Make reg names safer, stop using v000.
...
Better to use S000, etc. as that's more clear throughout.
2023-04-29 09:48:33 -07:00
Henrik Rydgård
6945deec01
Replace a LOT of sprintf with snprintf, and a few strcpy with truncate_cpy
2023-04-28 21:04:05 +02:00
Unknown W. Brackets
9cebfc31b3
Debugger: Avoid unaligned reads in expressions.
...
Potentially, a watch or break condition could crash if it was unaligned
between mirrors. This might happen if it's not the condition you wanted,
especially. Play it safe.
2023-04-12 01:14:30 -07:00
Unknown W. Brackets
2374696d65
Debugger: Show vector load/store previews.
2023-04-09 11:09:36 -07:00
Unknown W. Brackets
be8a173026
Debugger: Clear button flags on lost focus.
...
This mouse tracking is kinda ugly. This works around an issue where when
you removed a custom condition, the highlight would stick as if you were
dragging.
2023-04-09 10:11:37 -07:00
Henrik Rydgård
82097b4a3b
Implement NopInstruction feature in debugger
...
See #16975
2023-03-02 14:30:53 +01:00
Henrik Rydgård
f55782558c
Debugger: Copy Address will now copy addresses for the whole selection
2023-03-02 13:59:07 +01:00
Henrik Rydgård
8b431b39ba
Wrap the display globals in a struct ( #16998 )
...
* Wrap the display globals in a struct
Makes it easier to search/replace these, for future refactorings.
* Some renaming
* Qt buildfix, also fix the Qt build on Mac (got broken with battery changes)
* Attempt at buildfixing ios
* UWP buildfix
2023-02-25 13:09:44 +01:00
Unknown W. Brackets
a7b7bf7826
Global: Set many read-only params as const.
...
This makes what they do and which args to use clearer, if nothing else.
2022-12-10 21:13:36 -08:00
Herman Semenov
29b87e0c0b
Merge branch 'master' into master
2022-10-03 07:49:13 +00:00
Unknown W. Brackets
ac335ad61a
armips: Update to UTF-8/c++17 armips.
2022-09-30 19:48:14 -07:00
lainon
fec708489a
Correct cleaning string and remove unused vars
2022-09-30 12:26:30 +03:00
Unknown W. Brackets
1233d1d376
Reporting: Disable when debugger methods used.
...
This won't catch all means of hacking memory, but will catch some.
Trying to reduce noise in reporting from debugging.
2022-07-30 18:21:32 -07:00
Unknown W. Brackets
9435938ad9
Debugger: Cleanup some header pollution.
...
Also simplify just a bit.
2022-02-13 07:55:34 -08:00
Unknown W. Brackets
de1a6a93d8
Debugger: Debounce redraws using timers.
2021-12-12 10:22:21 -08:00
Unknown W. Brackets
39d3b4d933
Debugger: Centralize context menu handling.
...
This deduplicates a bit, but more importantly keeps all the IDs together.
2021-10-07 19:48:13 -07:00
Unknown W. Brackets
58238abef5
Debugger: Fix submenu offsets from removing unused.
...
The wrong menus were showing in several places, especially the GE
debugger.
2021-10-07 07:04:33 -07:00
Unknown W. Brackets
882c22aa79
Windows: Remove some unused constants.
2021-10-03 06:53:58 -07:00
Unknown W. Brackets
012d47bcbf
Debugger: Show string in status bar for li, etc.
...
This is helpful when stepping through the debugger. Only shows likely
UTF-8 or similar formatted text, but often names or error messages are.
2021-04-21 23:50:59 -07:00
Unknown W. Brackets
2932a9995f
Debugger: Prompt with previous search string.
...
When searching, fill the text box with the previous search by default.
Convenient when you want to edit it.
2021-04-21 19:47:18 -07:00
Unknown W. Brackets
f32f89dd90
Global: Remove some unused variables.
2021-02-15 11:59:45 -08:00
Henrik Rydgård
b7edf75437
Move Display.cpp/h to Common.
2020-10-04 11:42:16 +02:00