Commit graph

40 commits

Author SHA1 Message Date
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
97535eb31e Generate illegal instruction traps instead of tripping asserts at compile tile. 2024-01-26 13:44:57 -05:00
Jean-Philip Desjardins
3714becead Remove dead code. 2023-09-29 14:02:38 -04:00
Jean-Philip Desjardins
0304d98216 Use indexed access for all 32-bit memory accesses. 2023-08-14 10:23:06 -04:00
Jean-Philip Desjardins
97eed3291d Cleanup. 2022-12-01 09:03:47 -05: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
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
Clang-Format
acf75535ec Clang format 2018-04-30 21:01:23 +01:00
Jean-Philip Desjardins
aca766db31 Implement DSUB. 2016-05-08 17:44:00 -04:00
Jean-Philip Desjardins
25c26bb199 Fixed DIV behavior when dividing by 0. 2015-05-08 22:54:07 -04:00
Jean-Philip Desjardins
5c87149816 Allow Template_Div32 to be used by PDIVW. 2015-05-03 03:05:29 -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
770c7fe0cf Added some checks to prevent emulator from writing to R0. 2015-04-08 01:15:11 -04:00
jpd002
d20b33d6b2 Cleanup.
git-svn-id: http://svn.purei.org/purei/trunk@1636 b36208d7-6611-0410-8bec-b1987f11c4a2
2015-01-10 23:16:14 -05:00
jpd002
a3fc129bfd Re-enabled the division by zero check code because it was necessary for Parasite Eve PSF (or maybe it shouldn't be?) and tweaked it a little bit to make it work with the new JIT using 64-bits registers.
git-svn-id: http://svn.purei.org/purei/trunk@724 b36208d7-6611-0410-8bec-b1987f11c4a2
2010-12-01 02:39:48 +00:00
jpd002
8653d52a37 Removed division by zero check in MIPSIV DIV template, because the code it was generating was too big for the x64 compiler (we might want to fix that later though).
git-svn-id: http://svn.purei.org/purei/trunk@714 b36208d7-6611-0410-8bec-b1987f11c4a2
2010-10-24 01:00:36 +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
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
7108832682 Fixed some bugs in MIPSIV core.
Added experimental PspVm.

git-svn-id: http://svn.purei.org/purei/trunk@599 b36208d7-6611-0410-8bec-b1987f11c4a2
2010-03-04 05:35:41 +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
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
9407512bb9 Check for division by 0 in DIV/DIVU.
AboutWindow credits changes.
Console when using MiniDebugger.

git-svn-id: http://svn.purei.org/purei/trunk@373 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-10-10 22:13:36 +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
669ac71159 Even more conversion done for quake.elf (SIF/IOP overhaul)
git-svn-id: http://svn.purei.org/purei/trunk@224 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-01-15 20:27:44 +00:00
jpd002
8b26b04f8b More conversion done for cubemastah.elf.
git-svn-id: http://svn.purei.org/purei/trunk@216 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-01-07 04:05:17 +00:00
jpd002
e91d5fa70b 1987 goes a bit further!
git-svn-id: http://svn.purei.org/purei/trunk@212 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-01-02 04:03:05 +00:00
jpd002
5a20f4353c Some more work done with CodeGen rewrite
git-svn-id: http://svn.purei.org/purei/trunk@211 b36208d7-6611-0410-8bec-b1987f11c4a2
2007-12-29 17:22:26 +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
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
c38f7699a0 git-svn-id: http://svn.purei.org/purei/trunk@142 b36208d7-6611-0410-8bec-b1987f11c4a2 2007-04-02 23:46:56 +00:00
jpd002
6bf9a40e80 git-svn-id: http://svn.purei.org/purei/trunk@141 b36208d7-6611-0410-8bec-b1987f11c4a2 2007-04-01 01:32:04 +00:00