Commit Graph

217 Commits

Author SHA1 Message Date
Flyinghead f8372c51a7 Revert "wip headers"
This reverts commit e3e2c3a0d2.
2023-01-24 14:26:14 +01:00
scribam e3e2c3a0d2 wip headers 2023-01-23 18:29:04 +01:00
Flyinghead 88384ad7d1 dynarec: crash in rdv_BlockCheckFail when current block can't be found
Only when MMU is on and used to compute blockcheck_failures so can be
ignored.
Tentative fix for MINIDUMP-59
2023-01-22 17:13:34 +01:00
Flyinghead b4ecaecd45 dynarec: raise sh4 address error if trying to compile unaligned address
Error was only raised when mmu is enabled.
tentative fix for MINIDUMP-3Q
2023-01-16 17:53:01 +01:00
Flyinghead 4bbf5c562e ssa: infinite loop in skipSingleBranchTarget
Fixes Mat Hoffman's Pro BMX freeze when exiting a session.
Issue #878
2023-01-15 20:04:05 +01:00
Flyinghead a370851494 dynarec: check stale blocks in rdv_DoInterrupt if block not found
tentative fix for MINIDUMP-36
2023-01-14 12:54:05 +01:00
Flyinghead 62085539a7 dynarec: reg alloc 64-bit regs. avoid some interpreter fallbacks
Option to reg alloc 64-bit regs in two host regs. Used when FPSCR.SZ ==
1 (64-bit reg and memory transfers.) Enabled for arm, arm64 and x64
(windows only) dynarecs.
Don't fallback to interpreter when FPSCR.PR==1 (double precision) for
FMOV, FLDS and FLTS.
2022-12-23 16:06:54 +01:00
Flyinghead ce674a872a dyna: implement missing ops: ldc/stc sr/fpscr, tas, div1
add dynarec implementations for missing ldc and stc ops with sr and
fpscr
add dynarec implementation for tas.b
canonical implementation for div1
delete unused reg_old_sr_status and reg_sr
2022-12-17 11:09:51 +01:00
Flyinghead f133e3cccb verify() must not call a function with side-effect 2022-12-16 20:40:23 +01:00
Flyinghead cdca559d99 ggpo: optimize memwatch, save/load state. endOfFrame on vblank in
ggpo: Optimize memwatch and load/save state. Unprotect memory before restoring a state. Smaller timesync wait. Missing error handling.
pvr: call ggpo::endOfFrame() on vblank in only
ssa: fix warning
2022-12-10 17:19:34 +01:00
Flyinghead 32e3e7d9c5 vmem: no more 4GB vmem mode. only map elan RAM in naomi2 mode
Do not attempt to reserve 4GM of virtual space on 64-bit hosts. Use
512MB everywhere.
Don't map elan RAM if not needed and dont protect/unprotect it in
memwatch.
2022-12-09 17:37:49 +01:00
Flyinghead ed5c24c281 arm64 build fix 2022-04-15 11:17:22 +02:00
Flyinghead f2f4010203 clean up types.h, refactoring 2022-04-14 11:34:45 +02:00
flyinghead 46044c068b cheats: don't rely on cheat count on load. Fix compile warnings 2021-12-11 18:33:28 +01:00
flyinghead 8262c9ece7 UWP support - WIP 2021-11-19 23:18:45 +01:00
Flyinghead 69d0801121 net rollback with ggpo 2021-09-02 17:51:23 +02:00
Flyinghead 7fb83f4f77 libretro: fix content closing when loading or saving state 2021-08-22 20:41:02 +02:00
Flyinghead 77e7c25e9c iOS support. Work in progress 2021-08-06 10:30:30 +02:00
Flyinghead 6bb4575c95 Merge remote-tracking branch 'origin/master' into libretro 2021-08-05 18:17:30 +02:00
Flyinghead 9d6c548730 naomi: close cart on reset. sh4: replace some verify by throw
Close naomi/aw cart on reset. Reset input mapping/button names
Get rid of ngen_GetFeatures()
throw exception instead of failing verify if not internal error
catch sh4 exceptions in dynarecs and throw fatal error
2021-08-03 09:47:13 +02:00
Flyinghead b59585437c arm32 dynarec: windows ce support 2021-08-01 17:25:48 +02:00
Flyinghead 6f4e1365b1 x86: stack unwind fixes 2021-08-01 17:07:17 +02:00
Flyinghead 7561ce753a unwind info for arm64. use static c++ lib for android
include oboe static libs
get rid of old regalloc
2021-07-29 17:46:46 +02:00
Flyinghead 710f379bd3 unwind info for x64 dynarecs
delegate to previous signal handler, proper abort for win32
arm32: use builtin gcc __clear_cache
dyna/driver.cpp: no need for a code buffer in win32, cleanup
2021-07-24 22:24:37 +02:00
vkedwardli 3c483c61e7
Support Apple Silicon (macOS ARM Universal Binary) (#253)
* Add audio arm64 cpp into Xcode project

* Build universal binary for SDL2 also

* Add vixl aarch64 dependency + build arm64 in cmake

* hardcode pagesize for M1 CPU

* Use `MAP_JIT` and toggle between RX and RW

* add pthread.h for cmake

* Disable audio dynarec temporary

* Enable aica arm dynarec

* Supports `br` with condition

* Dynamic linker flag for libSDL2.a since Homebrew path is different on arm (for xcodeproj)

* Fallback path for Intel

* de-dup for arm64, allow cross compilation on both Intel and Apple Silicon Mac

* Rename WriteProtect() to JITWriteProtect(), Move JITWriteProtect from arm7_rec to arm7_rec_arm64

* Remove CodeCache memset

* Remove keyboard_device.cpp from xcodeproj

* Use hard tab

* Update libchdr to support compiling on M1 (thanks @scribam)
2021-07-23 22:34:12 +02:00
Flyinghead c453d14352 libretro: better error handling. fix reset issue with rotated games
compilation warnings, clean up
2021-07-21 16:19:57 +02:00
Flyinghead de060d66ab don't save flash if no game started. libretro: fix notifications
compilation warnings, non-functional changes
2021-07-20 19:21:11 +02:00
Flyinghead 855836d9aa switch: arm rec EntryPoints need rx. fix arm & dsp cache flush 2021-07-14 14:57:43 +02:00
Flyinghead eb81583d9f sh4 dyna: support for !vmem 2021-07-13 17:09:26 +02:00
Flyinghead 63a3f02368 libretro: better switch support 2021-07-12 20:14:21 +02:00
Flyinghead 1fdda98d8d libretro: return max savestate size. unprotect ram and vram on reset
fixes random crash when saving state
2021-07-11 17:42:30 +02:00
Flyinghead 673c2988d6 libretro: backport libnx support. Fix log source paths 2021-07-07 19:01:37 +02:00
Flyinghead 373dffc65a wince: ditch vmem32. use address LUT in dynarec. finer grained flush 2021-05-17 11:59:34 +02:00
Flyinghead 025b447a9c arm32: replace old arm emitter with vixl 2021-05-15 11:41:00 +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 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 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 0c8815549c Merge branch 'fh/x64-arm-jit'
# Conflicts:
#	core/hw/aica/aica.cpp
#	core/nullDC.cpp
2021-03-02 19:42:15 +01:00