Commit graph

116 commits

Author SHA1 Message Date
Stenzek 567b86ce79
Host: Purge ReportFormattedDebuggerMessage() 2024-07-19 14:00:29 +10:00
Stenzek 77488db3dc
Misc: Align CPU state and SPU voices to cache lines
Fixes the ~12% performance regression from the texture replacement
namespace'ify commit. Apparently LTO was placing the CPU struct in the
middle of a cache line...
2024-07-06 18:49:37 +10:00
Stenzek 723af4de3a
Misc: Loading old save state versions is unlikely 2024-05-31 18:48:26 +10:00
Stenzek 1565a2667d
Misc: More format string fixes 2024-05-25 15:48:31 +10:00
Stenzek 4e922a34a7
Log: Simplify macros 2024-05-24 02:08:14 +10:00
Stenzek b6d019db66
Misc: Replace log printf calls with fmt 2024-05-24 00:29:49 +10:00
Stenzek b26a9556f7
System: Improve reset determinism 2024-04-22 00:19:44 +10:00
Stenzek 35f0d7f623
CPU: Update debug dispatcher flag on init 2024-04-22 00:08:16 +10:00
Stenzek fa6850902a
CPU: Make interrupts actually edge-triggered 2024-03-18 01:46:19 +10:00
Stenzek 71094a0e44
CPU: Implement memory breakpoints/watchpoints 2024-02-28 00:02:02 +10:00
Stenzek ef4389cea8
Qt: Cache CPU register values
That way they don't update while running.
2024-02-27 22:38:43 +10:00
Stenzek eeef0a92bb
CPU: Make single step go through the "normal" execution path
That way it exits and re-enters the dynarec as expected.
2024-02-27 21:04:25 +10:00
Stenzek 884c851079
CPU: Fix GTE control register disassembly 2024-01-21 02:45:09 +10:00
Stenzek 32f5482ad2
CPU: Inhibit debug dispatcher when COP0 BP is invalid 2024-01-01 15:25:48 +10:00
Stenzek bc2c334370
Misc: Combine some redundant functions 2023-12-13 20:56:40 +10:00
Stenzek 185af2b039
CPU/NewRec: Fix lui/mfc0 not getting called in CPU PGXP mode 2023-12-06 20:12:20 +10:00
Stenzek 08fcee2f56
CPU: Flush load delays before PCDrv calls 2023-11-28 18:25:12 +10:00
Stenzek 312790c9a6
CPU/NewRec: Handle mtc0 rt, sr 2023-11-10 21:19:45 +10:00
Stenzek 3dfc3bd2ba
CPU: Fix incorrect scratchpad masking 2023-11-06 18:09:27 +10:00
Stenzek 9501439d6b
CPU: Add new experimental recompiler 2023-10-18 00:49:01 +10:00
Stenzek 9d40164f84
CPU/Recompiler: Offset LUT fastmem pointers 2023-10-18 00:49:01 +10:00
Stenzek a062b00c1a
Bus: Protect main RAM buffer
Get rid of write-time checks.
2023-10-18 00:49:01 +10:00
Stenzek 79e1ae3e54
CPU/CodeCache: Rewrite using new-rec's block management 2023-10-18 00:49:01 +10:00
Stenzek f9d8a49324
CPU: Fix incorrect writing of unaligned words via cheats 2023-10-11 01:10:31 +10:00
Stenzek 56fc207af6 CPU: Use lookup tables for memory access 2023-10-01 20:48:02 +10:00
Stenzek 05fe925409 CPU: Make namespacing explicit 2023-10-01 20:48:02 +10:00
Stenzek ac0601f408 Common: Drop String, add SmallString 2023-09-23 14:14:52 +10:00
Stenzek 60aca2fc4d Misc: Swap LIKELY/UNLIKELY macros for attributes 2023-09-05 22:10:50 +10:00
Stenzek a4c7293d28 CPU: Fix breakpoints/single stepping 2023-09-03 19:49:34 +10:00
Stenzek 80e3d29ab8 Misc: clang-cl warning clean-up 2023-09-03 14:30:26 +10:00
Stenzek 199c53f3af BIOS: Replace TTY patch with syscall hook 2023-08-30 00:44:01 +10:00
Stenzek 92b1c21b8a CPU: Fix crash on breakpoint add/trace enable 2023-08-30 00:44:01 +10:00
Stenzek e57ad0b6aa Host: Backport translations cache
Note: You'll need a new command line for lupdate.

