Commit graph

953 commits

Author SHA1 Message Date
Tyler Stachecki
8debccc73e Add SDC1, CP1 comment fixes. 2014-07-04 13:52:56 -04:00
Tyler Stachecki
a88f03f045 Fix a LWC1 dependency issue. 2014-07-04 13:41:29 -04:00
Tyler Stachecki
31d9f611d1 Implement a handful of CP1 instructions. 2014-07-04 13:17:32 -04:00
Tyler Stachecki
92887871f0 Forward CP1 registers in EX logic. 2014-07-04 11:01:25 -04:00
Tyler Stachecki
f4a54051cd Fill in comment block after last commit. 2014-07-02 23:37:08 -04:00
Tyler Stachecki
d71cc95a0d Add CP1 instructions to decoder logic. 2014-07-02 23:08:36 -04:00
Tyler Stachecki
691d3009e4 Housekeeping: Move CP0/CP1 functions around. 2014-07-02 21:43:07 -04:00
Tyler Stachecki
2484f31253 Experimental fixes for LWC1/MTC1. 2014-07-02 01:43:41 -04:00
Tyler Stachecki
c11f271348 Add initial MTC1 implementation. 2014-07-02 00:05:42 -04:00
Tyler Stachecki
e8d7ece375 Add initial LDC1 implementation, fix LWC1 entry. 2014-07-01 23:58:43 -04:00
Tyler Stachecki
c564685da4 Make sure CE bits get set on CPU exception. 2014-07-01 23:49:17 -04:00
Tyler Stachecki
62bdd33a58 More preliminary FPU work. 2014-07-01 23:35:09 -04:00
Tyler J. Stachecki
11407b32ff Don't use -finline-limit with Clang. 2014-07-01 23:15:05 -04:00
Tyler J. Stachecki
3c5a1850ee Use different mask for CAUSE in faults. 2014-07-01 23:14:58 -04:00
Tyler J. Stachecki
d031e75fd5 Aggressive inlining for release builds. 2014-07-01 23:14:53 -04:00
Tyler J. Stachecki
c2429cb613 Only do LDI on reads, not writes. 2014-07-01 23:14:49 -04:00
Tyler Stachecki
89b327ed9a Remove some artifacts from CMakeLists. 2014-07-01 22:57:17 -04:00
Tyler Stachecki
e16a997119 Squash the longstanding memory bug.
Forgot to mask the data by the dqm before writing it on the bus.
We should do this before putting the data on the bus to prevent
the extra operation in each consumer.
2014-07-01 22:03:11 -04:00
Tyler Stachecki
dc64648776 Mark any TLB probes as failures. 2014-07-01 21:28:14 -04:00
Tyler J. Stachecki
a13f1fc3b7 Start prepping FPU. 2014-06-25 21:45:29 -04:00
Tyler Stachecki
05db88349e Improve build environment.
* Add compiler version string macro.
  * Add REQUIRED tags to CMake packages.

Signed-off-by: Tyler Stachecki <tstache1@binghamton.edu>
2014-06-24 21:18:36 -04:00
Tyler Stachecki
3749f22139 Cleanup clang build warnings. 2014-06-24 20:09:54 -04:00
Tyler Stachecki
084d3ed853 vr4300: Add support for several instructions.
Thanks go out to krom for the work in this commit.

Instructions added:  DADD, DSUB, DADDI, DADDIU, DADDU, DSUBU,
DDIV, DMULT, DSLL, DSLLV, DSRA, DSRAV, DSRL, DSRLV, DSRL32 NOR.

Signed-off-by: Tyler Stachecki <tstache1@binghamton.edu>
2014-06-24 19:54:09 -04:00
Tyler Stachecki
7ed27cefe6 os/unix: Set default to windowed-mode. 2014-05-23 09:05:40 -04:00
Tyler Stachecki
07a3a079f6 Cleanup the OS interface somewhat. 2014-05-22 17:42:28 -04:00
Tyler Stachecki
45a06d3532 Allow instructions to raise exceptions, add some CP1. 2014-05-20 22:16:12 -04:00
Tyler Stachecki
6612ed356b Link against fewer shared libraries. 2014-05-19 23:00:43 -04:00
Tyler Stachecki
2c51f781d4 os/unix: Use consistent comment style. 2014-05-19 22:46:13 -04:00
Tyler Stachecki
93438cbdd4 os/windows: Handle window close and resize events. 2014-05-19 22:43:51 -04:00
Tyler Stachecki
f1b32654bc os/unix: Handle X11 window close and resize events. 2014-05-19 21:06:27 -04:00
Tyler Stachecki
4ec3ca0f24 os/windows: Fix comment in header. 2014-05-18 15:48:44 -04:00
Tyler Stachecki
46c65991d8 os/windows; Pass argc and argv to cen64_main. 2014-05-18 15:43:20 -04:00
Tyler Stachecki
48b9585778 os/windows; Add various fixes. 2014-05-18 14:32:05 -04:00
Tyler Stachecki
520c616369 Create gl_window before performing GL calls. 2014-05-18 14:20:31 -04:00
Tyler Stachecki
9b0a04fcf7 Commit initial OS interface. 2014-05-18 14:13:27 -04:00
Tyler Stachecki
9ae2fdbcf8 Start integrating data cache into DC stage. 2014-05-10 15:21:55 -04:00
Tyler Stachecki
656103920b VR4300: Start adding data cache support. 2014-05-06 19:49:03 -04:00
Tyler Stachecki
49cbfc8994 VR4300: Start adding instruction cache support. 2014-05-06 19:11:51 -04:00
Tyler Stachecki
6dc8c06f20 Various subtle fixes and hacks. 2014-04-25 21:28:18 -04:00
Tyler Stachecki
e912d835e6 Clean up some more things. 2014-04-21 15:02:27 -04:00
Tyler Stachecki
09b0d6fba2 Remove conditionals from the fast path. 2014-04-21 14:28:34 -04:00
Tyler Stachecki
d5170999d5 VR4300: Add support for SRAV instruction. 2014-04-21 14:02:13 -04:00
Tyler Stachecki
bce0070159 VR4300: Add support for LWL, LWR instructions. 2014-04-21 13:55:09 -04:00
Tyler Stachecki
451cbfe451 Allow some ROMs to proceed temporarily. 2014-04-21 12:42:50 -04:00
Tyler Stachecki
4361c9e48e Cleanup some random bits and pieces. 2014-04-21 11:50:32 -04:00
Tyler Stachecki
0c312ebe2d Fix more undefined behaviour. 2014-04-21 10:57:36 -04:00
Tyler Stachecki
e6ea9584dc Add preliminary support for Clang. 2014-04-21 10:38:50 -04:00
Tyler Stachecki
33145e4bd4 Fix some undefined behaviour. 2014-04-21 10:18:21 -04:00
Tyler Stachecki
9cc3a31767 Fix some bugs with stores and such. 2014-04-21 09:29:43 -04:00
Tyler Stachecki
99d5eea419 VR4300: Add support for SWL, SWR instructions. 2014-04-20 13:21:08 -04:00