Commit graph

  • b421093700 Start fleshing out the RSP frontend. Tyler Stachecki 2014-10-17 09:58:06 -04:00
  • f520f6e9b8 Start fleshing out the RSP pipeline. Tyler Stachecki 2014-10-17 09:25:40 -04:00
  • 7ac625cec1 Implement RSP DMAs, COP0 registers, etc. Tyler Stachecki 2014-09-04 19:33:26 -04:00
  • 440c51fef2 Add modified functions for RSP. Tyler Stachecki 2014-09-04 16:46:44 -04:00
  • 71961f0b00 Implement the RSP decoder. Tyler Stachecki 2014-09-04 15:44:55 -04:00
  • b20b138d99 Add the RSP opcode entries. Tyler Stachecki 2014-09-04 14:13:11 -04:00
  • f569e5f839 Fix bug that produced false-positive error codes. Tyler Stachecki 2014-10-18 09:20:19 -04:00
  • e9a24f09d6 Patch some undefined behaviour. Tyler Stachecki 2014-10-17 08:49:14 -04:00
  • 62a5d5807b Fix Clang x86(_64) builds, add AddressSanitizer to debug. Tyler Stachecki 2014-10-17 08:45:34 -04:00
  • 7ed4d51b01 Use signed types for DMULT. Tyler Stachecki 2014-10-04 22:28:35 -04:00
  • b0318a9da8 Merge a7c710bdab into 138fce9601 Jason Benaim 2014-09-22 20:42:28 +00:00
  • 971bcd131b Prevent namespace collisions. Tyler Stachecki 2014-09-04 13:45:26 -04:00
  • 6c4d9569d3 arch/x86_64: Fix a precedence issue in tlb_read. Tyler Stachecki 2014-09-04 13:30:42 -04:00
  • 62f452b4ab Fix an error in the SDL/SDR implementation. Tyler Stachecki 2014-08-31 13:13:27 -04:00
  • d7aaff460d Fix a potential issue in the last commit. Tyler Stachecki 2014-08-31 12:04:48 -04:00
  • 17010317ab Implement SDL/SDR. Tyler Stachecki 2014-08-31 11:59:52 -04:00
  • e58dc2cef2 Add/adjust C-pad and D-pad, sensitivity mappings. Tyler Stachecki 2014-08-30 14:33:33 -04:00
  • b921f65710 os/unix: Detect and delete auto-repeated keypresses. Tyler Stachecki 2014-08-30 11:57:41 -04:00
  • 1e0b850ef5 Add a missing break statement. Tyler Stachecki 2014-08-28 22:50:51 -04:00
  • aba60c487b Flip backwards controls, remove memory delay hack. Tyler Stachecki 2014-08-27 23:22:18 -04:00
  • 0d15bd9ddc Add some preliminary input support. Tyler Stachecki 2014-08-27 23:10:10 -04:00
  • ee44e46abb os/windows: Add keyboard press and release events. Tyler Stachecki 2014-08-27 19:02:21 -04:00
  • d011d9b5f5 Fix some obvious common TLB bugs. Tyler Stachecki 2014-08-25 22:55:35 -04:00
  • 99a6b1ee28 os/unix: Add keyboard press and release events. Tyler Stachecki 2014-08-26 22:44:27 -04:00
  • 3ed2957de7 Fix a careless mistake in the last commit. Tyler Stachecki 2014-08-24 21:53:30 -04:00
  • dad4626533 Fix the showstopping coherency bug. Tyler Stachecki 2014-08-24 20:56:45 -04:00
  • 315a1220c7 Add a temporary fix to restore builds on MSVC. Tyler Stachecki 2014-08-24 11:20:04 -04:00
  • d839dd57a3 Remove some bogus, unnecessary logic. Tyler Stachecki 2014-08-24 00:36:21 -04:00
  • 1fcc6254ff Remove a pair of fall-through branch targets. Tyler Stachecki 2014-08-23 23:56:37 -04:00
  • d72a7d38ef Last batch of TLB translation fixes. Tyler Stachecki 2014-08-23 23:52:52 -04:00
  • 404bbb9253 Use the correct page mask value. Tyler Stachecki 2014-08-23 22:36:46 -04:00
  • 6ef9115668 Fix a bunch of TLB translation bugs. Tyler Stachecki 2014-08-23 22:10:46 -04:00
  • e6bc8ebe64 Add more TLB support, verify things. Tyler Stachecki 2014-08-23 20:04:30 -04:00
  • aba5b13ba1 Fix MFC1 now that FS/FT handling is correct. Tyler Stachecki 2014-08-23 16:59:24 -04:00
  • c7e09f90bd Add enough support for libdragon to run. Tyler Stachecki 2014-08-23 16:25:35 -04:00
  • 84deb2fd6b Set available RDRAM size for 6102/6105 carts. Tyler Stachecki 2014-08-23 15:59:15 -04:00
  • c6c6b2782d Fix a very subtle bug in the segment cacher. Tyler Stachecki 2014-08-23 15:22:50 -04:00
  • 5f5d4da9a6 Commit preliminary (untested) TLB support. Tyler Stachecki 2014-08-23 14:23:50 -04:00
  • 925e1e2dcd Make sure SSSE3 flags are passed to GCC/Clang. Tyler Stachecki 2014-08-22 08:44:00 -04:00
  • 2b94264a92 Pass IW to each opcode function. Tyler Stachecki 2014-08-22 07:54:53 -04:00
  • 53c875b06c Support more ops within the CACHE instruction. Tyler Stachecki 2014-08-21 21:14:58 -04:00
  • 266b77bd5c Remove a useless state/cycle type. Tyler Stachecki 2014-08-06 02:41:56 -04:00
  • d1d03d36bf Remvoe the pseudo-fault (UNC). Tyler Stachecki 2014-08-06 02:31:32 -04:00
  • 156b41d6a1 Optimize writes that hit in the data cache. Tyler Stachecki 2014-08-06 02:15:36 -04:00
  • da980ed4d2 Fix up some sloppy hacks from before. Tyler Stachecki 2014-08-06 02:09:56 -04:00
  • 172d61358f Actually start using the data cache. Tyler Stachecki 2014-08-06 01:20:10 -04:00
  • 81c799576a Fill and flush data cache lines as required. Tyler Stachecki 2014-08-05 23:22:46 -04:00
  • 04a40ccc91 Implement DCM/DCB according to the manual. Tyler Stachecki 2014-08-05 21:28:00 -04:00
  • 3ef365b78f Move data memory writes to fault handlers. Tyler Stachecki 2014-08-05 20:50:48 -04:00
  • f95d6c80af Make data cache accesses less painful to look at. Tyler Stachecki 2014-08-05 19:41:31 -04:00
  • 7ed69c7d38 Fix MI_INIT_MODE_REG bug. Tyler Stachecki 2014-08-21 20:45:03 -04:00
  • 13eb205caf Fix bugs in LDL/LDR combined function. Tyler Stachecki 2014-08-21 20:41:05 -04:00
  • 2a7cbe9f20 Fix some Windows issues introduced in last commits. Tyler Stachecki 2014-08-21 09:40:46 -07:00
  • 38ba3f7893 Fix x86_64 build errors in last commits. Tyler Stachecki 2014-08-21 12:24:08 -04:00
  • 65d4da87c6 Add SSE2/SSSE3 implementations of RSP bitwise functions. Tyler Stachecki 2014-08-19 16:08:42 +00:00
  • 1d3e7bac33 Add NEON implementations of RSP bitwise functions. Tyler Stachecki 2014-08-19 11:47:52 +00:00
  • 0158b65c0c Start implementing NEON backend for RSP. Tyler Stachecki 2014-08-19 03:19:44 +00:00
  • ced4183158 More restructuring of arch/ and os/ code. Tyler Stachecki 2014-08-18 16:54:01 +00:00
  • 3e8ba50851 Add common arch/ folder, move headers out of os/. Tyler Stachecki 2014-08-18 16:08:45 +00:00
  • 2e43bb6f49 Add non-x86_64 implementations for DMULT/DMULTU. Tyler Stachecki 2014-08-18 12:38:36 +00:00
  • b95522aa7f Cleanup the CMakeLists file after last commit. Tyler Stachecki 2014-08-17 16:56:06 +00:00
  • 0ab8ead055 Add support for IA32, remove ARM NEON requirement. Tyler Stachecki 2014-08-17 16:29:57 +00:00
  • 42f7833b62 Add support for ARM builds with GCC/Clang. Tyler Stachecki 2014-08-17 00:40:03 +00:00
  • fb3d52d222 Fix a typo in the last commit. Tyler Stachecki 2014-08-03 17:04:47 -04:00
  • 7116582a6b Combine more execution functions. Tyler Stachecki 2014-08-03 13:42:08 -04:00
  • 26908fb00e Combine some execution functions. Tyler Stachecki 2014-08-03 03:46:33 -04:00
  • ab941a6854 Add os/timer, implement backends. Tyler Stachecki 2014-08-03 03:02:03 -04:00
  • 4fcd566f02 Add os/rom_file, implement backends. Tyler Stachecki 2014-08-03 00:59:20 -04:00
  • 6f15585802 Cleanup Windows os/ code. Tyler Stachecki 2014-08-02 23:44:13 -04:00
  • 2c7c109d16 Reduce number of symbols. Tyler Stachecki 2014-08-02 23:25:49 -04:00
  • 776a27dbab Fix a bug in the busy wait detector. Tyler Stachecki 2014-08-02 19:06:34 -04:00
  • 4cb2a1aca9 Fix potentially uninitialized variables to 0. Tyler Stachecki 2014-07-31 16:48:30 -04:00
  • fb3d9e1e1c Remove -fuse-linker-plugin from GCC flags. Tyler Stachecki 2014-07-31 16:33:46 -04:00
  • ec8f6cacad Move a conditional branch off the main path. Tyler Stachecki 2014-07-31 16:22:51 -04:00
  • d96e3f3423 Align the pipeline cycle type array. Tyler Stachecki 2014-07-31 16:03:46 -04:00
  • bf46aa1fb3 Reorganize structures. Tyler Stachecki 2014-07-31 13:43:16 -04:00
  • 490e896cc9 Reorganize pipeline code for lower binary size. Tyler Stachecki 2014-07-31 13:27:04 -04:00
  • b785754d3d Cleanup the common header. Tyler Stachecki 2014-07-31 12:52:06 -04:00
  • 91a39143af Allow the compiler to reuse some code. Tyler Stachecki 2014-07-31 12:44:40 -04:00
  • 5dce6e0ea7 Cut down on initialization code size. Tyler Stachecki 2014-07-31 12:35:06 -04:00
  • c28f74ba98 Fix up warnings, clean up initialization code. Tyler Stachecki 2014-07-31 12:07:12 -04:00
  • 6e12a0ae42 Remove old, dangerous sections of copied code. Tyler Stachecki 2014-07-31 11:52:28 -04:00
  • 9561aec666 Reduce the size of Release builds. Tyler Stachecki 2014-07-31 11:37:16 -04:00
  • 2ad431aaee Reduce VR4300/CP1 overhead. Tyler Stachecki 2014-07-31 11:29:57 -04:00
  • 36ae2de268 Regression: -O2 is better with caches. Tyler Stachecki 2014-07-31 10:47:09 -04:00
  • b734fee971 Merge branch 'caches' into 'master'. Tyler Stachecki 2014-07-30 23:43:19 -04:00
  • 50d15f4c34 Touch up minor instruction cache things. Tyler Stachecki 2014-07-30 23:30:54 -04:00
  • a0458bb775 Fix instruction cache flush address calculation. Tyler Stachecki 2014-07-30 23:30:02 -04:00
  • bd31531f6c Instruction cache fixes and improvements. Tyler Stachecki 2014-07-30 23:18:29 -04:00
  • a284bd6b7a Check for interrupts in the busy wait checker. Tyler Stachecki 2014-07-30 22:37:04 -04:00
  • 60edbddecf Integrate busy wait handler into pipeline. Tyler Stachecki 2014-07-29 10:00:55 -04:00
  • 9bd494b4e0 Make busy wait special casing safer. Tyler Stachecki 2014-07-29 09:47:01 -04:00
  • 9c4fecc2e0 Add VR4300 busy wait detection feature. Tyler Stachecki 2014-07-29 09:24:24 -04:00
  • 50b1f40003 Fix bug in Windows's os_poll_events. Tyler Stachecki 2014-07-29 01:16:46 -04:00
  • 974757c5b9 Fix Windows inline assembly functions. Tyler Stachecki 2014-07-28 22:09:02 -07:00
  • d1348c0000 Remove unused headers from Windows code. Tyler Stachecki 2014-07-29 00:31:21 -04:00
  • ddb4626080 Change the FPU calling convention. Tyler Stachecki 2014-07-29 00:13:39 -04:00
  • 4502cc9435 Fix Windows FPU assembly stubs. Tyler Stachecki 2014-07-28 20:35:11 -07:00
  • 97ff3bbd6e Start unbreaking the Windows build. Tyler Stachecki 2014-07-28 17:30:35 -04:00
  • 9ac9ddca1b Use reasonable memory access delays. Tyler Stachecki 2014-07-28 09:29:19 -04:00