Commit graph

  • deb9df0c96 Add support for ICache.Hit_Invalidate. Tyler Stachecki 2014-07-28 09:21:28 -04:00
  • 98b9c34020 Start making use of the instruction cache. Tyler Stachecki 2014-07-28 09:09:51 -04:00
  • b3bafa2e92 Reduce indirect branch overhead. Tyler Stachecki 2014-07-28 00:01:16 -04:00
  • 2c12ff1601 Improve performance when compiling with gcc. Tyler Stachecki 2014-07-27 23:52:50 -04:00
  • c4a121c139 Trim out some unused instructions. Tyler Stachecki 2014-07-27 23:38:54 -04:00
  • 98e98094d4 Switch over CVT. Tyler Stachecki 2014-07-27 23:28:39 -04:00
  • d2f70fd2c8 Switch over ROUND, TRUNC, CEIL, and FLOOR. Tyler Stachecki 2014-07-27 22:45:56 -04:00
  • d5fea665c9 Stop using "Yz" as an input constraint. Tyler Stachecki 2014-07-27 22:08:36 -04:00
  • 1c873c680d Fix last commit's bugs (reported by krom's checker). Tyler Stachecki 2014-07-27 20:30:43 -04:00
  • e66c2e2e37 Simplify the floating point compare logic. Tyler Stachecki 2014-07-27 20:22:13 -04:00
  • e87b2f7f57 Switch over a handful of CMP. Tyler Stachecki 2014-07-27 18:33:13 -04:00
  • 79c05ac6b0 Switch over SQRT. Tyler Stachecki 2014-07-27 16:31:40 -04:00
  • 8bd52f1e11 Switch over NEG, fix the double mask constant. Tyler Stachecki 2014-07-27 16:20:42 -04:00
  • 9f520f9029 Switch over ABS, apply const where possible. Tyler Stachecki 2014-07-27 16:14:09 -04:00
  • 45617d9c36 Start the switch from x87 to SSE. Tyler Stachecki 2014-07-27 16:01:33 -04:00
  • 81e9970b2e vr4300/cp1: Add missing unusable excps, fix bugs. Tyler Stachecki 2014-07-27 15:35:14 -04:00
  • e7417bee66 Add get/set native FPU state functions. Tyler Stachecki 2014-07-27 14:57:54 -04:00
  • 850c278cd9 os/unix: Stop using pthreads improperly. Tyler Stachecki 2014-07-27 09:04:35 -04:00
  • 596736f64d Hack in support for LDL/LDR. Tyler Stachecki 2014-07-27 00:59:43 -04:00
  • d0662e9874 Remove preshift from memory operations. Tyler Stachecki 2014-07-26 14:54:30 -04:00
  • d924d68635 Fix unused options/flags in the build system. Tyler Stachecki 2014-07-26 14:38:42 -04:00
  • dfb4af315e Hack: Return audio buffer full/busy all the time. Tyler Stachecki 2014-07-26 13:44:16 -04:00
  • f60adc4ea8 Support 64MiB carts. Tyler Stachecki 2014-07-26 12:24:05 -04:00
  • 276447e706 Fix some errors in LWR (for memcpy() and bcopy()). Tyler Stachecki 2014-07-26 12:04:56 -04:00
  • 705b8330fa Fix bcopy() and memcpy()-related bugs. Tyler Stachecki 2014-07-26 10:37:45 -04:00
  • 6b65055137 Fix a minor issue in pif_perform_command. Tyler Stachecki 2014-07-26 09:30:04 -04:00
  • 349bdc1684 Merge krom's FPU comparison instructions. Tyler Stachecki 2014-07-17 20:03:28 -04:00
  • 8d7afe3d4c Do a better job of emulating the PI. Tyler Stachecki 2014-07-13 21:22:24 -04:00
  • 4a48a987e5 Restore some PIF functionality. Tyler Stachecki 2014-07-13 21:07:24 -04:00
  • 21092f06cd Merge krom-fpu into master. Tyler Stachecki 2014-07-13 20:33:35 -04:00
  • f3bb75ac69 Fix a bug in MTC1. Tyler Stachecki 2014-07-13 15:23:23 -04:00
  • 9ef940a6eb Fix a bug in MTC1. Tyler Stachecki 2014-07-13 15:23:23 -04:00
  • 4b69669998 Add support for C.lt.fmt. Tyler Stachecki 2014-07-13 13:13:23 -04:00
  • 9eede82001 Make FPU FCR writes available on the next cycle. Tyler Stachecki 2014-07-13 12:40:38 -04:00
  • d5e621b563 Add required GNU inline assembly constraints. Tyler Stachecki 2014-07-08 00:23:29 -04:00
  • 2bfd3870e8 Implement another conditional FPU operation. Tyler Stachecki 2014-07-07 23:53:07 -04:00
  • 16aea90110 Implement FPU conditional branches. Tyler Stachecki 2014-07-07 23:44:59 -04:00
  • 24c17acb62 Implement a FPU conditional operation. Tyler Stachecki 2014-07-07 23:21:02 -04:00
  • 5dd0f5bc3c Add implementations for CFC1/CTC1. Tyler Stachecki 2014-07-07 22:39:23 -04:00
  • 33f59bc1f2 Fix fpu_sub_64 on Unix builds. Tyler Stachecki 2014-07-13 11:19:48 -04:00
  • 4dc4c24c1a Fix fpu_sub_64 on Unix builds. Tyler Stachecki 2014-07-13 11:19:48 -04:00
  • c652f8359a Merge krom's FPU instructions. Tyler Stachecki 2014-07-08 00:00:25 -04:00
  • beab1e90f3 Add implementations for CFC1/CTC1. Tyler Stachecki 2014-07-07 22:39:23 -04:00
  • 423d8d9b9c Wave 2 of CP1 housekeeping. Tyler Stachecki 2014-07-05 14:28:43 -04:00
  • 72481d5df4 Wave 1 of CP1 housekeeping. Tyler Stachecki 2014-07-05 13:41:37 -04:00
  • 96f219fb1a Unwanted reciprocals are bad. Tyler J. Stachecki 2014-07-05 12:58:02 -04:00
  • 665d7468f9 Add more FPU support for MSVC/x86_64. Tyler J. Stachecki 2014-07-05 12:12:07 -04:00
  • 6b0215a082 Start adding FPU support for MSVC/x86_64. Tyler J. Stachecki 2014-07-05 11:35:06 -04:00
  • abd909d215 Actually faster with -O2; don't racecar. Tyler Stachecki 2014-07-05 09:09:56 -04:00
  • 7193b288fc Fix another couple of CP1 bugs. Tyler Stachecki 2014-07-05 08:46:52 -04:00
  • c318a781bc Small amount of CP1 cleanup. Tyler Stachecki 2014-07-04 18:25:25 -04:00
  • 0734d6b4e4 Add support for MOV.fmt and SUB.fmt. Tyler Stachecki 2014-07-04 17:53:07 -04:00
  • 0b6433ea45 Fix a handful of sloppy CP1 errors. Tyler Stachecki 2014-07-04 17:36:18 -04:00
  • 33322f0870 Add support for CVT.l.fmt, CVT.w.fmt. Tyler Stachecki 2014-07-04 14:20:20 -04:00
  • 8debccc73e Add SDC1, CP1 comment fixes. Tyler Stachecki 2014-07-04 13:52:56 -04:00
  • a88f03f045 Fix a LWC1 dependency issue. Tyler Stachecki 2014-07-04 13:41:29 -04:00
  • 31d9f611d1 Implement a handful of CP1 instructions. Tyler Stachecki 2014-07-04 13:17:32 -04:00
  • 92887871f0 Forward CP1 registers in EX logic. Tyler Stachecki 2014-07-04 11:01:25 -04:00
  • f4a54051cd Fill in comment block after last commit. Tyler Stachecki 2014-07-02 23:37:08 -04:00
  • d71cc95a0d Add CP1 instructions to decoder logic. Tyler Stachecki 2014-07-02 23:08:18 -04:00
  • 691d3009e4 Housekeeping: Move CP0/CP1 functions around. Tyler Stachecki 2014-07-02 21:38:42 -04:00
  • 2484f31253 Experimental fixes for LWC1/MTC1. Tyler Stachecki 2014-07-02 01:43:41 -04:00
  • c11f271348 Add initial MTC1 implementation. Tyler Stachecki 2014-07-02 00:05:42 -04:00
  • e8d7ece375 Add initial LDC1 implementation, fix LWC1 entry. Tyler Stachecki 2014-07-01 23:58:43 -04:00
  • c564685da4 Make sure CE bits get set on CPU exception. Tyler Stachecki 2014-07-01 23:49:17 -04:00
  • 62bdd33a58 More preliminary FPU work. Tyler Stachecki 2014-07-01 23:32:14 -04:00
  • 11407b32ff Don't use -finline-limit with Clang. Tyler J. Stachecki 2014-06-29 16:28:25 -04:00
  • 3c5a1850ee Use different mask for CAUSE in faults. Tyler J. Stachecki 2014-06-29 16:08:53 -04:00
  • d031e75fd5 Aggressive inlining for release builds. Tyler J. Stachecki 2014-06-29 16:07:43 -04:00
  • c2429cb613 Only do LDI on reads, not writes. Tyler J. Stachecki 2014-06-29 15:33:09 -04:00
  • 89b327ed9a Remove some artifacts from CMakeLists. Tyler Stachecki 2014-07-01 22:57:17 -04:00
  • e16a997119 Squash the longstanding memory bug. Tyler Stachecki 2014-07-01 21:51:18 -04:00
  • dc64648776 Mark any TLB probes as failures. Tyler Stachecki 2014-07-01 21:23:17 -04:00
  • a13f1fc3b7 Start prepping FPU. Tyler J. Stachecki 2014-06-25 21:45:29 -04:00
  • 05db88349e Improve build environment. Tyler Stachecki 2014-06-24 20:53:59 -04:00
  • 3749f22139 Cleanup clang build warnings. Tyler Stachecki 2014-06-24 20:09:54 -04:00
  • 084d3ed853 vr4300: Add support for several instructions. Tyler Stachecki 2014-06-24 19:42:36 -04:00
  • 7ed27cefe6 os/unix: Set default to windowed-mode. Tyler Stachecki 2014-05-23 09:05:40 -04:00
  • 07a3a079f6 Cleanup the OS interface somewhat. Tyler Stachecki 2014-05-22 17:42:13 -04:00
  • 45a06d3532 Allow instructions to raise exceptions, add some CP1. Tyler Stachecki 2014-05-20 22:16:12 -04:00
  • 6612ed356b Link against fewer shared libraries. Tyler Stachecki 2014-05-19 23:00:43 -04:00
  • 2c51f781d4 os/unix: Use consistent comment style. Tyler Stachecki 2014-05-19 22:46:13 -04:00
  • 93438cbdd4 os/windows: Handle window close and resize events. Tyler Stachecki 2014-05-19 22:43:51 -04:00
  • f1b32654bc os/unix: Handle X11 window close and resize events. Tyler Stachecki 2014-05-19 21:06:27 -04:00
  • 4ec3ca0f24 os/windows: Fix comment in header. Tyler Stachecki 2014-05-18 15:48:44 -04:00
  • 46c65991d8 os/windows; Pass argc and argv to cen64_main. Tyler Stachecki 2014-05-18 15:43:20 -04:00
  • 48b9585778 os/windows; Add various fixes. Tyler Stachecki 2014-05-18 14:32:05 -04:00
  • 520c616369 Create gl_window before performing GL calls. Tyler Stachecki 2014-05-18 14:20:31 -04:00
  • 9b0a04fcf7 Commit initial OS interface. Tyler Stachecki 2014-05-18 14:07:02 -04:00
  • 9ae2fdbcf8 Start integrating data cache into DC stage. Tyler Stachecki 2014-05-10 15:21:55 -04:00
  • a7c710bdab Add linker dependencies for opensuse Jason Benaim 2014-05-07 22:30:52 -04:00
  • 656103920b VR4300: Start adding data cache support. Tyler Stachecki 2014-05-06 19:49:03 -04:00
  • 49cbfc8994 VR4300: Start adding instruction cache support. Tyler Stachecki 2014-05-06 19:11:51 -04:00
  • 6dc8c06f20 Various subtle fixes and hacks. Tyler Stachecki 2014-04-25 21:28:18 -04:00
  • e912d835e6 Clean up some more things. Tyler Stachecki 2014-04-21 15:02:27 -04:00
  • 09b0d6fba2 Remove conditionals from the fast path. Tyler Stachecki 2014-04-21 14:28:34 -04:00
  • d5170999d5 VR4300: Add support for SRAV instruction. Tyler Stachecki 2014-04-21 14:02:13 -04:00
  • bce0070159 VR4300: Add support for LWL, LWR instructions. Tyler Stachecki 2014-04-21 13:55:09 -04:00
  • 451cbfe451 Allow some ROMs to proceed temporarily. Tyler Stachecki 2014-04-21 12:42:50 -04:00
  • 4361c9e48e Cleanup some random bits and pieces. Tyler Stachecki 2014-04-21 11:50:32 -04:00