flyinghead
c344903a23
new x86 dynarec. Enable for android
...
refactor common code between x64 and x86 dynarecs.
x86 rewrite based on the x64 one
some discarded dyna blocks weren't fully unlinked
2021-01-26 13:16:48 +01:00
flyinghead
a23c895668
sh4: restore rounding/denormal mode after pausing the game
...
fixes Sword of the Berserk glitch when pausing/restarting
2021-01-19 18:28:21 +01:00
flyinghead
16dec49e08
windows: use utf8 internally. Support latin2, cyrillic, etc. pathnames
...
upgrade libzip to 1.7
imgui: use all glyphs from font including latin2, cyrillic, greek, etc.
2021-01-19 11:11:01 +01:00
flyinghead
287836803d
interp: don't touch the sh4 cache in normal mode
2021-01-15 10:21:05 +01:00
Flyinghead
36451614d2
rec-x64: don't use vfmadd to avoid intel/amd variations
2021-01-08 21:40:13 +01:00
flyinghead
e5b3c5268b
wince: attempt immediate read/write when address isn't translated
2021-01-07 19:18:53 +01:00
Flyinghead
632731bede
vmem: map area 4 access to vram
...
pass DDT0101 diag test
fix vmem handler bug with >= 8 handlers
ch2-DMA: use SB_LMMODE1 for upper mirror
dmac: update SAR and DAR according to CHCR.SM and CHCR.DM
use function templates for vram 32b handlers
clean up
2020-12-20 17:25:28 +01:00
Flyinghead
0d81c9fb0b
sh4: clean dmac module, correct address/len mask, add missing mirror
...
fix infinite loop
2020-12-18 13:58:36 +01:00
Flyinghead
a39199d379
clean up
2020-12-07 22:16:51 +01:00
Flyinghead
6154cc08db
serial: fix maxspeed hang at boot reading from console
2020-12-02 14:44:16 +01:00
Flyinghead
8f77a5482a
config/data folders improvements
...
linux: look for legacy ~/.reicast and ~/.reicast/data
else look for ~/.config/flycast and ~/.local/share/flycast
and ~/.config/reicast and ~/.local/share/reicast
(defaults to flycast)
look for bios files in home folder and data folders (android, windows
,macos), then in game folder.
on linux, search in /usr/share/flycast and /usr/local/share/flycast and
legacy locations
2020-11-26 16:45:57 +01:00
Flyinghead
276b59b24e
fix compile warnings. non-functional changes
2020-11-25 10:17:08 +01:00
Flyinghead
cffb272abd
sh4: non-functional changes
2020-11-24 21:29:04 +01:00
Flyinghead
eb2c762214
rec: avoid div32 crash when dividing by 0
...
Fixes Sakura Taisen 2 floating point exception crash
2020-11-21 20:46:40 +01:00
Flyinghead
525c2dc88c
sh4: promote opcode 0 as regular NOP
2020-11-21 20:06:59 +01:00
Flyinghead
fee28194fb
savestate: save sq_remap, save aw cart state, fix lr aw format
...
save AW cart state
save sq_remap used for mini-mmu with store queues
allow loading lr aw savestate. upgrade to v11
aica: saturate EG register
savestate: save current TA data
texcache: fix race condition when deleting a texture
handle 1x1 YUV tex as 565
2020-07-06 16:28:53 +02:00
Flyinghead
74aae115ee
sh4: implement C and WT MMU bits in cache. Use mem handlers everywhere
...
o/icache use C and WT bits from mmu to override cache and copy back
settings (fixes Windows CE)
move mem handlers setup out of mmu into sh4_mem. Call in dc_resume and
detect transitions interp -> dynarec to flush caches.
fix ssa tlb miss exception wih slow mmu
2020-06-24 15:23:47 +02:00
Flyinghead
5cfed1e482
div32: get rid of edge cases. simplify
2020-06-15 16:56:09 +02:00
Flyinghead
22dcb1ec99
sh4 ocache implementation. IC and OC address/data read/write in P4
...
ignore SR.RB in user mode instead of forcing it 0
add STRICT_MODE to enable ocache in interpreter
don't flush mmu table when enabling it
fix fixNan64()
2020-06-12 17:35:14 +02:00
Flyinghead
333df13fce
sh4 icache implementation. move aica out of sh4/interp.
...
revert to original div1 impl
serialize rtc clock value
cmake fixes: asan and logging options, -no-pie on x64/linux
2020-06-09 12:02:01 +02:00
Flyinghead
8740f22c0a
fix all known div32 issues
...
support libretro naomi and aw savestates
2020-06-06 18:53:47 +02:00
scribam
6ee4b6de85
Replace OS_DARWIN by __APPLE__
2020-04-26 14:19:21 +02:00
Flyinghead
2c54dfd132
arm64: check CpuRunning at end of each timeslice. clean up
...
fixes hang when exiting service menu in kofnw
2020-04-24 19:56:38 +02:00
scribam
a155282fd0
Cleanup compiler warnings (mostly sign-compare)
2020-03-30 23:00:43 +02:00
scribam
e99aac3575
Remove "using namespace std;"
2020-03-30 23:00:43 +02:00
scribam
c1b37b56bc
Remove "sh4_if.h" and "stdclass.h" from "types.h"
2020-03-30 23:00:43 +02:00
scribam
9a420b0093
Remove macros EMUERROR
2020-03-30 22:18:44 +02:00
scribam
4bf6802855
Cleanup include headers
2020-03-29 14:26:21 +02:00
scribam
427b428718
deps: Update xxHash to version 0.7.3
2020-03-29 13:47:20 +02:00
scribam
53bde38035
Replace DECL_ALIGN macros by alignas
2020-02-27 22:17:33 +01:00
Flyinghead
333b21fac4
Fix .elf support. Init aica irq mask/level during HLE boot
...
BSC PCTRA is 32-bit wide
2020-02-05 18:02:44 +01:00
Flyinghead
b79c074444
axe wchar
2020-01-31 23:51:12 +01:00
scribam
4161ca9b07
msvc build fixes
2020-01-28 19:08:22 +01:00
Flyinghead
0d9214df40
replace Array with std::array
2020-01-25 11:00:34 +01:00
Flyinghead
31651c2ac6
more build fixes
2020-01-20 13:49:29 +01:00
Flyinghead
3e6bef3cc0
option to pipe the dc serial port to a pty on linux
...
allow the use of dcload-serial
2020-01-20 13:22:36 +01:00
Flyinghead
12b9b7254a
reduce precision of FIPR and FTRV sh4 ops on x86 platforms
2019-12-17 20:23:58 +01:00
Flyinghead
530cdaa23f
use doubles to emulate FIPR on x86. avoid crash with per-game config
...
Don't store the renderer type in per-game config as this crashes.
Fixes Sonic Adventure falling off track
Other non-functional changes
2019-12-13 12:27:43 +01:00
Flyinghead
56dfeb6722
mmu: missing template instances in the slow mmu
2019-11-03 21:27:06 +01:00
Flyinghead
0e12da4395
DMAC: Add LMMODE1 for ch2-dma, add basic DMAC based dma support
...
backport from upstream
clean up
2019-11-03 21:22:46 +01:00
Flyinghead
a7926a2357
serial: backport from upstream. Clean-up
2019-11-03 18:12:16 +01:00
Flyinghead
8eac844825
OSX build fix
2019-09-30 20:14:46 +03:00
Flyinghead
bad10bae20
dyna: only protect ram when needed. Use const ref to avoid copies
...
avoid extra op in x64 rec
2019-09-30 15:47:05 +02:00
Flyinghead
0595bae85b
dyna: use xxhash instead of sha1 to hash code blocks
2019-09-29 23:14:38 +02:00
Flyinghead
9d3ee3b57f
dyna: get rid of SmcCheckLevel options. Fix rec-cpp
...
Block check is now full or off depending on block protection
rec-cpp: Add missing opcode call classes and allow for immediate args
2019-09-29 18:18:46 +02:00
scribam
4dd6ccea8d
msvc/sh4: Compilation fix for cvt_f2i_t
2019-09-15 13:37:11 +02:00
Flyinghead
1174bce64a
dynarec: set correct sign on result if float conv returns indefinite
...
canonical implementation, x86/x64 only
2019-09-12 15:06:21 +02:00
Flyinghead
8b949e1dca
Get rid of time_sync timer. Clean-up
2019-09-11 15:09:23 +02:00
Flyinghead
a19c73de7b
Fix some sh4 regs hard reset
2019-09-11 15:00:08 +02:00
scribam
49b7e0682b
Cleanup
2019-09-07 20:36:13 +02:00