Commit Graph

53 Commits

Author SHA1 Message Date
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 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 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 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 36a5dc2d72 TMU refactor, fixed issues with TCR being updated and timers not rescheduled properly 2016-02-29 23:51:42 -08:00
Anthony Pesch 997249fa0b fixed memory watches not aligning properly 2016-02-29 23:51:42 -08:00
Anthony Pesch b587b3611b project rename 2016-02-29 23:51:41 -08:00
Anthony Pesch 72b5edbeba replaced horribly broken 64-bit float implementation 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 a039b60d52 get tests back running 2016-02-12 17:28:37 -08:00
Anthony Pesch 4542ef4888 renamed dreavm namespace 2016-01-16 13:26:56 -08:00
Anthony Pesch afacb09ac2 don't test ctx_.pc to terminate loop in Run 2016-01-05 01:35:24 -08:00
Anthony Pesch 7f5be10b66 moved Runtime to SH4CodeCache
added --interpreter command line option
2016-01-04 23:50:25 -08:00
Anthony Pesch 40733aefcb inline cycle tracking into block epilog and out of main loop
added IRBuilder::Get/SetInsertPoint
2016-01-04 00:49:03 -08:00
Anthony Pesch 6bc0c08d45 removed Runtime::set_compile_handler 2016-01-04 00:49:02 -08:00
Anthony Pesch ca23cbc1b9 split up memory map / memory code 2016-01-04 00:48:56 -08:00
Anthony Pesch a08f110658 simplified sh4 test generation and execution 2015-12-05 19:56:41 -08:00
Anthony Pesch 90013d6f3c reworked memory.cc to split out address map and core memory code 2015-12-02 18:21:51 -08:00
Anthony Pesch f9071ed52a remove scheduler timers. the current timers can be manually timed and ran from inside of each device's Run method, without the need for the sorted timer set
step scheduler at 1000hz, render frames at 60hz
add cpu speed percentage
2015-10-11 14:35:09 -07:00
Anthony Pesch 8fca5e249a gcc fixes 2015-10-10 15:22:48 -07:00
Anthony Pesch f44e2d9718 mmap the entire 32-bit address space
cross-platform shared memory support
backpatch emitted loads / stores on x64 to use slow handlers if need be
added range iterator support to interval tree
2015-10-10 15:22:48 -07:00
Anthony Pesch 99c19a05e9 use default block to avoid expensive branch prediction penalties when
getting blocks from the cache
2015-10-10 15:22:48 -07:00
Anthony Pesch b540e5b80b removed core namespace 2015-09-14 14:22:22 -07:00
Anthony Pesch e83cad251a moved maple code out of holly/
added hw/ and jit/ folders, restructured accordingly
2015-09-10 16:45:10 -07:00
Anthony Pesch 3868cbf312 added back RuntimeBlock class
converted block cache back to an array of pointers (now 64mb vs 200mb in memory)
2015-09-08 11:36:54 -07:00
Anthony Pesch 24ce88fb00 update assembly tests to support nested test cases 2015-09-07 15:49:11 -07:00
Anthony Pesch e31831c140 run tests on both backends 2015-09-05 11:01:18 -07:00
Anthony Pesch ecc0a6c7ac massive refactoring, replaced Emulator class with Dreamcast class. instead of passing around individual components to each system, the new Dreamcast object has public getters for each (holly, pvr, video ram, etc.) 2015-09-04 22:53:36 -07:00
Anthony Pesch bb5b03919d don't pass Scheduler to SH4 2015-09-04 22:53:36 -07:00
Anthony Pesch 1eaac911d8 use uint32_t for vertex color data
remove unused index buffer
added gpu profiler group
2015-09-04 22:53:35 -07:00
Anthony Pesch a831fa482f support msvc calling convention in x64 backend 2015-09-04 22:53:35 -07:00
Anthony Pesch 20541ab018 compile with /W3 under msvc 2015-09-04 22:53:31 -07:00
Anthony Pesch 548e3ca4c9 msvc compilation fixes, tests and interpreter now run 2015-08-27 09:55:10 -07:00
Anthony Pesch 5917fd2090 all values are available in registers now, remove load from local support from backends 2015-08-15 00:55:25 -07:00
Anthony Pesch 5a0642d0a5 don't reuse IR values across blocks 2015-08-12 23:41:31 -07:00
Anthony Pesch accd4a682c remove now unused Memory::Alloc function 2015-08-10 23:03:13 -07:00
Anthony Pesch 4beeeb52f5 x64 emitter first pass 2015-07-30 23:06:59 -07:00