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
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
d16aac170a
end blocks on SR store
...
remove broken IF_INVALIDATE_CONTEXT
2016-02-12 17:28:38 -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
f457e8e9d8
added OP_LOAD_HOST and OP_STORE_HOST for directly accessing host memory
...
added lookup table for fsca
removed sin, cos ir ops
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
20a1437f96
replaced ringbuffer usage in register allocation with minmax heap
...
removed terrible insert method from ringbuffer
2016-02-12 17:28:31 -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
bb5ec14d47
optimize div1
2015-09-26 14:59:59 -07:00
Anthony Pesch
ff67901d43
added new sdiv test
2015-09-26 00:11:11 -07:00
Anthony Pesch
07a1156eb5
convert interval tree from using a randomized bst to a red-black tree
2015-09-21 23:11:11 -07:00
Anthony Pesch
3897fe557f
invalidate textures through process signals
2015-09-17 11:14:39 -07:00
Anthony Pesch
b540e5b80b
removed core namespace
2015-09-14 14:22:22 -07:00
Anthony Pesch
3504d313e0
gcc compilation fixes
2015-09-12 00:11:00 -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
79ad6dc037
removing memory tests for now, code is soon to be refactored for mmio
2015-09-05 11:18:48 -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
41b3afdb1a
only compile tests if sh4 toolchain is available
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
ef972acc5b
replaced virtual RuntimeBlock class with RuntimeBlock struct to be easier to call from emitted assembly
...
added return status to AssembleBlock to notify when the codegen overflows its output buffer
added Reset() method to cpu backends
2015-08-26 21:27:45 -07:00
Anthony Pesch
3866668031
added random access iterator to RingBuffer
...
added Insert method to RingBuffer
added unit tests for RingBuffer
updated RegisterAllocationPass to use RingBuffer
2015-08-16 02:19:00 -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
d14282b225
use FPU state when emitting IR
2015-08-13 15:57:22 -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
0238f4f439
gcc compilation fixes
2015-07-31 21:01:00 -07:00
Anthony Pesch
4beeeb52f5
x64 emitter first pass
2015-07-30 23:06:59 -07:00
Anthony Pesch
0bb8d37acb
register allocation
2015-07-21 17:55:49 -07:00
Anthony Pesch
582e615e60
added Sort to IntrusiveList
2015-07-05 14:47:15 -07:00
Anthony Pesch
7258b89778
removed RuntimeContext struct
2015-07-04 00:21:03 -07:00
Anthony Pesch
c4b78cc565
initial x64 scaffolding
2015-07-01 22:16:28 -07:00
Anthony Pesch
01af271550
initial public commit
2015-07-01 10:45:31 -07:00