Stenzek
365e129792
CPU: Fix puts() hook incorrect arg
2024-11-11 16:27:11 +10:00
Stenzek
6ffa5bffab
CPU: Handle mirrors of BIOS syscalls
2024-11-11 16:26:51 +10:00
Stenzek
ead9e56c4d
System: Support loading ELF files
2024-11-05 17:54:12 +10:00
Stenzek
6551358212
Log: Replace channel string search with bitset
...
Knocks off around ~20KB of code.
2024-10-31 14:41:33 +10:00
Stenzek
2d04f2eff9
System: Support loading .CPE files
2024-10-23 21:08:17 +10:00
Stenzek
4ab22921c4
GPUDump: Add GPU dump recording and playback
...
Implements the specification from:
https://github.com/ps1dev/standards/blob/main/GPUDUMP.md
2024-10-20 22:02:24 +10:00
Stenzek
26b6c704f0
MemMap: Support dynamic page size selection
...
i.e. 4K to 16K on ARM64.
2024-10-05 19:25:23 +10:00
Stenzek
3dca598063
Log: Switch to enum class
...
Need to change the channel to a bitset too.. the string lookups are
horribly slow, and conflict when one is a prefix of another.
2024-09-21 22:26:06 +10:00
Stenzek
8fa406061a
CPU: Add SetBreakpointEnabled()
2024-09-15 17:15:38 +10:00
PugsyMAME
b5768266bb
Quality of Life changes to breakpoints ( #3297 )
...
1. Made it so that breakpoints are checked for a match on 28 bits rather than the full 32 bits. It's much simpler to use 12345 rather than 80012345 and risk getting the number of zeros wrong and also handles the mirror code/memory accesses using 00??????, 80?????? & A0??????.
2. Added bp.hit_count update to execution breakpoints.
3. Changed the Hit breakpoint message at the bottom of the debugger screen to include the hit count [see notes later].
4. Added bp.enabled check to the execution breakpoint (it uses it in the r/w breakpoints code already) [see notes later].
Notes:
3. I've added the hit count to the message as it's quicker to spot but it's also a partial workaround as the Hit Count in the Breakpoints tab doesn't seem to get refreshed.
4. I thought the checkbox in the Breakpoints tab would set the bp.enabled but it seems it has no affect on any type of breakpoint. The only way to stop a breakpoint is to delete it.
2024-09-15 07:17:08 +01:00
Stenzek
ab1c85790c
CPU: Refactor execution mode switching
...
Fixes single step breaking in branch delay slots with recompiler.
Simplifies initialization.
Removes multiple sources of truth for fastmem.
2024-09-06 20:00:30 +10:00
Stenzek
6d0f92d4fb
dep/fmt: Bump to v11.0.2
2024-09-03 17:54:43 +10:00
Stenzek
7f4e5d55db
Misc: Update copyright headers
2024-09-01 22:08:31 +10:00
Stenzek
9a6de196a3
CPU/PGXP: Use Instruction type
2024-08-19 22:22:18 +10:00
Stenzek
3455a0d151
System: Fix lockup with runahead enabled
2024-08-20 11:50:52 +10:00
Stenzek
ef59a0da12
CPU: Fix assertion tripping in debug builds
2024-08-19 22:03:07 +10:00
Stenzek
41c8607782
TimingEvents: Don't defer frame done callback
2024-08-19 19:41:14 +10:00
Stenzek
6fe0c986fa
System: Rewrite EXE override/loading
...
Relies on POST=7 as a kernel initialization indicator, instead of
patching the BIOS.
Fixes EXE loading with OpenBIOS and PS2 BIOS, and fast boot getting
baked into save states.
2024-07-28 19:05:56 +10:00
Stenzek
0407f939fc
CPU: Fix loading recompiler-saved states with interpreter
2024-07-23 21:11:01 +10:00
Stenzek
79644bfb2a
CPU: Add Safe{Read,Write}MemoryBytes
2024-07-21 13:33:54 +10:00
Stenzek
2e96931c32
CPU/CodeCache: Dynamically compute BIOS memory access timing
...
The timings can change if the game does so. Instead of forcing the
blocks to recompile, we can just manually multiply size * word_time.
Improves stability of Nightmare Creatures booting, and fixes corrupted
text in Formula Circus when using the cached interpreter.
2024-07-19 22:25:57 +10:00
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