Flyinghead
099a758c94
hw: new hardware register implementation
...
used for sh4 mm registers and holly
ignore incorrect size reads and writes
separate data and read/write handlers
2023-02-10 12:51:36 +01:00
Flyinghead
e70a0dcf3d
sh4_fpu clean up. tests
2023-02-01 13:53:32 +01:00
Flyinghead
d1ab3461a6
savestates: dropping support for old formats
...
savestates older than 3 years aren't supported anymore
2023-01-31 17:57:54 +01:00
Flyinghead
04c418d02a
serialize: move code out of serialize.cpp and into modules
2023-01-31 10:13:03 +01:00
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
0c01075ba8
__fastcall goes after return type
2023-01-29 14:07:37 +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
1a681746b5
mmu: fix rte delay slot fetch address error with slow mmu
...
slow mmu clean up
P4 isn't executable
mmu test
mmu_TranslateSQW: throw exception but don't return status
2023-01-24 21:17:48 +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
9473c235f2
sh4: Fix CCN_MMUCR register definition
...
Some reserved bits were missing, which was breaking the (slow) MMU since
the write mask is correct.
2023-01-21 12:11:42 +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
66eb08f2d1
sh4: check that dma-ch2 source address is in ram
...
Force real BIOS for Force Five dc conversion
Fix for MINIDUMP-2W
2023-01-13 09:28:45 +01:00
Flyinghead
ac24d9be5b
preserve savestate compat with sh4 exception changes
2023-01-11 23:01:37 +01:00
Flyinghead
06c5ba7f0e
sh4: simplify exceptions
2023-01-11 20:42:33 +01:00
Flyinghead
84f6bd3fef
libretro build fixes
2023-01-09 17:44:40 +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
Matt Phillips
7176460de3
External windows serial console ( #828 )
...
* Open external console for serial output on Windows
(cherry picked from commit e41a1410b9
)
* Compile fix for _UNICODE
(cherry picked from commit 4e6927bd27
)
2022-12-15 22:49:20 +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
d417237e64
Merge remote-tracking branch 'origin/master' into dev
...
# Conflicts:
# core/emulator.cpp
2022-12-06 21:47:50 +01:00
Flyinghead
f5fa1f6210
holly, sh4: reg access handlers don't need size. SB_FFST constant 0
2022-12-06 20:42:00 +01:00
Flyinghead
8001af9743
sh4: proper write masks for memory-mapped registers
2022-12-06 17:58:30 +01:00
scribam
f6532ca27a
fix some warnings
2022-11-19 12:52:26 +01:00
Flyinghead
decf70c87c
get rid of INLINE, NOINLINE, __forceinline
2022-10-22 22:14:19 +02:00
Flyinghead
039c666247
more types.h clean up. better aica handler templates
2022-04-15 17:03:49 +02: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
8baebcfb5b
maxspeed networking. Store aw force feedback value
2022-04-02 16:41:52 +02:00
Flyinghead
d736dd027d
naomi2: initd card support. lua: fix multi-threading crash
...
initial d card reader support. insert card button.
lua: use mutex to enforce thread-safety
2022-02-16 19:02:04 +01:00
Flyinghead
e5d517dad2
use platform.isConsole(), platform.isNaomi(), ...
2022-01-27 17:52:19 +01:00
Flyinghead
4335aa563f
naomi2 WIP
2022-01-16 22:41:42 +01: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
8f80bcb159
New serialize framework. Delay maple dma xfer
...
New serialize framework. Refactor serialization into modules.
Maple dma xfer must not be executed immediately. Delay until interrupt
is raised.
Fixes Geist Force freeze at start.
2021-11-13 15:56:42 +01:00
Flyinghead
80cf422a5e
dynarec: fix CLRS and SETS ops
...
Destination reg was missing
Fix crash in OpenTyrian/SDL_DREAMHAL
Issue #403
2021-11-11 10:44:22 +01:00
Flyinghead
bcc3337c58
cheats: support for bit-level RA codes
...
log start of address space, RAM, VRAM, audio RAM at boot
fix add cheat dialog layout
don't crash on wrong gdrom unlock code
2021-10-12 17:28:01 +02:00
Flyinghead
bc3be1029c
fix sh4 scheduler. use common cycle counter in sh4 context
...
scheduler reset and unregister
schedule requests during reset(), not init()
preserve cntx.sh4_sched_next on sh4 reset
Use cntx.cycle_counter in dynarecs and interpreter
Fixes Confidential Mission hang at boot with HLE
2021-10-07 16:18:32 +02:00
Flyinghead
69d0801121
net rollback with ggpo
2021-09-02 17:51:23 +02:00
Flyinghead
93eff7fac6
sh4: fix TMU regression
...
introduced by 05d51cc35c
fixes SA2 running too fast
2021-08-29 11:55:42 +02:00