Commit Graph

147 Commits (89f11095bc3db402c5a71c4a0c3d73a943fd3ad8)

Author SHA1 Message Date
Stenzek 89f11095bc
CPU: GTE completion cycle should be reset/serialized
Yay more determinism breakage...
11 months ago
Stenzek 9f73e690ad
CPU: Debug mode flag should be updated on state load 11 months ago
Stenzek ac05c35292
CPU: Fix DCIC not being cleared on reset
Stops interpreter mode being unintentionally forced after
restarting some games.
11 months ago
Stenzek 5687dd22bd
PIO: Add basic flash cartridge support 11 months ago
Stenzek 2f6eaa1d43
CPU/Interpreter: Address ICache lines in words
Might help on ARM32, because no unaligned access.

Otherwise, ~23% perf boost in debug builds. But this is pretty
meaningless.
11 months ago
Stenzek 2f70d1bd9c
CPU: Write trace log to data directory 12 months ago
Stenzek 0faa9cf650
Build: Add Devel configuration
Gets you debug assertions and logging, while still producing an
optimized executable.
12 months ago
Stenzek c6746e76f1
CPU/Intepreter: Raise #RI on invalid COP0 move 12 months ago
Stenzek 62414b0c4c
CPU/Interpreter: IBE should not set BD/BT
Apparently. Nothing relies on this. :P
12 months ago
Stenzek 5261cfe8e4
CPU/Recompiler: Tidy up type names
And reduce global namespace pollution.
12 months ago
Stenzek 365e129792
CPU: Fix puts() hook incorrect arg 1 year ago
Stenzek 6ffa5bffab
CPU: Handle mirrors of BIOS syscalls 1 year ago
Stenzek ead9e56c4d
System: Support loading ELF files 1 year ago
Stenzek 6551358212
Log: Replace channel string search with bitset
Knocks off around ~20KB of code.
1 year ago
Stenzek 2d04f2eff9
System: Support loading .CPE files 1 year ago
Stenzek 4ab22921c4
GPUDump: Add GPU dump recording and playback
Implements the specification from:

https://github.com/ps1dev/standards/blob/main/GPUDUMP.md
1 year ago
Stenzek 26b6c704f0
MemMap: Support dynamic page size selection
i.e. 4K to 16K on ARM64.
1 year ago
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.
1 year ago
Stenzek 8fa406061a
CPU: Add SetBreakpointEnabled() 1 year ago
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.
1 year ago
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.
1 year ago
Stenzek 6d0f92d4fb
dep/fmt: Bump to v11.0.2 1 year ago
Stenzek 7f4e5d55db
Misc: Update copyright headers 1 year ago
Stenzek 9a6de196a3
CPU/PGXP: Use Instruction type 1 year ago
Stenzek 3455a0d151
System: Fix lockup with runahead enabled 1 year ago
Stenzek ef59a0da12
CPU: Fix assertion tripping in debug builds 1 year ago
Stenzek 41c8607782
TimingEvents: Don't defer frame done callback 1 year ago
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.
1 year ago
Stenzek 0407f939fc
CPU: Fix loading recompiler-saved states with interpreter 1 year ago
Stenzek 79644bfb2a
CPU: Add Safe{Read,Write}MemoryBytes 1 year ago
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.
1 year ago
Stenzek 567b86ce79
Host: Purge ReportFormattedDebuggerMessage() 1 year ago
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...
1 year ago
Stenzek 723af4de3a
Misc: Loading old save state versions is unlikely 1 year ago
Stenzek 1565a2667d
Misc: More format string fixes 1 year ago
Stenzek 4e922a34a7
Log: Simplify macros 2 years ago
Stenzek b6d019db66
Misc: Replace log printf calls with fmt 2 years ago
Stenzek b26a9556f7
System: Improve reset determinism 2 years ago
Stenzek 35f0d7f623
CPU: Update debug dispatcher flag on init 2 years ago
Stenzek fa6850902a
CPU: Make interrupts actually edge-triggered 2 years ago
Stenzek 71094a0e44
CPU: Implement memory breakpoints/watchpoints 2 years ago
Stenzek ef4389cea8
Qt: Cache CPU register values
That way they don't update while running.
2 years ago
Stenzek eeef0a92bb
CPU: Make single step go through the "normal" execution path
That way it exits and re-enters the dynarec as expected.
2 years ago
Stenzek 884c851079
CPU: Fix GTE control register disassembly 2 years ago
Stenzek 32f5482ad2
CPU: Inhibit debug dispatcher when COP0 BP is invalid 2 years ago
Stenzek bc2c334370
Misc: Combine some redundant functions 2 years ago
Stenzek 185af2b039
CPU/NewRec: Fix lui/mfc0 not getting called in CPU PGXP mode 2 years ago
Stenzek 08fcee2f56
CPU: Flush load delays before PCDrv calls 2 years ago
Stenzek 312790c9a6
CPU/NewRec: Handle mtc0 rt, sr 2 years ago
Stenzek 3dfc3bd2ba
CPU: Fix incorrect scratchpad masking 2 years ago