Commit graph

736 commits

Author SHA1 Message Date
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
Tyler Stachecki
cab3a7cbac Fix another handful of remaining bugs. 2014-04-20 12:35:14 -04:00
Tyler Stachecki
3bb8d496b4 Fix a slew of bugs in the pipeline. 2014-04-20 12:07:33 -04:00
Tyler Stachecki
cbb4c4ea07 Fix some issues with recent commits. 2014-04-20 08:21:26 -04:00
Tyler Stachecki
a251d182e3 Allow the window to be resized. 2014-04-20 08:02:34 -04:00
Tyler Stachecki
91f098991f VR4300: Add support for DIV, DIVU instructions. 2014-04-20 08:02:13 -04:00
Tyler Stachecki
cc771420c0 Hack the pipeline enough to turn over. 2014-04-19 18:02:19 -04:00
Tyler Stachecki
a7484376fc Cleanup some issues with raising exceptions? 2014-04-19 17:46:56 -04:00
Tyler Stachecki
454033499d Start integrating OpenGL (GLFW) and friends. 2014-04-19 17:14:45 -04:00
Tyler Stachecki
1de84ca1ed Use the right mask for RCP interrupts. 2014-04-19 16:28:10 -04:00
Tyler Stachecki
ad1076c794 VR4300: Add support for the SD instruction. 2014-04-19 15:58:13 -04:00
Tyler Stachecki
1594ef4b3f VR4300: Start actually serving interrupts. 2014-04-19 15:54:04 -04:00
Tyler Stachecki
d498ac07e2 VR4300: Improve decoder, add ERET instruction. 2014-04-19 14:54:08 -04:00
Tyler Stachecki
3a7442d7f6 Get closer to implementing interrupts. 2014-04-19 12:20:39 -04:00
Tyler Stachecki
eb55cb7e9c Another temporary fix for buggy load/stores. 2014-04-19 08:55:41 -04:00
Tyler Stachecki
10503b750f VR4300: Add support for the MT{HI,LO} instructions. 2014-04-19 08:14:44 -04:00
Tyler Stachecki
a5f7925912 Add a temporary fix for buggy load/stores. 2014-04-19 08:06:07 -04:00
Tyler Stachecki
ab4f705b35 Fix a bug with doubleword reads. 2014-04-18 23:36:05 -04:00