Flyinghead
68f4ce1ec5
naomi: fix multiboard slave not starting
...
regression due to 87fdd203b5
2023-04-13 18:03:41 +02:00
Flyinghead
70d3e221a9
mushiking series support
...
Emulate barcode reader. UI to input card id.
scif: SCFSR2.DR should also trigger an interrupt. Fixes the partial read
issue with manic panic ghosts touchscreen.
Add default implementations in SerialPipe for read-only and write-only
devices.
Fix card jammed error in mushiking with custom input code.
Add mushi2k61 and mushi2k62 to naomi rom list.
Cheats to skip rfid check.
2023-04-12 10:09:21 +02:00
Flyinghead
b556617e1d
sh4: only reset serial pipe on hard reset
...
See d3690b12c6
2023-04-09 20:56:14 +02:00
Flyinghead
e327172fd0
sh4: check access length when getting a ram pointer with GetMemPtr
...
Check access length and return nullptr if overflowing ram.
Fix ch2-dma code accordingly.
Fixes MINIDUMP-GX
2023-04-09 20:47:12 +02:00
Flyinghead
c5f82483e6
naomi: fix multiboard windows position
...
Position slave windows over master.
Support any window width.
2023-04-09 20:28:10 +02:00
Flyinghead
a418b05272
ui: make cheat list touch-scrollable
2023-04-09 20:20:07 +02:00
Flyinghead
5c3f66fe05
ui: ignore inaccessible content path when scanning for games
2023-04-09 20:18:56 +02:00
Flyinghead
81ce3f7d10
msvc32 build fix
2023-04-08 19:11:21 +02:00
scribam
64cfba735e
deps: update sdl to version 2.26.5
2023-04-08 18:38:35 +02:00
scribam
8828b4fe52
deps: update implot to fix IMGUI_DEFINE_MATH_OPERATORS requirements
2023-04-08 18:38:26 +02:00
Flyinghead
87fdd203b5
android scoped storage (ASS) support
...
introduce Storage abstraction interfaces
use Storage i/f to load zip and 7z archives, cdi/cue/gdi/chd media,
cheats and to find custom textures.
Use android file picker to add storage. Request persisted access perms.
jni helper classes.
Issue #813
2023-04-08 18:37:50 +02:00
Flyinghead
f94a08f12f
mmu: avoid crash due to approximative fast mmu matching
...
Fixes MINIDUMP-EA (Sonic Shuffle)
2023-04-02 22:06:22 +02:00
Flyinghead
252ad711f1
vk: throw if vmaMapMemory fails
...
MINIDUMP-PX
2023-04-02 22:02:53 +02:00
Flyinghead
d3690b12c6
net: don't reset naomi network on soft reset (maxspeed)
...
Resetting makes maxspeed crash as the serial pipe isn't reset and
becomes invalid.
Fixes MINIDUMP-PJ
2023-03-31 20:09:33 +02:00
Flyinghead
32e08ca165
modem: don't crash on unexpected register writes
...
Just log and ignore.
Fixes MINIDUMP-62
2023-03-31 20:03:16 +02:00
Flyinghead
bc4f8fbe60
dx11: enable depth writing in oit pass
...
Make sure both depth attachments are identical at the end of each pass.
Issue #996
2023-03-31 20:01:12 +02:00
Flyinghead
7108358ebd
Merge remote-tracking branch 'origin/master' into dev
2023-03-30 17:31:22 +02:00
Flyinghead
48acb03b81
underclock/overclock SH4 option
...
Increase/reduce the dynarec cycle count for each block.
Issue #210
2023-03-30 17:22:24 +02:00
Flyinghead
08ac485eac
ui: fix drag scrolling and imgui gl renderer. use imgui events
...
Missing call to KeepAliveID was preventing drag scrolling in empty
areas. Also check for HoveredIdDisabled to allow scrolling by dragging
disabled items and enable HoveredIdAllowOverlap.
imgui gl renderer: use ImDrawCmd::IdxOffset instead of counting
manually. Use correct alpha blending function.
Use imgui events for all input. Simplify keyboard input by getting rid
of modifiers.
Enable flat navigation in content window.
Add format string to OptionSlider.
2023-03-30 16:54:54 +02:00
Flyinghead
c033a81eca
get rid of KeyboardDeviceTemplate
2023-03-29 16:48:46 +02:00
Flyinghead
5df9127add
vk: enable depth writing in oit pass so
...
Make sure both depth attachments are the same at the end of each pass.
Get rid of unneeded depth dependency/transition.
Issue #996
2023-03-28 21:20:37 +02:00
Flyinghead
b9e9cc534c
lr: build fix when USE_OPENGL=OFF
...
Issue #997
2023-03-28 21:07:50 +02:00
Flyinghead
79be464326
aica: proper write mask on aica dma address registers
...
Fixes MINIDUMP-P3
2023-03-28 21:05:18 +02:00
Flyinghead
f67aad0b2d
pvr: don't wait if Present msg is already in the queue
...
Only Render* msgs are an issue when piling up on slow platforms.
Fixes frame skipping only working when delay frame swap is on
Issue #975
2023-03-28 21:01:56 +02:00
Flyinghead
55b36fe719
dx11: revert 47a33f97f9
...
Issue #865
2023-03-28 20:55:56 +02:00
scribam
170f794c3a
deps: remove imgui obsolete keyio functions
...
Fix compilation with #define IMGUI_DISABLE_OBSOLETE_FUNCTIONS
2023-03-27 16:59:06 +02:00
scribam
ae4bd79ca1
deps: remove imgui obsolete functions
...
Fix compilation with #define IMGUI_DISABLE_OBSOLETE_FUNCTIONS
2023-03-27 16:59:06 +02:00
Flyinghead
d76982bbeb
naomi,aw: embed default flash for some games
...
Needed to configure network on first run.
2023-03-27 16:57:48 +02:00
Flyinghead
fb4229c4ae
support for daytona usa networking
2023-03-27 16:45:25 +02:00
Flyinghead
caec338d25
dx9, dx11: video shift support
...
Shift the framebuffer according to VO_STARTX and VO_STARTY.
Issue #594
lr: draw overlay and manage shifting in dx11 context
2023-03-27 16:41:59 +02:00
Flyinghead
b94200233d
vk: video shift support. refactor lr vk context
...
Shift the framebuffer according to VO_STARTX and VO_STARTY.
Issue #594
lr: draw overlay and manage shifting in vk context
2023-03-27 16:38:15 +02:00
Flyinghead
eb3ebe24e8
gl,gl4: video shift support, fix powervr filter, refactor lr osd
...
Shift the framebuffer according to VO_STARTX and VO_STARTY.
Issue #594
GlVertexArray class to handle vertex arrays (or lack thereof)
lr: Fix PowerVR2 filter including in full fb emu mode. Use quad to draw
vmus and lightgun xhairs.
2023-03-27 16:31:57 +02:00
Flyinghead
5e4e48fffe
mmu: don't crash when table full, just ignore
...
Fixes MINIDUMP-NF
2023-03-25 11:45:03 +01:00
Flyinghead
47a33f97f9
dx11: disable texture support check on uwp/xbox
...
Tentative fix for Issue #865
2023-03-25 11:43:17 +01:00
Flyinghead
068861d0cc
pvr: mask low address bits according to 32-bit vram access size
...
Avoid crash when accessing the very last vram byte with short or int.
Correct behavior should be to raise an sh4 address exception.
Fixes MINIDUMP-N2
2023-03-24 11:53:38 +01:00
Flyinghead
f2f8f3ccd2
bump libchdr to latest
...
commit 8e09bf2b
Fixes MINIDUMP-HD, MINIDUMP-M8
2023-03-24 11:48:52 +01:00
Flyinghead
2d7a1ce71a
atomiswave: fix failure to identify the game
...
regression by 78f80eb7dc
2023-03-23 09:45:25 +01:00
Flyinghead
74d72eb257
imgui: fix gamepad navigation
...
Issue #986
2023-03-23 09:39:25 +01:00
Flyinghead
9512ee657a
Allox f355 deluxe to run with only one screen
2023-03-22 19:01:34 +01:00
Flyinghead
78f80eb7dc
naomi: printer support for f355 and tduno[2]. Fix some bios font glyphs
...
Thermal printer support for f355 (G2 ext bus) and tduno[2] (maple JVS)
Change game id for sgdrvsim and dragntr3 to distinguish them.
Fix cyrillic page in BIOS font.
2023-03-22 19:00:50 +01:00
Flyinghead
fa525b4488
Fix hotd2p inputs
...
Issue #731
2023-03-22 15:36:10 +01:00
Flyinghead
ee3e83e09c
Fix loading of Sega Yonin Uchi Mahjong MJ (mj1)
...
gd cart: load first .bin if the specified one isn't found. Fix loading
of main directory for mj1. Don't update progress too often when
decrypting.
chd: allow loading of 1-track CD-ROMs
Use 2 jvs boards for mj1
Issue #985
2023-03-22 13:00:59 +01:00
Flyinghead
ea4354ba2e
Shin Nihon Pro Wrestling 4 crashes with RGB component
...
Force TV Composite instead
2023-03-21 11:36:47 +01:00
Flyinghead
5c5c872afc
aica: small dma transfer must be correctly scheduled
...
Previously transfer taking less than 4096 cycles would be instantly
executed.
Fixes Sports Jam announcer broken audio.
Issue #980
2023-03-21 11:32:21 +01:00
Flyinghead
9f2ffd102c
oit: Can't discard pixel in pixel shader when using 2ndary accumulator
...
When using the secondary accumulator as source or destination, pixel
must not be discarded even if blending results in a nop. Doing so
cancels the transfer to/from the accumulator.
Issue #979
dx11 oit: use FAILED to detect pixel shader creation error. Log error
codes when Buffers::init fails.
2023-03-21 11:22:04 +01:00
scribam
34f8941868
deps: apply drag scrolling custom code to imgui
2023-03-20 16:52:51 +01:00
scribam
07b217d9f8
deps: update imgui to version 1.89.4
2023-03-20 16:52:51 +01:00
Flyinghead
cb83d319b9
naomi: 4-player and eeprom fixes
...
Add 4-player support to Dirty Pigskin Football, WFF Royal Rumble, World
kicks PCB and Beach Spikers.
Fix several bugs in initEeprom and force 4-player cab when needed.
Get rid of pstone, pstone2 and ringout default eeproms.
2023-03-20 12:35:36 +01:00
scribam
23daa3efdf
deps: use latest stable release for oboe (1.7.0)
2023-03-18 16:11:41 +01:00
scribam
3a1ffceb58
deps: update glslang and Vulkan-Headers to sdk-1.3.239.0
2023-03-18 16:11:41 +01:00
scribam
f3431bd95d
deps: update sdl to version 2.26.2
2023-03-18 16:11:41 +01:00
Flyinghead
01c7250be2
hle bios: add latin-1, jis x0201 and jis x0208 glyphs to bios font
...
Use CMakeRC to embed font binary file
2023-03-18 16:11:03 +01:00
Flyinghead
afc1f5f4e1
Merge remote-tracking branch 'origin/master' into dev
2023-03-15 21:09:47 +01:00
Flyinghead
4a2ad8b145
pvr: SortedTriangle has unsafe pointer to PolyParam
...
std::vector elements can be reallocated. Use index instead of pointer.
2023-03-15 20:58:12 +01:00
Flyinghead
17ab0aba26
dx11,dx9: Force ignoreTexAlpha if texture doesn't have an alpha channel
...
The supporting texture might have one if converted but it shouldn't be
used.
Fixes cinematic scenes in Alone in the Dark.
Issue #974
2023-03-13 21:12:39 +01:00
Flyinghead
cc1b45b7cc
texture corruption after load state regression. wince depth scale change
...
Texture weren't updated after loading a state. Regression introduced by
942224c685
.
Change Windows CE depth scale from 0.1 to 0.01 to fix black screen FMV
on AMD and Intel GPUs. Issue #973
2023-03-13 21:03:16 +01:00
Flyinghead
4d990947de
sgdrvsim: display or network broadcast speedometer and tachometer
...
Display speedometer value, or network broadcast speedo and tacho on port
8002 (slave 2) if option is set
2023-03-13 17:45:12 +01:00
Flyinghead
5542d6db21
picotcp: full deinit when terminating
...
New pico_stack_deinit() function to fully deinit picotcp. Need to call
pico_stack_init when restarting.
Get rid of dns client
Tentative fix for MINIDUMP-G6, MINIDUMP-J0, MINIDUMP-HY, MINIDUMP-G5,
MINIDUMP-J0, MINIDUMP-HY, MINIDUMP-FP, MINIDUMP-F7, MINIDUMP-9H,
MINIDUMP-CB, MINIDUMP-CE; MINIDUMP-B3, MINIDUMP-1Y, MINIDUMP-A7,
MINIDUMP-9M
2023-03-13 17:36:32 +01:00
Flyinghead
8ca89ead0e
Enable RTT Copy to VRAM for Shenmue
...
Fixes Space Harrier mini arcade game.
Issue #967
2023-03-12 16:06:05 +01:00
Flyinghead
ebf5f24487
ui: reduce boxart image size. Avoid crash with invalid option values
...
Reduce boxart image size from 200 to 150.
Avoid under/overflowing label tables with invalid option values when
using combo boxes.
Fixes MINIDUMP-GK
2023-03-12 16:04:05 +01:00
Flyinghead
90269d5204
vk oit: reset all pipelines on init/reset
...
Avoid validation errors when switching to/from RTT Copy to VRAM
2023-03-12 16:00:49 +01:00
Flyinghead
e4332f6275
tex: ignore stride if 0. renderer: ignore invalid textures
...
Ignore StrideSel if 0 during texture update and use width instead.
Return false from BaseTextureCacheData::Update() if texture is invalid.
Make sure valid textures have non-null height and size.
gl,vk,dx9,dx11: ignore invalid textures
Fixes MINIDUMP-GP
2023-03-12 15:58:56 +01:00
Flyinghead
cd7168772d
reios: crash when CDDA play with no disk
...
Fixes MINIDUMP-HW
2023-03-12 15:51:05 +01:00
Flyinghead
77ded80450
cdi: check each track sector size when opening
...
Fixes MINIDUMP-J4
2023-03-12 15:48:13 +01:00
Flyinghead
ea7dd699b9
only launch sgdrvsim slaves on desktop platforms
2023-03-10 18:10:57 +01:00
Flyinghead
018a852995
network: naomi net was closing stdin. Slaves don't broadcast outputs
...
naomi network: Initialize socket to -1. Only close if valid.
Multiboard or sgdrvsim slaves don't broadcast digital outputs
Don't save slave windows position
2023-03-10 18:01:49 +01:00
Flyinghead
8a28ddbfe6
jvs: allow p2 buttons to be always on. sgdrvsim improvements
...
jvs: allow button mapped to jvs P2 to be always on. Don't overflow
button descriptors table
midiffb: invert axis if needed
Launch sgdrvsim network instances automatically. Remap some buttons and
make some always on.
2023-03-10 17:57:27 +01:00
Flyinghead
f186046c98
partial support for sega driving simulator
2023-03-09 17:54:57 +01:00
Flyinghead
5644e834fa
x86 dynarec: use UpdateSystem_INTC like other recs
...
get rid of unused rdv_DoInterrupts and rdv_DoInterrupts_pc
2023-03-09 09:37:48 +01:00
Flyinghead
0b1f69bfd2
dynarec: more accurate cycle counting. limit code duplication
...
arm, arm64, x86: only account for current block cycles if block is
executed. Test cycle_counter before updating it.
arm, arm64: use function for mmu block check (vaddr and FPU ops) to
reduce host code size per block.
2023-03-08 19:24:49 +01:00
Flyinghead
4eb5cd928e
nuke rec-cpp
2023-03-08 18:56:26 +01:00
Flyinghead
b8d47fe0a8
sh4 dmac: more accurate implementation. Fixes sh4_dmac_demo.elf
2023-03-07 18:38:41 +01:00
Flyinghead
abcd9d77d4
set some global to static
2023-03-07 18:36:26 +01:00
Flyinghead
095e5ede81
sh4: more accurate cycle counting
...
get rid of float ops hack for dead or alive 2
get rid of idle skip option and code block hashing
count cycles for high-level wince functions and handlers (GetTickCount,
QueryPerformanceCounter and TLB_MISS handler)
Fixes Dave Mirra Freestyle BMX time counter running too fast.
More FPS for many wince games. Better wince perf on slow devices.
2023-03-07 18:35:01 +01:00
flyinghead
52754cbbbb
win32 lr build fix
2023-03-07 14:26:04 +01:00
Flyinghead
942224c685
in single threaded, only defer emu stop on android
...
on other platforms, render() won't be called => audio not terminated,
rom files not saved, pause event missed
unprotect memory and reset memwatch before loading a state
2023-03-07 13:43:22 +01:00
Flyinghead
670a25b039
dx11: dynamically load d3dcompiler_47/46.dll to avoid old versions
...
Fixes MINIDUMP-8H, MINIDUMP-CD
2023-03-07 13:35:15 +01:00
Flyinghead
aa5fd64777
dx11: use FAILED() macro instead of != S_OK
...
Tentative fix for MINIDUMP-FG
2023-03-06 10:30:33 +01:00
Flyinghead
67bba95dd1
dmac: set DMAOR.AE and raised interrupt if ch2 address error
...
Fixes crackin'dj 1 & 2 freeze at boot
Regression introduced by 66eb08f2d1
2023-03-06 10:26:52 +01:00
Flyinghead
cd6152b193
per-game vmu A1 option
...
When enabled, each game has its own A1 vmu file.
Issue #555
2023-03-05 15:32:47 +01:00
Flyinghead
67c070c20f
naomi: display crosshair for touchscreen games
2023-03-05 15:13:18 +01:00
Flyinghead
2355bb8bb5
pvr: drop more vertices with large x and y
...
Fixes Manic Panic Ghosts bogus transparent rectangles in first stage
2023-03-05 15:08:17 +01:00
Flyinghead
c4d24254db
naomi2: FFB support for Club Kart and King of Route 66
2023-03-04 17:45:53 +01:00
namtsui
27b6bafd0f
vendor newest libelf ( #955 )
...
* vendor newest libelf
source:
2d5b59c99a/libelf
* use exec_elf.h from openbsd to define structs
* libelf: build fixes
- do not link against muslc.
- windows and apple use bundled exec_elf.h.
- casts added like the old elf32.h, elf64.h and elf.c so pointer
arithmetic works. otherwise some compilers complain about void*.
- remove unused bits of exec_elf.h and added typedefs.
* adapt CMakeLists.txt to use libelf's CMakeLists.txt
* adapt reios_loadElf() to new libelf API
2023-03-03 16:05:12 +01:00
Flyinghead
192bbb715e
input: use gamepad left stick for abs/lightgun coordinates
...
Issue #881
2023-03-01 21:48:51 +01:00
Flyinghead
014da3a225
naomi: network output FFB for 18 wheeler and f355
2023-02-28 20:23:58 +01:00
Flyinghead
803f4cd298
controller bindings for load and save state
...
Issue #615
2023-02-28 20:21:29 +01:00
Flyinghead
885a0508c0
Merge remote-tracking branch 'origin/master' into dev
...
# Conflicts:
# core/hw/aica/sgc_if.cpp
# core/hw/naomi/naomi.cpp
# core/hw/sh4/dyna/driver.cpp
2023-02-28 20:02:23 +01:00
namtsui
a1472fb190
OpenBSD 7.2 patches ( #953 )
...
* OpenBSD: BSS is immutable so mark it as mutable so that mprotect RWX works
see: mimmutable(1)
bc009f82ea
* OpenBSD does not have mcontext_t
<signal.h> provides `typedef struct sigcontext ucontext_t;'.
take register names from <machine/signal.h>, which provides struct
sigcontext.
see:
1a13d3ae4e
* OpenBSD uses major.minor for shared libs, so properly dlopen libGL.so
* OpenBSD remove redefinition of swap16
* OpenBSD: SDL2 controller detection
Use sdl_open_joystick() to open controllers on startup instead of
SDL_JOYDEVICEADDED event, which never gets detected.
* OpenBSD does not have mcontext_t but linux does
2023-02-28 18:22:45 +01:00
Flyinghead
b86df7217c
sdl: don't add a joystick if its name can't be retrieved
...
Otherwise it crashes later on during SDL_JoystickClose
Fixes MINIDUMP-9K, MINIDUMP-B4
2023-02-27 17:59:48 +01:00
Flyinghead
26815d042a
arcade ouput: send game name before any output
...
Send the game id before any output to inform clients of the current
running game.
2023-02-27 17:46:00 +01:00
Flyinghead
026f21eddf
naomi: report error if rom is invalid instead of crashing
...
Fixes MINIDUMP-CS
2023-02-27 17:43:08 +01:00
Flyinghead
30501aebb1
Race condition when stopping while emu is failing
...
Emulator::stop now throws if an error occurred on the emu thread.
Fixes MINIDUMP-5B
2023-02-26 22:01:32 +01:00
Flyinghead
4014b1b574
lr: libchdr win32 build fix
2023-02-24 22:11:41 +01:00
Flyinghead
8d54382b10
aica: apply RAM mask to sample address (SA)
...
Fixes MINIDUMP-B9
2023-02-24 21:24:56 +01:00
Flyinghead
47dd8241b6
dx11: log error code
2023-02-24 21:14:01 +01:00
Flyinghead
195da2adcc
oboe: device lost detection might be triggered while stopping
...
Fixes MINIDUMP-BD
2023-02-24 21:11:47 +01:00
Flyinghead
2b430eec6f
gui: stop game scanner when exiting
2023-02-24 18:44:45 +01:00
Flyinghead
d51e36998b
bump libchdr to latest. add switch build fix
...
Issue #895
Fixes MINIDUMP-5C, MINIDUMP-4C, MINIDUMP-3G, MINIDUMP-3H, MINIDUMP-8C,
MINIDUMP-AP, MINIDUMP-AN, MINIDUMP-AM, MINIDUMP-AA
2023-02-24 18:44:06 +01:00
Flyinghead
cf9ccea70b
texcache: unprotect vram immediately even if actual Delete is delayed
...
Fixes MINIDUMP-A5, MINIDUMP-AF
2023-02-22 17:57:31 +01:00
Flyinghead
f885cbb4ea
reios: don't crash if system settngs can't be read from flash
...
Log a warning and proceed. This can happen if the flashrom is corrupted.
Fixes MINIDUMP-9W
2023-02-22 17:51:25 +01:00
Flyinghead
97dfabc416
pvr: don't reset TA parser during soft reset
...
Rendering might be in progress in another thread and this leads to
crashes.
Fixes MINIDUMP-AW and MINIDUMP-AY
2023-02-22 17:49:01 +01:00
Flyinghead
8d2b0749a0
gl: vmu and lightgun xhair not rendered if switching renderer
2023-02-22 17:46:14 +01:00
Flyinghead
a3acf4a8cc
gl: don't use glIsProgram to avoid Adreno 308 random failures
...
Adreno 308 randomly return false from glIsProgram on valid programs
Fixes MINIDUMP-A1 and MINIDUMP-AX
2023-02-22 17:44:17 +01:00
scribam
e505ab6019
safe usage of std::isalnum/std::print
2023-02-20 22:57:24 +01:00
Flyinghead
9b24984b07
crash when switching to full mmu
...
The MMU now has a state variable, which must be set before the dynarec
is reset.
Regression in afcb3b7ad8
Fixes MINIDUMP-AZ, MINIDUMP-B7, MINIDUMP-B0
2023-02-20 22:56:23 +01:00
Flyinghead
7ce08ea860
Fix Touch de Uno 1 & 2 inputs
...
Fix touchscreen touch detection
Default eeproms with calibrated touchscreen and disabled printer
2023-02-20 11:14:02 +01:00
Flyinghead
a156edbd73
Merge remote-tracking branch 'origin/master' into dev
2023-02-19 14:10:37 +01:00
Flyinghead
9dae5827cc
naomi: touchscreen emulation for manic panic ghosts and touch de zunou
2023-02-19 13:51:23 +01:00
Flyinghead
5da799244f
rend: fix regression on YUV texture conversion
...
std::clamp wrong parameters order in d8137a967c
2023-02-18 22:44:44 +01:00
Flyinghead
bf79183bd6
mmu: max alignment requirement is 32-bit
...
a 64-bit access only needs to be 32-bit aligned.
use enum for mmu errors
2023-02-18 13:33:38 +01:00
Flyinghead
afcb3b7ad8
mmu: get rid of FullMMU option. Detect wince with string id in ram
...
ForceWindowsCE now just sets ExtraDepthScale
2023-02-18 13:33:38 +01:00
Flyinghead
5bfbcb210c
dynarec: refactor imm mem r/w and store queue handlers. clean up mmu
...
Eliminate duplicate code for immediate memory read/write in all dynarecs
Simplify PREF to use do_sqw_nommu even for simple SQ remap
Check for address errors before mmu translation
Get rid of unneeded template params in mmu translation funcs
2023-02-18 13:33:38 +01:00
Flyinghead
4f65d45e55
rend: don't access first poly if list is empty. dx11 oit: resize error
...
fix crash with dx11 and gl4 when tr poly count is 0
quick exit if nothing to do
2023-02-18 13:33:38 +01:00
scribam
3f8ecfedbb
sdl: use _WIN32
2023-02-18 13:25:14 +01:00
scribam
d8137a967c
C++17 ( #926 )
...
* cmake: use c++17
* Use std::size
* Use std::make_unique
* Use std::clamp
* Use structured binding
* Use [[fallthrough]]
* Use enable_if_t/is_enum_v/is_integral_v/is_same_v
* Use if constexpr
* Use try_emplace
* Use auto for iterators
* Use inline variables
2023-02-18 13:24:34 +01:00
Flyinghead
a21b79cfbe
builtin cheat to help Extreme Hunting 2 boot
2023-02-15 18:59:44 +01:00
Flyinghead
3f4c24d350
gl4: don't reference two-volumes attributes if not used
...
The naomi2 vertex shader doesn't set 2-volume attributes (vtx_base1,
vtx_offs1 and vtx_uv1) if they aren't used. But the pixel shader always
references them even though they aren't actually used. This breaks some
gl drivers: "The shader uses varying vtx_uv1, but previous shader does
not write to it."
Fixes MINIDUMP-93
2023-02-15 18:56:12 +01:00
Flyinghead
645f413523
sentry: get the build version from the log file if available
...
avoid discrepancy between uploading and minidump versions
2023-02-13 20:02:14 +01:00
Flyinghead
d2e8c9465b
dx11 oit: render target and depth texs must have the same dimensions
...
Fixes missing depth/stencil when changing resolution or
enabling/disabling full framebuffer emulation.
2023-02-12 15:05:02 +01:00
Flyinghead
04df0da7cb
pvr: increase index size for wild riders
...
Index overrun with wild riders
Fixes MINIDUMP-7A
2023-02-12 15:05:02 +01:00
Flyinghead
5eeddecb40
maple: set bus speed back to 2Mbps. Worms Pinball needs FFBE
...
Power Drift crashes with 1Mbps
partial revert of 2332884d8b
Force Slave Zero to use real bios (still has issues)
Worms Pinball prototype needs full framebuffer emulation
2023-02-12 15:05:02 +01:00
scribam
71aea45811
vulkan: lower shader version requirement
2023-02-11 14:41:41 +01:00
scribam
cf690fbb61
cmake: improve compile options for VulkanMemoryAllocator
2023-02-11 14:41:07 +01:00
Flyinghead
85b286ec47
oboe: don't attempt to recover the audio stream suring init
...
Apparently oboe can call the error callback function during the initial
openStream. Let it fail in this case.
Fixes MINIDUMP-8K
2023-02-11 14:25:41 +01:00
Flyinghead
07d0cf6839
cdi: don't crash if file re-open fails
...
Not sure how this can happen but it does. Could be a device removed or
corrupted CDI with many tracks.
Fixes MINIDUMP-8F, MINIDUMP-8Q
2023-02-11 14:09:22 +01:00
Flyinghead
69d2cfd56d
read disk MCN and tracks ISRC from .cue files
2023-02-10 15:07:25 +01:00
Flyinghead
0f90293252
dynarec: handle illegal instructions
2023-02-10 14:53:54 +01:00
Flyinghead
0d166e1403
msvc build fix
2023-02-10 14:17:45 +01:00
Flyinghead
b5879e6e1d
unintended change and merge issue
...
log: revert change that wasn't supposed to be committed
emulator: fix incorrect merge
2023-02-10 12:56:57 +01:00
Flyinghead
5b169b7f9d
naomi: use master pid to make unique multiboard shared mem file on unix
2023-02-10 12:54:20 +01:00
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
638e5d233a
gl: fix naomi2 lights regression
...
regression introduced by e18a4afcbb
2023-02-10 10:15:09 +01:00
Flyinghead
040db856f8
limit millenium racer widescreen cheat to the correct game
...
Tentative fix for MINIDUMP-87
2023-02-08 12:08:11 +01:00
Flyinghead
8d0654c323
vk: revert to glslang 11.11.0 (sdk 1.3.224.1)
...
partial revert of 1c8e558e25
Issue #908
2023-02-08 11:59:37 +01:00
Flyinghead
cacfdbad90
Revert "deps: update glslang and vulkan"
...
This reverts commit 1c8e558e25
.
2023-02-07 11:31:58 +01:00
Flyinghead
811bf6f449
Revert "vk oit: tentative workaround for AMD crash"
...
This reverts commit 084066bde7
.
2023-02-07 11:28:14 +01:00
Flyinghead
a045c52146
sdl: handle joystick and gamepad api errors to avoid crashes
...
Fixes MINIDUMP-7K
2023-02-06 15:20:21 +01:00
Flyinghead
98531e07ea
hle bios: fix SF rush, jeremy mc grath and the grinch
...
protection checksum and game bugs
2023-02-06 15:15:44 +01:00
Flyinghead
5020a267af
pvr: fix unsorted pass triangle count. tr count should accumulate
...
partial revert of 927db7f189
Fix missing walls in Bust a Move 4 (vs)
2023-02-06 15:09:18 +01:00
Flyinghead
debe21de7b
Merge remote-tracking branch 'origin/master' into dev
2023-02-05 22:20:28 +01:00
Flyinghead
084066bde7
vk oit: tentative workaround for AMD crash
...
Issue #908
2023-02-05 21:56:08 +01:00
Flyinghead
37c17e4300
pvr: re-use TA contexts if not used for 60 frames
2023-02-05 18:32:35 +01:00
Flyinghead
3a21f545d8
cfg: allow non per-game option to be overriden. Remove per-game for some
...
Allow non per-game options to be overridden with command line args.
Fixes MINIDUMP-7G
Save state slot, box art settings, UploadCrashLogs, UseRawInput and lua
filename shouldn't be settable per-game.
2023-02-05 11:38:21 +01:00
Flyinghead
f35167a0de
egl: better constants
2023-02-05 11:31:22 +01:00
Flyinghead
0b6c09da02
sdl: don't rely on event to get window size when processing resize event
...
window size may be different from drawable size if high-dpi is enabled.
Fixes wayland resize with scale factor > 100%.
2023-02-05 11:30:23 +01:00
Flyinghead
d9c08bd081
gl: save current framebuffer in RenderLastFrame. get rid of verify (OSD)
...
Current framebuffer must be saved in gl.ofbo.origFbo when entering
RenderLastFrame and restored on exit.
Tentative fix for MINIDUMP-74
glIsProgram(OSD_SHADER) is strangely failing on Adreno 308 so let's get
rid of it (and pray).
Fix for MINIDUMP-7D, MINIDUMP-7C, MINIDUMP-7B, MINIDUMP-79, MINIDUMP-6J
2023-02-05 11:26:50 +01:00
Flyinghead
927db7f189
pvr: sorted triangle count incorrect with multiple render passes
...
causes crash in setProvokingVertex
Fix for MINIDUMP-7A, MINIDUMP-7H, MINIDUMP-7J
2023-02-05 11:18:18 +01:00
Flyinghead
6e940e4d08
ggpo: move endOfFrame() call back to start render
...
Naomi2 TA context geometry for the current frame is lost when
rollbacking during vblank in because it hasn't been queued for render
yet.
Fixes black screen after GGPO rollback for Naomi 2 games
2023-02-03 11:34:58 +01:00
Flyinghead
90e9f70a1a
vk: fix resizing on wayland. validation errors with framebuffer render
...
wayland doesn't return the current surface dimensions in
getSurfaceCapabilities so we defaulted to 640x480. Instead use the
current display dimension as set by SDL.
Issue #648
Issue #898 (partial fix)
Vulkan validation errors when doing direct framebuffer rendering if fb
slots are skipped, since the corresponding fence isn't waited on.
Instead use an independent index to use them in sequential order.
2023-02-03 11:19:41 +01:00
Flyinghead
bfdab4db20
pvr: add dummy sorted triangle to signal that per triangle is in use
...
Avoids crash when sorted triangle list is empty and renderer uses wrong
index values
2023-02-03 11:07:21 +01:00
Flyinghead
f0e4574132
aica arm: stop the cpu if setting an illegal mode instead of crashing
...
Fixes MINIDUMP-70
2023-02-03 11:03:08 +01:00
Flyinghead
c461624a67
move khronos to deps. get rid of old controller mappings and pandora
2023-02-03 10:42:43 +01:00
Flyinghead
d1e6ee9cd7
pvr: add a dummy sorted triangle if list is empty
...
this signals that sorted triangles are being used otherwise wrong
indexes values lead to a crash
2023-02-02 20:19:52 +01:00
Flyinghead
6cfbdf6586
ui: imguiDriver may be null if renderer/context fails to reinit
...
Force a reinit in this case
Fixes MINIDUMP-6R
2023-02-01 18:05:37 +01:00
Flyinghead
6b2063b06f
GGPO fixes
...
Memwatchers weren't properly reset after a ggpo session.
Race condition when stopping if GGPO restarts the cpu for a new frame.
The emu thread might still run some rollback frames before stopping, so
the emu state must be updated only after ggpo is stopped.
Fixes MINIDUMP-6P
Don't autosavestate when GGPO is on
Really disable renderer during GGPO advance frame
Don't stop the sh4 after render (single threaded) when GGPO is on
android: Don't restart when unpaused if online
2023-02-01 18:04:26 +01:00
Flyinghead
301a7c5dcd
savestate: write-only regs value must be deserialized (SB_?DAPRO)
2023-02-01 13:58:29 +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
b81a6762bc
switch build fix
2023-01-31 17:39:57 +01:00
Flyinghead
5875eda4d0
game id of console games wasn't trimmed
...
regression introduced by ee84567c17
2023-01-31 12:58:43 +01:00
Flyinghead
04c418d02a
serialize: move code out of serialize.cpp and into modules
2023-01-31 10:13:03 +01:00
scribam
02a002d55b
sdl: use target SDL2main
2023-01-30 13:54:31 +01:00
Flyinghead
0305904873
force NTSC for some games
2023-01-30 13:40:35 +01:00
Flyinghead
ee84567c17
naomi: use gameId instead of naomi_game_id to get current game name
...
naomi_game_id isn't reset if a console game is loaded.
settings.content.gameId should be used instead.
Issue #901
Fixes MINIDUMP-6G
2023-01-30 13:34:06 +01:00
Flyinghead
528235ce9d
jvs: fix kingrt66 instant win with accelerator
2023-01-30 13:28:14 +01:00
Flyinghead
27ea6ca092
aica: rename mem and reg accessors
2023-01-30 13:21:43 +01:00
Flyinghead
cb94354099
switch build fix
2023-01-30 12:18:19 +01:00
Flyinghead
53dab29ddb
iOS and Switch build fixes
2023-01-30 11:10:14 +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
ea3262f7b0
log: alpha order for categories. update some category names
2023-01-29 21:24:44 +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
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
Flyinghead
642fad9a6e
cfg: per-game settings must be deleted when changed back to standard
...
When a per-game setting is the same as the standard one, it is ignored
and not saved to emu.cfg. However the previously saved per-game setting
wasn't deleted, making it impossible to revert.
Issue #653
2022-07-25 11:25:42 +02:00
Edward Li
885862a45e
Get writable log path for macOS also
2022-07-22 18:12:43 +02:00
Edward Li
9b751fced8
NSLog with UTF-8, better color handling
2022-07-22 18:12:43 +02:00
Flyinghead
19ccc6a38d
uwp build fix
2022-07-21 14:51:20 +02:00
Flyinghead
ad8b41adb0
boxart: extract 0GDTEX.PVR. Offline scraping
...
extract iso9660 file system utility out of reios
.pvr limited parser
2022-07-21 10:43:45 +02:00
Flyinghead
807b8dea91
lr: Framebuffer size and aspect ratio. Fix vmu size and position (GL)
...
gl4: fix lightgun xhair size and position
2022-07-19 20:26:37 +02:00
Flyinghead
8e8935b9c4
pvr: xform matrix 240p support. screen stretching changes
...
Use FB_R_CTRL.vclk_div to detect progressive mode.
transform_matrix: Support non-4:3 aspect ratio such as 640x240. Don't
expect 480 height. Issue #690
Add black bars at top and bottom if screen aspect ratio is too low.
Issue #584 .
Framebuffer size doesn't depend on screen stretching. Stretching is done
when blitting to screen.
lr: correct subsequent stretching when drawing vmus and xhair
2022-07-18 18:21:09 +02:00
Flyinghead
76bf574668
gl,gl4: disable anisotropic filtering if not linear
...
Issue #695
2022-07-15 20:36:29 +02:00
Flyinghead
9d17fc15a3
gdrom, hle: don't restart cdda if paused or playing
...
Fix regression due to ab791d1b9c
(unpausing restarts the current track)
Issue #690
2022-07-14 16:49:56 +02:00
Flyinghead
1cadd4e923
gdrom: set sub-q channel flag on audio tracks in TOC (ADDR)
...
Fixes V-Rally 2 CDDA tracks not playing. Issue #534
2022-07-14 16:43:41 +02:00
Flyinghead
ab791d1b9c
gdrom: ignore CD_PLAY when already playing, not when paused
...
Issue #690
2022-07-13 12:52:29 +02:00
Flyinghead
4f206d2773
pvr: set correct framebuffer size in 240p/pixel_double
...
Some games use 240p and pixel_double resulting in a 320x240 framebuffer.
Renderer should be resized accordingly.
Fixes linear filtering artifact in KoF dream match 1999 (Issue #690 )
2022-07-12 15:55:49 +02:00
Flyinghead
7f9d9b81aa
gdrom: don't reset current cdda sector on cd_play if already playing
...
Issue #690
2022-07-12 15:33:11 +02:00
Edward Li
c77c3ab015
DRY
2022-07-09 11:46:27 +02:00
Enrique Santos
c0e52b9a1a
load game: destroy old maple devices before create call
2022-07-08 20:38:16 +02:00
Flyinghead
0840da1bd5
sdl: fix inverted axis detection
2022-07-08 20:36:20 +02:00
Flyinghead
f4986008fe
jvs: fix 86-request decoding
...
Fixes kingrt66 inputs when networked
Issue #673
2022-07-05 14:34:57 +02:00
Flyinghead
19112aecb2
Merge remote-tracking branch 'origin/master' into dev
...
# Conflicts:
# core/hw/naomi/naomi_cart.cpp
2022-07-01 12:42:37 +02:00
Flyinghead
6a5db32d5d
don't protect RTT textures vram
...
Fixes Spikers Battle RTT texture spurious update before use
(transitions)
2022-06-27 13:37:22 +02:00
Flyinghead
b0f3e065be
ui: wrong scaling after imgui driver reset
...
ImGuiStyle::ScaleAllSizes() is cumulative so reset style before calling
it
Issue #676
2022-06-27 13:32:30 +02:00
Flyinghead
9a557978c4
gamesdb: fix exception when boxart is missing
2022-06-26 21:55:00 +02:00
Flyinghead
fe895211c1
ui: reset imgui driver before creating new one
...
Possible fix for Issue #676
2022-06-26 15:23:30 +02:00
Flyinghead
907131b7f5
allow ForceWindowsCE option to be used in per-game config
...
Issue #252
2022-06-24 13:27:21 +02:00
Flyinghead
76508146ae
cheats: only apply widescreen cheat if current value is expected
...
Issue #180
2022-06-24 11:47:24 +02:00
Flyinghead
7f28b767e4
gl: boxart clamp to edge if border not supported
2022-06-24 10:57:48 +02:00
Flyinghead
5f5a748031
boxart: batch uid searches. Bios image. More arcade rom name changes
2022-06-23 22:06:50 +02:00
Flyinghead
74852520dc
maxspeed: allow use of per-game network settings
...
Issue #671
2022-06-20 20:56:53 +02:00
Flyinghead
faec4d8e50
gl: always use int arithmetic in palette index glsl calculation
2022-06-20 20:52:15 +02:00
Flyinghead
d2aca1d621
savestate: overflow crash when serializing
2022-06-20 20:49:09 +02:00
Flyinghead
7bcd8c819a
arcade rom names update. non square boxart
...
Correct handling of non square images
Improve search for arcade game names
Retrieve other images if no boxart (titlescreen, screenshot)
Changed some arcade rom names to more friendly ones
2022-06-20 18:07:06 +02:00
Flyinghead
7209a61583
boxart: race conditions. revert dash in disk id hack
...
Filter BIOS by name like regular games.
2022-06-18 17:49:37 +02:00
Flyinghead
1523fafce0
vk: fix crash when resizing window in boxart mode
2022-06-17 16:17:58 +02:00
Flyinghead
3915c55251
boxart: skip invalid disks. fix disk id dash issue. save found status
2022-06-17 16:13:58 +02:00
Flyinghead
5259aa20e6
boxart: delete trailing [.*] in game names. Remove extension first
2022-06-16 17:03:14 +02:00
Flyinghead
11ecb473b6
new option to broadcast digital outputs over the network
...
Similar to MAME's "-output network" option. Should be compatible with
MAME Hooker and the like.
Limit boxart images loaded per frame to 10.
2022-06-16 16:50:26 +02:00
Flyinghead
54d92a11e8
build fixes
2022-06-15 22:38:05 +02:00
Flyinghead
5eb302898f
box art fetch and display
...
Issue #22
2022-06-15 21:22:12 +02:00
Flyinghead
05961ac883
android build fix
2022-06-11 13:41:44 +02:00
flyinghead
afd07c25ba
pvr: store tex address in render context. texture cache refactoring
...
Store FT_W_SOF1 and FT_W_CTRL in render context since they can be
modified before render end. New tentative fix for vf4 water reflection
flashing black during netplay.
Refactor texture cache to use constructors. RTT code moved from
renderers.
Partial revert of ddcd3861d3
2022-06-11 13:24:22 +02:00
flyinghead
7ab92d88b1
msvc x86 build fix
2022-06-10 17:57:53 +02:00
flyinghead
3780299803
win32 raw api: user-friendly names for devices
...
Issue #664
2022-06-10 17:20:29 +02:00
flyinghead
d78bb9ed3f
don't list hidden folders and files on windows. Better parent dir prompt
...
Issue #666
2022-06-10 15:29:28 +02:00
Flyinghead
b5f1552ed8
elan: don't crash on invalid texture xfer size
...
Issue #647 : fixes initdv3jb area conquered crash
2022-06-06 15:54:25 +02:00
Gabriel Morazán
397ddef68c
(Libretro) Actually allow DX11 only cores.
...
Simple build fix.
2022-06-02 18:11:49 +02:00
Gabriel Morazán
3ec7f293ee
(Libretro) Allow a DX11 only core to be built. ( #657 )
...
Main use case is Xbox systems.
2022-06-01 22:27:51 +02:00
flyinghead
26c8e8dab8
dx11 oit: naomi2 regression. Tr modvols shader needs divPosZ too
2022-06-01 19:26:56 +02:00
Flyinghead
fdcea88519
gl4: wrong depth for transparent polys with native depth interp
...
Issue #630
2022-06-01 19:26:56 +02:00
flyinghead
bf6c73060b
native depth interpolation option to help AMD gpus
...
When enabled, set 1/z in pos.w and use native interpolation for colors,
UV and depth.
Get rid of manual modvol clipping in dx11.
2022-06-01 19:26:56 +02:00
Flyinghead
ddcd3861d3
ggpo: don't protect rtt texture vram if ggpo is enabled
...
tentative fix for flashing water reflection texture in vf4 during
netplay
2022-05-31 17:42:42 +02:00
Flyinghead
971d47eb42
sdl: SDL_QuitSubSystem() on exit
...
Tentative fix for issue #654
2022-05-31 17:42:42 +02:00
Enrique Santos
13bd42bdab
chat: disable window timeout after you respond to message
2022-05-30 16:15:44 +02:00
Flyinghead
71ac212dc7
elan: disable texture for vertices without UV coordinates
...
Fixes initial D white transparent quad at start of race
2022-05-30 16:15:15 +02:00
Flyinghead
1268077f6b
cheat: missing cheat value in constructor
...
Fixes vf4tuned dimm check cheat writing random value (SH4 exception,
boot loop)
2022-05-29 13:30:06 +02:00
Flyinghead
167faff1f3
vk: invalid lightgun crosshair if maple device A isn't a lightgun
2022-05-28 12:58:53 +02:00
Flyinghead
5ac0772a2a
vk oit: out of pool memory with moltenvk during render to texture
2022-05-26 18:06:30 +02:00
Flyinghead
e2c2d6606d
Fix Dead or Alive 2: Limited Edition (JP) widescreen cheat
...
Issue #625
2022-05-26 17:54:45 +02:00
Flyinghead
48361f58b6
vk oit: wrong temporary framebuffer dimensions
2022-05-25 16:44:24 +02:00
Enrique Santos
dcb439f74a
add ggpo chat window timeout
2022-05-23 11:42:11 +02:00
flyinghead
739a27be63
dx11 oit: render target and depth/stencil must have same dimensions
...
Fixes glitches during doa2 attract mode (depth/stencil missing).
2022-05-23 11:41:37 +02:00
Flyinghead
e84cdce398
reios: flashrom read returns 0 on success. system id/timezone flash fix
...
flashrom read returns 0 on success, not size read.
Fixes Slave Zero (PAL) crash
2022-05-21 15:46:22 +02:00
Flyinghead
af2fe242f9
flash: console id is checksummed
2022-05-18 14:58:21 +02:00
Flyinghead
0fb177bf85
reios: fix regression on many games due to 77a2bbbb
...
Jeremy McGrath
Skies of Arcadia
Speed Devils Online
Sydney 2000
Tech Romancer
Time Stalkers
Virtua Athlete 2000
Quake 3 (EU)
Climax Landers (JP)
Frame Gride
Pop'n'Music 1 & 2
Simple2000 2 & 3
2022-05-18 14:56:14 +02:00
Edward Li
baab70c509
Rumble using MacBook's Taptic Engine (take 2)
2022-05-17 16:37:37 +02:00
scribam
12929c4571
openmp: use _OPENMP preprocessor, search openmp pkg unconditionally if enabled
2022-05-17 16:36:57 +02:00
Flyinghead
62522e4eb3
vk: naomi2 crash when lightModel is null
...
fixes crash at end of tutorial in kingrt66
2022-05-17 16:36:34 +02:00
Flyinghead
221060cc70
widescreen cheat for Dynamite Deka2 (JP), Zombie Revenge (naomi)
...
Better Dynamite Deka ex (naomi) widescreen cheat.
Courtesy of Goddamn Superhero
2022-05-16 13:06:38 +02:00
Flyinghead
58d1f7cee1
pvr: reset nextContext in Reset(). Use tactx_Alloc for direct fb render
...
Fix crash with multipass renders
Issue #634
2022-05-16 13:04:38 +02:00
Flyinghead
430256266f
pvr: lightModels TA overrun on beach spikers
...
Better sizing of TA_context lists
2022-05-15 13:41:03 +02:00
Flyinghead
f9e38b11d9
pvr: restore TA_context pool
...
fixes performance regression on android
2022-05-15 13:37:58 +02:00
Flyinghead
78e075546a
libretro android build fix
2022-05-15 13:35:23 +02:00
Flyinghead
903c768f7f
vk oit: First frame after init wasn't displayed
2022-05-13 17:12:31 +02:00
Flyinghead
cd22ba1a2b
android: use WifiManager.MulticastLock to receive broadcast packets
...
In many cases, broadcast UDP packets can't be received on android unless
a MulticastLock is held.
2022-05-12 17:39:49 +02:00
flyinghead
cce8cb8528
dx11 oit: missing TextureFiltering support
...
Issue #628
2022-05-11 19:16:31 +02:00
Flyinghead
4554450d1d
oit: add max layers and pixel buffer size options
2022-05-05 18:01:05 +02:00
Flyinghead
a0d1dbf833
dx11: don't create the device in debug mode
2022-05-04 19:38:43 +02:00
Flyinghead
a1a89df17f
change vf4ft dimm check cheat. Don't apply cheat if not needed.
...
Fixes the SH4 exception seen with the previous cheat on some platforms.
Don't write memory if value is unchanged to avoid unnecessary protection
faults.
2022-05-04 10:30:35 +02:00
Flyinghead
cf36384481
use nearest/point sampling to draw framebuffer if nearest is forced
2022-05-03 17:55:02 +02:00
flyinghead
9103371362
vk: increase descSet pool size for storage buffers and input attachments
...
Fixes out of host memory error on macOS
Issue #619
2022-05-03 17:49:46 +02:00
flyinghead
1b5ad34c8e
dx11: (oit) use temporary render target for multipass
...
Render to temporary render target at end of pass and swap with regular
RT.
Fixes Tony Hawk 2 missing transparent geometry and character shadow.
Issue #618
2022-05-03 17:47:43 +02:00
Flyinghead
3cc991fa4f
oit: poly number/vertex id overflow
...
Use 17 bits for vertex id but substract first vtx index
Use 13 bits for poly number instead of 12
Panzer Front uses more than 4095 tr polys.
Issue #616
2022-05-01 12:33:53 +02:00
Flyinghead
0181685d2f
cheats: use software name as additional condition for widescreen
...
don't enable widescreen cheat for code veronica X
Issue #229
2022-04-30 12:08:36 +02:00
Flyinghead
39bb94dd55
jvs: don't scale ninja assault lightgun coordinates
...
Fixes reload issues (Issue #610 )
2022-04-30 11:50:56 +02:00
Flyinghead
77a2bbbb8d
reios: cancel gd dma int in g1_end_dma. drv_stat returns busy when busy
...
Cancel G1 DMA interrupt in G1_DMA_END (fixes MSR, Psychic Force, Pro
Pinball, Sega Swirl)
GET_DRV_STAT must return busy when drive is busy (fixes Hell Gate, Zero
Gunner)
Better named constants
2022-04-29 15:18:41 +02:00
Flyinghead
afb0a80de1
pvr: autosort needs empty passes to be accounted for
...
Issue #612
2022-04-29 11:37:17 +02:00
Flyinghead
49932e02a6
gdrom: generate raw subcode
2022-04-27 14:32:53 +02:00
Flyinghead
990a4ad583
vk: ignore pipeline cache if loading fails
2022-04-27 14:30:03 +02:00
Flyinghead
fc9e1e401b
naomi: emulate midi ffb drive board response
...
needed for driving simulator
2022-04-27 14:28:58 +02:00
Flyinghead
3b81bbcae5
naomi2: gmp diffuse/specular flags select vertex or model colors only
...
These flags shouldn't be used to disable diffuse/specular shading
Fixes road surface glitches in initdv3e (Usui map)
2022-04-21 13:55:09 +02:00
Flyinghead
902fc2cbe8
naomi: override Region settings if current region BIOS isn't found
2022-04-20 14:16:15 +02:00
Flyinghead
50f5dabf4a
naomi2: use diffuse/specular color before light routing
...
fixes lion's jacket color and shun's face glitch (vf4)
2022-04-20 14:13:42 +02:00
scribam
aa6c9e2106
msvc: fix linking issues in debug build
2022-04-17 13:24:37 +02:00
Flyinghead
c625cc68bf
lr: increase vk descSet pool size. Insert card binding
...
vk: Use same descriptor set pool sizes for standalone and core
lr: bind "Insert Card" to L button (Naomi button 6)
lr: reset input descriptors when loading a new game
lr: don't reset maple devices in arcade mode: reloading eeprom cancels game settings
2022-04-17 13:23:16 +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
a9e261d280
simplify TA parsing
2022-04-13 20:36:52 +02:00
Flyinghead
a710674cd4
gui: init once. reset ui driver when needed. android 120+ Hz support
...
ImGui is now initialized once at startup and shutdown before
terminating. graphics initialization is independent.
Move more imgui stuff into imgui drivers.
switch: set scaling on external screen to 1.4, same as xbox
UI scaling refactoring.
2022-04-13 18:06:19 +02:00
Flyinghead
ddfc00ed9f
Merge remote-tracking branch 'origin/master' into dev
2022-04-13 16:29:41 +02:00
Flyinghead
ac71970561
don't save built-in cheats (vf4 dimm check)
2022-04-13 13:10:56 +02:00
Flyinghead
fd50529d86
gl: (lr) black screen when vmu display is on
...
need to call glBindVertexArray(0) to avoid VAO being modified by the
frontend
2022-04-12 18:23:09 +02:00
Flyinghead
15b21fff2b
vk: don't use anisotropic with nearest. Use linear mipmap filter
...
Issue #580
2022-04-11 13:35:48 +02:00
scribam
f46bccfecd
cmake: reunified dx9 files
2022-04-10 11:28:09 +02:00
flyinghead
d035af7ff0
xbox: low resolution (640x480) with recent firmware
...
Device ids for xbox series s/x returned from
GetGamingDeviceModelInformation() have changed
2022-04-09 12:04:51 +02:00
Flyinghead
e0058c17ff
lr: don't terminate emu on deinit. gl4: buffer wasn't released on term()
...
shared libraries containing gnuc unique symbols are never unloaded on
linux, and possibly other platforms. So don't terminate the emulator on
deinit and init it only once.
Issue #566
gl4: buffer not released on term() was causing crashes or black screen when restarted.
2022-04-05 14:53:47 +02:00
Flyinghead
bf61f5cfe8
Merge remote-tracking branch 'origin/master' into dev
2022-04-04 12:11:10 +02:00
Flyinghead
8dcc25e1a9
ta: default base/offset color is white, not black
...
fixes black players in NHL 2K
2022-04-04 11:47:11 +02:00
Flyinghead
a428167dc6
naomi network: alienfnt startup crash if not connected
2022-04-04 11:43:54 +02:00
Flyinghead
48e3a3eb68
aica: double arm clock speed
...
actual aica arm clock seems to be 22.5792 MHz, which means 512 cycles
per sample at 44.1 KHz (from 256)
fixes vf4 audio hiccup in character selection screen
2022-04-03 20:53:44 +02:00
Flyinghead
a635fb3f77
test automation build fix, better exit
2022-04-03 20:46:50 +02:00
scribam
274f2fe10d
ci: add ninja, update actions and ccache support
2022-04-03 15:38:49 +02:00
Flyinghead
320f679038
win32 build fix
2022-04-02 16:59:57 +02:00
Flyinghead
94c20ba29f
elan: reset TA parser before loading state
2022-04-02 16:43:15 +02:00
Flyinghead
8baebcfb5b
maxspeed networking. Store aw force feedback value
2022-04-02 16:41:52 +02:00
flyinghead
2c96d49cf2
dx9, dx11: support for forced point/linear tex sampling and anisotropy
2022-04-02 11:18:48 +02:00
Hugo Locurcio
a9cabdc342
Add texture filter override setting, expose anisotropic filtering
...
The new texture filter option can be set to:
- Default (keeps the game's intended filter mode).
- Force Nearest-Neighbor (crisper appearance).
- Force Linear (smoother appearance).
Additionally, mipmapping can now be enabled on nearest neighbor-filtered
textures (which is used if nearest-neighbor filtering is enabled, including
with anisotropic filtering).
Anisotropic filtering was already implemented in both OpenGL and Vulkan,
but it was not exposed in the GUI.
2022-04-01 16:00:41 +02:00
Hugo Locurcio
90a95b4688
Add 6×, 7×, 8× and 9× options for internal resolution
...
This can be used to get a smoother image (supersampling) on
1440p and 4K displays. The 9× setting is also suited for native
resolution rendering on 8K displays.
2022-04-01 16:00:28 +02:00
flyinghead
7fcce4a59b
naomi network: ignore WSAECONNRESET. Longer timeout for client
2022-03-30 15:48:23 +02:00
Flyinghead
554ffcd08f
naomi: use platform-independent network error codes (win32)
2022-03-30 14:13:02 +02:00
Flyinghead
af0574c04e
build fixes for msvc, ios and android
2022-03-27 15:57:01 +02:00
Flyinghead
6c38295d62
new naomi network protocol. vblank event. initd rumble support
...
new vblank event, used by cheats, lua and naomi net
new udp net protocol for naomi. rx/tx on vblank on emu thread.
input: rumble power configurable (Issue #158 )
ui: rumble intensity slider, enable/disable upnp
aica: hook to consume midi out
decode midi out to simulate rumble for initd
upnp can now be disabled
2022-03-27 15:23:21 +02:00
Flyinghead
1e01dbb151
wrong line padding value when copying RTT to vram due to previous commit
2022-03-26 20:51:07 +01:00
Flyinghead
be270259ee
crash with RTT and copy to VRAM if width > linestride
...
RTT texture width must not exceed FB_W_LINESTRIDE
fixes Flag to flag crash
2022-03-25 15:41:16 +01:00
Flyinghead
55e613fae5
widescreen cheats for gun spike, initdv3e, alpilotj, monkey ball
...
Courtesy of Esppiral
2022-03-21 17:51:31 +01:00
Flyinghead
a5bad2b9b7
more naomi widescreen cheats. Fix vathlete 4-player mode
...
widescreen cheats for asndynmt, doa2m, slashout, spikers battle,
18wheeler, beach spikers. Courtesy of Esppiral
vathlete needs 2 I/O boards for 4-player mode
2022-03-20 17:49:50 +01:00
Flyinghead
ebb251d8cf
widescreen cheat for vf4tuned
...
Courtesy of Esppiral
2022-03-19 11:30:45 +01:00
Flyinghead
56768f2d3d
naomi2: use TA parser. Use N2light directly with vk, dx11
...
Use TA parser to handle list type and clipping for Naomi 2 polys.
Pass all pass-throuch TA data to TA parser but stop on naomi2 command.
Set default projection matrix instead of identity (fixes Area conquered
screen invisible in initd).
Change N2Light and N2LightModel so they are usable in GLSL (vulkan) and
HLSL (dx11).
TA parser throws exception for unhandled param.
ta_vtx.cpp refactoring.
Support for subtractive lights (diffuse+specular). Used in some clubk
circuits.
Fix vulkan crash when direct FB render.
2022-03-16 17:28:45 +01:00
Flyinghead
5b3d36e081
naomi2: network support for clubk and initd
...
clubk: don't reverse handle by default
hotd2 doesn't have a proper game id or standard eeprom
2022-03-15 19:44:24 +01:00
Flyinghead
ad08590197
vulkan: cache per-poly desc sets in map
...
avoid desc set pool exhaustion in per-triangle
2022-03-13 11:39:30 +01:00
Flyinghead
53b5588bda
Merge remote-tracking branch 'origin/master' into dev
2022-03-13 11:01:27 +01:00
Flyinghead
1015a8c098
naomi2: vulkan support
...
oit: use #define instead of functions in GLSL
2022-03-12 17:56:46 +01:00
Flyinghead
27ddc215cc
naomi2: boost lights by constant factor. simplify shaders
2022-03-08 17:38:29 +01:00
Flyinghead
c11a6cd432
naomi2: partial gles2 compatibility
...
Issue #553
2022-03-07 20:32:08 +01:00
Flyinghead
514eedbc63
maple: do not raise maple_dma interrupt for light gun
...
Issue #474 (Virtua Cop 2 momentarily freezes when shot fired)
2022-03-07 19:16:49 +01:00
Flyinghead
1f61f80c92
input: fix naomi rotary encoders
...
Games with multiple JVS input boards poll inputs more than once,
ignoring some relative mouse movements.
Issue #557
2022-03-06 17:57:16 +01:00
scribam
830ffd0559
deps/picotcp: pico_ipv6_source_dev_find requires PICO_SUPPORT_IPV6
...
Backport 529074aab4
2022-02-28 07:24:50 +01:00
scribam
ed066df469
deps: update miniupnpc
2022-02-28 07:24:36 +01:00
Flyinghead
e5863920c4
naomi2: fix beach spiker crash
...
VUR vertices can also have environment mapping
2022-02-22 08:48:51 +01:00
Flyinghead
7f61b44d42
imgui: better drag scrolling code
2022-02-21 19:48:52 +01:00
Flyinghead
a5660fa2b4
missing changes from previous commit
2022-02-18 17:40:00 +01:00
Flyinghead
ecc03e3ebc
naomi: use boot rom id to configure eeprom
...
Make eeprom from scratch if it doesn't exist based on boot id info.
Override eeprom settings to make game happy
Change region to supported one
Get rid of per-rom region info in rom list
New option to configure Naomi games in free play
2022-02-18 17:35:20 +01:00
Flyinghead
af4638e83f
naomi2: fix another initdv2 end of race crash
2022-02-18 16:40:26 +01:00
Flyinghead
cecf1a5497
naomi2: fix initdv2 end of race crash
2022-02-17 18:31:20 +01:00
Flyinghead
f2374982b8
pvr: don't merge polys with != palette. 2nd pass sometimes ignored
...
polys with different palette index shouldn't be merged.
If a pass isn't using any opaque, it can't be found. Fall back to using
the transparent or punch-through list in this case.
2022-02-17 18:30:29 +01: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
214db9e0b1
gl4: depth pass need texture and UV for punch-through polys
2022-02-15 17:18:32 +01:00
Flyinghead
3bbc89afc9
dx11: fix crash with modvols
2022-02-15 17:16:45 +01:00
Flyinghead
e35ccbbb18
naomi2: force region for some roms. elan clean up
2022-02-15 17:15:44 +01:00
Flyinghead
20571c5aa1
chd: MIL-CD support
...
Issue #529
2022-02-15 11:34:11 +01:00
Flyinghead
3872a6b475
libretro: support VMU and lightgun crosshair with dx11 OIT renderer
...
OIT support was missing
Issue #525
2022-02-15 11:06:51 +01:00
Flyinghead
083a1c85a8
gl: shader compile error on shield tablet
...
Don't use GL_NV_shader_noperspective_interpolation since it's not really
needed (and wasn't enabled)
Issue #510
2022-02-14 18:54:27 +01:00
Flyinghead
943e0285ac
libretro: support VMU and lightgun crosshair with dx11 renderer
...
Issue #525
2022-02-14 18:47:23 +01:00
Flyinghead
d7abfc688c
dx11: oit depth pass needs the palette for PT polygons
...
Punch-through polys may use a palette, which is needed for alpha testing
Issue #467
2022-02-14 18:41:38 +01:00
Flyinghead
8f01ef90cf
gl,dx9,dx11: only render frame when Renderer::present() has been called
...
Issue #511
2022-02-14 18:38:58 +01:00
flyinghead
8d071bf4ea
naomi2: dx11 support. fix ambient color. no depth write in per-strip
...
dx11: naomi2 support
n2: ambient color was swapping red and blue
gl, dx11: don't write depth in per-strip to avoid missing geometry,
prefer wrong depth order/blending for now
optimize naomi2 per-triangle sorting
2022-02-13 21:01:45 +01:00
Flyinghead
a14086d484
naomi2: shader error in gles. Invert clubkart wheel axis
2022-02-11 19:06:58 +01:00
Flyinghead
20d25059bf
naomi2: remove geom shader. Merge transparent polys. bump mapping fix.
...
elan: Get rid of geometry shader and do geometry clipping manually.
pvr: Aggressively merge transparent polys in per-triangl and OIT mode, duplicating the last vertex to merge opposite cull mode strips.
gl4: reset OIT pointers in final shader. No need for clear pass.
gl4: alternate between 2 buffers for verts.index/tr poly params.
gl4: use gl_VertexID + poly number for poly index.
gl: new GlBuffer class.
2022-02-11 15:54:18 +01:00
Flyinghead
ccee7162bc
naomi2: soulsurfer inputs, 2-volume UV, wrong TA parser selected
...
TAParserDX was used for pass-through TA data. Fixes health bar color in
vf4 and dust color in kingrt66.
2-volume missing u1/v1. Fixes clubk shadows.
2022-02-08 10:32:56 +01:00
Flyinghead
4fe8e40569
libretro: fix texupscale and max upscaled texture size settings value
2022-02-06 20:42:41 +01:00
Flyinghead
debbae6ab1
naomi2: elan v10 emulation. texture dma xfers. 2-volume support
...
emulate elan v10 (fixes modvol in vf4, initd, beachspiker, wldrider)
wrong color order for model and vtx color
model param override xor support
improved light direction precision. Angle attenuation algo change
get rid of alpha light and modifier volume hacks
texture dma xfer from main and elan ram
gl4: use geometry only vtx and geom shaders for depth pass
2-volume support
2022-02-05 14:50:12 +01:00
Flyinghead
2c6f01ae38
naomi2: kingrt66 wiper button. initd gear up/down
...
kingrt66: map wiper button, remap shift H and R
initd: map gear up and down
wldrider: remap push and pull
2022-02-05 14:29:01 +01:00
Flyinghead
0362fd1079
naomi2: disable elan when net rollbacking, optimizations. ggpo: RTT fix
...
n2: do not process elan commands during ggpo rollbacks.
n2: Cache model colors to avoid unpacking for each vtx
pvr: merge equivalent polys with different culling by duping a vtx
pvr: fix crash during direct FB render
pvr: use correct color ordering for naomi2. Use identify matrix for null matrix pointers
ggpo: do not signal end of frame on a render to texture
2022-02-01 17:37:54 +01:00
Flyinghead
38765dc89a
pvr: fix multipass. naomi2: constant color shading.
...
pvr: link multipass TA contexts. Each pass has its own.
pvr: get rid of context pool
naomi2: constant color shading. Use model diffuse and specular
selection. Don't use vtx color for offset color.
naomi2: pseudo-parallel lights fix
naomi2: pass-through TA data needs forced list type. Terminate with
end-of-list
enable RTT copy to vram for Beach Spikers
2022-01-31 20:40:09 +01:00
Flyinghead
78306b3c12
ggpo: memory leak in free_buffer
2022-01-30 12:39:00 +01:00
Flyinghead
e51a291195
ggpo: wrong elan ram offset calculation
2022-01-30 12:39:00 +01:00
Flyinghead
fe6247dded
cheats: iOS build fix
2022-01-29 18:40:19 +01:00
Flyinghead
5fb8b458bb
pvr: use TA_OL_BASE instead of PARAM_BASE/TA_ISP_BASE to id TA context
...
Writes current TA_OL_BASE to all tiles OPB block. Read from region array
at render time to identify context.
Fixes vf4 water reflections RTT
get rid of dump_frame/read_frame
2022-01-29 18:39:38 +01:00
Flyinghead
4e21391f8c
ggpo: memory leak in free_buffer
2022-01-29 16:58:28 +01:00
Flyinghead
340c55c570
build fix
2022-01-28 22:30:07 +01:00
Flyinghead
de1322b928
naomi2: Fix T&L matrix. vmem elan ram support.
...
Fix T&L matrix (wild riders)
Open GL support for normal/light matrix
handle elan RAM in vmem
2022-01-28 21:24:30 +01:00
Flyinghead
010d257b69
naomi2: vf4tuned cheat/hack to skip DIMM fw version check
2022-01-28 20:02:07 +01:00
Flyinghead
58f05f74cf
jvs: set received jvs message trail to zero
...
fixes sh4 crash during naomi boot
2022-01-28 11:31:30 +01:00
Flyinghead
e5d517dad2
use platform.isConsole(), platform.isNaomi(), ...
2022-01-27 17:52:19 +01:00
Flyinghead
1ffcc75031
naomi2: implement SB_ISTNRM for clxb. serialize elan state
2022-01-27 16:40:12 +01:00
Flyinghead
e084cc9a3a
jvs: set received jvs message trail to zero
...
fixes sh4 crash during naomi boot
2022-01-27 15:50:44 +01:00
Flyinghead
6ed78d1202
another GL_CLIP_DISTANCE0 build fix
2022-01-26 22:37:38 +01:00
Flyinghead
270eaa1452
GL_CLIP_DISTANCE1 undefined
2022-01-26 22:19:53 +01:00
Flyinghead
e1038ea632
naomi2: fix regressions. 2-volume and bump mapping support WIP
...
optimize open gl uniforms
2022-01-26 22:15:10 +01:00
Flyinghead
8947100701
libretro: missing new param to gl4GetProgram
2022-01-25 15:43:30 +01:00
Flyinghead
cb99e7d920
naomi2: do T&L on the gpu. bypass TA format. env mapping.
...
fix model/instance/matrix parsing
handle culling reversed model flag
geometry shader for near plane clipping
2022-01-25 15:37:04 +01:00
DisasterMo
a4b0a69c45
Enable Indonesian, Swedish and Ukrainian localisations
2022-01-22 19:18:41 +01:00
Flyinghead
45ba648622
dx11: VersionHelpers.h -> versionhelpers.h
...
the mingw version is all lowercase
2022-01-19 14:37:49 +01:00
Flyinghead
b048921c11
naomi2: fix clipping, parallel light direction, reset state on loadstate
2022-01-18 18:25:40 +01:00
Edward Li
f2c39e4004
Update SDL to 2.0.20
2022-01-18 11:58:57 +01:00
Flyinghead
4335aa563f
naomi2 WIP
2022-01-16 22:41:42 +01:00
Flyinghead
62ec3546d6
dx11: uwp doesn't need texture conversions
2022-01-16 10:37:55 +01:00
Flyinghead
8bb0bd05f9
ui: limit scaling further on small low-resolution screens (retroid)
2022-01-16 09:58:33 +01:00
Flyinghead
e538242962
dx11: convert 16-bit textures to 32 bits on windows7
...
1555, 4444 and 565 aren't supported on win7
Issue: https://github.com/libretro/flycast/issues/1123
2022-01-16 09:54:39 +01:00
Julien Reichardt
4f638f6d77
Use service button instead of coin
...
The service button can also be used to add coins.
2022-01-11 14:09:54 +01:00
Julien Reichardt
80d78705b0
Add default coin mapping
2022-01-10 12:13:14 +01:00
scribam
746b3c5a54
sdl: fix joystick rumble
2022-01-06 08:59:39 +01:00
Flyinghead
a4788b5b24
zero-init sh4 context when no vmem is available
...
Issue #439
2022-01-03 18:44:47 +01:00
cmitu
8dcf0f58b5
postprocess: fix GLES2-only build
...
Added a missing `ifndef` guard for `glBindVertexArray`, useful for GLES2-only builds.
2022-01-02 10:51:03 +01:00
Flyinghead
d86305a7c3
android: on-screen gamepad not editable in Open GL
...
Swap wasn't called during editing
Issue #464
2021-12-26 16:03:19 +01:00
Flyinghead
2d41d993e3
macOS: patch SDL to compile in metal and vulkan
...
https://github.com/libsdl-org/SDL/issues/5010
2021-12-25 21:45:13 +01:00
Flyinghead
300c74e3fc
Merge remote-tracking branch 'origin/master' into net-rollback
...
# Conflicts:
# CMakeLists.txt
# shell/libretro/libretro.cpp
# shell/libretro/libretro_core_options.h
2021-12-22 21:31:17 +01:00
Flyinghead
3f82c7fb6f
iOS: use play and record audio session only when necessary
...
Change audio session to play and record when a microphone is connected.
Use a play only session otherwise. Issue #360
Hide VSync-related gui option.
2021-12-21 21:36:12 +01:00
Flyinghead
970e594009
Build with breakpad submodule. Use gcc 11 on windows.
2021-12-20 15:45:46 +01:00
Flyinghead
cd5a784277
add breakpad as submodule
2021-12-20 15:23:28 +01:00
Flyinghead
771f653174
delete breakpad
2021-12-20 15:20:26 +01:00
Flyinghead
bf87f7ba84
Compilation error on armv7 with gcc 9
2021-12-20 14:27:19 +01:00
scribam
73fa0e3efc
cmake/deps: update sdl to version 2.0.18
2021-12-19 11:18:24 +01:00
flyinghead
b1e0bc90ba
uwp: remove angle, upload to S3. windows: don't build SDL
2021-12-18 11:50:03 +01:00
scribam
8e305bfd0f
android/vmem: use constant ASHMEM_NAME_DEF
2021-12-18 11:46:04 +01:00
Flyinghead
325cd9a066
DSP crash on apple M1
...
Issue #415
2021-12-17 13:43:45 +01:00
Flyinghead
544c711fd7
savestate: compatibility between nvmem and !nvmem savestates
2021-12-17 13:41:46 +01:00
Flyinghead
e02afb34d1
dx11: wrong shadow scale factor. vk: object leak. Code duplication
...
dx11: shadow scale factor inverted in per-pixel
vulkan: clear deleted overlay images when terminating
Use color struct for FOG_COL_VERT, FOG_COL_RAM, FOG_CLAMP_MIN,
FOG_CLAMP_MAX and VO_BORDER_COL. Avoid code duplication in renderers.
2021-12-17 13:40:42 +01:00
Flyinghead
dc5acd24b2
Merge remote-tracking branch 'origin/master' into net-rollback
2021-12-17 12:40:37 +01:00
Flyinghead
7555263e38
wrungpo had wrong decryption key
...
Issue https://github.com/libretro/flycast/issues/1108
2021-12-17 11:55:17 +01:00
Flyinghead
71d016722e
vulkan: fix various validation errors
...
oit: skip to new frame even if previous frame was never presented
libretro: quad pipeline used for overlay must use subpass 2 in per-pixel
overlay: delay destruction of VMUs images
libretro: WaitIdle on queue instead of wait_sync_index
2021-12-16 21:26:55 +01:00
Flyinghead
04be40767b
android: fallback to /dev/ashmem if ASharedMemory fails. More logs
...
Issue #439
2021-12-15 23:09:59 +01:00
Flyinghead
5a6197cfc6
libretro: never request a GLES3 context
...
RA doesn't give us the opportunity to retry if GLES3 isn't supported.
Issue #405
2021-12-15 21:23:35 +01:00
flyinghead
5fca12af49
msvc compilation warnings
2021-12-15 17:58:58 +01:00
flyinghead
853830a446
log errno when failing to open a disk or folder. Better win32 errors
...
Log errno when failing to open a disk or folder (game scanner)
Better win32 error codes with GetLastError() for opendir, stat, access
2021-12-15 17:55:42 +01:00
flyinghead
2f47f72957
dx11: recreate texture if dimensions or format change. Clear rtt depth
...
Fixes a crash when switching Copy to VRam on as the RTT texture is no
longer upscaled when updated.
Clear RTT depth/stencil before render.
2021-12-15 11:32:04 +01:00
flyinghead
de35cf9840
dx11: fix fullscreen toggling
...
Prevent DXGI from monitoring Alt+Enter and let SDL handle it
2021-12-15 10:37:52 +01:00
flyinghead
18d8107992
dx11: no color interpolation for flat shading
...
Fixes Evolution WoSD
refactor setFirstProvokingVertex (dx9, dx11, vk)
Set .1 depth scale for V-Rallye to fix missing background image in menus
(dx11, dx9)
2021-12-15 09:37:58 +01:00
flyinghead
2478b72a3e
lr dx11: fix exit crash. Save shader cache where vk cache is
2021-12-14 16:48:23 +01:00
flyinghead
4d60150345
libretro: dx11 crash in single-threaded. Use compiler and feature level
...
libretro: Null first frame erroneously set as valid causing a crash with dx11 (single-threaded rendering)
libretro: pass dx11 compiler pointer to shaders
dx11: use feature level to check if per-pixel is supported
2021-12-14 10:41:04 +01:00
flyinghead
6a3a8d5578
libretro: dx11 support. dx11 shader cache. dx9 clipping planes
...
dx11: use 32-bit float depth texture to avoid loss of precision (SA2 into logo)
dx11: cache shader blobs to disk if not provided by OS
dx11: swap interval depends on screen refresh rate (1 for 60 Hz, 2 for 120 Hz, ...)
dx9: use clipping planes to avoid interpolation errors in rasterizer (daytona, mermaid lake)
directsound: use comptr
gui: fix navigation issue with OptionArrowButtons due to missing id
2021-12-13 21:02:44 +01:00
scribam
08828991e7
dx11: msvc x86 build fix
2021-12-12 18:43:36 +01:00
flyinghead
4c14a96888
vk, gl4: out of bound array index when sorting pixels
2021-12-12 18:42:50 +01:00
flyinghead
0478ec9696
dx11: per-pixel renderer
2021-12-11 18:53:35 +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
cc39d4dd7d
vmem: close shared mem file descriptor when terminating
...
Tentative fix for Issue #439
2021-12-10 14:04:45 +01:00
flyinghead
b79c049bd4
dx11: wrong shader hash calculation
2021-12-09 09:26:36 +01:00
flyinghead
27041cbf59
dx11: better clipping algo. modvol cull mode. win: exception code
...
dx11: use faster clipping algorithm for modifier volumes
dx11: modifier volumes need cull mode. Fixes Daytona shadows.
win: the fault handler was treating some software exceptions as fatal (msvc)
uwp: remove async hacks and disable MS task wait exception. Fixes error reporting when loading a game.
2021-12-06 17:43:22 +01:00
flyinghead
7820c9bc44
dx9/11: fix rtt2vram crash. dx11: modvol fix and more
...
dx11: clip modvol triangles before sending them to the gpu
dx9,11: wrong source pointer for rtt to vram
dx11: handle source RowPitch when copy rtt to vram
dx11: crash at reinit
dx11: wrong scissor with direct fb rendering
dx11: blend ops are different for the alpha channel
Fix mingw CI build
2021-12-04 19:16:11 +01:00
flyinghead
191f1c38df
dx11: scissoring fix. 4K UI scaling
...
Clearing of side columns in 4:3 uses the quad drawer so it needs to be
called early. Border color was wrong. Fixes GTA2.
Scale UI x2 in 4K mode.
2021-12-03 15:48:42 +01:00
DisasterMo
ddc2e84e45
Add automatic Crowdin synchronization
2021-12-01 21:28:51 +01:00
flyinghead
99195c3f4c
dx11: set clip planes on X and Y. rend: Force palette update at init
...
dx11: Set clip planes at X -1/1 and Y -1/1 to avoid rasterizer errors.
Fixes Daytona Mermaid lake depth issues
dx11: fix texture wrap around at UV 1 with nearest filtering
dx9: inside clipping
all renderers: force full palette update at init
2021-12-01 14:54:03 +01:00
flyinghead
280c159078
uwp: fix dirent. Implement access() and stat()
...
Use UWP version of FindFirstFileEx
Implement basic access() and stat()
Add home dir to list of drives
Allow external storage folders to be added and scanned for games
2021-12-01 14:40:17 +01:00
flyinghead
6a8f1b941e
dx11: overlay support. inside clipping. 4K support on xbox. log fix
...
dx11: support for vmu and lightgun crosshair overlays
dx11: implement inside clipping (fixes 18 wheeler rear view mirror)
dx11: tentative 4K support on xbox
iOS,uwp: save log file in home (iOS)/data(uwp) directory
uwp: don't sign app on pull requests
2021-11-29 18:22:25 +01:00
scribam
8a6ce19e1e
input: cleanup virtual function specifier
2021-11-29 18:19:22 +01:00
flyinghead
d071adea9a
dx11: fix modifier volumes, rotation. sdl: on-screen keyboard support
...
dx11: Back face stencil ops need to be set
dx11: Rotate CCW instead of CW
dx11: Present with NO_WAIT when fast forwarding
sdl: support for on-screen keyboard. Delay keys up by one frame to allow quick key presses.
ui: better fix to wait for future on UWP
2021-11-28 16:19:03 +01:00
flyinghead
3d7455316f
linux build fix
2021-11-27 14:39:28 +01:00
scribam
3f50baa318
picotcp: fix alloca on freebsd
2021-11-27 14:32:04 +01:00
scribam
8164c96379
deps: update libchdr and remove patch
2021-11-27 14:31:22 +01:00
flyinghead
4ab3f01867
uwp: external storage support. enable picotcp
2021-11-27 14:30:36 +01:00
flyinghead
dbb277f749
Potential crash when starting game with non-default renderer
...
Renderer is switched to default and back to the selected one during
reset on the emu thread. The render thread may pick up this change.
2021-11-27 14:13:24 +01:00
flyinghead
0579f2ede6
7z: use fopen on all platforms
2021-11-27 14:08:07 +01:00
orbea
ef3af9aad3
cmake: Add an install target ( #421 )
...
Don't install glslang or xbyak
2021-11-27 10:42:09 +01:00
flyinghead
f91847dad0
DX11 renderer WIP
2021-11-26 18:08:41 +01:00
flyinghead
c4eaa973f0
picotcp: use strcasecmp
2021-11-24 14:17:00 +01:00
flyinghead
42fa77c81f
uwp: the back button (B) shouldn't close the app
2021-11-24 13:42:25 +01:00
flyinghead
e4bfeb9e44
picotcp: MSVC support
2021-11-24 13:41:04 +01:00
cglmrfreeman
67f2162fb3
Fix linux breakpad issues when glibc-2.34 is installed
...
As outlined by [Samuli Piippo in the qtwebengine chromium patch](https://codereview.qt-project.org/c/yocto/meta-qt6/+/378728/2/recipes-qt/qt6/qtwebengine/chromium/0004-breakpad-fix-build-with-glibc-2.34.patch ), SIGSTCKZ is no longer being compile time constant in glibc-2.34. The proposed fix compiles on my end and I have not tested on a linux distro with an earlier version of glibc.
2021-11-23 20:23:28 +01:00
BornPosthumous
417ffc09f8
Allows override of flycast.lua file ( #411 )
2021-11-21 15:16:11 +01:00
flyinghead
5b933cde61
uwp: use ccache for CI. gui_util.h typo
2021-11-20 18:24:21 +01:00
flyinghead
47442d1bc9
fix libchdr patch
2021-11-20 17:32:12 +01:00
flyinghead
bc34024e32
uwp: fix crash when opening menu/canceling load. CI job
2021-11-20 16:18:27 +01:00
flyinghead
63598019e1
naomi: rename deathcox to deathcoxj, new deathcox parent rom
...
MAMESET 0.227 changes
Issue #409
2021-11-20 14:06:19 +01:00
flyinghead
501244ed25
x64 rec: incorrect stack alignment of memory handlers on windows
2021-11-20 12:29:07 +01:00
flyinghead
e12912450c
missing changes
2021-11-19 23:29:35 +01:00
flyinghead
8262c9ece7
UWP support - WIP
2021-11-19 23:18:45 +01:00
scribam
c6374a899c
win32: build fix when sdl2 is not enabled
2021-11-14 22:56:43 +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
e56ecfec40
vk,dx9: black screen/crash in single-threaded on direct fb access
...
When rendering happens after the render timeout (initial sega copyright
screen and more), the frame is never swapped and never displayed. Causes
a crash in vk since the acquired swapchain image is never
presented/released.
2021-11-11 11:17:39 +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
d788c310ee
apple build fix
2021-11-10 21:21:25 +01:00
Flyinghead
7583db3bef
vk: option to duplicate frames to simulate swap interval > 1
...
Issue #293
2021-11-10 20:55:22 +01:00
Flyinghead
ac5abd96bb
ui: imgui driver, GraphicsContext interface, dx9 swap interval
...
Refactor imgui backend code into imgui drivers for gl, vk, dx9
Generic GraphicsContext interface for gl/vk/dx9 contexts
Simplify graphics api switching code
dx9, gl(sdl): set swap interval based on monitor refresh rate.
2021-11-10 20:35:30 +01:00
Flyinghead
aa944ac5e8
vk: fix vmu transparency in lr core
2021-11-10 18:42:11 +01:00
twinaphex
a15863ae35
(Libretro) CI integration - and necessary fix for compiling Windows
...
core cross-compiled on Linux
2021-11-09 18:48:55 +01:00
Flyinghead
a04fd06e38
gl: iOS doesn't like smooth. More precision needed for vertex colors
2021-11-09 10:38:41 +01:00
Flyinghead
99ee526ac5
gles3 doesn't support noperspective. vk needs higher prec for color/uv/z
...
noperspective not supported in gles 3. Use smooth instead
Vulkan now needs higher precision for colors, UV and z (adreno 630)
2021-11-08 16:53:47 +01:00
Flyinghead
06ef0e5fdc
vk,gl: use w=1 in shaders. Fix translucent modvols
...
Use w=1 to avoid multiply/divide of xy as in dx9
Disable rendering when video output disabled
Use original w value in pixel struct to avoid precision loss (samsptk)
vk oit: missing memory barrier was producing Tr modvol glitches (JSR)
gl oit: Tr modvol needs full vertex shader
2021-11-07 18:21:44 +01:00
Flyinghead
5209623064
cue: ignore unrecognized REM entries. parse one line at a time
2021-11-05 19:14:08 +01:00
Flyinghead
7c53413bc5
vk oit: fix depth-only Tr pass
...
Cosmic smash
2021-11-05 18:36:09 +01:00
Flyinghead
42f92b8dc1
ggpo lib: compile warnings, remove legacy chat
2021-11-05 18:34:23 +01:00
Flyinghead
986baccf83
lr build fix
2021-11-04 13:11:18 +01:00
Flyinghead
32d31e7644
vk: implement TranslucentPolygonDepthMask
...
Fixes Cosmic Smash
vma: instance is needed at init
Partial vk support for iOS
2021-11-04 09:13:47 +01:00
Flyinghead
03161446b9
can't launch BIOS after playing a game
2021-11-04 08:57:15 +01:00
Flyinghead
17bbb7f145
vk: disable small tex optimization on macOS. Fix libMoltenVK embedding
...
small textures linear optimization leads to texture corruption with
moltenvk.
Copy libMoltenVk to correct runtime output dir.
2021-11-02 09:44:24 +01:00
Flyinghead
da3ed74c4e
vulkan: moltenvk support on macOS - WIP
...
sdl: save/restore window position in config
2021-11-01 13:05:22 +01:00
Flyinghead
46ae8f92cc
input: per game input mapping
2021-11-01 12:39:50 +01:00
Flyinghead
9b3dec5f70
imgui: fix crash when closing chat with gamepad DPad button down
...
backport 25679a411e
2021-10-27 12:28:31 +02:00
Flyinghead
146bfb28d1
ggpo: always use P1 input in netplay even if playing as P2
...
fix imgui assert
2021-10-27 12:26:17 +02:00
Flyinghead
46fb331275
look for BIOS files in Content Path folders if not found in data folder
2021-10-27 12:24:30 +02:00
LaercioMBR
004250ed23
InputDescriptors for radirgyn and mamonoro
2021-10-24 14:07:40 +02:00
Flyinghead
037339f3be
ggpo: savestate md5 wasn't computed
2021-10-21 12:03:04 +02:00
Flyinghead
e0437ab447
msvc fix
2021-10-20 15:28:34 +02:00
Flyinghead
808a161d39
ggpo: make chat thread-safe. Deadlock on early rollback
...
Make ggpo_send_message() thread-safe
Deadlock UI/emu threads if rollback happens before first render
Disable rollback wait in single-thread mode
2021-10-20 14:41:18 +02:00
LaercioMBR
6d8e1794a0
Fix Metal Slug 6 inputs ( #393 )
2021-10-20 14:36:02 +02:00
Flyinghead
89338c0b4b
win32 build fix
2021-10-19 17:24:17 +02:00
Flyinghead
7f7cbd5666
missing change
2021-10-19 17:05:00 +02:00
LaercioMBR
846ed76808
InputDescriptors for Dolphin Blue, Demolish Fist and ggx15
2021-10-19 17:02:01 +02:00
Flyinghead
ab45b5ec8a
ggpo: keyboard/mouse games support. Fix chat when keyboard disabled
...
ggpo: support for arcade games using keyboard (totd, luptype) and
mouse/rotary encoders (waiwai drive)
Chat and UI now usable when the keyboard is not set to a maple port.
2021-10-19 16:56:46 +02:00
Flyinghead
db93a4c4a7
ggpo: in-game chat
...
use menu key to open/close chat window
disable keyboard/mouse controllers when using chat
disabled controllers can now use emu keys (menu, escape, ff)
2021-10-18 16:40:17 +02:00
Flyinghead
59566eb363
ggpo: support application messages
2021-10-18 16:26:24 +02:00
LaercioMBR
7fb85e5b25
Standardizing InputDescriptors names, added kov7sprt_inputs ( #389 )
2021-10-18 11:24:38 +02:00
Flyinghead
3eeb7e7cae
build fix
2021-10-16 18:15:11 +02:00
Flyinghead
cf653640b3
ggpo: verify md5 of bios, game and savestate
...
Verify md5 of flash, eeprom, vmus if no savestate used
Use chd header SHA1 as digest
Load .state.net state file at start
Force real BIOS for some games
2021-10-16 17:56:21 +02:00
Flyinghead
7ecb6a6d96
ggpo: Fix udp packet size. Fix verif mismatch due to uninit'ed var
2021-10-15 13:07:21 +02:00
Flyinghead
c08f177d3b
libretro build fix
2021-10-14 11:51:39 +02:00
Flyinghead
1c6e722961
android: add app external & internal files dir. Race condition at start
...
Fix crash at startup due to race condition with game scanner
Don't allow selection of non-writable folder during onboarding
Add private internal and external Files folders to list of storage
locations to choose from
Assign first external android gamepad to port A instead of B
ui: Fix layout of controller mapping dialog when port=All
2021-10-14 11:39:27 +02:00
Flyinghead
0d49817f00
fix crash when [config]pvr.rend is invalid for the current platform
2021-10-14 10:52:35 +02:00
Flyinghead
85c21df5e7
Use allocAligned/freeAligned for all aligned allocs
2021-10-14 10:46:44 +02:00
Flyinghead
f9d5b8eb74
ui: limit max scaling on small low-res screens (<= 640x480)
2021-10-12 17:34:42 +02: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
163888f329
GameShark cheat codes support
2021-10-10 17:24:17 +02:00
Flyinghead
8b986dfab3
vmu beep support
2021-10-10 16:33:37 +02:00
Flyinghead
19bd6d0bca
test automation clean up
...
less #ifdef
force mute audio
don't force vsync
2021-10-10 16:26:36 +02:00
Flyinghead
c2caef4ad5
ui: use SDL clipboard functions for imgui
...
allow cut & paste on linux
2021-10-07 19:14:29 +02:00
Flyinghead
1d9ac4918c
pvr: fix SPG_VBLANK_INT reset value
2021-10-07 16:24:00 +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
bc238de5ce
switch: open 4 controllers. android: java7 compatibility
2021-10-06 18:55:04 +02:00
Flyinghead
1072235b1a
lua: ui bindings
2021-10-04 19:42:45 +02:00
Flyinghead
3c2c7b379d
ggpo: pair with first received sync request if remote IP not specified
2021-10-04 19:38:33 +02:00
flyinghead
82bec1e324
lua: build fix for linux and win. dx9: crash on exit
2021-10-03 20:22:52 +02:00
Flyinghead
897cc01f93
some lua bindings
2021-10-03 18:34:27 +02:00
Flyinghead
5bcfa35737
Better background game loader
...
Pass LoadProgress object to report load progress and cancel
Better UI
Cancel with exception
Fix issues when stopping/exiting in !threaded
dx9: call gui_term on shutdown
2021-10-02 11:30:40 +02:00
Flyinghead
c1bcf91dd6
pvr: render timeout when using ggpo or !threaded
...
will cause ggpo desyncs with previous versions
2021-10-01 16:48:01 +02:00
Flyinghead
621e4d196e
crash when enabling bba per-game
2021-10-01 16:14:27 +02:00
Flyinghead
45ebc2239f
ggpo: exchange verification data during sync
2021-10-01 16:07:32 +02:00
Flyinghead
a6248905a0
ggpo: report UDP bind error. Better error reporting for net init
...
fix ggpo lib warnings
2021-09-30 17:24:51 +02:00
Flyinghead
699dcdaf5b
Merge remote-tracking branch 'origin/master' into net-rollback
...
# Conflicts:
# core/hw/maple/maple_if.cpp
# core/rend/mainui.cpp
# shell/libretro/libretro.cpp
2021-09-30 15:03:29 +02:00
Flyinghead
23d1f6b507
imgui: bug when drag scrolling in a combo's popup
2021-09-30 14:36:29 +02:00
Flyinghead
f72f4c49fb
macos: fix freeze in !threaded. input: fix crash when saving mapping
...
audiostream: delete legacy [audio]disable option
2021-09-30 14:31:51 +02:00
Flyinghead
2803ee8274
imgread.ImagePath clean up. ggpo: poll input late if !thread
2021-09-30 14:24:17 +02:00
Flyinghead
0d2e6f5e98
remove safe mode/div matching option
...
mismatched delete/free() in TexCache.cpp
2021-09-29 11:57:51 +02:00
Flyinghead
99bf7f77c4
single-threaded mode. refactoring.
...
single-threaded mode similar to libretro core
stateful Emulator object
disable memory watcher when !gppo
ggpo: poll input as late as possible in !threaded
2021-09-29 10:22:58 +02:00
Flyinghead
7fe2ab720f
refactor screen_width/height
2021-09-27 20:29:23 +02:00
Flyinghead
18cecc8d38
gl,vk: use VO_BORDER_COL for clear color
2021-09-27 13:39:08 +02:00
scribam
1fa233aae7
Remove makefiles and xcode project files
2021-09-27 11:52:18 +02:00
Flyinghead
1dc01314a1
input: don't poll input on emu thread
...
fixes device reset errors with dx9 on Alt+Enter and other renderer
crashes
2021-09-27 11:51:39 +02:00
Flyinghead
fb40bb22df
vk: CommandPool size must be 2. Fix lightgun xhair validation error
2021-09-27 11:19:50 +02:00
Flyinghead
1dc22ec76c
sdl: null init sdl_controller
2021-09-26 22:02:21 +02:00
Flyinghead
41ac140076
ggpo: lightgun support for arcade games
...
ui: display button names in arcade mode only
2021-09-26 21:28:31 +02:00
Flyinghead
39fabf39ae
naomi: free play eeprom for many games
...
inputs for ggx, doa2, toyfight, ausfache
don't label common buttons (coin, test, service, start)
2021-09-22 14:26:13 +02:00
Flyinghead
945a483e9b
ggpo: less log
2021-09-22 14:20:55 +02:00
Flyinghead
1725dbfa98
input: fix arcade mode for on-screen gamepads.
...
Use same layout as gamepad arcade for on-screen gamepads (ABXYRL)
map RT and LT to buttons 5 and 6 in arcade
android: Fix non-working fast-forward button
Use maple port in lastAxisValue state
naomi: use default alienfnt buttons: 1-4
2021-09-21 15:56:01 +02:00
Flyinghead
c419654a11
input: don't register multiple button presses when holding axis
...
keyboard: map left stick and coin button by default
2021-09-20 14:07:42 +02:00
flyinghead
51ad6094e8
input: fix axis bound to emu buttons
2021-09-20 10:05:13 +02:00
flyinghead
5b7d189058
sdl: fix hat button names
2021-09-19 22:35:23 +02:00
Flyinghead
65956dbc8d
input: merge buttons and axes
...
Default mappings for arcade and console
Default mappings for arcade stick/hitbox
Proper handling of inverted axes
ggpo: automatic analog setting for arcade games
2021-09-19 18:27:21 +02:00
Flyinghead
d75072362a
vk oit: work around adreno 600 driver regression
...
Android 11 adreno 600 driver v502: PixelBuffer.pixels.length() is
returning 0 in some cases.
Issue #361
2021-09-18 18:08:52 +02:00
Joshua L
22947af854
Sdl gamecontrollerdb.txt fix ( #356 )
...
sdl: load gamecontrollerdb.txt before calling SDL_InitSubSystem
2021-09-18 18:07:07 +02:00
Flyinghead
50a67dbd3e
build fix
2021-09-16 20:27:57 +02:00
Flyinghead
7fd954e10d
rend: apply vscalefactor to scissor in 240p/480p
...
fixes SF3 3rd strike half-screen in 240p mode
2021-09-16 19:27:59 +02:00
Flyinghead
4c53fcecfa
ggpo: detect input size mismatch and abort gracefully
2021-09-16 19:24:49 +02:00
Flyinghead
05d495b282
dx9: Fix RenderLastFrame
...
Fixes black blackground when opening the menu during a game
2021-09-15 17:24:55 +02:00
Cameron Bates
501c6f260a
Remove mouse invert option and invert gcmouse by default
2021-09-14 23:43:16 +02:00
Cameron Bates
e1fa2b9831
[iOS] GCMouse support ( #353 )
2021-09-14 11:51:44 +02:00
Flyinghead
8b266b1327
ggpo: force aica.nobatch
2021-09-13 13:01:52 +02:00
Flyinghead
480e85f615
ggpo: UI for analog axes settings. Display stats option
2021-09-12 17:42:58 +02:00
Flyinghead
99a0dce8cd
arm build fix
2021-09-11 19:17:36 +02:00
Flyinghead
badcace987
ggpo: analog axes support. Fix right trigger. use miniupnp.
...
Analog stick X/Y support
Right trigger was ignored
Forward UDP port 19713 with miniupnp before starting ggpo session
Use recursive_mutex for ggpo
2021-09-11 18:50:11 +02:00
Flyinghead
e8b73e22b7
Merge remote-tracking branch 'origin/libretro' into net-rollback
2021-09-11 18:11:36 +02:00
Flyinghead
1762987aae
reios: reset gdrom state at reset
...
Fixes "Reboot to BIOS" exception when loading another game
2021-09-11 11:22:58 +02:00
Flyinghead
ad2e142b01
ui: Show mouse cursor when emu throws an exception. lr: fix vulkan init
2021-09-10 15:32:13 +02:00
Flyinghead
88fa5d5c41
arm64 dsp: don't JitWriteProtect twice. ios: Hide VSync. pvr: fix mutex
2021-09-10 15:26:18 +02:00
Flyinghead
e45ec4324f
Merge remote-tracking branch 'origin/master' into libretro
2021-09-10 12:19:29 +02:00
Flyinghead
3ced57a263
network: use interface for startup. avoid deadlock on exit
...
Use common interface for naomi and ggpo
Simpler ggpo interface
Fix deadlocks on exit with ggpo
2021-09-09 18:17:05 +02:00
Flyinghead
458868a634
ggpo: always save delta ram. Disable ff,cheats,savestates when online
...
ggpo: always save delta ram on save_game_state as frames may be rerun
and resaved
Global network online status (ggpo, naomi, modem, bba)
Disable fast forward, cheats and savestates when online.
2021-09-08 17:18:01 +02:00
Flyinghead
7ecc0543f4
ggpo: fix common assert() sync.cpp:238
2021-09-08 16:21:54 +02:00
Flyinghead
6d6f3d38d4
libretro build fix
2021-09-07 17:18:56 +02:00
Flyinghead
a4e715fa71
serialize modem, aw coin, pvr direct fb state, TA cur context
2021-09-07 16:43:50 +02:00
Flyinghead
8594d11693
maple: refactor usage of rt/lt. zero out joystick values if ggpo active
...
Fix mouse cursor being invisible when emu throws an exception
2021-09-07 16:30:56 +02:00
Flyinghead
a4c14ebef7
Merge remote-tracking branch 'origin/libretro' into net-rollback
2021-09-07 15:02:39 +02:00
Flyinghead
599874c9c1
dx9: VSync option support
2021-09-07 14:16:05 +02:00
Flyinghead
5121b0df93
maple: mutually exclusive btns per controller. better D2A axes
...
Handle mutually exclusive buttons (U/D, L/R) in each controller.
Track digital X/Y axes state to allow for proper handling of U+D and
L+R. Issue #334
SDL: Ignore key repeat events
2021-09-07 10:54:00 +02:00
Flyinghead
e3a2f1cfbe
ggpo: transmit RT and LT as digital inputs
2021-09-06 17:16:41 +02:00
Flyinghead
414fb9dba2
ramwatch: protect all ram, not just the bottom half
2021-09-06 16:14:38 +02:00
Flyinghead
a402c69c55
ggpo: detect frame rate and use it to pause when ahead
2021-09-05 20:47:37 +02:00
Flyinghead
c007165a0f
input: naomi btns 5/6 and 7/8 shouldn't be mutually exclusive
2021-09-05 20:12:40 +02:00
Flyinghead
a3d50fc197
Merge remote-tracking branch 'origin/libretro' into net-rollback
2021-09-05 20:07:37 +02:00
Flyinghead
6768901446
allow semicolon in content paths
2021-09-05 10:30:19 +02:00
Flyinghead
35e77976a6
ui: use input from all keyboards
...
Issue #339
2021-09-05 10:29:12 +02:00
Enrique Santos
dba805e8c4
ggpo: static rtc when ggpo is enabled
2021-09-04 18:47:34 +02:00
Enrique Santos
e3aca85efd
ggpo: add frame delay to settings ( #343 )
2021-09-04 18:47:21 +02:00
Flyinghead
f35a18bb63
ggpo: use bargraphs for net stats
2021-09-04 12:03:29 +02:00
Flyinghead
e02ccbf32a
gl: update fog and texture palette in Process()
2021-09-03 11:12:47 +02:00
Flyinghead
b362a55c04
ggpo: rollback glitches. win32 init. switch build. stats
...
Block net rollbacks until the current frame has been processed to avoid
glitched textures.
Call WSAStartup at init on windows
Display net stats when in game
Switch build fix
2021-09-03 11:11:46 +02:00
Flyinghead
69d0801121
net rollback with ggpo
2021-09-02 17:51:23 +02:00
flyinghead
f85bca06d7
dsp: rec crash on windows
2021-09-02 12:34:38 +02:00
Flyinghead
93eff7fac6
sh4: fix TMU regression
...
introduced by 05d51cc35c
fixes SA2 running too fast
2021-08-29 11:55:42 +02:00
Flyinghead
c3d954263b
gdrom: fix soft reset. ignore slave requests. Unknown ATA cmds handling
...
Retain currently inserted disk during soft reset
Correct DriveSelect value. Ignore slave drive commands and return 0
status.
Properly handle unknown ATA commands.
Fixes DreamShell boot and CDI boot from BIOS
2021-08-27 18:29:41 +02:00
Flyinghead
e058ba5d3b
sh4: always perform hard-reset of sh4 and its registers
...
Fixes infinite loop after reboot
2021-08-27 18:20:40 +02:00
Flyinghead
05d51cc35c
sh4: timer underflow lost if TCOR is 0 or very small
...
Fixes DreamShell boot
2021-08-27 17:55:50 +02:00
vkedwardli
a51f310e96
Add volume slider in audio settings ( #329 )
...
Use logarithmic volume scale
2021-08-26 13:30:23 +02:00
Flyinghead
89ccdf2814
rend: better fix to force even width rendering
2021-08-26 13:28:13 +02:00
Flyinghead
52af352fcd
input: never load mapping file for !remappable controllers
...
Fixes android on-screen gamepad not working when a (wrong) mapping file
exists for it.
Issue #325
Issue #330
2021-08-26 13:25:18 +02:00
Flyinghead
088287227e
x64 msvc build fix
2021-08-26 11:01:44 +02:00
Flyinghead
ad1f9527c1
x86 msvc build fix
2021-08-26 10:34:01 +02:00
Flyinghead
ca17717af7
dsp: map TEMP/MEMS/MIXS regs to sh4 and aica address space. Clean up
2021-08-26 10:16:07 +02:00
Flyinghead
2a849ccba5
ui: hide dirs on iOS. Fix home on android. force even width rendering
...
Hide content and home dirs on iOS
Show home dir and allow change on android
Force even width for rendering resolution
2021-08-26 10:08:50 +02:00
Flyinghead
e5ca63db20
aica: arm32 dsp dynarec. Correct dsp level when dsp disabled
2021-08-24 20:49:53 +02:00
vkedwardli
7a33ae35e0
[macOS] Fix DelayFrameSwapping and optimise Vsync logic ( #307 )
...
* Support macOS 10.15 and 11
* Enable VSync option on macOS. Use "swapOnVSync" logic from other wsi
* Limit `mainui_rend_frame()` to 5 iterations max: 4 renders and the final swap
2021-08-24 11:43:19 +02:00
Flyinghead
ce58ba3472
pvr: detect swap on FB_R_SOF2 too. Force render res. to even width
...
Fixes Soul Calibur FPS /2 drop with Delay Frame Swapping on
2021-08-24 11:40:53 +02:00
Flyinghead
2f03922b43
build fix
2021-08-23 14:25:27 +02:00
Flyinghead
5db2856270
missing changes from previous commit
2021-08-23 14:16:52 +02:00
Flyinghead
e3e3229612
iOS: multiple controller/rumble support. GL: fix black screen after RTT
...
iOS:
* multiple controllers support. Rumble support.
* fix audio recording
* declare CHD/GDI/CUE/CDI content types
* start game when opening file URL
* Use safe area for UI and virtual gamepad
* Better icons
2021-08-23 14:02:12 +02:00
Flyinghead
98d04702ae
sdl: set vsync swap interval to 2 for 120 Hz displays
...
Issue #293
2021-08-23 10:11:04 +02:00
Flyinghead
7fb83f4f77
libretro: fix content closing when loading or saving state
2021-08-22 20:41:02 +02:00
Flyinghead
c99de2370f
build fix
2021-08-20 08:39:37 +02:00
Flyinghead
8c9ff4a66f
iOS: DSP fix
2021-08-20 08:32:29 +02:00
Flyinghead
d7bc1f0f77
apple: disable delay frame swapping, libretro: set base_width/height to 640x480, use gl 3.2 on macOS
2021-08-15 10:50:53 +02:00
Flyinghead
1bea7853ef
iOS: CI job, JIT status, touch fixes
2021-08-10 17:04:36 +02:00
Flyinghead
12f302d356
iOS: uv need high precision in fragment shader. cmake build. virtual joystick. AltKit integration
2021-08-10 11:32:22 +02:00
Edward Li
6f233462c1
Add missing JITWriteProtect to DSP
2021-08-09 09:02:59 +02:00
Flyinghead
77e7c25e9c
iOS support. Work in progress
2021-08-06 10:30:30 +02:00
Flyinghead
b027a6b9a1
android: add missing oboe lib links
2021-08-05 22:06:32 +02:00
Flyinghead
6bb4575c95
Merge remote-tracking branch 'origin/master' into libretro
2021-08-05 18:17:30 +02:00
Flyinghead
37eace9db4
osx: lockup when emulator aborts. Race condition when starting emu
2021-08-05 17:43:26 +02:00
Flyinghead
0414406471
win32 build fix. disable breakpad on BSD
2021-08-03 11:59:19 +02:00
Flyinghead
8c000f327e
missing include
2021-08-03 10:08:13 +02:00
Flyinghead
951e70328f
Use exception when load content fails. ui: graceful stop on fatal error
...
libretro: catch/detect fatal errors and shutdown
2021-08-03 10:05:09 +02:00
Flyinghead
2dd7717128
glGetString(GL_EXTENSIONS) may return null in core contexts
...
xcode project missing update
2021-08-03 09:49:20 +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
8a46853dfd
lr: deadlock on exit with custom textures (win32)
...
less log
2021-08-02 12:07:40 +02:00
Flyinghead
789fd21bb7
bsd build fix
2021-08-02 12:05:24 +02:00
Flyinghead
3fa97b5ce7
bsd build fix
2021-08-02 10:20:45 +02:00
Flyinghead
c8ebbc657a
x86 win32 build fix
2021-08-02 10:09:19 +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
aabb492d01
x86 stack unwinding support (android)
2021-07-30 19:13:52 +02:00
Flyinghead
cfa21934bb
x64: fix stack unwinding issue. don't save xmm regs on stack
2021-07-30 19:10:34 +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
e12be7cf29
add breakpad support for android, linux and windown
2021-07-25 21:55:29 +02:00
flyinghead
588d79641a
msvc x64 build fix
2021-07-25 11:47:14 +02:00
Flyinghead
daac6de533
macos build fix
2021-07-24 23:30:12 +02:00
flyinghead
c6d7307efe
x86 build fix
2021-07-24 23:17:27 +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
c458a8f5e7
os_[Un]InstallFaultHandler. Uninstall fault handler at shutdown
2021-07-20 13:06:08 +02:00
Flyinghead
4a77f847b4
libretro: fix arcade flash files path. ui: stop spamming dc_stop
2021-07-20 10:06:44 +02:00
Flyinghead
edc6474f27
save nvmem/flash files when stopping emu
2021-07-19 18:20:58 +02:00
Flyinghead
117f47e3a2
rend: shader builder utility
2021-07-19 12:49:47 +02:00
Flyinghead
4f11ff76a5
input: don't toggle fastforward when game isn't running
...
it resets the vulkan swapchain and causes random crashes
2021-07-19 12:10:14 +02:00
Flyinghead
10e97b63be
jvs: no default mapping if button is remapped to P1 or P2
...
fixes jambo down-lever pausing the game
2021-07-19 10:15:24 +02:00
Flyinghead
af76a09e03
gl: repeat % operator for printf. remove Switch special case
2021-07-18 18:15:35 +02:00
Flyinghead
9e5769912b
gl: workaround nouveau bug (oit). Use float palette coords for switch
...
Don't switch render type before terminating current one.
2021-07-17 15:53:47 +02:00
Flyinghead
a604a3904f
win: make sure not to call VirtualAlloc with null during jit alloc
2021-07-16 17:35:29 +02:00
Flyinghead
e112f2d8af
gl: GLES2 build compatibility
2021-07-15 19:24:56 +02:00
Flyinghead
ed0caa119a
Merge remote-tracking branch 'origin/master' into libretro
...
# Conflicts:
# CMakeLists.txt
2021-07-15 18:43:29 +02:00
Flyinghead
f768146d8e
switch: unneeded init functions. needed exit one
2021-07-15 16:50:54 +02:00
Flyinghead
412083d9ea
libretro: blank vmus at unload/reset
2021-07-15 15:43:10 +02:00
Flyinghead
07cdb42ff7
switch: set UI scaling factor depending on docking mode
2021-07-15 14:44:39 +02:00
Flyinghead
1e37e8f333
switch: dsp dynarec fix
2021-07-15 12:24:42 +02:00
Flyinghead
4fa89c4a45
switch: build with miniupnp. set correct window size
...
organize header
remove unneeded switch-specific code
2021-07-15 12:19:11 +02:00
Flyinghead
0d7a2128b6
libretro: fix 32-bit arm build. delete useless #def in pvr2 filter
2021-07-15 12:06:04 +02:00
Flyinghead
ae33c8de18
sdl: increase audio buffer size. libretro: set PIC option
2021-07-15 00:26:00 +02:00
Flyinghead
8dee648d01
arm64 rec: put ngen_FailedToFindBlock at a fixed address
...
transitioning to MMU will fail it this function's address changes
happens if vmem is disabled (switch)
2021-07-14 21:03:02 +02:00
Flyinghead
8e6dc54b16
switch: add .. entry to folder chooser. start at /
2021-07-14 20:55:22 +02:00
Flyinghead
db9c48b085
switch: typo
2021-07-14 17:48:41 +02:00
Flyinghead
c0171f5fd1
switch: open sdl joysticks 0 & 1 at init
2021-07-14 17:22:17 +02:00
Flyinghead
9a5a55d074
switch: use /flycast as config folder
2021-07-14 16:38:12 +02:00
Flyinghead
855836d9aa
switch: arm rec EntryPoints need rx. fix arm & dsp cache flush
2021-07-14 14:57:43 +02:00
Flyinghead
43c00568c6
switch: standalone build
2021-07-14 13:02:57 +02:00
Flyinghead
31be731de0
input: fix atomiswave keyboard bindings
2021-07-14 09:42:13 +02:00
Flyinghead
113ef66e26
libretro: use HAVE_LIBNX in libretro-common
2021-07-13 21:06:03 +02:00
Flyinghead
4d38e69f63
lr switch: enable aica arm and dsp dynarecs. handle rw/rx offset
2021-07-13 20:51:17 +02:00
Flyinghead
8c02345dfd
lr switch: use toolchain ar. really disable lto
2021-07-13 19:18:36 +02:00
Flyinghead
a2efde1103
libretro: more switch fixes
...
combine all static libraries into one
save/restore gl state in !threaded mode
patch libchdr
build fixes
2021-07-13 18:51:40 +02:00
Flyinghead
eb81583d9f
sh4 dyna: support for !vmem
2021-07-13 17:09:26 +02:00
Flyinghead
44213bf830
lr: fix res change for rotated games. display version. vmem: simplify
2021-07-13 13:45:01 +02:00
Flyinghead
63a3f02368
libretro: better switch support
2021-07-12 20:14:21 +02:00
Flyinghead
994e6826b4
libretro: option changes (resolution, widescreen, rotation)
...
Use RETRO_ENVIRONMENT_SET_SYSTEM_AV_INFO or
RETRO_ENVIRONMENT_SET_GEOMETRY to report resolution/aspect ratio
changes.
Handle rotation without restarting.
2021-07-12 09:57:58 +02:00
Flyinghead
97991fd8fc
gl: delete libretro vmu and crosshair textures when terminating
2021-07-11 20:43:04 +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
a73ca94124
savestate: push vmu lcd image when loading
2021-07-11 12:37:21 +02:00
Flyinghead
75af07331a
savestate: save gdrom read buffer. other fixes
...
Issue #294
2021-07-10 19:16:19 +02:00
Flyinghead
57874a9bcb
libretro: savestate compatibility. B1/D1 vmus now visible
2021-07-10 17:39:16 +02:00
Flyinghead
81546fe727
libretro: handle ThreadedRendering transition. Fix hang in !threaded
2021-07-09 16:28:28 +02:00
Flyinghead
eceb5ba982
naomi: keyboard needs player number
2021-07-09 14:34:11 +02:00
Flyinghead
345dab9633
libretro: fix nvidia palette issue. request 3.2 to get a core gl ctx
2021-07-09 13:10:30 +02:00
Flyinghead
5c952021b7
libretro: vmu and crosshair display. lightgun fixes
2021-07-08 20:09:09 +02:00
Flyinghead
b66e6560ca
libretro: vulkan support
2021-07-08 12:47:00 +02:00
Flyinghead
673c2988d6
libretro: backport libnx support. Fix log source paths
2021-07-07 19:01:37 +02:00
Flyinghead
042f2e0224
custom textures: saturate colors when dumping RGBA4444 and RGBA5551
2021-07-07 17:19:13 +02:00
Flyinghead
b300bb9f7a
libretro: non-threaded rendering
2021-07-07 13:12:16 +02:00
Flyinghead
205f2690d6
gl4: delete fog & palette textures when terminating
...
fixes fullscreen toggle screen corruption
2021-07-07 10:54:10 +02:00
scribam
aeea301ee3
Minor include header changes
2021-07-07 10:37:11 +02:00
Flyinghead
8e6bbed74f
libretro: aw coin fix. screen rotation. disable loading notifications
2021-07-07 09:48:10 +02:00
flyinghead
ef506d49aa
libretro: pvr2 postprocessing filter
2021-07-06 21:37:47 +02:00
flyinghead
c205a888a9
options: anisotropic filtering, oit pixel buffer size, fast gdrom load
2021-07-06 16:19:12 +02:00