Commit graph

74 commits

Author SHA1 Message Date
Eladash dbecf0fa50 Introducing RSX debugger entry (main debugger) 2021-01-19 22:55:12 +03:00
Eladash e05f1c37ad memory viewer: Close all instances after emulation exit 2021-01-12 23:57:36 +03:00
Nekotekina db8e6fe7a7 Enable -Wunused-variable 2021-01-12 14:34:14 +03:00
Eladash c4c6dc19a5 memory viewer: Implement SPU mode, fix address GOTO 2020-12-30 15:42:56 +03:00
Eladash 0055d84bd6 Partial revert of 43c87e99b0 2020-12-23 08:25:56 +03:00
Eladash 020acc8235 GUI: Rewrite GOTO address tools in debugger tools 2020-12-23 08:25:56 +03:00
Eladash 43c87e99b0 Debugger: Switch from NoThread when the emulation is running
And fix UpdateUnitList() when the emulation is stopped at initial startup.
2020-12-21 13:46:26 +03:00
Eladash 74a09a6338 PPU memory must be exec memory when using debugger's "Next Instruction" feature 2020-12-21 13:46:26 +03:00
Eladash 2b9c407dc3 Mask PC in debugger_frame::keyPressEvent for SPU
SPU only has 256kb of memory, need to work with this.
2020-12-21 13:46:26 +03:00
Eladash 2c06043617 Debugger: correctness fixes and cleanup
* Remove m_current_choice, it's not correct to rely on thread name entry. In extreme corner cases a newly thread can be created, old destroyed with the same entry name. (reoccuring LV2 SPU/PPU ID)
* Remove m_no_thread_selected, can be easily replaced with std::weak_ptr expired() function and is more accurate this way.
* In HandleBreakpointRequest: only remove breakpoint on valid PPU thread and not any thread! also fix potential nullptr deref if thread has recently been destroyed.
2020-12-21 13:46:26 +03:00
Eladash ef884642e4 Cleanup disasm classes a bit 2020-12-21 13:46:26 +03:00
Nekotekina eec11bfba9 Move align helpers to util/asm.hpp
Also add some files:
GLTextureCache.cpp
VKTextureCache.cpp
2020-12-18 18:07:42 +03:00
Eladash 2172974db9 Link the memory viewer with the debugger 2020-12-17 19:36:35 +01:00
Nekotekina eb66302907 atomic.hpp: replace std::atomic with atomic_t
Dual dependency is nothing good.
2020-12-07 17:13:12 +03:00
Eladash 15a12afe25 Debugger: Implement code flow tracking 2020-12-06 15:32:13 +03:00
Eladash 427cf91447 Debugger: rewrite GetPc() 2020-12-06 15:32:13 +03:00
RipleyTom af8c661a64 Remove BOM markers 2020-12-06 15:30:12 +03:00
Eladash 50ea1a12c9 Debugger: Fix scrolling in first registers panel 2020-11-17 09:39:39 +01:00
Eladash b1710bb712
SPU Debugger: Implement float registers view + General debugger fixes (#9265)
* SPU Debugger: Fix try_get_insert_mask_info
* Debugger: Always update thread state on context's data change
No longer needing to press on thread's instructions for actions to work!
2020-11-15 08:45:28 +03:00
Nekotekina f972fa26a4 Derive RSX Replay thread from cpu_thread
Its id is set to 0, so fix some id_type() usages.
2020-10-30 17:36:11 +03:00
Eladash 0bb3609cad Debugger: Simplify thread pause state change 2020-10-23 13:13:04 +03:00
Eladash 6d3c421823 Debugger: Optimize thread disasm type select
Some correctness fixes as well: dont use raw pointers where its not compatible, use std::weak_ptr instead.
2020-10-23 13:13:04 +03:00
Eladash 865464f607 SPU Local Storage capture 2020-10-08 19:05:14 +03:00
Bevan Weiss e1adb18491 GUI: Additional translation entries
A few more items:
Standardising on 'OK' for all base language uses (rather than 'Ok', or 'Okay').
It's perceived as the 'most correct' variant, and importantly having a single variant is best from a translation perspective.

Added plurality handling for multiple PPU caches created.

Added plurality handling for multiple items deleted in save manager.

Capitalised trophy grade to align with Sony terminology.
Brought trophy name position into translatable string (for languages that might really want to deviate from SVO)
2020-09-06 11:50:27 +02:00
Eladash 3ce7fd7894 Debugger: Fix instructions editor 2020-08-25 17:43:07 +02:00
Megamouse 18219afbf7 Qt: move rsx capture to Utilities menu 2020-04-22 21:43:03 +02:00
Megamouse e6a6d7e9bc Qt: fix some translation nitpicks 2020-04-06 20:59:58 +02:00
Nick Renieris 2eea18469d Qt/Debugger: Call Stack panel 2020-04-03 01:36:35 +01:00
Nick Renieris 9024ba69b4 Qt/Debugger: Split register misc state info to separate panels 2020-04-03 01:36:35 +01:00
RipleyTom af4efafae1 Remove Qt5Network Qt5OpenGL and Qt5QML dependencies 2020-03-22 13:48:43 +03:00
Eladash 28e9cade2c GUI/rsx capture: Disable capturing if no game is running! 2020-03-12 21:36:43 +01:00
Eladash c04abac630 rsx capture: Fix exceptions handler, fix tiny race condition on capture new capture 2020-03-12 21:36:43 +01:00
Megamouse f7666f44da Untangle GUI and input includes 2020-02-24 16:31:01 +01:00
Nekotekina 92e3eaf3ff Fix signed-unsigned comparisons and mark warning as error (part 2). 2020-02-19 22:54:58 +03:00
Megamouse fe75311be2 move config structs to own files and clean up some headers 2020-02-17 15:08:17 +03:00
Nekotekina 4bc431ec31 Silence deprecation warning (implicit capture of this on [=]) 2020-02-10 14:47:12 +03:00
Megamouse 485b22d664 Qt: fix deprecation warnings 2020-01-19 16:38:17 +01:00
Nekotekina 835892aa51 C-style cast cleanup VII 2019-12-05 02:10:15 +03:00
msuih 84867b0848 Fix deprecation warnings
warning C4996: 'QPalette::Foreground': Use QPalette::WindowText instead
warning C4996: 'QPalette::Background': Use QPalette::Window instead
2019-09-07 22:01:12 +02:00
Megamouse 6c10cb2eb5 Assume go to address to be hexadecimal 2019-01-05 04:03:18 +01:00
Megamouse 6fe615605a prevent debugger crash when no thread is selected 2019-01-05 04:03:18 +01:00
Nekotekina 1b37e775be Migration to named_thread<>
Add atomic_t<>::try_dec instead of fetch_dec_sat
Add atomic_t<>::try_inc
GDBDebugServer is broken (needs rewrite)
Removed old_thread class (former named_thread)
Removed storing/rethrowing exceptions from thread
Emu.Stop doesn't inject an exception anymore
task_stack helper class removed
thread_base simplified (no shared_from_this)
thread_ctrl::spawn simplified (creates detached thread)
Implemented overrideable thread detaching logic
Disabled cellAdec, cellDmux, cellFsAio
SPUThread renamed to spu_thread
RawSPUThread removed, spu_thread used instead
Disabled deriving from ppu_thread
Partial support for thread renaming
lv2_timer... simplified, screw it
idm/fxm: butchered support for on_stop/on_init
vm: improved allocation structure (added size)
2018-10-19 22:22:35 +03:00
Nekotekina 8abe6489ed Mega-cleanup for atomic_t<> and named bit-sets bs_t<>
Remove "atomic operator" classes
Remove test, test_and_set, test_and_reset, test_and_complement global functions
Simplify atomic_t<> with constexpr if, remove some garbage
Redesign bs_t<> to use class, mark its methods constexpr
Implement atomic_bs_t<> for optimizations
Remove unused __bitwise_ops concept (should be in other header anyway)
Bitsets can now be tested via safe bool conversion
2018-09-03 21:40:36 +03:00
Megamouse 544f8711f0 Qt: improve docks and toolbar flat style 2018-07-05 23:22:33 +04:00
Megamouse bff9a06f9f Qt: simplify occasions of restoreState 2018-05-22 16:27:33 +01:00
Jake 75b40931fc rsx: initial capture/replay functionality (#4510)
* rsx: initial capture/replay functionality
2018-05-13 12:18:05 +03:00
Robbie 477522210e Refactor debugger_frame into subclasses. Mostly trying to simplify
breakpoints.
2018-04-21 22:21:51 +04:00
Megamouse baea538c32 Qt: clean up gui_settings.h - move general functions to qt_utils.h 2018-03-22 16:33:37 +04:00
TGEnigma cb9e6e75db Debugger improvements (#4026)
* Improve debugger
 * Added 'Step Over' functionality
 * Added special SPU pause functionality that pauses the SPU thread when the tag mask is at 0x80000000 by holding ctrl while pausing
  * Go to address dialog now evaluates expressions, including defined variables such as pc, r1, r2, etc
    * Requires QtScript to be linked with the project
  * Made the option to center shown addresses (Go to addr/pc) optional by making it an entry in the GUI ini config
  * Shown addresses now appear 'selected'
  * New keyboard shortcuts!
    - Ctrl+G -> Go to address
    - F10 -> Step Over
    - F11 -> Step (Into)
2018-03-13 16:23:12 +04:00
Megamouse 8db7ef4d5a Qt: enable background images for floating dock widgets 2018-03-02 21:50:48 +04:00