Flyinghead
da40297810
fix msvc build
2021-05-16 20:18:49 +02:00
Flyinghead
025b447a9c
arm32: replace old arm emitter with vixl
2021-05-15 11:41:00 +02:00
Flyinghead
92abf760de
unneeded address/value masking. clean up
2021-05-14 21:47:47 +02:00
Flyinghead
1464c02903
mmu: add address cache to mem slow path. better fastmmu hashtable.
...
mmu: add address cache to Read/WriteMemNoEx
fastmmu: ignore 1k pages. optimize hashtable
get rid of NO_MMU
2021-05-14 19:03:57 +02:00
Flyinghead
b3de6a166d
area 7 access to sh4 mm registers only through mmu translation
...
on-chip ram area isn't translated in both user and supervisor modes
vmem: return 0 for non-mapped region reads
Fixes dolphin blue crash/freeze. Issue #62
Fixes Resident Evil - Code Veronica X (Chris) floor 1F crash
2021-04-01 13:30:37 +02:00
Flyinghead
4d815570d0
sh4: define SCI module registers
2021-03-31 19:01:31 +02:00
flyinghead
a8929170f3
up sh4 context pad to 64k to keep windows happy
2021-03-29 21:12:43 +02:00
Flyinghead
904bed862e
arm32: store queue dynarec optim. ditch Unstable Optimizations
...
shrink Sh4Context.pad size except on arm32
reset sh4 before mem to unlock ram
2021-03-29 14:26:55 +02:00
Flyinghead
569c23ca95
pvr: use pvr_read32p/pvr_write32p to access 32b vram
2021-03-28 20:08:02 +02:00
Flyinghead
6b11674949
use aligned struct for sqbuffers and sh4 context
...
serialize YUV_index
remove bogus arm32 TAWriteSQ implementation
2021-03-23 16:07:53 +01:00
Flyinghead
0f6dda9cb1
gdb server agent
...
allow stepping and soft breakpoints
clean up interpreter opcodes
2021-03-23 14:49:19 +01:00
Flyinghead
0b6420d90a
arm32: sh4 dynarec infiniloop on reset. aica rec: fix icache flush
...
Fixes hang when exiting awave service menu
Issue #208
2021-03-20 15:06:16 +01:00
flyinghead
bceed97817
Merge pull request #205 from scribam/clang-tidy
...
clang-tidy: fix more checks
2021-03-15 20:17:56 +01:00
scribam
67435c71e8
clang-tidy: run readability-non-const-parameter
2021-03-15 19:52:54 +01:00
scribam
092ee6d8a5
clang-tidy: run readability-container-size-empty
2021-03-15 19:52:54 +01:00
scribam
913fbef952
clang-tidy: run readability-inconsistent-declaration-parameter-name and improve parameter names
2021-03-15 19:52:54 +01:00
scribam
26ebcdf9f5
clang-tidy: run modernize-use-equals-default
2021-03-14 21:52:42 +01:00
Flyinghead
5e619a70d4
arm64: fix crash with HLE bios. Set nav bar to tranparent (android 10)
...
arm64 dynarec main loop and handlers were generated twice
Fix nav bar background leftover on android 10
2021-03-14 17:54:57 +01:00
scribam
fe17d79e8d
clang-tidy: run performance-unnecessary-value-param
2021-03-13 17:28:33 +01:00
scribam
ae47ff9875
clang-tidy: run modernize-deprecated-headers
2021-03-13 17:28:32 +01:00
scribam
28d7227ba5
clang-tidy: run modernize-use-bool-literals
2021-03-13 17:28:32 +01:00
scribam
1cc3490f51
Remove HOST_OS references
2021-03-13 11:38:34 +01:00
Flyinghead
5227259048
No more fast-math on x86/x64. Yet another FTRC fix
...
Don't compile with -ffast-math
Fix FTRC to return 0x80000000 for NaN
-> fixes Arcade Racing Legend sound problems and disappearing cars
Remove unsupported GCW0 platform
Remove unused android makefiles
2021-03-11 12:27:00 +01:00
Flyinghead
31e0b3ab51
x64/x86 dynarecs: fast-math fcmp/eq implementation
...
Fixes Shin Nihon Pro Wrestling - Toukon Retsuden 4
Fixes Project Justice (Issue #38 )
2021-03-07 16:59:17 +01:00
Flyinghead
641da3a771
build fix
2021-03-02 20:36:19 +01:00
Flyinghead
424736961b
arm64: get rid of inline assembler
2021-03-02 20:35:59 +01:00
Flyinghead
0c8815549c
Merge branch 'fh/x64-arm-jit'
...
# Conflicts:
# core/hw/aica/aica.cpp
# core/nullDC.cpp
2021-03-02 19:42:15 +01:00
Flyinghead
c3a95594f9
New option system
...
Fix per-game settings (Issue #115 )
Automatic load/save state (Issue #173 )
Reload Naomi/AW BIOS after per-game settings are loaded to allow
per-game BIOS region. (Issue #96 )
Restrict Soul Reaver widescreen cheat to the EU version (Issue #188 )
Disable UI elements for overridden settings
Clean up/simplify legacy Naomi ROM loading
2021-03-01 10:13:40 +01:00
Flyinghead
2d8bc6d6ee
dynarec: skip single branch targets
2021-02-14 18:49:40 +01:00
Flyinghead
89fe36b881
arm7 rec: lr wasn't updated in conditional bl
...
missing changes for previous arm64rec commit
more aica arm tests
wince vmem handler now uses direct ram access
2021-01-31 12:02:20 +01:00
Flyinghead
80782475da
x64 rec: get rid of setjmp. standardize ngen_Rewrite/HandleException
...
move rewrite code from exception handlers to x86/x64 dynarecs
use same host context info on linux/win
x64: stack alignment issue in mem handlers
2021-01-30 16:14:44 +01:00
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