Commit graph

39 commits

Author SHA1 Message Date
Jean-Philip Desjardins
0cb726fd85 Remove some dead code. 2025-02-03 09:53:59 -05:00
Jean-Philip Desjardins
c2399cdf34 Fix some parameter values that were implicitly converted to RETURN_VALUE. 2024-01-26 13:45:03 -05:00
Jean-Philip Desjardins
eacb40c2a4 Use indexed store/loads in EE SIMD instructions. 2023-07-26 14:10:05 -04:00
Jean-Philip Desjardins
a180b2f767 Use LoadRefFromRef. 2023-07-26 14:10:05 -04:00
Jean-Philip Desjardins
53d2d49464 Implement TEQI and check traps in debug builds.
Better than doing absolutely nothing, though very unlikely to trigger in normal circumstances.
2023-03-05 10:05:11 -05:00
Jean-Philip Desjardins
930e90a9a2 Stay inside block when it's branch target is itself. 2022-12-01 09:03:40 -05:00
Jean-Philip Desjardins
ad3b855c6d Remove hardcoded shift amount. 2022-11-11 15:25:51 -05:00
Mahmood - Zer0xFF
c69c9d1daa make EE jumps relative 2022-10-25 17:27:51 -04:00
Mahmood - Zer0xFF
2f4f10e91c make VU jumps relative: pass instruction relative location CMIPSInstructionFactory 2022-10-25 17:27:51 -04:00
Mahmood - Zer0xFF
6f0ab037d9 CMIPSInstructionFactory::BranchLikely doesn't need to adjust PC, as epilog will handle that 2022-10-25 17:27:51 -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
254d29d3b0 Code style fixes. 2019-04-30 12:20:41 -04:00
Jean-Philip Desjardins
78ab94ddf1 Make the multiply by sizeof(void*) dynamic.
Pointer size can vary.
2019-04-29 22:38:04 -04:00
Jean-Philip Desjardins
74c3717613 Use define. 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
59035e0150 Code style fixes. 2019-04-29 22:38:03 -04:00
Jean-Philip Desjardins
c832c60b8d vmap prototype 2019-04-29 22:38:03 -04:00
Jean-Philip Desjardins
70ef56d73b Emit breakpoint instead of throwing exception.
Blocks with illegal instructions might be compiled but never executed.
2018-05-02 12:34:49 -04:00
Clang-Format
acf75535ec Clang format 2018-04-30 21:01:23 +01:00
Jean-Philip Desjardins
a800bc7d35 Cleanup. 2017-03-12 15:25:40 -04:00
Jean-Philip Desjardins
c7cc895c69 Cleanup. 2017-01-06 19:17:21 -05:00
Jean-Philip Desjardins
ccb54cc8e6 Removed exception throw when instruction is not found. 2015-05-03 03:05:54 -04:00
jpd002
5fd26ba083 Made address translation take a 32-bits address instead of a 64-bits one. We probably won't ever need to use 64-bits addresses.
git-svn-id: http://svn.purei.org/purei/trunk@909 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-04-16 02:34:36 +00:00
jpd002
9be3ebe4ae Minor cleanup.
git-svn-id: http://svn.purei.org/purei/trunk@864 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-03-18 19:45:26 +00:00
jpd002
4574b116f7 Integrated new JIT compilation engine in the trunk.
- Removed the old CodeGen classes.
- Fixed everything to make PsfPlayer work at a decent level.
- Added 64-bits configs to PsfPlayer.

git-svn-id: http://svn.purei.org/purei/trunk@692 b36208d7-6611-0410-8bec-b1987f11c4a2
2010-08-11 03:47:19 +00:00
jpd002
bdb2665ba2 Aesthetic changes
git-svn-id: http://svn.purei.org/purei/trunk@516 b36208d7-6611-0410-8bec-b1987f11c4a2
2009-05-02 15:34:39 +00:00
jpd002
a6e12114d7 Added changes to MIPSInstructionFactories. Not a singleton anymore, so it allows a 32-bits and 64-bits version of the architecture to live together.
PsfPlayer bios memory ownership fixes.

git-svn-id: http://svn.purei.org/purei/trunk@490 b36208d7-6611-0410-8bec-b1987f11c4a2
2009-03-30 04:57:52 +00:00
jpd002
ffe5a4646e Added proper separation of code and data address spaces in MemoryMap.
Added DMA channels 0 and 8.
Added VU0 stuff.
Major tweakage of UNPACK in VPU.

git-svn-id: http://svn.purei.org/purei/trunk@342 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-06-15 19:55:28 +00:00
jpd002
5f31206020 Got rid of CCacheBlock.
Cleaned up a lot of code.

git-svn-id: http://svn.purei.org/purei/trunk@293 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-04-09 02:52:38 +00:00
jpd002
d38d3f2e90 More conversion done for VU.
git-svn-id: http://svn.purei.org/purei/trunk@278 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-03-24 01:18:20 +00:00
jpd002
a332db60f5 IPU back in service. First frame of the movie can be decoded, but hangs.
git-svn-id: http://svn.purei.org/purei/trunk@237 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-02-01 02:34:50 +00:00
jpd002
ebd2df89b9 MacOSX
git-svn-id: http://svn.purei.org/purei/trunk@209 b36208d7-6611-0410-8bec-b1987f11c4a2
2007-12-27 20:35:09 +00:00
jpd002
6835a6da83 Completed enough opcodes to be able to run the "Final Heaven" demo.
git-svn-id: http://svn.purei.org/purei/trunk@181 b36208d7-6611-0410-8bec-b1987f11c4a2
2007-12-06 21:36:12 +00:00
jpd002
38e1632c11 Project heavily modified from previous revision.
git-svn-id: http://svn.purei.org/purei/trunk@180 b36208d7-6611-0410-8bec-b1987f11c4a2
2007-12-01 04:08:34 +00:00
jpd002
76f5430eba git-svn-id: http://svn.purei.org/purei/trunk@161 b36208d7-6611-0410-8bec-b1987f11c4a2 2007-11-02 03:05:08 +00:00
jpd002
eb8287eb76 git-svn-id: http://svn.purei.org/purei/trunk@54 b36208d7-6611-0410-8bec-b1987f11c4a2 2006-07-11 00:05:44 +00:00
jpd002
763c8fa483 git-svn-id: http://svn.purei.org/purei/trunk@47 b36208d7-6611-0410-8bec-b1987f11c4a2 2006-06-26 09:31:14 +00:00
jpd002
4cdc061460 git-svn-id: http://svn.purei.org/purei/trunk@46 b36208d7-6611-0410-8bec-b1987f11c4a2 2006-06-19 05:43:51 +00:00
jpd002
0c5fb983fd Moved remotely
git-svn-id: http://svn.purei.org/purei/trunk@40 b36208d7-6611-0410-8bec-b1987f11c4a2
2006-06-15 04:19:30 +00:00