Flyinghead
8506355447
wrap aica ram to 8MB instead of only 2MB (dc)
...
fix crash with GuruGuru Onsen 2 and HeadHunter
2019-06-13 21:58:09 +02:00
Flyinghead
7120512205
wince: use exceptions in dyna/decoder.cpp and catch them in driver.cpp
2019-06-13 18:36:08 +02:00
Flyinghead
e0949fb9aa
Fix div matching: support 64-bit div and correct handling of negative
...
Some games do 64-bit / 32-bit division (Pro Pinball Trilogy)
DIV0s/1 use and output 1's complement numbers
The final reminder fixup wasn't correct for negative dividend
2019-06-13 18:27:21 +02:00
Flyinghead
c49694599c
rec-arm: use ssa regalloc
...
add `subc a,a` expression to simplify
2019-06-12 17:31:37 +02:00
Flyinghead
e537d92bcc
ssa: don't simplify FPU ops because of Inf of NaN
2019-06-12 08:52:42 +02:00
Flyinghead
ff745ee4fe
fix xtrct canonical implementation
2019-06-10 19:17:24 +02:00
Flyinghead
a4453c0a81
Fix vmem in 512MB mode
2019-06-10 19:01:56 +02:00
Flyinghead
3dd16e80d2
arm64 and x64 recs use ssa regalloc
2019-06-10 13:57:10 +02:00
Flyinghead
623d70d710
ssa register allocator and more ssa stuff
2019-06-09 19:41:42 +02:00
Flyinghead
bd30752b86
Use auto& to avoid copy when iterating. Inline mmu_Read/WriteMemNoEx
2019-06-08 13:04:35 +02:00
Flyinghead
0890150dda
dynarec: ssa missing changes
2019-06-04 21:27:45 +02:00
Flyinghead
692556ca5d
dynarec: ssa initial commit
2019-06-04 21:20:34 +02:00
Flyinghead
4540acc22e
mmu: optimize mmu_full_SQ()
2019-05-28 19:41:21 +02:00
Flyinghead
8cb86de026
Make SMCCheck=Fast work on arm64
...
The issue is that flushing the dynarec cache makes rewriting fail for
the currently executing block. So this avoids flushing the cache too
often but the problem remains.
2019-05-28 19:40:30 +02:00
Flyinghead
51cf6cf271
regalloc: handle mem ops differently in wince mode
...
Flush all current writeback spans before the op
Flush instead of killing spans in case the mem access throws an
exception
Some optimizations
2019-05-28 19:37:24 +02:00
Flyinghead
c6e92028f2
regalloc: cleanup. no functional change
2019-05-27 22:44:51 +02:00
Flyinghead
5b2cef3fdd
dynarec: add negc and xtrct op codes
...
native implementation of negc and xtrct for x64 and arm64
rec-arm64: pass exception pc in w27 instead of sh4 context
inline mmu_intruction_translation() and clean up
2019-05-26 13:30:05 +02:00
Flyinghead
506756ea37
android: use common rend_thread() instead of a specific one
...
fixes the swap pending issue (double swap) on android
2019-05-25 18:48:00 +02:00
Flyinghead
2c91ca96fc
rec-arm64: fix transitions to/from mmu
...
exit mainloop() before regenerating it
make sure dynarec cache is cleared between runs
when deserializing, clear dynarec cache after setting mmu state
2019-05-25 18:03:18 +02:00
Flyinghead
e7e387b443
wince: enable/disable vmem32 based on mmu state
2019-05-24 18:19:33 +02:00
Flyinghead
e3d95f2258
wince: unify _vmem and vmem32. Use 4GB virtual space on 64-bit arch
...
On 64-bit architectures, _vmem first tries to allocate 4GB then falls
back to 512 MB.
The same virtual space is now used by _vmem and vmem32 (mmu)
2019-05-23 11:40:33 +02:00
Flyinghead
5b7d07315b
wince: clean up unused stuff
2019-05-22 15:15:53 +02:00
Flyinghead
c2c0215e1b
Merge remote-tracking branch 'origin/master' into fh/wince-dynarec
2019-05-22 14:13:00 +02:00
Flyinghead
fb76efb08d
Standard functions for virtual mem alloc/protect/map/...
2019-05-22 11:41:12 +02:00
Flyinghead
2e5eaa6e2b
Log error when writing to flash ram
2019-05-21 18:27:43 +02:00
Flyinghead
37f379fe6b
Better HBlank implementation
2019-05-21 18:27:15 +02:00
Flyinghead
a17b8355e5
gdrom: use memset to reset read_buff
2019-05-21 11:34:51 +02:00
Flyinghead
74e7a95484
simplify test
2019-05-21 11:34:15 +02:00
Flyinghead
121e6b200b
Reset gdrom params when changing disk
2019-05-21 11:29:44 +02:00
Flyinghead
a5ae8eeef0
Reset flashrom on reset
2019-05-21 11:29:25 +02:00
Flyinghead
25a7fede2e
save states: don't serialize gamepad state
2019-05-21 11:29:10 +02:00
Flyinghead
05f461c3c5
Use FB_R_SOF2 only to detect direct FB writes
...
Fixes flashing video in Virtua Fighter 3tb
2019-05-21 11:26:48 +02:00
Flyinghead
433590b610
rend: Add per-strip TR sort option
2019-05-21 11:24:03 +02:00
Flyinghead
ac43a8c54e
don't swap gl buffer until FB_R_SOF is set to the rendered framebuffer
...
Fixes flashing screens in South Park: Chef's Luv Shack, NFL Quarterback
Club 2000
Glitchy videos: The Next Tetris, Nightmare Creatures II, Rune Jade
Flashing rear-view mirror in Metropolis Street Racer
2019-05-17 17:13:48 +02:00
flyinghead
66cbc0acf6
wince: dynarec boost 1.2 -> 1.5
2019-05-15 15:26:08 +02:00
Flyinghead
f0ebd2b818
wince: force aica.NoBatch
2019-05-15 14:00:36 +02:00
Flyinghead
2434d0183e
wince: better sh4 instr cycle counting. Don't hash blocks if mmu on
...
Use actual instr latency cycles, including fp instr
Decrease the WinCE boost ratio to 1.2
Don't hash blocks when mmu on
2019-05-14 12:38:56 +02:00
David Guillen Fandos
65e2218792
Fix ARM64 rewrites with NO_RWX_PAGES
...
Tested on nvidia jetson and Android, so far works great.
2019-05-13 00:23:18 +02:00
David Guillen Fandos
aa4fc8dd60
Move cache invalidation to vmem_platform and implement NO_RWX on arm64
...
Still not functional yet, this commit breaks arm64 on android for instance.
Rewrites are not yet figured out, will push them in the next commit.
2019-05-12 23:25:43 +02:00
David Guillen Fandos
3b760f9869
Add FEAT_NO_RWX_PAGES and implement it for x64 CPU (Win and Linux)
...
Tested: Both with and without the feature, works only for x64 CPUs for
now, but supported in both windows and linux (see vmem implementation
for it, using mem-mapped files).
2019-05-12 22:02:57 +02:00
David Guillen Fandos
1a2b1c8672
Remove traces of memory manager from Jit driver.
...
Still stuff to be removed in the Naomi file handler and the ARM
AREC, which need to get ported to the new vmem interface.
2019-05-12 19:47:11 +02:00
David Guillen Fandos
55e7c17030
Fix minor build issue with madvise flags.
2019-05-12 13:40:18 +02:00
David Guillen Fandos
555b39b7e5
Merge remote-tracking branch 'origin/master' into vmemstuff2
2019-05-11 22:11:24 +02:00
David Guillen Fandos
b74db6ef53
Moving vmem to separate files with a proper interface.
...
Works so far for Linux and Android, need to do some testing on Windows.
2019-05-11 22:09:52 +02:00
David Guillen Fandos
be1ecbaa8b
Fix TARGET_NO_NVMEM and deprecate TARGET_NO_EXCEPTIONS
...
Linked them both toghether since you can't really define one and
not the other (plus Linux honors one windows the other in some
cases).
More refactoring on this area to follow.
2019-05-10 18:57:28 +02:00
Flyinghead
c5a74ccfb7
Fix Sort-DMA
2019-05-10 16:10:07 +02:00
Flyinghead
eb725f9e66
x11: fix fallback to gl 3.0. fix crash when switching renderer.
...
Fallback to GL 3.1 when GL 4.3 isn't available was broken.
Fallback to GL 3.0 instead of 3.1.
Fix crash when switching renderer (per-pixel, per-triangle)
2019-05-10 11:15:44 +02:00
David G. F
afcd7a08a3
Merge pull request #1571 from davidgfnet/modemfix
...
Add ENABLE_MODEM and rework makefiles to support it.
2019-05-10 01:09:35 +02:00
Flyinghead
05577b64f7
wince: return actual vmu system area in GetMediaInfo
...
revert previous default vmu change
2019-05-09 11:25:17 +02:00
Flyinghead
dc7f608461
wince: fix vmu issues
2019-05-08 22:31:59 +02:00