Commit Graph

218 Commits

Author SHA1 Message Date
Anthony Pesch 8c4d1cecb1 initial libretro support 2017-05-05 00:00:16 -04:00
Anthony Pesch 393828670e remove audio backend 2017-05-04 20:04:45 -04:00
Anthony Pesch 824be359eb rename window.c to window_sdl.c 2017-04-20 17:02:56 -04:00
Anthony Pesch 4529e50280 removed emu/ subdirectory 2017-04-11 18:21:44 -04:00
Anthony Pesch af48774b16 added blocks to ir
added control flow analysis pass
2017-01-07 00:32:54 -08:00
James Jacobsson c803ad01f3 Change default build type to RelWithDebInfo (#66) 2017-02-16 05:18:07 +01:00
joseph c01c6a1077 Validate bootrom on startup 2017-01-04 15:49:35 -06:00
Anthony Pesch 32a8239132 windows build fixes 2017-01-01 22:06:16 -08:00
Anthony Pesch 60648835e0 fix gcc release warning 2016-12-21 00:44:52 -08:00
joseph 4ba9885aab Add basic constant propagation simplification 2016-12-18 16:51:05 -06:00
Anthony Pesch b7d4f88ea6 remove minmax heap usage 2016-12-17 23:25:12 -08:00
Anthony Pesch c84d92fcd3 moved optimization passes 2016-12-17 18:37:12 -08:00
Anthony Pesch 477560a74b added intermediate relib 'object library' to speed up recc / retest builds 2016-12-17 16:36:33 -08:00
Anthony Pesch c254194dda remove unsupported warning flag 2016-12-17 16:21:57 -08:00
Anthony Pesch 646fd314f5 fix for test_ldcl_stcl_sr 2016-12-17 16:20:30 -08:00
Anthony Pesch 9e21119f92 reenable sh4 tests 2016-12-17 16:06:47 -08:00
Anthony Pesch a0a1108d88 remove test_ prefix from tests 2016-12-17 14:31:40 -08:00
Anthony Pesch 292ce8c38d reenabled interval tree tests 2016-12-17 14:27:54 -08:00
Anthony Pesch ac6bd3a677 added TEST macro
reenabled test_list_*
fixed bug when adding an uninitialized list_node
2016-12-17 01:31:50 -08:00
Anthony Pesch 168857b473 add BUILD_TOOLS and BUILD_TESTS options to cmake
renabled retest target with a few tests
2016-12-17 00:18:44 -08:00
Anthony Pesch f67f5c5b12 add emitter stats to recc 2016-12-16 23:35:26 -08:00
Anthony Pesch 03cceedd8d added libsoundio based audio backend
initial mixing work
2016-10-17 21:17:04 -07:00
Anthony Pesch ae3d459960 removed failed atomic shim, compile ringbuf as c++ 2016-12-11 13:25:09 -08:00
Anthony Pesch 65da96d130 windows build fixes 2016-12-11 13:07:19 -08:00
Anthony Pesch 52c066c607 added single producer / single consumer ring buffer
added atomic load / fetch / store / exchange macros to work around msvc not supporting stdatomic.h
added sleep shim for windows
2016-12-11 11:46:14 -08:00
Anthony Pesch 2b28a457da added initial expression simplification pass 2016-12-10 13:08:55 -08:00
Anthony Pesch c6b6bcfc76 reenabled recc builds
added basic readme for recc
added support for labels to ir_read() and ir_write()
added debug menu option to start / stop the dumping of the SH4 IR
2016-12-04 16:29:51 -08:00
Anthony Pesch 1bc1cebfea don't try and set a default CMAKE_BUILD_TYPE 2016-12-03 12:56:09 -08:00
Anthony Pesch 6ea5cd3e4a added new backend-specific dispatch system to each guest cpu
made the jit track edges (branches) between basic blocks at runtime
added hand-optimized, backend-specific main loop for each guest cpu
moved code caching responsibilities into each guest cpu's dispatch system
added support for patching static edges between blocks as discovered at runtime to be direct jumps
2016-11-26 23:42:14 -08:00
Anthony Pesch d092b097df renamed stats aggregate counters, merged back into profiler 2016-11-30 21:59:05 -08:00
Anthony Pesch 4e14eafd71 initial VMU support 2016-11-29 20:15:48 -08:00
Anthony Pesch 74cd15b79f move time-based stats out of profiler
split stats into groups based on cpu / gpu thread so they can be updated safely
2016-11-27 18:26:23 -08:00
Anthony Pesch c549ee05de windows build fixes 2016-11-27 14:36:37 -08:00
Leah Petersen 03e4911537 mac compile fixes 2016-11-27 10:50:23 -08:00
Anthony Pesch 0a1302752e added option to write perf-compatible maps for generated code 2016-11-18 22:57:53 -08:00
Anthony Pesch 3d8f575713 fixed up microprofile implementation 2016-11-17 22:40:44 -08:00
Anthony Pesch 26e1d47900 initial armv3 interpreter 2016-11-16 20:22:43 -08:00
Anthony Pesch 3490477976 split up sh4 code into files for each individual module (ccn, dmac, intc, etc.)
refactored sh4 code cache into a common jit struct to be used by the arm7 cpu
2016-10-18 23:54:30 -07:00
Anthony Pesch b4bc578505 moved arm7 source 2016-10-17 21:05:04 -07:00
Anthony Pesch d356d14569 initial audio scaffolding 2016-10-15 16:13:56 -07:00
Anthony Pesch a8ab33ede4 moved renderer code 2016-10-15 15:53:05 -07:00
Anthony Pesch b74152f1e6 move boot / flash roms over to their own devices 2016-10-09 15:48:15 -07:00
Anthony Pesch ffc62406c7 merged g2.c into holly.c 2016-10-05 22:29:41 -07:00
Anthony Pesch 7f7a2d3239 moved powervr code 2016-10-05 22:25:38 -07:00
Anthony Pesch 4966985f89 updated memory code to share physical regions between multiple address spaces 2016-09-27 23:26:20 -07:00
Anthony Pesch bc632abacd use -fms-extensions for anonymous base device struct 2016-09-25 19:00:13 -07:00
Anthony Pesch a60442724f fix travis ci 2016-07-08 19:49:08 -07:00
Anthony Pesch bd352c3cc4 multithreaded rendering 2016-06-28 09:06:56 -07:00
Anthony Pesch a68084ffa0 updated recc 2016-06-26 23:18:58 -07:00
Anthony Pesch 372210642a ported tracer without ui 2016-06-22 22:48:16 -07:00
Anthony Pesch e7a8281d53 nuklear wip 2016-06-21 09:07:26 -07:00
Anthony Pesch 7f54ca1d72 added nuklear source 2016-06-21 20:44:55 -04:00
Anthony Pesch 191f39d3b3 gcc / linux build fixes 2016-06-18 15:24:07 -07:00
Anthony Pesch 20dd75aa67 remove imgui 2016-06-18 00:16:06 -07:00
Anthony Pesch 3814b108e3 disable imgui 2016-06-16 08:50:51 -07:00
Anthony Pesch 207585f6f6 converted tracer 2016-06-14 22:21:59 -07:00
Anthony Pesch aa1a7ee99c converted emulator.cc 2016-06-12 15:00:36 -07:00
Anthony Pesch 28533002af jit c refactor 2016-06-04 14:21:15 -07:00
Anthony Pesch 37915e7129 initial c refactor 2016-05-22 19:57:47 -07:00
Anthony Pesch d237bba78f renamed MapleController -> Controller 2016-04-25 22:15:53 -07:00
Anthony Pesch aa5b8b1d8f add bundle target for OSX 2016-04-25 19:56:41 -07:00
Anthony Pesch 7d639cb74a split memory system up to support mapping multiple address spaces to the same backing shared memory 2016-04-24 23:19:03 -07:00
Anthony Pesch 7c2cdfbb56 updated eigen to 3.2.8 2016-04-22 21:55:08 -07:00
Anthony Pesch 88639101dd linux compile fixes 2016-04-21 23:37:52 -07:00
Anthony Pesch aaecac5902 replace beaengine with capstone 2016-04-21 23:08:58 -07:00
Anthony Pesch ea27e1f128 added sh4 analyzer 2016-04-21 20:42:52 -07:00
Anthony Pesch d49d107b78 placeholder sext/zext/trunc elimination pass 2016-04-11 01:22:16 -07:00
Anthony Pesch 4350858651 added AICA ChannelData and CommonData bitfields
added ARM7 scaffolding
2016-04-11 01:22:06 -07:00
Anthony Pesch 879e6dffe7 upgrade to sdl 2.0.4 2016-04-10 16:11:37 -07:00
Anthony Pesch 09c5fa10cf added directory processing to recc 2016-04-10 11:12:28 -07:00
Anthony Pesch 0242a67532 added debug logging
added debug pass stats to recc
2016-04-10 10:00:15 -07:00
Anthony Pesch 055af5081e refactored to remove hw/ references from jit/ folder
added recc tool for compiling ir offline
2016-04-09 03:38:09 -07:00
Anthony Pesch a87a9a2475 remove WSAStartup from main project, need to move into gdb_server 2016-04-08 22:17:31 -07:00
Anthony Pesch b0dbdf6e50 Revert "removed beaengine"
This reverts commit 9528d9beaa.
2016-04-07 23:44:27 -07:00
Anthony Pesch 38597832e6 update xbyak version 2016-04-06 22:19:10 -07:00
Anthony Pesch 56d039e643 linux build fixes 2016-03-25 01:41:57 -07:00
Anthony Pesch 05388bca6f split up int / float IR ops
added support for fcnvsd and fcnvds
2016-03-23 18:45:47 -07:00
Anthony Pesch 8b94d8e9f6 consolidated comparison ir ops into OP_ICMP and OP_FCMP 2016-03-23 01:40:01 -07:00
Anthony Pesch d26b7a092f removed interpreter backend 2016-03-23 01:17:09 -07:00
Anthony Pesch d234f630f1 make Instr inherit from value, removing result property
updated register allocation to account for the fact that the result is no longer a part of the reference set
added basic dead code elimination pass
2016-03-23 00:54:24 -07:00
Anthony Pesch c836560bc9 window system refactor
added imgui for gui rendering
added WindowInterface to Machine class enabling hardware to tap into window events for input and rendering
2016-03-18 18:06:57 -07:00
Anthony Pesch 3d491054c7 merge ta and texcache 2016-03-15 22:30:01 -07:00
Anthony Pesch c9880d277f shuffled around trace viewer code 2016-03-06 02:02:54 -08:00
Anthony Pesch c5e32a182f removed RestoreArgs hack 2016-02-29 23:51:43 -08:00
Anthony Pesch 498990fcb2 initial debugger support 2016-02-29 23:51:42 -08:00
Anthony Pesch ede8b2f758 refactored hw/ code adding Machine, Device and Device interfaces 2016-02-29 23:51:42 -08:00
Anthony Pesch 2b42b9c85c only enable ASM_MASM on win32 2016-02-29 23:51:42 -08:00
Anthony Pesch def67f72cd missed REQUIRED flag on clang-tidy 2016-02-29 23:51:42 -08:00
Anthony Pesch b07dc0575d clang-tidy and clang-format are not required dependencies 2016-02-29 23:51:42 -08:00
Anthony Pesch a65b4f51b2 remove -Wno-strict-aliasing 2016-02-29 23:51:41 -08:00
Anthony Pesch b587b3611b project rename 2016-02-29 23:51:41 -08:00
Anthony Pesch 198cd53525 consider aliased values when eliminating loads and stores
added tests for load store elimination aliasing
2016-02-29 23:51:38 -08:00
Anthony Pesch 72b5edbeba replaced horribly broken 64-bit float implementation 2016-02-12 17:28:38 -08:00
Anthony Pesch 8d9987843d added IRReader for deserializing IRWriter output 2016-02-12 17:28:38 -08:00
Anthony Pesch 4be33f7ee4 removed core.h, added config.h.in 2016-02-12 17:28:37 -08:00
Anthony Pesch 25eccee9f4 improved IR writing 2016-02-12 17:28:37 -08:00
Anthony Pesch 9ce4318d24 rename sh4_instr.cc 2016-02-12 17:28:37 -08:00
Anthony Pesch a039b60d52 get tests back running 2016-02-12 17:28:37 -08:00
Anthony Pesch 57944b3ceb refactored scheduler to more fairly update timers 2016-02-12 17:28:37 -08:00
Anthony Pesch 2a17810a25 msvc compilation fixes 2016-02-12 17:28:36 -08:00