..\..\..\dep\msvc\qt\6.5.0\msvc2022_64\bin\lupdate.exe ../ ../../core/ ../../util/ -tr-function-alias QT_TRANSLATE_NOOP+=TRANSLATE,QT_TRANSLATE_NOOP+=TRANSLATE_SV,QT_TRANSLATE_NOOP+=TRANSLATE_STR,QT_TRANSLATE_NOOP+=TRANSLATE_FS,QT_TRANSLATE_N_NOOP3+=TRANSLATE_FMT,QT_TRANSLATE_NOOP+=TRANSLATE_NOOP -ts duckstation-qt_LANGUAGE.ts
2023-08-20 12:40:47 +10:00
Stenzek 5b980dafa5 System: Refactor main loop
Reduces JIT exits.
Improves runahead performance.
2023-08-16 01:13:00 +10:00
Stenzek 84e5fbe0c6 CPU: HLE implementation of PCDrv (host file access) 2023-04-29 20:45:39 +10:00
Connor McLaughlin fe08d34e52 Qt: Add COP0/GTE registers to debugger list 2023-01-15 15:13:54 +10:00
Connor McLaughlin 8c7a192128 Misc: Add copyright/license statement to applicable files
Should've did this in the beginning.
2022-12-04 21:03:49 +10:00
Connor McLaughlin b42b5501f6 UI: Massive revamp, new features and improvements 2022-07-22 21:19:54 +10:00
Connor McLaughlin b7fbde31a7 Move utility classes from common to own static lib 2022-07-21 17:29:58 +10:00
Connor McLaughlin 46737acecd CPU: Prevent mismatched va_start/va_end in log 2022-01-06 22:47:10 +10:00
Connor McLaughlin bbf67ef544 CPU: Warning fix 2021-12-25 14:28:32 +10:00
Connor McLaughlin 53299e3c7b CPU/Interpreter: Load delay check should be a debug assertion 2021-07-24 13:04:54 +10:00
Connor McLaughlin 30db081a64 CPU: Simulate stalls from GTE instructions 2021-07-16 12:27:31 +10:00
Connor McLaughlin 4f09d61825 CPU: Don't panic on invalid instructions 2021-06-15 22:58:29 +10:00
Connor McLaughlin 1ed1d641a6 CPU/Recompiler: Don't use intepreter icache when falling back
Fixes broken rendering in TOCA 2.

It has self-modifying code every frame, which gets falled back to the
interpreter, and using the interpreter's icache, which resulted in
stale code executing.
2021-05-20 12:19:23 +10:00
Connor McLaughlin e382df0d41 Support expanding RAM to 8MB (dev console) 2021-05-03 12:43:33 +10:00
Connor McLaughlin f1310bf93a System: Don't discard PGXP state when runahead-rollbacking
You'll still see some glitches if you have the frame count set too high,
since you'll get imprecise values for any vertices which have moved, but
that's going to happen anyway because of the runahead in the first
place.
2021-04-28 02:51:44 +10:00
Connor McLaughlin 40731b49fc Bus: Handle CPU-internal narrow writes
The full 32-bits of the GPR are used.

Fixes SoundScope in the BIOS Shell.
2021-04-26 22:08:18 +10:00
Connor McLaughlin 3106c797d9 CPU: Reduce severity of some log statements 2021-04-19 15:19:08 +10:00
Connor McLaughlin 442b801d39 CPU: Implement cop0 execution and data breakpoints 2021-04-14 19:06:52 +10:00