Commit graph

96 commits

Author SHA1 Message Date
Jean-Philip Desjardins
aee69ac97c Fix a bunch of warnings. 2023-05-03 21:05:08 -04:00
Jean-Philip Desjardins
5b440fb12b Map uncached/accelerated area in EE address space. 2023-03-05 10:18:19 -05:00
Jean-Philip Desjardins
580def737c Remove some hard-coded values. 2022-09-29 17:18:30 -04:00
Jean-Philip Desjardins
64fa6ab0c0 Allow DMA transfers from VU1 MEM to SPR. 2022-08-07 17:26:08 -04:00
Jean-Philip Desjardins
25dbd45515 Implement GIF FIFO. 2022-07-25 11:21:04 -04:00
Jean-Philip Desjardins
f347cafc24 Style fix. 2022-07-11 14:09:46 -04:00
Jean-Philip Desjardins
db6ffbc111 Support writing VU1 registers from VU0 macro mode. 2022-07-11 14:09:46 -04:00
Jean-Philip Desjardins
927aebc4a3 Rename some constants. 2022-07-11 14:09:46 -04:00
Jean-Philip Desjardins
fda88e6fe2 Reset VU block cache when loading state. 2022-05-19 10:46:39 -04:00
Mahmood - Zer0xFF
d5a2651142 use ClearActiveBlocksInRange instead of resetting the entire EE blocks 2022-05-18 20:37:00 +01:00
Jean-Philip Desjardins
67d9d89956 Add a slight delay to VIF interrupts. 2022-04-06 13:43:21 -04:00
Jean-Philip Desjardins
034d99490b Cleanup. 2022-03-15 17:20:20 -04:00
Jean-Philip Desjardins
ba970349fb Give opportunity to games to see the OPH and APATH3 flags in GIF_STAT. 2022-03-04 11:54:48 -05:00
Jean-Philip Desjardins
f57e197dc3 Ensure addresses are aligned on word boundaries.
Not accurate because it's probably valid to write to byte addresses, but it will corrupt heap and crash the emulator otherwise.
Needed for Winter Sports 2008 who just clears the VU micro memory using a custom memset function.
2022-01-24 08:53:53 -05:00
Jean-Philip Desjardins
d08ca70084 Add another idle trigger.
Can be activated by Bionicle Heroes.
2022-01-21 20:09:07 -05:00
Jean-Philip Desjardins
695cb21e06 Check DMAC interrupt. 2021-12-06 08:24:11 -05:00
Jean-Philip Desjardins
6d4781c39e Clear the DMAC interrupt situation.
DMAC and INTC are independent and can both interrupt the EE. Code should be more in line with actual hardware.
INTC line 1 is for SBUS and some games (Ape Escape: Million Monkeys) were playing with that, disabling DMAC interrupts.
2021-12-03 14:27:01 -05:00
Jean-Philip Desjardins
6b9cc41800 Restore bind reply saving, with added timeout.
Seems that returning a failure immediately if a RPC server is not found breaks Mushihimesama.
Adding a small delay probably allows it to switch threads and do other things that unblocks this.
2021-11-21 15:22:53 -05:00
Jean-Philip Desjardins
ddfc7e3b44 Add Reset function in LibMc2. 2021-11-16 17:38:16 -05:00
Jean-Philip Desjardins
fa317ea88e Save/Load LibMc2 state. 2021-11-16 17:38:15 -05:00
Jean-Philip Desjardins
f5fcebb25a Induce a small delay when doing a sync check in LibMc2 HLE.
Fixes issue in Atelier Marie & Elie.
2021-11-16 17:38:15 -05:00
Jean-Philip Desjardins
a965b069cf Sync Q register state.
Fixes visual issues in Onimusha 2.
2021-07-29 14:16:10 -04:00
Jean-Philip Desjardins
95223d9a22 PATH3 masking support.
Not 100% accurate, but makes things lots better in many games.
2021-05-17 09:16:20 -04:00
Jean-Philip Desjardins
86393089f6 Fix games broken by idle loop detection tweak.
Revert change made for THPS3, found something that works better and that doesn't break other games.
2021-03-03 08:36:12 -05:00
Mahmood - Zer0xFF
4ef88abe53 use enum 2021-01-07 21:47:33 +00:00
Jean-Philip Desjardins
efa4547153 Use proper frequency for HSYNC based timers. 2020-12-14 17:56:13 -05:00
Jean-Philip Desjardins
80b31dd8c1 Tweak idle loop detection. 2020-10-19 17:24:20 -04:00
Jean-Philip Desjardins
23cce97db2 Add basic TLB support.
Only enabled if exception handlers are set.
2020-08-06 16:57:13 -04:00
Jean-Philip Desjardins
b51c17bc5a Various IPU tests 2019-11-21 12:30:08 -05:00
Jean-Philip Desjardins
1675217d1e Enable receiving IPU DMA transfers from SPR.
(cherry picked from commit 57a130b99c4b02f9bbd1bffa0c6e1f1d2b43e287)
2019-11-04 12:53:34 -05:00
Jean-Philip Desjardins
dbad455a40 Be a bit more granular when invalidating VU microprograms. 2019-10-21 17:20:01 -04:00
Jean-Philip Desjardins
9903424c0a Code style fixes. 2019-10-15 18:47:55 -04:00
Jean-Philip Desjardins
ddb75fc950 Remove extra VU state copies. 2019-10-15 13:00:00 -04:00
Jean-Philip Desjardins
daf5031a02 Make sure EE's and VU0's states are synced before starting VU0. 2019-10-14 12:55:09 -04:00
Mahmood - Zer0xFF
c765e613f1 Update to CSignal::Connect() new name 2019-08-17 11:03:53 -04:00
Mahmood - Zer0xFF
91a27b69a2 Remove boost::signals2. 2019-08-17 11:03:53 -04:00
Mahmood - Zer0xFF
179850e63a Remove boost::bind. 2019-08-17 11:03:53 -04:00
Jean-Philip Desjardins
1bc4c28d3e Make sure SPR memory is aligned on qwords. 2019-04-29 22:38:04 -04:00
Jean-Philip Desjardins
da4dd4fd61 Let MIPS manage the page lookup table. 2019-04-29 22:38:04 -04:00
Jean-Philip Desjardins
6326378c2a Second pass on vmap.
Almost all memory access instructions can now use the page table.
2019-04-29 22:38:04 -04:00
Jean-Philip Desjardins
c832c60b8d vmap prototype 2019-04-29 22:38:03 -04:00
Jean-Philip Desjardins
e5ae547e66 Move saved state helper classes to a subfolder. 2019-02-06 19:04:51 -05:00
Jean-Philip Desjardins
6592c2a186 Reset executor before loading state. 2018-09-02 13:08:36 -04:00
Jean-Philip Desjardins
7a3a52b83b Change the way GS interrupts are handled.
GS will now notify the INTC there's an interrupt when some event occurs instead of having the INTC poll the GS.
2018-08-08 12:28:06 -04:00
Jean-Philip Desjardins
050bf0f854 MipsExecutor is now owned by MIPS CPU context.
Will help to make new breakpoint implementation simpler.
2018-07-26 21:38:16 -04:00
Jean-Philip Desjardins
f23dce025b Made MipsExecutor a template.
Allows choosing block lookup policy.
2018-07-26 21:38:14 -04:00
Jean-Philip Desjardins
1e1eed8a67 Style fixes. 2018-05-25 12:26:07 -04:00
Jean-Philip Desjardins
0f2fcc31bb Use Warn function. 2018-05-25 12:24:51 -04:00
Jean-Philip Desjardins
e687bec6f8 Implement TPC register. 2018-05-09 06:50:48 -04:00
Clang-Format
acf75535ec Clang format 2018-04-30 21:01:23 +01:00