93 Commits

Author SHA1 Message Date
Stenzek
589b8f5139
Justifier: Handle byte 4 IRQ enable flag
Fixes games with two justifiers connected concurrently.
2025-04-24 21:41:31 +10:00
Stenzek
162d742cc0
CDROM: Remove hack for Fighting Force
Instead properly handle the one-sector-delay that occurs when autopause
detects the start of a new track.
2025-03-30 22:00:21 +10:00
Stenzek
115ba4433c
CPU/Interpreter: Emulate lo/hi read stall after mult/div
Still need to do the recompiler.
2025-03-22 01:59:00 +10:00
Stenzek
6f25cf31a7
CDROM: Add randomness to repeated seek times
I hate it, but it fixes lockups in Dino Crisis 2, and probably
other games with dodgy code too.

Also Simple 1500 Series Vol. 57 - The Meiro.
2025-02-17 22:52:56 +10:00
Stenzek
89f11095bc
CPU: GTE completion cycle should be reset/serialized
Yay more determinism breakage...
2024-12-24 00:24:37 +10:00
Stenzek
5687dd22bd
PIO: Add basic flash cartridge support 2024-12-13 23:22:57 +10:00
Stenzek
6be242449b
AnalogController: Simplify rumble config
And fix some variables not being saved to state, yay determinism issues.
2024-11-29 13:11:25 +10:00
Stenzek
baa9065d2e
System: Add taints to save states
This informs the user they are loading a save state that at some point
had potentially-game-breaking options enabled, and a reset is necessary
to clear them.
2024-10-19 01:13:32 +10:00
Stenzek
887d588029
System: Further improve fastboot behaviour
Use fastboot when slowboot will fail.
2024-10-04 14:48:05 +10:00
Stenzek
e06f1f1002
GPU: Add hardware texture cache 2024-09-29 13:37:47 +10:00
Stenzek
0e4ca9cd93
CDROM: Fix CDDA playback in some obscure edge cases
e.g. Roswell Conspiracies
2024-09-26 14:05:34 +10:00
Stenzek
7f4e5d55db
Misc: Update copyright headers 2024-09-01 22:08:31 +10:00
Stenzek
86d4d92753
TimingEvents: Switch to 64-bit counters 2024-08-13 23:52:25 +10:00
Stenzek
a0fcbba45c
SPU: Refactor volume envelopes
Properly handle phase inversion. Fixes left channel audio in Wipeout 3.
2024-08-19 01:38:28 +10:00
Stenzek
aeb9d383ce
System: Add save state compression mode options 2024-08-06 17:02:21 +10:00
Stenzek
e6a682f8d5
System: Reduce rewind/runahead memory usage w/o 8MB enabled 2024-08-06 16:02:18 +10:00
Stenzek
a2f98541b3
Misc: Slim down some header includes 2024-08-04 14:49:55 +10:00
Stenzek
a6518ff9dc
System: Rewrite save state I/O
No more ByteStream or virtual calls for every piece of data.
2024-07-29 17:27:32 +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
e1f90e6baf
MDEC: Store scale/IDCT matrix transposed 2024-07-02 16:56:10 +10:00
Stenzek
d013438810
CDROM: Rewrite BFRD handling
Fixes hang on startup in Unirom.
2024-05-31 19:45:42 +10:00
Stenzek
1185f8f6aa
GPU: Implement CLUT cache (SW renderer only)
Fixes copyright screen in Shadow Master.
Fixes title splash in Castrol Honda Superbike Racing.
2024-05-02 01:03:58 +10:00
Stenzek
fa6850902a
CPU: Make interrupts actually edge-triggered 2024-03-18 01:46:19 +10:00
Stenzek
98a96db1bd
GPU: Remove redundant fields 2023-12-14 20:23:49 +10:00
Stenzek
56fc207af6 CPU: Use lookup tables for memory access 2023-10-01 20:48:02 +10:00
Stenzek
7e07d2feb8 GunCon: Add relative pointer binding 2023-09-20 17:11:29 +10:00
Stenzek
5b980dafa5 System: Refactor main loop
Reduces JIT exits.
Improves runahead performance.
2023-08-16 01:13:00 +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
Connor McLaughlin
9de849aa66 CDROM: Delay async interrupts immediately after ACKs
Fixes music playback stopping in Ogre Battle.

Closes #2596.
Closes #575.
2023-01-09 22:20:27 +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
10f98106dd Misc: Normalize code vs serial usage 2022-10-05 18:29:44 +10:00
Connor McLaughlin
759938a5cf System: Support compressing save states 2022-08-18 23:10:15 +10:00
Connor McLaughlin
a55b5022c7 System: Include cheevos state in save states 2022-03-27 16:59:02 +10:00
Albert Liu
3273ca36ef AnalogController: Simulate status byte toggling 2021-11-07 12:31:27 -08:00
Connor McLaughlin
67344070ea CDROM: Improve simulation of seek timing 2021-06-19 15:16:01 +10:00
Connor McLaughlin
36bfc461f9 CDROM: Refactor start/stop/second response 2021-06-12 18:09:28 +10:00
Connor McLaughlin
e382df0d41 Support expanding RAM to 8MB (dev console) 2021-05-03 12:43:33 +10:00
Connor McLaughlin
50d712c3fe CDImage: Support sub-images, use subimages for m3u 2021-03-27 15:18:29 +10:00
Albert Liu
f9dc1a7e80 Core: Add Multitap support 2021-02-26 21:04:12 -08:00
Connor McLaughlin
2c1999e622 CDROM: Simulate holding position for GetlocP
Fixes lockups in Tomb Raider.
2021-02-14 18:36:21 +10:00
Connor McLaughlin
9d80c48d6f CPU: Fix icache missing from save state 2021-01-31 16:39:51 +10:00
Connor McLaughlin
a90c25d0e7 SPU: Ignore manually set loop address only on first block
Fixes occasional missing dialogue in Valkyrie Profile.
2020-12-06 00:35:54 +10:00
Connor McLaughlin
d757056891 GPU: Implement dot clock timer (Timer 0)
Fixes softlock in Evil Dead - Hail to the King.
2020-12-06 00:35:54 +10:00
Albert Liu
32e47fba93 System: Limit maximum loadable save state version 2020-11-26 19:51:45 -08:00
Albert Liu
566993c6df AnalogController: Improve DualShock rumble handling
Fixes low vibration in Final Fantasy VIII, missing vibration in Armored
Core Project Phantasma, etc.
2020-11-25 07:33:30 -08:00
Albert Liu
7ed0477a29 AnalogController: Save buttons and legacy rumble to state 2020-11-14 07:46:26 -08:00
Connor McLaughlin
11faf6ccfb CPU/Recompiler: Skip calling event update on interrupts 2020-10-18 14:54:38 +10:00
Connor McLaughlin
69b2c3fc2d StateWrapper: Track save state version 2020-10-18 14:54:38 +10:00
Connor McLaughlin
27697d0508 System: Implement CPU overclocking [SAVEVERSION+]
Partial credit to @CookiePLMonster as well.
2020-09-30 23:48:34 +10:00