103 Commits

Author SHA1 Message Date
Stenzek
dce1221021
Bus: Log when RAM_SIZE changes 2024-07-23 23:00:44 +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
19063d4288
Bus: Mirror BIOS area up to 4MB
Fixes bus error when using PS2 BIOS.
2024-07-19 15:51:25 +10:00
Stenzek
8ef73203b2
Bus: Ignore SPU byte writes to unaligned addresses 2024-05-31 21:00:55 +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
792717e03e
Misc: Get rid of format string for result logging 2024-05-24 00:30:06 +10:00
Stenzek
b6d019db66
Misc: Replace log printf calls with fmt 2024-05-24 00:29:49 +10:00
Stenzek
fa104acdd1
Misc: Purge unused code and report startup error to host 2024-05-05 22:29:26 +10:00
Stenzek
ca3cfbaa99
Misc: Pass string_view by value 2024-05-05 22:28:29 +10:00
Stenzek
d1a1cab9a9
Bus: Direct KUSEG+KSEG0 isolated cache reads to ICache 2024-03-13 14:14:40 +10:00
Stenzek
c1381cfda6
System: Gracefully handle memory allocaion failure 2024-02-25 20:30:41 +10:00
Stenzek
3dfc3bd2ba
CPU: Fix incorrect scratchpad masking 2023-11-06 18:09:27 +10:00
Stenzek
23dff0a9b6
Bus: Properly set unmapped pages to NULL for LUT fastmem 2023-10-21 13:49:35 +10:00
Stenzek
c179473c2b
Bus: Allow LUT fastmem on mirrors 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
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
Stenzek
6fd7eda68f Misc: Fix build on Debian Bullseye 2023-10-02 23:50:56 +10:00
Stenzek
a96111eaeb Misc: Swap make_array() for size deduction 2023-10-02 13:33:33 +10:00
Stenzek
56fc207af6 CPU: Use lookup tables for memory access 2023-10-01 20:48:02 +10:00
Stenzek
dd204d116e CPU: Warning fix 2023-10-01 13:20:14 +10:00
Stenzek
2171fd9a6f Bus: Fix RAM mirrors with LUT fastmem 2023-09-30 23:14:06 +10:00
Stenzek
8822698eaf Bus: Fix running multiple DuckStation instances 2023-09-30 21:49:30 +10:00
Stenzek
ac0601f408 Common: Drop String, add SmallString 2023-09-23 14:14:52 +10:00
Stenzek
3c68543491 Bus: 16KB page compatibility for mmap fastmem 2023-09-23 14:14:52 +10:00
Stenzek
c25c7070b6 Bus: Make variable prefixes consistent 2023-09-20 21:38:38 +10:00
Stenzek
68b59ee748 CMake: Swap USE_ and WITH_ for ENABLE_
Consistency.
2023-09-17 12:36:52 +10:00
Stenzek
199c53f3af BIOS: Replace TTY patch with syscall hook 2023-08-30 00:44:01 +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
Stenzek
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
Stenzek
1fcf16fc81 System: Store BIOS image info/hash after loading 2023-03-16 19:22:54 +10:00
Connor McLaughlin
3e16746e85 Pad: Convert to namespace 2023-01-11 19:15:59 +10:00
Connor McLaughlin
835834f8f4 SIO: Convert to namespace 2023-01-11 19:15:59 +10:00
Connor McLaughlin
0683b9fa0e InterruptController: Convert to namespace 2023-01-11 19:15:59 +10:00
Connor McLaughlin
db364d0e95 Timers: Convert to namespace 2023-01-11 19:15:59 +10:00
Connor McLaughlin
3acf569d67 DMA: Convert to namespace 2023-01-11 19:15:59 +10:00
Connor McLaughlin
dd73811628 CDROM: Convert to namespace 2023-01-09 22:20:27 +10:00
Connor McLaughlin
1c8ef86f12 MDEC: Convert to namespace 2022-12-20 21:18:30 +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
5b2c18e27c SPU: Convert to namespace 2022-08-15 17:22:23 +10:00
Silent
c98e0bd096
Bus: Added RAM, RAM_SIZE and RAM_MASK exports for external debugger usage
Useful e.g. for Cheat Engine.
2022-07-31 10:43:26 +02: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
Silent
270899dbdb
Make DoSafeMemoryAccess return true properly for RAM, BIOS, dcache writes
Fixes broken cheats when writing to unaligned addresses,
maybe also achievements.
2021-09-24 10:07:04 +02:00
Connor McLaughlin
f7f121f036 Bus: Handle unaligned accesses in safe memory routines 2021-09-15 12:24:33 +10:00
Connor McLaughlin
8dcd68b0a8 CPU: Make Safe{Read,Write}Memory{Byte,Halfword,Word} truely safe 2021-09-10 15:53:14 +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