Stenzek
2b5baa1b82
CPU: Add more branch hints to interpreter
...
Eliminate more bounds checks. This plus the last change can net up to a
20% performance improvement in some games when using the interpreter
(tested on AMD 7950X3D).
4 months ago
Stenzek
667e1147a4
CPU: Add branch hints to interpreter dispatch
...
Eliminates the bounds check in the switch loop.
4 months ago
Stenzek
18f581ef93
CPU: Use ternary in CPU::WriteRegDelayed()
...
Shouldn't make any net difference, a good compiler will turn this into a
cmov anyway.
4 months ago
Stenzek
a94a90f345
CPU: Fix some unlikely-to-be-triggered issues
5 months ago
Stenzek
54285978cf
CPU: Add Host::ReportDebuggerEvent()
...
And replace the old ReportDebuggerMessage().
Fixes breakpoint hit counts not updating in UI.
9 months ago
Stenzek
bff1f473d6
CPU: Add cop0 breakpoint checks for coprocessor loadstores
9 months ago
Stenzek
b1d1c76289
CPU: Don't set cop bits on DBE
9 months ago
Stenzek
f9c2aeabbb
CPU: Fix incorrect EPC after cop0 breakpoint
9 months ago
Stenzek
2e659d8cf8
CPU: Pack local state in struct
9 months ago
Stenzek
5a32d194b7
CPU: Fix cop0 breakpoints triggering too late
9 months ago
Stenzek
632aa18df0
CPU: Don't raise #RI on write to read-only COP0 registers
...
Should be silently ignored instead apparently.
9 months ago
Stenzek
604b7ce73f
Misc: Fix building with GCC
...
Not that anyone should be doing it.
9 months ago
Stenzek
6c1ee0ca87
Settings: Store custom aspect ratios in main key
...
What a pain. But allows patches to override aspect ratio to any
arbitrary value.
1 year ago
Stenzek
ecf13ded23
Qt: Add Memory Editor window
1 year ago
Stenzek
0de2aafdb9
CPU/Interpreter: Memory read failures are unlikely
1 year ago
Stenzek
b106392da0
CPU/PGXP: Implement lwl/lwr/swl/swr
...
Fixes gaps in sky geometry in Kingsley's Adventure.
1 year ago
Stenzek
e183ec307a
CPU/Interpreter: Use aligned address for membps in lwl/lwr
1 year ago
Stenzek
cdd054702c
CPU: Log on break exception without PCDrv
1 year ago
Stenzek
2ed7aa5536
CPU: Clear pending bus error when interpreting block
...
It can get set from a failed rec access much earlier.
Also eliminates a redundant store from the main interpreter loop.
1 year ago
Stenzek
0479500357
CPU: Correctly mask upper 1.5GB of KUSEG
...
Stops fastmem going into a loop when trying to backpatch accesses
above 512MB.
1 year ago
Stenzek
115ba4433c
CPU/Interpreter: Emulate lo/hi read stall after mult/div
...
Still need to do the recompiler.
2 years ago
Stenzek
541af8d5de
GDBServer: Stub out thread commands
2 years ago
Stenzek
9939f1cd05
CPU/Interpreter: Use __builtin_{add,sub}_overflow for exceptions
...
Recompiler already does this.
2 years ago
Stenzek
6a86c80445
CPU: Correct wording about cop2 and IRQs
2 years ago
Stenzek
8772c336ec
CPU: Don't stall until GTE completion on write
...
Apparently this is what the real CPU does, and some very optimized
code can run slower if we stall early.
Obviously if you write to a register being read by the command,
things are going to break.
2 years ago
Stenzek
e08dda0a0a
CPU: Declare state with constinit
2 years ago
Stenzek
4e5b4ba071
CPU: Fix AdEL/IBE on instruction fetch
...
CAUSE and EPC were swapped for the latter.
2 years ago
Stenzek
4b34825afd
CPU/CodeCache: Remove InstructionInfo pc field
...
No longer needed since oldrecs are gone.
2 years ago
Stenzek
89f11095bc
CPU: GTE completion cycle should be reset/serialized
...
Yay more determinism breakage...
2 years ago
Stenzek
9f73e690ad
CPU: Debug mode flag should be updated on state load
2 years ago
Stenzek
ac05c35292
CPU: Fix DCIC not being cleared on reset
...
Stops interpreter mode being unintentionally forced after
restarting some games.
2 years ago
Stenzek
5687dd22bd
PIO: Add basic flash cartridge support
2 years 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.
2 years ago
Stenzek
2f70d1bd9c
CPU: Write trace log to data directory
2 years ago
Stenzek
0faa9cf650
Build: Add Devel configuration
...
Gets you debug assertions and logging, while still producing an
optimized executable.
2 years ago
Stenzek
c6746e76f1
CPU/Intepreter: Raise #RI on invalid COP0 move
2 years ago
Stenzek
62414b0c4c
CPU/Interpreter: IBE should not set BD/BT
...
Apparently. Nothing relies on this. :P
2 years ago
Stenzek
5261cfe8e4
CPU/Recompiler: Tidy up type names
...
And reduce global namespace pollution.
2 years ago
Stenzek
365e129792
CPU: Fix puts() hook incorrect arg
2 years ago
Stenzek
6ffa5bffab
CPU: Handle mirrors of BIOS syscalls
2 years ago
Stenzek
ead9e56c4d
System: Support loading ELF files
2 years ago
Stenzek
6551358212
Log: Replace channel string search with bitset
...
Knocks off around ~20KB of code.
2 years ago
Stenzek
2d04f2eff9
System: Support loading .CPE files
2 years ago
Stenzek
4ab22921c4
GPUDump: Add GPU dump recording and playback
...
Implements the specification from:
https://github.com/ps1dev/standards/blob/main/GPUDUMP.md
2 years ago
Stenzek
26b6c704f0
MemMap: Support dynamic page size selection
...
i.e. 4K to 16K on ARM64.
2 years 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.
2 years ago
Stenzek
8fa406061a
CPU: Add SetBreakpointEnabled()
2 years 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.
2 years 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.
2 years ago
Stenzek
6d0f92d4fb
dep/fmt: Bump to v11.0.2
2 years ago