Commit graph

86 commits

Author SHA1 Message Date
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
734e0bc0e8 Code style fixes. 2019-04-29 22:38:04 -04:00
Jean-Philip Desjardins
9664a470d5 Remove uses of IsRefNull. 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
099e5fbf99 Cleanup. 2019-04-29 22:38:04 -04:00
Jean-Philip Desjardins
8868d76c4b Cleanup. 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
f14c8d47f4 Prevent MFHI and MFLO from clobbering R0. 2018-05-22 20:37:51 -04:00
Clang-Format
acf75535ec Clang format 2018-04-30 21:01:23 +01:00
Jean-Philip Desjardins
6122f674e6 Add guards to prevent unwanted formatting. 2018-04-30 11:19:06 -04:00
Jean-Philip Desjardins
839569cf06 Prevent JALR from clobbering R0. 2018-04-03 09:18:41 -04:00
Jean-Philip Desjardins
f9224d6aaf Expose double word memory functions to AOT compiler. 2017-08-20 23:17:45 -04:00
Jean-Philip Desjardins
184a25c09c Add stub for TEQ. 2017-05-07 22:02:08 -04:00
Jean-Philip Desjardins
aca766db31 Implement DSUB. 2016-05-08 17:44:00 -04:00
Jean-Philip Desjardins
aa678fc973 Added DADDI. 2015-07-11 00:15:18 -04:00
Jean-Philip Desjardins
df50662e03 Changed multiply template functions to be similar to division template functions. 2015-04-23 01:04:42 -04:00
Jean-Philip Desjardins
7d2181142a Added better handling of integer division by 0 and overflow (not perfect yet). 2015-04-23 01:01:46 -04:00
Jean-Philip Desjardins
b1d8916a7c Prevent load instructions from clobbering R0. 2015-04-11 02:06:14 -04:00
Jean-Philip Desjardins
8ccd608a1d Added BLTZAL, BLTZALL and BGEZALL. 2015-04-11 01:18:09 -04:00
Jean-Philip Desjardins
770c7fe0cf Added some checks to prevent emulator from writing to R0. 2015-04-08 01:15:11 -04:00
Jean-Philip Desjardins
8685a7e1e2 Added BGEZAL. 2015-01-04 22:11:43 -05:00
jpd002
f2686663af Made memory utils proxies normal "C" functions to accommodate AOT compilation.
git-svn-id: http://svn.purei.org/purei/trunk@1097 b36208d7-6611-0410-8bec-b1987f11c4a2
2013-04-14 06:33:04 +00:00
jpd002
c5b5e43264 Added DSRAV and updated tests.
git-svn-id: http://svn.purei.org/purei/trunk@1013 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-10-03 07:18:50 +00:00
jpd002
f910661c47 First pass of cleanup for C++11.
git-svn-id: http://svn.purei.org/purei/trunk@851 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-03-11 20:06:14 +00:00
jpd002
42c704aca2 Changed 64-bits and 128-bits memory access instructions to use new 64-bits and 128-bits params/return values now supported in Jitter.
git-svn-id: http://svn.purei.org/purei/trunk@843 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-01-08 06:20:22 +00:00
jpd002
c8c33ccda3 Added a way to force checking of pending interrupts when EI is used.
Specifed the type of exception in SYSCALL and ADDIU R0, R0, $x

