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