Commit Graph

104 Commits

Author SHA1 Message Date
Anthony Pesch aacd2bff96 fix issue where data is fetched before ea is calculated in movbm, movwm and movlm instructions 2017-07-01 16:25:40 -04:00
Anthony Pesch 9d0ce3700a fix gdrom GET_TOC response 2017-06-18 22:22:21 -04:00
Anthony Pesch c0a5f7279a fix retest bit rot 2017-06-18 17:59:57 -04:00
Anthony Pesch d4a4f0bb2a moved hw and hle code to guest 2017-06-12 20:09:52 -04:00
Anthony Pesch db355b4510 merge sys and core, the distinction between the two is trivial 2017-06-11 00:08:24 -04:00
Anthony Pesch 1cf522779d moved non-hw code out of hw dir 2017-06-10 23:22:05 -04:00
Anthony Pesch 357bb660e5 persist QM bits across interrupts 2017-06-04 16:50:40 -04:00
Anthony Pesch 4946278333 fix tests when running with interpreter 2017-06-04 00:30:16 -04:00
Anthony Pesch 71032563ea rename sh4_ctx to sh4_context 2017-05-23 18:59:01 -04:00
Anthony Pesch 5540d33cf4 fixed carry flag calculation in negc op
added more tests for negc
sanitize bits stored in SR just as they are in FPSCR
removed unneeded disp_pc struct in sh4_instr union
emits calls to invalid_instr callback for INVALID ops
2017-05-16 00:00:02 -04:00
Anthony Pesch c703da40f7 added sh4 interpreter
added OP_FLUSH_CONTEXT
fixed bug in ldcsr now that the GPRs are properly flushed when a bank change occurs
2017-05-14 23:26:36 -04:00
Anthony Pesch 47a47d15dc move guest functionality outside of frontend struct 2017-05-13 22:43:24 -04:00
Anthony Pesch 9b1fc09861 remove multitheading code from ta, and add into emulator 2017-04-30 11:11:37 -04:00
Anthony Pesch 768820de4a updated lse to work over multiple blocks 2017-01-31 19:54:06 -08:00
Anthony Pesch af48774b16 added blocks to ir
added control flow analysis pass
2017-01-07 00:32:54 -08:00
Anthony Pesch 9009d156af allocate instance for each pass 2017-02-12 20:28:52 -08:00
Anthony Pesch b2fd497cda separated T and S bits from sh4 status register into their own context members, sr_t and sr_s, reducing codegen by around 15% 2016-12-30 15:41:29 -08:00
Anthony Pesch 64c1884f2f ignore post-increment in SH4 memops when rm == rn, the store will overwrite 2016-12-23 22:55:52 -08: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 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 bc632abacd use -fms-extensions for anonymous base device struct 2016-09-25 19:00:13 -07:00
Anthony Pesch ac2046bc36 ran latest clang-format 2016-06-21 23:40:25 -04:00
Anthony Pesch 110d6d15c3 don't cast callbacks 2016-06-17 00:28:09 -07:00
Anthony Pesch 807cacdd96 don't typedef everything 2016-06-16 23:35:45 -07:00
Anthony Pesch ab7ed5d349 remove extern C from headers 2016-06-16 09:07:04 -07:00
Anthony Pesch b64c48144d clean up 2016-06-12 22:41:21 -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 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 0242a67532 added debug logging
added debug pass stats to recc
2016-04-10 10:00:15 -07:00
Anthony Pesch 72e8bdff72 don't allocate a SH4Builder each compilation 2016-04-06 22:19:04 -07:00
Anthony Pesch 898e4001f4 use avx instructions 2016-04-06 22:18:44 -07:00
Anthony Pesch f72f05a437 windows build fixes
fixed OP_LOAD_LOCAL / OP_STORE_LOCAL on windows
use r14 / r15 for memory and guest ctx pointers
updated SH4 builder to emit consistent IR regardless of function parameter evaluation order
2016-03-26 20:54:27 -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 d26b7a092f removed interpreter backend 2016-03-23 01:17:09 -07:00
Anthony Pesch 98ca25fecb use references for dc / rb
align ir locals when allocating
2016-03-23 00:54:31 -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 5a8b1bd530 remove blocks from IRBuilder 2016-03-05 02:53:22 -08:00
Anthony Pesch c44133d574 remove pc return value from blocks 2016-03-05 02:35:39 -08:00
Anthony Pesch 112c421b81 added a hack to get PoP booting further 2016-03-05 02:34:58 -08:00
Anthony Pesch 498990fcb2 initial debugger support 2016-02-29 23:51:42 -08:00