git-svn-id: http://svn.purei.org/purei/trunk@804 b36208d7-6611-0410-8bec-b1987f11c4a2
2011-10-23 20:26:15 +00:00
jpd002
f8ff3ff8f3 More fixes for Atelier Iris running under new JIT compiler.
git-svn-id: http://svn.purei.org/purei/trunk@717 b36208d7-6611-0410-8bec-b1987f11c4a2
2010-11-01 01:05:26 +00:00
jpd002
98c12c9be4 More changes to allow quake.elf to work properly.
git-svn-id: http://svn.purei.org/purei/trunk@708 b36208d7-6611-0410-8bec-b1987f11c4a2
2010-10-08 00:27:22 +00:00
jpd002
f3eeac4d76 More changes to allow quake.elf to run a bit further.
git-svn-id: http://svn.purei.org/purei/trunk@707 b36208d7-6611-0410-8bec-b1987f11c4a2
2010-09-21 02:33:34 +00:00
jpd002
ea974bcd47 More changes to allow quake.elf to run a bit further.
git-svn-id: http://svn.purei.org/purei/trunk@706 b36208d7-6611-0410-8bec-b1987f11c4a2
2010-09-17 18:44:40 +00:00
jpd002
5a339dd5db Fixed compilation using the new JIT compiler engine.
git-svn-id: http://svn.purei.org/purei/trunk@704 b36208d7-6611-0410-8bec-b1987f11c4a2
2010-09-03 21:13:57 +00:00
jpd002
0e8719ada7 Changed the way LWL/LWR and SWL/SWR work because it was accessing register values while there is no guarantee that their values were right (because of register allocation).
git-svn-id: http://svn.purei.org/purei/trunk@696 b36208d7-6611-0410-8bec-b1987f11c4a2
2010-08-24 01:49:42 +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
dc80b53046 - Changed the way idle detection is done to improve PSX idle loop skipping.
- Added some asserts for 64-bits specific instructions to prevent confusion on PSP.

git-svn-id: http://svn.purei.org/purei/trunk@606 b36208d7-6611-0410-8bec-b1987f11c4a2
2010-03-30 04:19:45 +00:00
jpd002
5ef852659f Added a few instructions and fixed bug in QFSRV.
git-svn-id: http://svn.purei.org/purei/trunk@551 b36208d7-6611-0410-8bec-b1987f11c4a2
2009-10-04 01:58:15 +00:00
jpd002
c101d4a07a Some changes for FFX.
git-svn-id: http://svn.purei.org/purei/trunk@544 b36208d7-6611-0410-8bec-b1987f11c4a2
2009-09-30 00:45:26 +00:00
jpd002
7b7c69d8b0 More ARM stuff
git-svn-id: http://svn.purei.org/purei/trunk@521 b36208d7-6611-0410-8bec-b1987f11c4a2
2009-05-09 16:35:34 +00:00
jpd002
651937eeb5 - Small C++ conformance updates
- AND for MIPS32.

git-svn-id: http://svn.purei.org/purei/trunk@494 b36208d7-6611-0410-8bec-b1987f11c4a2
2009-04-13 23:31:11 +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
68daccb985 Hacked placeholder definitions so it can compile on multiple platforms.
git-svn-id: http://svn.purei.org/purei/trunk@454 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-12-24 01:39:03 +00:00
jpd002
775ef52d0e Made the thing compile with boost 1.37.
Some RPC call stuff which isn't totally functional.
Fixed bugs in MailBox.

git-svn-id: http://svn.purei.org/purei/trunk@447 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-12-15 02:57:21 +00:00
jpd002
28832451f3 git-svn-id: http://svn.purei.org/purei/trunk@383 b36208d7-6611-0410-8bec-b1987f11c4a2 2008-10-20 22:19:56 +00:00
jpd002
d030684e8c Changes to the core.
git-svn-id: http://svn.purei.org/purei/trunk@378 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-10-16 22:15:35 +00:00
jpd002
a3c295f1ae Some tr1 compilance fixes.
git-svn-id: http://svn.purei.org/purei/trunk@349 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-06-30 16:31:28 +00:00
jpd002
98be133aea Some minor changes for Castlevania Yami no Juin
git-svn-id: http://svn.purei.org/purei/trunk@337 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-06-04 23:46:53 +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
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
6e9d1bf4eb More conversion done for Ys1&2. (Displays something now)
git-svn-id: http://svn.purei.org/purei/trunk@228 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-01-21 04:09:08 +00:00
jpd002
bdae54953b Reintegrated CDVDFSV and more conversion for Ys1&2.
git-svn-id: http://svn.purei.org/purei/trunk@227 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-01-20 23:08:56 +00:00
jpd002
ff52e430f6 Begun conversion for Ys1&2. (cdrom0 and some instructions)
git-svn-id: http://svn.purei.org/purei/trunk@226 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-01-19 03:36:27 +00:00