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