Commit graph

72 commits

Author SHA1 Message Date
Jean-Philip Desjardins
3fd5b7a56c Only honor T and D bits if E bit has not been encountered.
Fixes Silent Hill 2 hanging at movies.
2024-09-19 17:43:54 -04:00
Jean-Philip Desjardins
cdb0fa81fd Only trigger T/D bit interrupts when they are enabled. 2024-08-16 16:44:53 -04:00
Ian Brown
603dd1f601 Gauntelt 7s 2024-05-21 10:45:47 +01:00
RoboSchmied
7bdd95f469 Fix: 5 typos
Signed-off-by: RoboSchmied <github@roboschmie.de>
2024-03-29 03:54:59 +01:00
Jean-Philip Desjardins
244607b56e Use alignas to specify alignment. 2023-10-19 09:21:17 -04:00
Jean-Philip Desjardins
f6b1ba5f74 Add missing state. 2023-10-16 18:03:28 -04:00
Jean-Philip Desjardins
e95e5a2d4a Add variable tags. 2023-08-30 10:21:25 -04:00
Jean-Philip Desjardins
5e32c0586a Implement TLBR & move TLBWI. 2020-08-06 16:57:13 -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
76413f1fa0 Add implementation for TLBWI. 2020-08-06 16:57:12 -04:00
Jean-Philip Desjardins
239f6c53c7 Make sure sticky flags arrive at the proper time. 2020-06-02 15:12:27 -04:00
Jean-Philip Desjardins
2ae43e0320 Don't cache blocks that have breakpoints.
Broke breakpoint toggling.

(cherry picked from commit 3d2ed9e20f2b917b10f359ee76c8724192e839c2)
2020-02-10 21:40:09 -05:00
Jean-Philip Desjardins
da4dd4fd61 Let MIPS manage the page lookup table. 2019-04-29 22:38:04 -04:00
Jean-Philip Desjardins
a24c36095b Cleanup. 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
8d498f65b0 Set D flag when division by 0 is encountered. 2018-11-07 12:23:15 -05:00
Jean-Philip Desjardins
3210ffecfa Breakpoints now work again. 2018-07-26 21:38:17 -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
1f4ba149a1 Block link WIP. 2018-07-26 21:38:15 -04:00
Jean-Philip Desjardins
890708fcba Code style fixes. 2018-07-26 21:38:15 -04:00
Jean-Philip Desjardins
dc597e34ce Add empty block concept. 2018-07-26 21:38:15 -04:00
Jean-Philip Desjardins
b30658ba1a Move cycle quota update to block prolog. 2018-07-26 21:38:15 -04:00
Clang-Format
acf75535ec Clang format 2018-04-30 21:01:23 +01:00
Jean-Philip Desjardins
26b6615a0c Cleanup. 2018-04-08 15:59:24 -04:00
Jean-Philip Desjardins
34a1aff123 Switch out current thread before servicing an interrupt.
This fixes issues with some system calls (ie.: iSignalSema) writing values directly in the thread's context
but not being picked up because the thread's context was not saved.
2018-04-06 12:55:25 -04:00
Jean-Philip Desjardins
f5133ab86a Store XGKICK address for delayed execution. 2017-08-09 23:06:26 -04:00
Jean-Philip Desjardins
fa62d627cc Cleanup. 2017-03-12 15:25:40 -04:00
Mahmood(Thunder07)
75f7d0792b Cleanup
Replace WIN32 preprocessor with _WIN32
2017-02-21 15:47:18 +00:00
Jean-Philip Desjardins
df44008996 Document flag context members. 2017-01-29 21:13:27 -05:00
Jean-Philip Desjardins
726af961b5 Renaming and cleanup. 2017-01-06 19:17:22 -05:00
Jean-Philip Desjardins
1cb1b79739 Pipeline CLIP operation results. 2017-01-06 19:17:22 -05:00
Jean-Philip Desjardins
ec81047e9d Add some comments to explain pipeline behaviors. 2017-01-06 19:17:21 -05:00
Ian Brown
72a5ab6279 quick spike to investigate a technique for conditional branching. 2016-06-03 23:35:59 +01:00
Jean-Philip Desjardins
36145a0aa2 Implement MFPS/MTPS and MFPC/MTPC. 2016-05-08 17:43:25 -04:00
Jean-Philip Desjardins
f64682dc72 Added speed hack to help with some games and demos. 2015-07-09 01:14:02 -04:00
Jean-Philip Desjardins
6c32b51d81 Added proper handling of the EIE bit by EI and DI. (needed for liberx) 2015-04-13 00:51:25 -04:00
Jean-Philip Desjardins
d9b934a09e Renamed STATUS_INT to STATUS_IE (which is the proper name for that bit). 2015-04-13 00:24:35 -04:00
Jean-Philip Desjardins
883ace8432 Added basic VU sticky flag support. 2015-03-20 01:41:09 -04:00
Jean-Philip Desjardins
f7cfbb0137 Make sure there's enough space in the MACflag pipeline to store 5 results. 2015-02-16 01:58:40 -05:00
Jean-Philip Desjardins
7a263137c3 More cleanup. 2015-01-03 23:28:08 -05:00
Jean-Philip Desjardins
bec480d3ae Cleanup. 2015-01-03 23:23:15 -05:00
Jean-Philip Desjardins
21904025d2 Moved vuMem pointer in CMIPS so that it doesn't get stored in a saved state. 2014-10-18 18:22:03 -04:00
Jean-Philip Desjardins
5b22670ae4 Made SQ write directly to memory and cleaned up other stuff. 2014-10-08 04:24:09 -04:00
Jean-Philip Desjardins
dfb1e0108e Access memory directly in ILW and ISW in VU generated code. 2014-10-08 01:20:51 -04:00
Jean-Philip Desjardins
eb125d0b48 Removed useless "dual arrays" for COP1 register storage. 2014-09-28 03:09:17 -04:00
Jean-Philip Desjardins
418cee5e51 Some more naming convention cleanup. 2014-08-16 21:42:19 -04:00
Jean-Philip Desjardins
802ffa9160 Removed unused member in CMIPS. 2014-08-16 21:40:57 -04:00
Jean-Philip Desjardins
f66e4366cc Force threads to be rescheduled at the end of an exception on the EE. 2014-06-04 23:37:40 -04:00
jpd002
1e66a2520a Added VCALLMSR and VMADDA.
git-svn-id: http://svn.purei.org/purei/trunk@1016 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-10-09 01:56:38 +00:00