Commit Graph

1274 Commits

Author SHA1 Message Date
Flyinghead 528235ce9d jvs: fix kingrt66 instant win with accelerator 2023-01-30 13:28:14 +01:00
Flyinghead 0a27b63584 aica: remove useless verify on reg access sizes
Fixes MINIDUMP-6C
2023-01-28 18:22:39 +01:00
Flyinghead 610e3cf968 naomi: avoid crash with M4 carts if M4 key is missing
Fix shorsepr crash at boot
Fixes MINIDUMP-5Z
2023-01-27 13:03:52 +01:00
scribam 80cf4406a7 cleanup include headers 2023-01-26 10:06:51 +01:00
Flyinghead bbff377ceb maple: less log on dma error
Fixes GameShark CDX log spam
See MINIDUMP-5R
2023-01-24 14:30:09 +01:00
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 cc408f9688 aica arm7: fallback to interpreter for invalid LDR/STR
Fixes MINIDUMP-4X
2023-01-22 18:11:03 +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 464b459073 modem: don't die when reg11 is written
Fix for MINIDUMP-5A
2023-01-22 17:10:12 +01:00
Flyinghead 8fdcea2e20 maple: delay raising overrun interrupt when dest isn't in RAM
Only raise error when copying data back to RAM.
Fixes Cheats 'N Codes Volume 1
2023-01-21 11:38:58 +01:00
Flyinghead a593cddf52 pvr: mvsc2 needs yet more rendering cycles
Fixes texture corruption in the character line up during intro.
Follow up to 976fb99aa3
2023-01-20 14:41:36 +01:00
Flyinghead a0b50cd41d pvr: don't crash on invalid poly list types. log and ignore
Fix for MINIDUMP-3Z
2023-01-17 11:36:00 +01:00
Flyinghead 1d1754dc98 pvr: don't crash on YUV converter error. log and continue
Fix for MINIDUMP-44
2023-01-17 11:25:08 +01:00
Flyinghead 692ca52182 pvr: fix background poly texture coordinates
V tex coordinates were inverted for Donald Duck Goin Quackers
2023-01-16 17:56:37 +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 3441a9ccf0 pvr: calculate framebuffer size when TA context is dequeued
Config can change after the TA context has been queued (upscaling, full
framebuffer emu, etc.) which can make the calculated framebuffer size
wrong during render, leading to crashes in renderers.
Fix for MINIDUMP-35
2023-01-14 12:39:38 +01:00
Flyinghead 2da833883b pvr: skip triangles with NaN/Inf coordinates when sorting them
Issue #867
2023-01-14 10:46:21 +01:00
Flyinghead c301bf0827 pvr: ignore invalid TA types instead of crashing
Fix for MINIDUMP-32
2023-01-14 10:42:26 +01:00
Flyinghead 92fa4c041d gdrom: log invalid size register access but don't crash
Fix for MINIDUMP-1T
2023-01-13 11:34:40 +01:00
Flyinghead f34a9f6eac jvs: serialize drive board output value and more
Issue #864
2023-01-13 11:25:04 +01:00
Flyinghead 59606d8935 naomi: more robust error handling when loading invalid roms
Fix for MINIDUMP-2S
2023-01-13 10:49:52 +01:00
Flyinghead 640d4162b6 holly: log invalid pvr register access size but don't crash
Fix for MINIDUMP-2V
2023-01-13 09:52:17 +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 9b2f33f7bd jvs: fix wrungp CAUTION message regression
due to 53ed006a54
Issue #861
2023-01-11 09:05:47 +01:00
Flyinghead 84f6bd3fef libretro build fixes 2023-01-09 17:44:40 +01:00
Flyinghead b37e6dc28d Merge remote-tracking branch 'origin/master' into dev 2023-01-08 11:19:48 +01:00
Flyinghead ba0a357d48 missing change for 12bba31270 2023-01-03 11:32:00 +01:00
Flyinghead cf514b0d6b pvr: skip remaining vertices if incomplete after inf vertex
in makePrimRestartIndex
Issue #846
2022-12-31 16:51:35 +01:00
Flyinghead 802f70fedd pvr: recover from renderer init failure
issue MINIDUMP-V
fix some warnings
2022-12-29 19:18:19 +01:00
Flyinghead 85188bf137 naomi: fix button labels for hmgeo
Issue #841
2022-12-25 22:09:34 +01:00
Flyinghead 96aaa8b14a elan: don't map RAM with vmem if not naomi2 game
Issue #839
2022-12-24 13:33:16 +01:00
Flyinghead 53ed006a54 naomi: 18wheeler, soulsurfer and wldrider input improvements
18wheeler: limit wheel range. Issue #693
18wheeler: Implement gear tristate lever with 2 buttons. Fake motor drive board to avoid error messages in deluxe version.
soulsurfer: floormat button/contact is always on
wldriders: unmap rear brake so it doesn't have to be released
2022-12-24 10:48:17 +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 9578841480 pvr: fix texture bleeding before making indexes
fix crash with sorted triangles.
Issue #836
2022-12-22 13:15:32 +01:00
Matt Phillips 6d913f42c8
Host-side profiler - initial commit (#834)
* Host-side (Flycast) profiler - initial commit

* Profiler - configurable frame warning time

* Compile fix for !DC_PROFILER
2022-12-21 11:24:11 +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 51758b965e ggpo: disable full framebuffer emulation. memwatch perf fix
Disable full framebuffer emulation with ggpo if threaded rendering is
enabled. Would require thread synchronization on VRAM page map.
memwatch: do single lookup on page map in hit()
2022-12-17 10:54:01 +01:00
Flyinghead 7fec511463 maple: don't recreate devs on rollback. Raise error if dest is invalid
maple: raise error is maple dest dma address isn't on RAM
maple: don't recreate maple devices when loading a rollback savestate
2022-12-17 10:51:12 +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
Matt Phillips 733a1fa73d Added USE_DX9 and USE_DX11 as configurable options in CMake 2022-12-15 22:48:38 +01:00
Flyinghead f9feaa313b pvr: sort triangles during parse. Use primitive restart
Sort triangles during ta_parse. Use the same index as other polys. Store
results in rend_context.
Use primitive restart if available to avoid too many degenerate
triangles.
Update renderers.
2022-12-13 22:57:57 +01:00
Flyinghead a0a9b5bbc5 holly: crash when reading a write-only register 2022-12-12 22:15:12 +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 9069a49145 pvr: take jitter into account in spg sheduler. fix scheduler edge case
Take jitter into account when calculating current scanline
Scheduler would miss the next int if it's on the next scanline
Support for Hblank interrupt mode 2 (every scanline)
2022-12-06 22:04:37 +01:00
Flyinghead d417237e64 Merge remote-tracking branch 'origin/master' into dev
# Conflicts:
#	core/emulator.cpp
2022-12-06 21:47:50 +01:00