Flyinghead
b1479e6e34
aica: use namespaces, simplify api, handle serialization
...
Rename VArray2 to RamRegion. Add alloc(), free(), setRegion() and
de/serialize()
2023-01-30 10:40:07 +01:00
Flyinghead
143073b61d
rename _vmem to addrspace and move platform vmem stuff to virtmem ns
...
use namespaces
simplify names
no functional changes
2023-01-29 18:48:33 +01:00
Flyinghead
1149d499a8
x86: windows ce support in dynarec
...
clean up some unused methods and return values
2023-01-28 19:22:36 +01:00
Flyinghead
99d5266aa0
Merge remote-tracking branch 'origin/master' into dev
...
# Conflicts:
# core/hw/holly/sb_mem.cpp
# core/hw/naomi/naomi.cpp
# core/hw/naomi/naomi_flashrom.cpp
# core/hw/pvr/ta_ctx.h
# core/rend/gui.cpp
2023-01-27 15:41:45 +01:00
scribam
80cf4406a7
cleanup include headers
2023-01-26 10:06:51 +01:00
Flyinghead
f8372c51a7
Revert "wip headers"
...
This reverts commit e3e2c3a0d2
.
2023-01-24 14:26:14 +01:00
Flyinghead
31debefbe1
release dynarec mem allocs when terminating, including arm and dsp
...
Issue #453
2023-01-24 09:21:46 +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
36e67203a4
Merge remote-tracking branch 'origin/master' into dev
...
# Conflicts:
# core/deps/oboe
# core/emulator.cpp
# core/hw/maple/maple_jvs.cpp
# core/rend/gui.cpp
2023-01-17 21:20:14 +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
06c5ba7f0e
sh4: simplify exceptions
2023-01-11 20:42:33 +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