Anthony Pesch
2eeccfe459
arg1 is not optional for CALL_COND
2017-07-04 22:43:39 -04:00
Anthony Pesch
0d4297c587
clean up caller-saved register saving in load store thunks
2017-07-03 22:49:55 -04:00
Anthony Pesch
1178631ed4
use c-style casts in x64 backend
2017-07-03 11:47:41 -04:00
Anthony Pesch
74710d15b6
support imm data arguments to STORE_*
...
validate type constraints to emitter functions
2017-07-02 17:46:27 -04:00
Anthony Pesch
293e98d084
legalize constants during register allocation
2017-07-02 00:32:07 -04:00
Anthony Pesch
8cae09a03b
added caller-saved register support
2017-07-01 16:25:40 -04:00
Anthony Pesch
afb1461347
standardized register names in emitters
...
use macros for terseness
2017-07-01 16:25:40 -04:00
Anthony Pesch
64112dda9a
initial take at adding constraints to emitter functions
2017-07-01 16:25:40 -04:00
Anthony Pesch
5e9386e6aa
removed unused ir op
2017-07-01 16:25:40 -04:00
Anthony Pesch
2b0bb8573a
ensure -Wall comes before -Wno-*
2017-07-01 16:25:40 -04:00
Anthony Pesch
8ddd9bc9f5
update DMA status registers immediately, not when the interrupt timer ends.
...
this avoids games trying to suspend the DMA transfers due to a lack of
progress
2017-07-01 16:25:40 -04:00
Anthony Pesch
fac45b83d1
pass COMPILER_* variables as preprocessor defines
2017-07-01 16:25:40 -04:00
Anthony Pesch
d392e2dfe5
break out of emu_run_frame loop based on vblank event, not render event. this
...
fixes games which render a loading / notice screen once (not every frame) and
don't render again until the user presses a button
2017-07-01 16:25:40 -04:00
Anthony Pesch
7e16a14c85
convert incoming TA surfaces from tristrips to triangles
...
merge incoming TA surfaces when possible
2017-07-01 16:25:40 -04:00
Anthony Pesch
fe44f0a320
don't push empty surfaces for modifier volumes
2017-07-01 16:25:40 -04:00
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
f2ceb7f637
use the host clock to smooth out frame timings when audio latency is high
2017-07-01 16:25:39 -04:00
Anthony Pesch
089c3016cc
remove inter-frame input polling
2017-07-01 16:17:21 -04:00
Anthony Pesch
2c0ea5efb4
added temporary options
2017-07-01 16:17:20 -04:00
Anthony Pesch
917674d94c
moved trace.c
2017-07-01 16:17:20 -04:00
Anthony Pesch
61d811d40c
removed extended basic block functionality from optimization passes
2017-07-01 16:17:20 -04:00
Anthony Pesch
35bb07e3d8
add VIXL_CODE_BUFFER_STATIC to vixl
2017-06-24 19:50:35 -04:00
Anthony Pesch
9798c090e6
remove uintptr_t use in x64 backend
...
use register aliases in x64 dispatch
2017-06-23 21:47:04 -04:00
Anthony Pesch
780cafe47c
split up x64 backend into x64_emitters.cc
2017-06-22 16:18:22 -04:00
Anthony Pesch
9caab96c91
added individual contributor license agreement
2017-06-22 14:33:15 -04:00
Anthony Pesch
c36d27296e
added vixl to build
2017-06-21 23:54:37 -04:00
Anthony Pesch
f4b2f3204e
rename ARM64 to A64
2017-06-21 21:01:35 -04:00
Anthony Pesch
6fc97d1895
avoid submitting vertices from discarded surfaces
2017-06-21 01:08:56 -04:00
Anthony Pesch
573dae0af4
allocated a 24-bit depth buffer with SDL
...
force highp for fragment depth calculations
2017-06-21 00:43:18 -04:00
Anthony Pesch
359c8cae69
add some debug code for calling interpreter fallbacks when emitting sh4 ir
2017-06-20 22:12:17 -04:00
Anthony Pesch
e50174f222
add arm64 support to linux exception handler
2017-06-20 21:35:15 -04:00
Anthony Pesch
dad219f7fa
pass SDL_GL_GetProcAddress to glad's loader to avoid it having to locate the shared library as well
...
set correct window width / height for android
set correct app dir for android
2017-06-20 18:32:54 -04:00
Anthony Pesch
185253e486
add android support to logging
2017-06-19 23:41:03 -04:00
Anthony Pesch
62eb6dea1e
initial android support
2017-06-19 23:03:19 -04:00
Anthony Pesch
0db8ef1da6
remove glew source
2017-06-19 20:37:11 -04:00
Anthony Pesch
c4ee274d88
replace glew with glad
2017-06-19 20:36:53 -04:00
Anthony Pesch
4975f8f5b6
make high-level gdrom_* functions return C data structures in LE
2017-06-19 18:58:02 -04:00
Anthony Pesch
759234d607
prefix gdrom enums with GD_
2017-06-19 00:36:30 -04:00
Anthony Pesch
507ef27a61
honor VO_CONTROL when calculating video resolution
2017-06-18 23:21:56 -04:00
Michael T. DeGuzis
32205f7204
avoid having an empty struct in c ( #99 )
...
* Fixes ##98
* Thanks inolen!
2017-06-18 23:07:13 -04:00
Anthony Pesch
9d0ce3700a
fix gdrom GET_TOC response
2017-06-18 22:22:21 -04:00
Anthony Pesch
dc698f8d67
implemented SLEEP instruction for sh4
2017-06-18 21:39:45 -04:00
Anthony Pesch
cb6b7bb765
add default handlers for all invalid memory accesses
...
set arm wave ram to 2mb instead of 8mb
don't mirror arm memory
emit invalid instruction ops in armv3 frontend
be careful to emit blocks even when end address overflows
2017-06-18 18:01:24 -04:00
Anthony Pesch
c0a5f7279a
fix retest bit rot
2017-06-18 17:59:57 -04:00
Anthony Pesch
fa25be88bb
nop on writes to SB_ISTEXT; external interrupts can only be cleared by the external device itself
2017-06-18 13:37:58 -04:00
Anthony Pesch
324c4fdfc8
fix end address calculation in sh4_frontend_dump_code
2017-06-17 22:32:32 -04:00
Anthony Pesch
859e674cf2
support reading from CDDA tracks for CDI images
...
don't assert when leadin fad does not equal 45150
2017-06-17 22:31:08 -04:00
Anthony Pesch
5788206595
flush stdout before issuing debugbreak
2017-06-17 22:25:17 -04:00
Anthony Pesch
90f610a7d2
remove unused FindClangTidy script
2017-06-17 18:56:40 -04:00
Anthony Pesch
4f7729829f
remove debug_break.h
2017-06-17 18:51:11 -04:00