Flyinghead
c472d60f80
__fastcall goes after return type too
2023-01-29 15:47:47 +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
scribam
85a941d6c6
openbsd fixes
2023-01-28 18:25:10 +01:00
Flyinghead
0a27b63584
aica: remove useless verify on reg access sizes
...
Fixes MINIDUMP-6C
2023-01-28 18:22:39 +01:00
Flyinghead
6f5f91245b
windows: use directx 11 by default
2023-01-28 18:21:18 +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
Flyinghead
a5967a283f
bump breakpad to fix win32 build error
2023-01-27 14:09:35 +01:00
Flyinghead
21a4935ec4
sentry: set release when uploading
2023-01-27 13:12:31 +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
Flyinghead
45c9d6185b
gcc warning on windows
2023-01-27 11:16:54 +01:00
Flyinghead
e18a4afcbb
vk and pvr fixes. Renderer::Process returns void. N2 light 0 is no-light
...
pvr: Heap use after free due to PolyParam vector reallocation
vk: fix wrong buffer size calculation
Renderer::Process now returns void since it can't fail anymore
naomi2: light model at index 0 is "no light"
dx9, gles: throw if naomi 2 not supported
2023-01-27 11:16:25 +01:00
Flyinghead
499f86b065
pvr: use std::vector instead of List<> in render context
...
Remove overrun-related code.
Replace N2 matrix and light model pointers with indices.
2023-01-26 14:13:28 +01:00
scribam
80cf4406a7
cleanup include headers
2023-01-26 10:06:51 +01:00
Flyinghead
1c4871acb3
naomi: fix derbyocw rom list
...
was using drbyocwa roms
2023-01-25 17:16:52 +01:00
Flyinghead
3b683648fa
switch build fix
2023-01-24 22:49:46 +01:00
Flyinghead
3923f10277
build fix
2023-01-24 21:44:35 +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
5703ef26cf
os_DebugBreak is [[noreturn]]
2023-01-24 19:24:26 +01:00
Flyinghead
5096d50d37
move rom/flash stuff to hw/flashrom. nvmem api
2023-01-24 19:17:48 +01:00
Flyinghead
f7e227a4aa
dx9: don't crash if creating a boxart texture fails. log and skip tex
...
Fix for MINIDUMP-5Q
2023-01-24 14:52:55 +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
Flyinghead
31debefbe1
release dynarec mem allocs when terminating, including arm and dsp
...
Issue #453
2023-01-24 09:21:46 +01:00
Flyinghead
c7d214e55a
aica: update pending ints when enable mask is changed
...
Updating interrupts masks SCIEB and MCIEB can enable new interrupts so
check for that.
Only avoid race condition when needed.
2023-01-23 20:04:18 +01:00
scribam
e3e2c3a0d2
wip headers
2023-01-23 18:29:04 +01:00
Flyinghead
f96ce85365
dx11: attempt to recover if context reinit fails. More checks and logs
2023-01-23 12:20:10 +01:00
Flyinghead
aa79196d38
vk: only destroy surface if instance and surface aren't null
...
Don't request Arm debug layer VK_LAYER_ARM_AGA
Fix for MINIDUMP-5G
2023-01-23 12:11:43 +01:00
Flyinghead
2b14c3e605
Try dx11 if dx9 and opengl both fail
...
Fix for MINIDUMP-5F
2023-01-23 12:06:26 +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
520e96a039
egl: call eglTerminate when closing context
2023-01-22 17:22:47 +01:00
Flyinghead
db9fbbaebf
custom texture loader must be stopped before the tex cache is cleared
...
Fix for MINIDUMP-53
2023-01-22 17:22: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
464b459073
modem: don't die when reg11 is written
...
Fix for MINIDUMP-5A
2023-01-22 17:10:12 +01:00
Flyinghead
aea228c3df
force real BIOS for Fushigi no Dungeon
2023-01-22 17:07:16 +01:00
scribam
8cdd171ab7
gl,gl4: simplify gl_create_resources calls
2023-01-21 12:12:21 +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
b443467770
naomi: relax some eeprom checks based on BOOTID specs
2023-01-21 12:01:22 +01:00
Flyinghead
a6bf9dd39c
Option to disable VMU sounds. VMU sounds use better waveform.
2023-01-21 11:54:34 +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
31bd943d67
gl,vk: don't use linear mipmap filter with nearest
...
Fixes glitches in Railroad Tycoon II
Partially revert 15b21fff2b
and
a9cabdc342
2023-01-21 11:32:28 +01:00
Flyinghead
3cf7cf0a7f
network: Emulate BBA should not be changed once a game is started
...
Change UI to disable BBA toggle when game is started.
Refactor UI to use DisabledScope helper.
Make sure the network stack deletes the same device it initialized.
Tentative fix for MINIDUMP-4N
2023-01-20 14:52:27 +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
cecf16e65e
dump textures: don't crash if malloc fails
...
Tentative fix for MINIDUMP-4P
2023-01-20 14:38:23 +01:00
Flyinghead
f63cf7406a
logging changes
2023-01-18 14:03:02 +01:00
Flyinghead
e21d666328
reios: allow loading CDIs with ip_meta.wince = 1
...
For some reason Neo XYX has this flag set. I haven't found any wince CDI
that has this flag set but it shouldn't hurt.
Fix for MINIDUMP-47
2023-01-18 10:12:24 +01:00
Flyinghead
ab3f5dbc4c
sdl: fix crash in getNativeHwnd() when recreating window
...
fixes rawinput crash
Fix for MINIDUMP-4B, MINIDUMP-4G, MINIDUMP-4F, MINIDUMP-4E
2023-01-18 09:45:01 +01:00
Flyinghead
528f15f117
win32 build fix
2023-01-17 22:39:22 +01:00
Flyinghead
2420c05930
android: implement unwind info for arm32
2023-01-17 22:06:22 +01:00
Flyinghead
3a312f3814
add llvm's libunwind
2023-01-17 21:56:30 +01:00
Flyinghead
bac67bd91a
missing submodule oboe
2023-01-17 21:29: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
a52d1c97ec
UWP build fix
2023-01-17 20:55:59 +01:00
Flyinghead
9d3125c546
fix tony hawk's 1 & 2 PAL disk ids
2023-01-17 11:41:50 +01:00
Flyinghead
86a6d7a4f5
widescreen cheat for Biohazard: Code Veronica: Kanzenban (JP)
...
same cheat as Resident Evil: Code Veronica X Kanzenban (Eng.
translation)
Issue #880
2023-01-17 11:40:35 +01:00
Flyinghead
0f214b1441
reios: fix crash if disc is null at boot
...
Don't overflow Disc::sessions
Fix for MINIDUMP-41
2023-01-17 11:39:00 +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
b8464ef6c5
widescreen cheat for Resident Evil - Code Veronica X Kanzeban
...
Courtesy of keefged4
Issue #880
2023-01-16 18:16:05 +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
9954768636
dx11: simplify RenderFramebuffer for libretro and fix black frames
...
RA uses some shaders that need to be disabled (as in Render()).
Also the framebuffer texture can be returned directly.
might help Issue #865
2023-01-16 17:50:23 +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
329e5ed467
android: allow starting games with intent while a game is running
...
stops and unload the current game then starts the new one
2023-01-15 20:02:03 +01:00
Flyinghead
19a160695c
android: since ndk23 exceptions traversing dynarec blocks cause a crash
...
NDK 23 switched to clang's unwinder instead of gcc so __register_frame()
takes a single FDE as argument (as in macOS).
Fix for MINIDUMP-3M and MINIDUMP-3N
2023-01-15 19:31:44 +01:00
Flyinghead
1e195b7237
sdl audio: fix crash when decrasing audio buffer size. fix deadlock
...
sample_count wasn't reset to 0 on init, so it could point past the end
of the audio buffer if buffer size is decreased, leading to a crash.
Fix for MINIDUMP-29
Deadlock if audio buffer size is too small (< 1024 samples)
2023-01-15 12:07:26 +01:00
Flyinghead
2b37a5dc08
sdl audio: use SDL to convert from 44.1 to 48 kHz
...
Fix crash introduced by 7205068809
Use SDL_ConvertAudio to convert audio when needed.
Fix for MINIDUMP-3K
2023-01-15 11:21:42 +01:00
Flyinghead
8aadf5b097
cheats: don't update the cheat list when adding one fails
...
The operation should fail or succeed completely.
Issue #871
2023-01-15 11:16:40 +01:00
Flyinghead
13428ba696
allow screen stretching to be overridden when using widescreen cheat
...
Issue #870
2023-01-15 11:14:21 +01:00
Flyinghead
52f2ca7ff6
windows: convert command line arguments to UTF8
...
Issue #875
2023-01-15 11:13:07 +01:00
scribam
174ce8786b
android: add oboe as a submodule
2023-01-14 13:02:34 +01:00
scribam
fc118f295d
android: remove oboe
2023-01-14 13:02:34 +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
7b49cc73ee
gl,gl4: use correct framebuffer size for matrix when rtt'ing
2023-01-14 12:52:10 +01:00
Flyinghead
a8c5af8425
dx: don't resize main framebuffer when rendering to texture
...
dx9 and dx11 renderers were wrongly resizing main framebuffer to 0,0
when rendering to a texture.
Fix for MINIDUMP-1W
2023-01-14 12:48:56 +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
659d21680b
android: race condition on Emulator::threadResult
...
The emu thread can be stopped/started by the app main java thread while
the render thread is running. This can lead to a race condition on the
threadResult future between checkStatus() and start(). So protect
relevant sections with a mutex.
Fix for MINIDUMP-1G, MINIDUMP-1H, MINIDUMP-2G and MINIDUMP-33
2023-01-14 10:52:27 +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
1c4303b76d
arm dynarec: verify is no longer true
...
Fix for MINIDUMP-37
2023-01-14 10:29:44 +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
9fb69af355
dx9: more error handling. more logging
...
Handle case where dx context init fails when switching to/from fast
forward.
Log errors.
2023-01-13 11:15:32 +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
bd7f5ec4c1
disable non-working ikaruga ws cheat
...
Issue #866
2023-01-13 10:46:51 +01:00
Flyinghead
d082993a7a
ui: race condition when network times out while pressing start
...
Fix for MINIDUMP-2Y
2023-01-13 10:06:36 +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
93fbd67a85
dx9: recover after screen lock. reset render state cache on entry
...
Device is lost for a long time when the screen is locked. Need to
continue calling present() to recover.
Reset render state cache on in RenderFramebuffer and RenderLastFrame
entry points.
More logging in renderer resizing.
2023-01-12 16:09:01 +01:00
Flyinghead
cf031717dd
chd: skip invalid media with 0 track
2023-01-12 16:05:07 +01:00
Flyinghead
075ec1cf98
log: increase in-memory log to 20 lines
2023-01-12 16:02:15 +01:00
Flyinghead
ac24d9be5b
preserve savestate compat with sh4 exception changes
2023-01-11 23:01:37 +01:00
Flyinghead
7e4572a86a
naomi: f355 multiboard support WIP
2023-01-11 22:31:36 +01:00
Flyinghead
4f0d3a958d
ui: debug tab with logging and profiling options
2023-01-11 21:15:45 +01:00
Flyinghead
06c5ba7f0e
sh4: simplify exceptions
2023-01-11 20:42:33 +01:00
Flyinghead
673fb26d6e
android: threading fix. stop vibrator thread. allow screen saver
...
If the android activity is destroyed and the game unloaded, the gui's
game state wasn't updated, leading to a crash if resuming. Same for the
android game state if pausing, destroying then resuming.
tentative fix for MINIDUMP-27, MINIDUMP-25, MINIDUMP-23
Wait until emu is stopped in single-threaded.
Stop vibrator thread when view is detached
Allow the screen saver when a game isn't running.
2023-01-11 11:44:28 +01:00
Flyinghead
5fa98da17e
dx9: stricter device reset failure check. More logging
...
tentative fix for MINIDUMP-1P
2023-01-11 09:44:00 +01:00
Flyinghead
9b2f33f7bd
jvs: fix wrungp CAUTION message regression
...
due to 53ed006a54
Issue #861
2023-01-11 09:05:47 +01:00
Flyinghead
2b70c73f80
gl: compilation and runtime fixes for GLES 2.0
...
Fix libretro compile errors with GLES2
Fix black screen at runtime with gles 2.0
Issue #859
2023-01-11 09:02:24 +01:00
Flyinghead
1aec64cbae
android: don't close the oboe stream twice on device lost
...
tentative fix for MINIDUMP-26
2023-01-11 08:58:55 +01:00
Flyinghead
2997c6396f
downgrade libchdr to before zlib 1.2.12 upgrade
2023-01-10 12:38:17 +01:00
Flyinghead
859d5df056
revert libchdr to before lzma-22 upgrade
2023-01-10 11:56:43 +01:00
Flyinghead
8a1902e5a8
GDI's and gdrom CHD's must have at least 3 tracks
2023-01-10 11:28:42 +01:00
Flyinghead
285655f52d
vk: check if vkEnumerateInstanceVersion is null before calling it
...
vkEnumerateInstanceVersion is only available in vk 1.1 so it might be
null after dynamic loading of entry points.
tentative fix for MINIDUMP-1Z, MINIDUMP-20 and MINIDUMP-21
2023-01-10 09:58:56 +01:00
Flyinghead
fceb170a2a
picotcp: enable multithreading. protect bba input queue with mutex.
...
tentative fix for MINIDUMP-1Y
2023-01-10 09:46:28 +01:00
Flyinghead
4376e89149
Bump libchdr to latest
2023-01-09 18:33:44 +01:00
scribam
cbd1d3134e
deps: update sdl to version 2.26.2
2023-01-09 18:02:30 +01:00
Flyinghead
fc479dbcc0
dx9: better handling of device lost. Fix fb not rendered if 1st
...
Handle case where device reset fails and continue attempting a reset.
tentative fix for MINIDUMP-12 and MINIDUMP-1Q
RenderFramebuffer wasn't working when first render after init
2023-01-09 18:01:44 +01:00
Flyinghead
ae47ac19b8
dx11: check supported texture formats. Fix fb render not working if 1st
...
Check supported texture formats including mipmap and mipmap autogen.
Fall back to 8888 format.
tentative fix for MINIDUMP-17, MINIDUMP-1R and MINIDUMP-1M
RenderFramebuffer wasn't working if first render after init.
2023-01-09 17:50:46 +01:00
Flyinghead
84f6bd3fef
libretro build fixes
2023-01-09 17:44:40 +01:00
Flyinghead
d3b2da8e3b
gui: &ll game scanner game_list updates must be guarded by mutex
...
arcade_game_list doesn't need to however
tentative fix for MINIDUMP-1S
2023-01-09 09:14:03 +01:00
Flyinghead
493ccc27d1
widescreen cheat for Fire ProWrestling. courtesy of Espirral
2023-01-08 11:35:24 +01:00
Flyinghead
b37e6dc28d
Merge remote-tracking branch 'origin/master' into dev
2023-01-08 11:19:48 +01:00
Flyinghead
8cd6a94e26
arm dynarec: avoid SIGBUS errors due to unaligned memory access
...
VSTR and VLDR require a 32-bit alignment in armv7. SH4 alignment
requirement is identical but ignored (no SH4 address error is raised).
So instead of crashing, just align the memory address.
Fix for MINIDUMP-1J
2023-01-08 11:13:01 +01:00
Flyinghead
13df32ba3f
vk: check vkGetInstanceProcAddr value before use and report error
...
Tentative fix for MINIDUMP-1F
2023-01-08 11:06:47 +01:00
Flyinghead
262a39cafb
android: avoid UI race condition when stopping or resuming game
...
Gamepad events aren't delivered to the UI thread in Android. This can
lead to race conditions between the UI thread (calling gui_display_ui())
and the event thread (calling gui_open_settings()).
Issue #852
Fix for MINIDUMP-1D, MINIDUMP-1E, MINIDUMP-1K
2023-01-08 10:59:36 +01:00
Flyinghead
480f2e31b0
widescreen cheats for 102 Dalmatians. courtesy of Espirral
2023-01-07 12:02:35 +01:00
Flyinghead
d0bb0aea97
android: defer stopping audio until after current frame is rendered
...
In android, stop requests are not run in the UI thread so in
single-threaded mode, they must be deferred until after the current
frame is rendered to avoid deadlocking on audio.
2023-01-07 11:51:32 +01:00
Flyinghead
bf3f927a99
reios: don't crash on unknown trap vector. log error and ignore
2023-01-07 11:46:59 +01:00
Flyinghead
b6491a3842
android: REICAST_HOME -> FLYCAST_HOME
2023-01-05 20:21:15 +01:00
Flyinghead
c04c696ba6
arm64 dynarec: pad link section with nop to allow full mmu relink
...
fix literal pool being overwritten
Fix for MINIDUMP-18
2023-01-05 14:36:23 +01:00
Flyinghead
756ec0e672
arm build fix
2023-01-04 12:27:04 +01:00
Flyinghead
3dfdb60139
arm dynarec: handle immediate operand to fsca
2023-01-04 12:12:24 +01:00
Flyinghead
5a409dbe2c
boxart: [] operator with non-existing key on const json is UB
...
Use json::at() instead.
Don't return pointer to GameBoxart to UI since it can be
replaced/deleted by the scraper thread.
Tentative fix for MINIDUMP-16
2023-01-04 12:09:09 +01:00
Flyinghead
9ef37d9776
arm[64] dynarec: xtrct can have immediate operands
...
Fixes MINIDUMP-15
Sakura Taisen 2 crash
2023-01-03 15:15:13 +01:00
Flyinghead
ba0a357d48
missing change for 12bba31270
2023-01-03 11:32:00 +01:00
Flyinghead
659ffa4406
vk: catch vulkan dyn loader exception when driver can't be loaded
...
Fixes MINIDUMP-R
2023-01-03 11:08:28 +01:00
Flyinghead
12bba31270
lr: fix incorrect DC framebuffer size
2023-01-03 11:03:31 +01:00
flyinghead
dd66e44871
compile warnings
2023-01-02 16:39:34 +01:00
flyinghead
c5c87522ca
x64 dynarec: wrong op in GenReadMemImmediate
...
Fixes MINIDUMP-14
2023-01-02 16:06:58 +01:00
flyinghead
5ef80f0a17
dx11: disable scissor test when rendering framebuffer
...
Issue #847
2023-01-02 16:04:17 +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
2a465d2f03
ios: check if jit is enabled. attempt to enable it by debugging self
...
JIT detection and enabling taken from ppsspp
Re-check JIT and restart AltServer discovery every 10 secs until JIT is
enabled.
Attempt to enable JIT by forking a process to debug the parent process.
(jailbroken devices)
2022-12-30 16:22:38 +01:00
Flyinghead
802f70fedd
pvr: recover from renderer init failure
...
issue MINIDUMP-V
fix some warnings
2022-12-29 19:18:19 +01:00
scribam
5acfa7d3d6
vulkan: return an error if no physical devices found
2022-12-29 19:12:53 +01:00
Flyinghead
85188bf137
naomi: fix button labels for hmgeo
...
Issue #841
2022-12-25 22:09:34 +01:00
Flyinghead
bfc44f2b4e
scraper: skip invalid textures. invalid CUE crash. memory leak
...
Sanity check of PVR texture params before converting it to avoid crash
(MINIDUMP-K).
.cue gdrom needs at least 3 tracks.
Delete disc if invalid.
2022-12-25 11:27:48 +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
Matt Phillips
4b53edb3bd
Basic CPU graphs using ImPlot ( #838 )
2022-12-23 16:07:35 +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
scribam
1c8e558e25
deps: update glslang and vulkan
2022-12-23 10:14:31 +01:00
Flyinghead
5703bc7df2
ui: arcade games appear twice if the game list is updated
2022-12-23 10:13:26 +01:00
Flyinghead
95a00a165a
sentry: upload crashes after reading emu.cfg to comply with user choice
...
android: get rid of Send Logs button
2022-12-23 10:06:24 +01:00
Flyinghead
599bc8a823
arm64 dynarec: need up to 5 ops for mem accesses
...
Issue #837
2022-12-22 14:55:42 +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
Flyinghead
b5d8cecd91
android: delay sentry upload to avoid broken pipe. Log more stuff
...
tentative fix for the broken pipe error when uploading to sentry on
android.
init log and sleep for 5 secs before upload
log git version, gpu name and version, renderer type and game id
2022-12-21 16:49:08 +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
1e0a875fa3
sentry: various fixes. Upload last log lines with the minidump
2022-12-21 11:23:15 +01:00
Flyinghead
4d77ce5a66
unused function
2022-12-20 22:24:15 +01:00
Flyinghead
f3a6fb7d8b
sentry.io integration
2022-12-20 21:52:46 +01:00
Flyinghead
b6f73d96ca
vk,dx: provoking vtx with sorted triangles. No depth write in per-strip
...
Provoking vertex wasn't set with sorted triangles (dx9, dx11, vulkan)
vk,dx9: No depth write in per-strip as in opengl and dx11.
2022-12-20 21:47:19 +01:00
Matt Phillips
13f3c8281f
Fixed single stepping, added support for vCont packets and ranged stepping (faster), initial work to support other breakpoint types
2022-12-18 16:27:38 +01:00
Flyinghead
0107435a73
iOS build fix
2022-12-17 11:25:58 +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
2800927fa1
arm64 dynarec: can't rely on faultAddress with 512 MB vmem
...
Use x0 instead
2022-12-16 20:40:23 +01:00
Flyinghead
f133e3cccb
verify() must not call a function with side-effect
2022-12-16 20:40:23 +01:00
Matt Phillips
b0a520fe18
Various GDB fixes and improvements ( #832 )
...
* Enabled GDB server, compile fix for MSVC, added GDB option to config
* GDB - 'vMustReplyEmpty' should not be explicitly handled, it is a test for how the target responds to unknown vpackets (which was incorrect)
* GDB wait for debugger option to allow debugging from bootstrap, and Event::Resume moved after renderer init so agent.interrupt() can pause the renderer
* Draw "Waiting for debugger", and fixed UI not rendering last frame before a state change
* Fixed GDB regs/mem endianness
2022-12-16 20:34:30 +01:00
Matt Phillips
0c081a9597
Support for comma separated "-config section:key=value,section:key=value,..." command line syntax
...
(cherry picked from commit 451997d01e
)
2022-12-15 22:49:55 +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
e3809ba058
gl: macOS build fix
2022-12-14 23:43:36 +01:00
Flyinghead
4d3de39c64
gl: no GL_PRIMITIVE_RESTART and glPrimitiveRestartIndex in GLES
2022-12-13 23:42:11 +01:00
Flyinghead
1765e50703
lr: missing symbols and functions
2022-12-13 23:33:24 +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
9781d8971a
gl: use static buffers for quad vertices
2022-12-13 20:56:19 +01:00
Flyinghead
a0a9b5bbc5
holly: crash when reading a write-only register
2022-12-12 22:15:12 +01:00
Flyinghead
c684faf423
naomi widescreen cheats: initd, initdv2, gunsur2, spawn, cspike, jambo
...
Widescreen cheats for initd, initdv2, gunsur2, spawn, cspike, jambo,
soulsurf.
Courtesy of Goddamn Superhero
Disable ws chear for House of the Dead 2 (wrong gun coordinates)
2022-12-11 16:33:30 +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
d76dff8594
ggpo: don't call exit on assert. clean up logging
...
Don't call exit when an assertion fails, throw an exception instead. Log
ggpo API errors.
Deleted most ggpo logging methods and use flycast logging.
2022-12-10 13:06:31 +01:00
Flyinghead
1ab4eb00c0
tex cache: minor key mask fix. egl: no need for depth/stencil surface
...
Part of PalSelect was used as cache key for palette textures
PrintTexture fix
egl,wgl,xgl: No need for depth/stencil surface
gl: non-functional refactoring
2022-12-09 17:49:32 +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
98123b9215
vk: don't sort triangles in per-strip mode
...
useless and now crashes since vertices aren't in ascending order anymore
2022-12-08 21:35:51 +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
Flyinghead
446619ce85
atomiswave only has 2 MB of aica ram
...
new savestate version
build.h clean up
2022-12-06 20:51:45 +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
976fb99aa3
pvr: naomi mvsc2 needs more rendering cycles
...
Regression introduced by 0b0e64304e
2022-12-06 19:50:34 +01:00
Flyinghead
a0529d1cfc
drop support for legacy .reicast config dir (linux, macOS)
2022-12-06 18:09:43 +01:00
Flyinghead
8001af9743
sh4: proper write masks for memory-mapped registers
2022-12-06 17:58:30 +01:00
Flyinghead
e48b72a859
race condition causing emu thread exceptions to be ignored
...
in multithreaded mode, checkStatus() *must* be called to report
exceptions thrown by the emu thread
2022-12-05 21:24:27 +01:00
Flyinghead
71ba018782
widescreen cheatcode for vf3tb US
...
courtesy of goddamn superhero
2022-12-05 18:36:49 +01:00
Flyinghead
59ff44132b
aica: get rid of audio samples batching
...
Some audio issues are reported because of this option and the now
correctly clocked aica cpu.
2022-12-05 18:34:52 +01:00
scribam
8a0323ec08
deps: update sdl to version 2.26.1
2022-12-04 16:32:08 +01:00
Flyinghead
4c7df6c7f4
pvr: don't merge polys in per-triangle. merge polys in per-strip
...
Merging polygons in per-triangle can produces a large number of
degenerate triangles (up to x3), which must then be sorted, resulting in
a performance hit. This is useless since the sorted triangles are merged
after being sorted. (Regression introduced by
20d25059bf
)
Issue #818
In per-strip mode, polygons are now sorted before creating the index and
merging. So it doesn't have to be done in the renderer anymore.
2022-12-04 16:31:39 +01:00
Flyinghead
a40210c55c
no aica batching for Tony Hawk's 1 & 2
2022-11-29 17:27:31 +01:00
Flyinghead
034f90c1e0
ggpo: zero-init unused but sent inputs
...
avoids lots of useless rollbacks
2022-11-29 17:12:15 +01:00
DisasterMo
64223927b8
Fix Crowdin config & workflow
...
Also add new languages and update translation scripts
2022-11-28 15:00:25 +01:00
tunip3
e2c03255bb
make Xbox display scale scale with res instead of just switching between 2 presets for 1080p and 4k
2022-11-25 19:21:10 +01:00
scribam
63495d3a6a
deps: update sdl to version 2.26.0
2022-11-22 17:23:32 +01:00
scribam
88466ec352
vulkan: add missing simplification (follow-up from 8426bcad
)
2022-11-19 12:53:28 +01:00
scribam
f6532ca27a
fix some warnings
2022-11-19 12:52:26 +01:00
Flyinghead
76cf989455
disable free play for radirgy noa
...
Issue #527
2022-11-14 16:00:11 +01:00
Flyinghead
5b8e932509
move steam deck hack to sdl/sdl.cpp
2022-11-14 15:59:19 +01:00
scribam
993b705d8b
vulkan: use dynamic dispatch loader
2022-11-09 17:20:05 +01:00
Flyinghead
19204882c4
pvr: reschedule spg when SPG_HBLANK_INT is updated
...
Fixes Triggerheart Exelica input lag
Issue #691
2022-11-04 18:34:43 +01:00
vkedwardli
605dc59f8d
Fix Steam Deck's Game Mode also
2022-11-04 16:01:06 +01:00
Flyinghead
2332884d8b
maple: lower xfer rate to 1 Mbps. More accurate payload size calculation
...
Maple bus max xfer rate is 2 Mbps but actual speed is 1 Mbps.
Fixes Slave Zero (PAL) freeze with HLE.
Some improvements on payload size calc. Clean up.
2022-11-04 11:22:50 +01:00
Flyinghead
94f3d80a75
Merge remote-tracking branch 'origin/master' into dev
...
# Conflicts:
# CMakeLists.txt
# core/hw/pvr/Renderer_if.cpp
# core/oslib/audiobackend_alsa.cpp
# core/rend/vulkan/desc_set.h
# core/rend/vulkan/oit/oit_drawer.cpp
2022-11-02 20:12:34 +01:00
Flyinghead
0b0e64304e
pvr: adaptive end-of-render interrupt delay
...
EoR interrupt delay now depends on the TA context size.
Issue #634
Fixes issues with FMV in some WinCE games (Resident Evil 2, Next Tetris,
Nightmare Creatures 2)
2022-11-01 18:29:44 +01:00
Flyinghead
5a1a766bd4
pvr: emu unresponsive if no render. Present when FB_R_SOF = FB_W_SOF
...
Fix no input polling while waiting for present.
Present frame immediately if FB_R_SOF = FB_W_SOF.
2022-11-01 18:23:54 +01:00
Flyinghead
c15f446ffc
hle bios: fix pal detection for some pal wince games
...
Caesar's Palace 2K, The Next Tetris, KISS
2022-10-31 11:31:21 +01:00
Flyinghead
40dbf53792
pvr: use render pass # to read the right tile when marking blocks
...
Fixes Unreal Tournament flashing/black screen.
gl: mark vram area in rtt to avoid overwriting data (Worms World Party)
Force Worms World Party to use CopyToVRam (regression due to
6a5db32d5d
)
Don't calculate precise aspect ratio and use 4/3 instead (or more if
widescreen or stretch).
Fix clipping issue when using SCALER_CTL.vscalefactor. Avoir crash when
clip values are >= width or height.
vulkan: RenderFramebuffer wasn't working at all if !EmulateFramebuffer
2022-10-30 12:10:24 +01:00
vkedwardli
0cbf6f6601
Fixing Steam Deck's wrong dpi caused by incorrect 60mm * 60mm EDID ( #796 )
2022-10-27 22:00:22 +02:00
bslenul
c8fc873cf9
[Game List] Separate DC and arcade games
2022-10-26 15:37:17 +02:00
Flyinghead
b935bef906
gl: missing init of width and height in GlFramebuffer
...
gl,vk,dx9,dx11: always use the TA context copy for TA_GLOB_TILE_CLIP and
SCALER_CTL
2022-10-25 17:50:41 +02:00
Flyinghead
c1f0dd81d2
pvr: copy pvr regs at start_render time to avoid concurrent update
...
copy TA_GLOB_TILE_CLIP and SCALER_CTL to rend context when starting
render. Use rend context copy to calculate framebuffer size.
Fixes framebuffer size glitches in vf4 water stages.
lr: pass aspect ratio when resizing.
dx11: Wrong sizing of rotated games.
gl: test automation fixes.
2022-10-25 15:00:04 +02:00
Flyinghead
5722dc90f0
Full framebuffer emulation. Renderer interface changes
...
Helps for:
Densha de Go! 2, Issue #171
Vigilante 8, Issue #275
Xtreme Sports
Sonic Shuffle
The Ring of the Nibelungen
2022-10-23 16:32:42 +02:00
Flyinghead
e3c260f4ca
pvr: don't use op list to mark block if tile pointer is null
...
Naomi Doom sets the opaque list block to null in the tile, but op size
in TA_ALLOC_CTRL is non-zero. So use the TR list in this case.
Issue #682
2022-10-23 15:49:23 +02:00
Flyinghead
d1e48c657e
missing overrides
2022-10-23 15:44:12 +02:00
Flyinghead
decf70c87c
get rid of INLINE, NOINLINE, __forceinline
2022-10-22 22:14:19 +02:00
Flyinghead
922df88cdd
msvc build fix
2022-10-22 13:05:11 +02:00
Flyinghead
f25aeee756
audio: don't crash if audio init fails. Fall back to auto
...
Don't crash if an audio backend fails to initialize.
Fall back to auto or run without sound.
Better audio backend framework
2022-10-22 12:08:05 +02:00
Edward Li
2b36953fdc
Always fills the window with responsive size
2022-10-21 10:55:34 +02:00
Edward Li
1dcf302665
Add Aspect Fit & Aspect Fill description for Widescreen and Super Widescreen
2022-10-21 10:54:59 +02:00
Flyinghead
1fd95c2886
Roadsters (US) doesn't support RGB cable
...
Issue #791
Compile warnings
2022-10-21 10:54:26 +02:00
Edward Li
93e1d7fcee
`rend_resize_renderer_if_needed` check for window size changes also
2022-10-20 09:51:04 +02:00
Flyinghead
b2b860bb8e
gl: vmu not showing and memory corruption
...
Fix vmu not displayed
Memory corruption when restarting gl driver (android)
2022-10-20 09:49:53 +02:00
Flyinghead
0bd88fc9d9
gui: div by zero crash if window is too small
2022-10-19 10:07:48 +02:00
Flyinghead
20f9450218
ignore start() if emulator already started
...
can happen on android
2022-10-19 10:06:53 +02:00
flyinghead
401c402afc
Revert "cmake: use more system libs ( #775 )" ( #785 )
...
This reverts commit c5c941e928
.
2022-10-19 10:04:21 +02:00
Flyinghead
77a105d888
set USE_DX9 in CMakeLists.txt instead of build.h
2022-10-18 10:12:27 +02:00
Flyinghead
257c6b729f
rzip: allow multiple writes
2022-10-18 10:08:02 +02:00
Alexandre Bouvier
c5c941e928
cmake: use more system libs ( #775 )
2022-10-18 10:04:15 +02:00
Edward Li
6add19fb04
unprotect elan memory during `dc_reset` hard
2022-10-15 21:32:49 +02:00
Flyinghead
02d4b821d7
naomi: allow eeprom-based settings to be overridden (rotate, region)
2022-10-12 22:59:46 +02:00
scribam
3b3391c0d1
deps: update sdl to version 2.24.1
2022-10-08 18:33:11 +02:00
scribam
8426bcad27
vulkan: simplify function calls
2022-10-08 18:32:01 +02:00
Flyinghead
7da0549b8c
operator [0] on empty vector crashes
...
Issue #763
2022-10-04 18:21:10 +02:00
Flyinghead
b821ece052
alsa: default to 'auto' device if configured one can't be opened
...
Issue #762
2022-10-02 17:09:13 +02:00
Flyinghead
b240da41e0
lr: use VK_API_VERSION_MAJOR/MINOR/PATCH
2022-09-26 11:19:15 +02:00
Flyinghead
1858cf3b33
Merge remote-tracking branch 'origin/master' into dev
2022-09-24 19:28:38 +02:00
Edward Li
2b8f5a7b9d
Print correct version info for Vulkan and MoltenVK
2022-09-21 14:43:28 +02:00
Edward Li
c2e1425209
Stop Apple fanboys from asking where is Metal
2022-09-21 14:43:28 +02:00
scribam
c9c1218234
vulkan: add deps as submodules and sync with Vulkan 1.3.224.1
2022-09-18 16:56:56 +02:00
scribam
11d776aea1
vulkan: remove external files
2022-09-18 16:56:56 +02:00
Flyinghead
f88abf9987
extra depth scaling for south park rally
...
fixes car depth on character selection screen
2022-09-14 17:52:35 +02:00
Flyinghead
4a4fa7792f
vk oit: limit drawer swap chain to 2, same as non-oit
...
Fixes flashing during partial redraws (south park rally)
2022-09-14 17:48:57 +02:00
Flyinghead
aa97a6d64f
pvr: last naomi2 poly was ignored in some cases
...
Fix the disappearing moustache in wild riders
Fix other potential edge cases in pvr parsing
2022-08-25 19:34:23 +02:00
Flyinghead
e0d87eb093
Merge remote-tracking branch 'origin/master' into dev
...
# Conflicts:
# core/rend/gui.cpp
2022-08-22 13:09:56 +02:00
Flyinghead
85b8c599c4
pvr: object list is sometimes shared between op and tr modvols
...
Region tile object list pointers can be identical for op and tr modvols,
in which case tr modvols should be drawn using op modvols geometry.
Used by crazy taxi 1/2, alien front online, daytona usa and probably
many others.
Issue #717
2022-08-22 12:38:04 +02:00
scribam
72136c2bfc
deps: update sdl to version 2.24.0
2022-08-22 12:29:34 +02:00
Flyinghead
71e9420929
macOS: std::exception handler not catching FlycastException
...
Catch std::runtime_error instead
vk: Clear boxart texture cache before shutting down imgui driver
2022-08-14 18:39:09 +02:00
vkedwardli
3c94cd3194
Fix macOS accent menu ( #708 )
...
* `SDL_StartTextInput` only when textfield is focused
* [macOS] "Reveal in Finder" button for Home Directory
* only enable for `USE_SDL`
2022-08-04 17:35:40 +02:00
Flyinghead
a6ac753c64
boxart: ignore disks with invalid ip_meta. sanitize disk id chars
2022-07-29 10:48:39 +02:00
Flyinghead
55600c40a9
sdl: use exp scale for rumble power
...
Better sensitivity for low power values.
Issue #707
2022-07-28 10:47:42 +02:00
Flyinghead
9070c246d4
move iso9660.h
2022-07-28 10:43:44 +02:00
bslenul
75ff5409f4
Switch broadcast region for San Francisco Rush 2049 and Sega Smash Pack - Volume 1
2022-07-25 11:26:12 +02:00