2e080d4998
Qt: Add edit function to debugger memory view
2024-09-06 22:48:50 +10:00
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
7f4e5d55db
Misc: Update copyright headers
2024-09-01 22:08:31 +10:00
707453b596
FileSystem: Swap vector for DynamicHeapArray
...
No point zeroing it out.
2024-08-25 22:13:18 +10:00
421bd23dc8
Bus: Add stub for SIO2 accesses
...
But only enable it when using a PS2 BIOS. I could put the check in the
handler registration, but realistically this is basically never going to
be called, so better to keep things simple.
2024-08-13 14:48:18 +10:00
00a58eb4e5
Bus: Fix sideloading EXEs without initial SP value
2024-08-11 23:50:37 +10:00
c3bf267936
System: Remove redundant remap
2024-08-04 21:03:39 +10:00
02fbfae6a0
System: Add advanced 'Export Shared Memory' option
...
Memory map is exported as duckstation_<pid>. Previously, this only
worked on Windows, now it is extended to Linux as well.
2024-08-04 20:28:07 +10:00
3a83c4265c
Misc: Fix a bunch of code analysis warnings
...
Some of which were even actual errors.
2024-08-02 23:56:07 +10:00
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
0b5287f199
Bus: Implement RAM_SIZE register
...
Fixes Rock-Climbing - Mitouhou e no Chousen - Alps Hen (Japan) crashing
on boot. Silly game does a 512 word DMA from CDROM to 0x001FFF04, with the
mapped memory size set to 4MB, expecting the DMA to trigger a bus error,
because if it doesn't, then your kernel memory goes bye bye.
A bunch of other games do set the upper 4MB to be unmapped, but this
change appears to have no effect on them. As expected, they're probably
doing the correct thing.
2024-07-24 00:14:17 +10:00
dce1221021
Bus: Log when RAM_SIZE changes
2024-07-23 23:00:44 +10:00
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
19063d4288
Bus: Mirror BIOS area up to 4MB
...
Fixes bus error when using PS2 BIOS.
2024-07-19 15:51:25 +10:00
8ef73203b2
Bus: Ignore SPU byte writes to unaligned addresses
2024-05-31 21:00:55 +10:00
723af4de3a
Misc: Loading old save state versions is unlikely
2024-05-31 18:48:26 +10:00
1565a2667d
Misc: More format string fixes
2024-05-25 15:48:31 +10:00
4e922a34a7
Log: Simplify macros
2024-05-24 02:08:14 +10:00
792717e03e
Misc: Get rid of format string for result logging
2024-05-24 00:30:06 +10:00
b6d019db66
Misc: Replace log printf calls with fmt
2024-05-24 00:29:49 +10:00
fa104acdd1
Misc: Purge unused code and report startup error to host
2024-05-05 22:29:26 +10:00
ca3cfbaa99
Misc: Pass string_view by value
2024-05-05 22:28:29 +10:00
d1a1cab9a9
Bus: Direct KUSEG+KSEG0 isolated cache reads to ICache
2024-03-13 14:14:40 +10:00
c1381cfda6
System: Gracefully handle memory allocaion failure
2024-02-25 20:30:41 +10:00
3dfc3bd2ba
CPU: Fix incorrect scratchpad masking
2023-11-06 18:09:27 +10:00
23dff0a9b6
Bus: Properly set unmapped pages to NULL for LUT fastmem
2023-10-21 13:49:35 +10:00
c179473c2b
Bus: Allow LUT fastmem on mirrors
2023-10-18 00:49:01 +10:00
9d40164f84
CPU/Recompiler: Offset LUT fastmem pointers
2023-10-18 00:49:01 +10:00
a062b00c1a
Bus: Protect main RAM buffer
...
Get rid of write-time checks.
2023-10-18 00:49:01 +10:00
7625d4769c
Bus: Keep old behavior of memory being readable when Isc
...
Some games (e.g. Parasite Eve) write to cache control with Isc on.
Need some hardware tests here.
2023-10-06 22:57:54 +10:00
6fd7eda68f
Misc: Fix build on Debian Bullseye
2023-10-02 23:50:56 +10:00
a96111eaeb
Misc: Swap make_array() for size deduction
2023-10-02 13:33:33 +10:00
56fc207af6
CPU: Use lookup tables for memory access
2023-10-01 20:48:02 +10:00
dd204d116e
CPU: Warning fix
2023-10-01 13:20:14 +10:00
2171fd9a6f
Bus: Fix RAM mirrors with LUT fastmem
2023-09-30 23:14:06 +10:00
8822698eaf
Bus: Fix running multiple DuckStation instances
2023-09-30 21:49:30 +10:00
ac0601f408
Common: Drop String, add SmallString
2023-09-23 14:14:52 +10:00
3c68543491
Bus: 16KB page compatibility for mmap fastmem
2023-09-23 14:14:52 +10:00
c25c7070b6
Bus: Make variable prefixes consistent
2023-09-20 21:38:38 +10:00
68b59ee748
CMake: Swap USE_ and WITH_ for ENABLE_
...
Consistency.
2023-09-17 12:36:52 +10:00
199c53f3af
BIOS: Replace TTY patch with syscall hook
2023-08-30 00:44:01 +10:00
5b980dafa5
System: Refactor main loop
...
Reduces JIT exits.
Improves runahead performance.
2023-08-16 01:13:00 +10:00
84e5fbe0c6
CPU: HLE implementation of PCDrv (host file access)
2023-04-29 20:45:39 +10:00
33f5d9cb9c
System: Remove BIOS from save state
...
Makes the states smaller, as well as not creating potential piracy
issues when sending across the wire.
2023-03-16 19:34:01 +10:00
1fcf16fc81
System: Store BIOS image info/hash after loading
2023-03-16 19:22:54 +10:00
3e16746e85
Pad: Convert to namespace
2023-01-11 19:15:59 +10:00
835834f8f4
SIO: Convert to namespace
2023-01-11 19:15:59 +10:00
0683b9fa0e
InterruptController: Convert to namespace
2023-01-11 19:15:59 +10:00
db364d0e95
Timers: Convert to namespace
2023-01-11 19:15:59 +10:00
3acf569d67
DMA: Convert to namespace
2023-01-11 19:15:59 +10:00