Commit Graph

4209 Commits

Author SHA1 Message Date
vkedwardli b92277ac58
macOS: Register file extensions for `openFile` (Drag ROM to App Icon), update `setupWorkingDirectory`, rename `SDLMain` to `SDLApplicationDelegate` to avoid confusion with the function `SDL_main()` (#1287)
Register file extensions for openFile, and supports the following actions
    Drag ROM to Application icon to launch the app
    Drag ROM to the running app's dock icon
    Drag ROM to the running app's window (applicable to all SDL platform by SDL_DROPFILE)
Update setupWorkingDirectory
    macOS default cwd is a nonsense "/" for non-terminal application
Rename SDLMain to SDLApplicationDelegate to avoid confusion with the function SDL_main()
some code cleanup
2023-11-07 16:29:08 +01:00
scribam 9a7bf75e4e deps: update sdl to version 2.28.5
Set minimum version required to 2.0.9 because of SDL_JoystickRumble
2023-11-07 16:27:23 +01:00
Edward Li f6b3577de5 Save race result image to writable data folder 2023-11-05 18:39:37 +01:00
Edward Li a4ec706c79 Init `ThermalPrinter` only when cabinet type is Deluxe.
nvmem: Enable printer by default for `f355twin` and `f355twn2`
2023-11-05 18:39:37 +01:00
Flyinghead cb890c7b6f windows: fix run instance with path containing spaces or non ascii 2023-11-05 18:39:04 +01:00
Flyinghead fd3f207e45 maple: move arcade input settings into maple init
Get rid of settings.input.JammaSetup
2023-11-02 19:00:29 +01:00
Flyinghead 594b403997 naomi: add some (mostly not working) roms
mazanj
dygolfp
shors2k2m
shors2k2s
shors2k2l
shors2k2
wccf116
wccf1dup
wccf212e
wccf234j
wccf310j
wccf331e
wccf322e
wccf331j
wccf341j
wccf400j
wccf420e
galilfac (systemsp)

Fix hotd2p, virnbap, huhimage
2023-11-02 18:44:52 +01:00
Flyinghead bafe07de85 aica: better sounding LPF
Use 4 bits of exponent instead of 5 for the cut off frequency
Force sample to 0 if cut off freq is 0
Improve BIOS menu sounds
Issue #108
2023-11-02 18:33:14 +01:00
Bobby Smith 3e047a6e03 Create expansion device for "Racing Controller" 2023-11-01 15:43:08 +01:00
Flyinghead 29c0dca0ce naomi: enable printer for all f355 editions
only usable in deluxe mode (f355twin, f355twn2)
2023-11-01 15:41:41 +01:00
flyinghead 5cfd3f0ba3
Merge pull request #1274 from bslenul/lr-invalid-values
[Libretro] Remove some "Invalid value" errors
2023-10-31 13:55:23 +01:00
Flyinghead 7b71bd319c Android and iOS support. Change dead zone to integer % value in UI
UI: dead zone changes from 0 to 100%. Add % for Rumble too.
Support Android and iOS gamepads.
Assume legacy gamepads have an analog stick (evdev, xinput)
2023-10-30 18:28:29 +01:00
Flyinghead 51089c5e0a aica: always avoid race condition when sh4 interrupt is raised
... even if an SH4 interrupt is already asserted.
Regression introduced by c7d214e55a
Fixes audio freeze in Test Drive Le Mans
Issue #1267
2023-10-30 17:47:19 +01:00
Flyinghead 24944e00a7 force Full Framebuffer Emulation for some games
Eisei Meijin III
Marionette Company
World Neverland Plus
Issue #1266
2023-10-30 17:43:33 +01:00
Bobby Smith 66faf0d330 [Libretro] Remove some "Invalid value" errors 2023-10-30 16:21:26 +01:00
Bowen Cui c0de126b2b Add option to set deadzone for analog sticks 2023-10-30 05:21:36 -04:00
Flyinghead f640b32cc9 enable Copy to VRAM for a bunch of games
Worms World Party (US)
Hundred Swords
Musapey's Choco Marker (dreamcast)
Choco Marker (naomi)
Sister Princess Premium Edition
Sentimental Graffiti 1 & 2
Kanon
Aikagi
AIR
Issue #1265
2023-10-27 14:56:28 +02:00
Flyinghead 93e47dd410 aica: don't change LEA for non-looping sounds
Non-looping sounds with LSA=0 and LEA=0 shouldn't be played at all.
Regression introduced by dac5b991e0.
Fixes white noise in Sonic Adventure Emerald Coast action stage.
Issue #1264
2023-10-27 14:52:07 +02:00
Flyinghead 8fb3def2d5 gl oit: fix several issues
Disable blending when rendering a-buffers. Fixes ECW Anarchy Rulz black
title screen and Demolition Racer glitchy end of race screen.

Use palette in the depth pass for punch-through polygons using palette
texture. Fixes shadow issue in Alone in the Dark.

Copy ouput fbo to geom_fbo before drawing. Fixes missing transparent
polygons in subsequent partial renders. Fixes Test Drive Le Mans missing
labels in loading screen.

Issue #1262
2023-10-25 16:59:01 +02:00
Flyinghead 98a0f2b821 gl: frame upside down with GLES 2.0 if video shift is on
drawQuad ignores the swapY param if vertices are provided so swap Y
coords of vertices.
2023-10-25 16:53:25 +02:00
Flyinghead 4fafa91506 gl: disable dithering with GLES 2.0
GLES 2.0 doesn't allow initialization of const arrays.
Fixes MINIDUMP-1YP MINIDUMP-1YQ
2023-10-25 16:51:44 +02:00
Flyinghead 09a1fea40f arm32: fix host rounding mode on android
It looks like setting host rounding stopped working on armv7 android a
while ago (v1.0 already has the issue). Directly setting the host FPSCR
register doesn't work so use the C99 standard functions fegetenv and
fesetenv instead.
Fixes flickering yoshimitsu legs in Soul Calibur.
Fixes rotating objects in Sword of the Berserk.
Issue #556
Issue #1259
2023-10-25 16:48:58 +02:00
Flyinghead e55d70c0e6 dx9,dx11: depth surface and temp render target resize issue with RTT
dx9: resize depth surface to max width and height when RTT
dx11 oit: resize all depth and temp render targets when RTT but keep
current framebuffer.
Fixes Flag to Flag not updating the screen when RTT'ing rear view
mirrors.
Issue #1257
2023-10-23 10:36:41 +02:00
Flyinghead ca45ff3834 default to Vulkan renderer if OpenGL not compiled in
Issue #1258
2023-10-23 10:10:49 +02:00
Flyinghead 35c71ebcfd rend: add hcount and vcount used by meltyb for video shift calc
meltyb (and possibly others) uses hcount=850 (instead of 851) and
vcount=528 (instead of 529)
2023-10-22 12:08:19 +02:00
Flyinghead 33edcca348 texture: expand color data of planar textures
Partial revert of f4835a89d3
Fixes color differences between planar and !planar textures in Sakura
Taisen 2.
Issue #1256
2023-10-22 10:17:01 +02:00
Flyinghead dac5b991e0 aica: ignore LEA if <= LSA
Fixes Legacy of Kain Ash Village music
Issue #1104
2023-10-22 10:12:30 +02:00
Flyinghead b7d923e02b maple: clear mapleDmaOut on reset. Other reset issues
mapleDmaOut wasn't reset, causing crashes or freezes in subsequent runs
Issue #1253

reset YUV state, pvr tile clip, MMU sq_remap, sh4 sq_buffer and more
2023-10-20 16:15:42 +02:00
Flyinghead eaf2c0064c enable copy to vram for sakura taisen 1
Issue #1252
2023-10-19 19:58:05 +02:00
Flyinghead a65cd9e5f9 savestate: fix retroarch savestate compatibility
A new RA header must be skipped in standalone
2023-10-19 19:56:43 +02:00
Flyinghead e94b26f1df gdrom: return blank sector if FAD miss
Fixes NBA Hoopz (US) voice samples
Issue #1247
2023-10-17 14:29:05 +02:00
Flyinghead e96b38ff5c rend: support vscalefactor > 1 for RTT
SCALER_CTL.vscalefactor also applies to RTT and values > 1 will increase
the texture height.
dx11: initialize abufferPointers to avoid issues with first frame
rendered.
Fixes pause menu/battle animation with Skies of Arcadia (PAL)
Issue #1127
2023-10-16 14:51:27 +02:00
Flyinghead e894d4df5c sh4: limit penalty cycles to first 3 mem ops
Fixes choppy video in Dynamite Cop! and Resident Evil 2 intros.
Fixes desync between character and background in UFC championship intro.
Fixes Dino Crisis (JP) desync between video and subtitles.
Fixes South Park Rally boot freeze with one controller and 2 vmus.
Add cheats for Dave Mirra BMX to fix main loop timing.
Issue #1034
2023-10-16 14:39:15 +02:00
Flyinghead c58ae4daac vulkan: terminate context if init fails
Avoids crash on exit
2023-10-16 14:19:47 +02:00
Flyinghead 2a364dee67 dynarec: check null codeBuffer in rewrite() if called before init
Fixes MINIDUMP-1VN, MINIDUMP-1X1, MINIDUMP-1XD
2023-10-13 11:41:18 +02:00
Flyinghead 56107b3667 dx11 oit: missing depth pass for transparent polys when autosort=0
The depth pass with transparent polys must also be done when autosort=0.
Fixes The Grinch pause menu
Issue #1244
2023-10-13 11:00:19 +02:00
Flyinghead 31aab32d95 dx9: unreleased resources make device reset fail
dcfbSurface and vmu texture were leaked when updated, causing the device
reset to fail when maximizing or restoring the app window.
Issue #1243
2023-10-13 10:55:45 +02:00
Flyinghead 0b66409ed2 naomi: default eeprom for pokasuka ghosts
Fixes coin assignments error at boot
Issue #1237
2023-10-13 10:51:07 +02:00
Flyinghead 8ae288d2ca gdb: revert swapping of words
Partial revert of b0a520fe18
Short and ints shouldn't be swapped.
gdb can handle both little and big endian SH4 (set endian big/little).
2023-10-12 09:49:55 +02:00
Flyinghead 4419ff310a naomi: default eeprom for manic panic
Fixes coin assignments error at boot
Issue #1237
2023-10-12 09:36:09 +02:00
Flyinghead 2f524923da set extra depth scale back to 0.1 for Caesars Palace 2000
Fixes pause menu background transparency in video keno game.
Regression introduced by cc1b45b7cc
Issue #1236
2023-10-11 14:42:35 +02:00
Flyinghead 07d761a880 rec x64: move jit_set_exec out of exception scope in rewrite 2023-10-11 14:28:39 +02:00
Flyinghead f6f6637973 naomi: mushikep compatibility 2023-10-11 14:25:11 +02:00
Flyinghead 2cd3ffb33f Revert "vk oit: add sync event between renderer and vk context on Mali
gpu"

This reverts commit abd9219347.
Issue #1234
2023-10-11 14:13:34 +02:00
Flyinghead abd9219347 vk oit: add sync event between renderer and vk context on Mali gpu
Use vk event to wait for renderer pipeline to finish before rendering
the final frame in vk context. This seems to help Mali gpus.
Issue #1234
2023-10-11 09:35:18 +02:00
Flyinghead 417a42ae10 boxart: image mix up due to broken rand() on windows
srand() wasn't called and rand() returns the same number twice on
windows (RAND_MAX is only 32767).
Use c++11 random instead.
Issue #1231
2023-10-10 11:47:50 +02:00
Flyinghead 0e12153c45 libretro: frame is flipped vertically with GLES 2
drawQuad ignores the swapY parameter if vertices are provided.
Reverse the shiftY direction for pvr2 filter.
Issue #1233
2023-10-10 11:37:00 +02:00
Flyinghead cb33387ed6 gdrom: clear DRQ on ATA_NOP
Fixes Sentimental Graffiti 2 hang when switching disk
Issue #1232
2023-10-09 22:39:54 +02:00
Flyinghead 38d4689b63 gl,vk,dx: use nearest filtering for mipmap with PT polys
Interpolating between LoDs produces unexpected alpha values.
dx,vk: add negative LoD bias
Fixes "Press Start" text in Trizeal title screen

dx11: get rid of bogus nearest wrap hack
Can't reproduce original issue with daytona
Fixes Virtua Tennis title screen
Issue #1230
2023-10-09 21:09:03 +02:00
Flyinghead 23d1db9c75 nvmem: add email address to flash ISP config
Issue #1227
2023-10-09 20:44:15 +02:00
Flyinghead 4e079b5d0b missing override keyword 2023-10-08 19:14:33 +02:00
Flyinghead 3fcbdd3fc5 gl: missing precision qualifier for dithering table
Fixes MINIDUMP-1VR MINIDUMP-1W0 MINIDUMP-1W1 MINIDUMP-1WE MINIDUMP-1WF
2023-10-08 19:13:07 +02:00
Flyinghead 78b44919c5 vk, gl: ignore fb_enable and blank_video during normal render
Fixes some screen missing. Already handled in renderFB. Should be
handled at Present time.
gl4: first frame after renderFB was missing

Issue #1217
2023-10-07 15:46:28 +02:00
flyinghead 7308f9a704 sh4: dont change host rounding mode in Sh4_int_Reset()
Don't change host rounding mode in Sh4_int_Reset(), which is typically
called from the UI thread.
Set rounding mode to default before calling renderer (single-thread
mode), restore it before returning.
Fixes issues with dx11 shaders compilation: rounding mode affects
inexact literal float values.
Issue #1224
Issue #1207
2023-10-06 18:17:14 +02:00
Flyinghead 18f9b84af6 elf: memory corruption if .elf file is invalid 2023-10-05 11:45:14 +02:00
Flyinghead 56517b027a naomi: fix gdrom searching in rom parent path
OpenDisc() now throws so exceptions must be caught
Never return null from OpenDisc
2023-10-05 11:43:22 +02:00
scribam d9b5f27311 deps: update sdl to version 2.28.4 2023-10-02 21:42:47 +02:00
Flyinghead cb91ad3ae0 reset platform to dreamcast after unloading game
so that Language, Broadcast, Cable, etc. are enabled in the UI
2023-10-01 20:07:59 +02:00
Flyinghead 60f3d718ac arm64 rec: fix crash with some naomi games (regression)
Fixes crash with doa2a and doa2m and some atomiswave conversions.
Regression due to b47f4f56ef
Fixes MINIDUMP-1TY, MINIDUMP-1TD, MINIDUMP-16Q, MINIDUMP-1AC
2023-10-01 19:31:18 +02:00
Flyinghead 09857008bd rend: guard against NaN depth if z is negative
Fixes prison white background effect in RayMan 2
Issue #1209
2023-09-27 14:55:31 +02:00
Flyinghead 5eddc26850 dx11: work around some float literal precision issue with the compiler
For some reason the directx compiler doesn't convert float literal in a
deterministic way (!). A difference of one ulp can be seen between
different compilation of the same code.
This causes an issue with the rounding of the alpha value for PT polys.
Issue #1207
2023-09-26 17:05:21 +02:00
Flyinghead a915f185f8 Merge remote-tracking branch 'origin/master' into dev 2023-09-25 22:17:29 +02:00
Flyinghead 0f6e1752e3 rend: clear framebuffer when vram address changes
Fixes top and bottom leftovers from BIOS boot in San Francisco Rush
2049.
Issue #1197
2023-09-25 18:23:26 +02:00
Flyinghead e57ccde532 systemsp: pluggable input manager. fix lr. disable isshoni P1 button 1
Delegate input management to game-specific class
Default, card reader/dispenser and isshoni input managers
isshoni: Use button 1 for touchscreen press
libretro: systemsp input mapping
2023-09-25 17:38:41 +02:00
vkedwardli f75a16f40c
Ignore Mouse Capture when Left Ctrl or Left ALT is mapped to a Dreamcast Key (#1203) 2023-09-24 16:02:18 +02:00
Flyinghead a869e183db gl: video shift y needs to be inverted too
follow up to 5ffcdb5f1e
Fix crash in pvr2 post processor when rendering the dc framebuffer
2023-09-24 13:09:00 +02:00
Flyinghead c60edb0090 gl: get rid of async copy to vram
Fix issues when games access texture data directly in vram.
Jet Set Radio custom graffiti copy to vmu. Issue #232
Cardcaptor Sakura best shots. Issue #1089
Grandia II battle start effect.

Force Copy to VRAM for Cardcaptor Sakura, Grandia II, Canvas, Sakura
Taisen 3 and more
2023-09-24 11:29:22 +02:00
Flyinghead 84d82f360b dx11: black screen with full fb emu when scaling. dx9: fb render fix
dx11: black screen when full framebuffer emulation is enabled if scaling
is on (480 -> 240p)
Fixes Mr.Driller. Issue #1067
dx9: wrong stretching when rendering the dc framebuffer if aspect ratio
different from 4:3
2023-09-24 11:04:24 +02:00
Flyinghead b002bdff39 ui: color chooser for crosshair was changing on its own
Only change color when needed and use rounding when converting back to
integer.
Issue  #1074
2023-09-24 10:57:50 +02:00
Flyinghead 5ffcdb5f1e gl: flip Y coord when drawing framebuffer to avoid rounding issues
Flip Y again when drawing to final framebuffer
Fixes HUD characters truncated vertically in Test Drive V-Rally
Issue #1088
2023-09-23 14:57:19 +02:00
Flyinghead 79bbd86c2f rend: Fix PT polygons alpha test
Alpha test for PT polys is done after mixing texture and vertex colors
and clamping. Revert db0534d5dd. See
86235bb4a3.
Fixes visible triangle arrows after selecting a character in Langrisser
Millenium.
Issue #1201

vk oit: OP polygons don't support blending
2023-09-23 14:01:26 +02:00
Flyinghead 39a212140a vk: add bumpmap flag to pipeline hash
Fixes disappearing pause menu text and green wooden boxes in Mat
Hoffmann's Pro BMX
Issue #878
2023-09-23 11:13:14 +02:00
Colton Pawielski a7dbbbe578
Add Dreamcast 32MB RAM Mod (#1198) 2023-09-22 11:10:44 +02:00
Flyinghead 2445739c0e arm,arm64 rec: check fault location before attempting to rewrite
Ignore fault if pc isn't in the dynarec code buffer.

Fix for MINIDUMP-1S0, MINIDUMP-1RS
2023-09-20 17:25:09 +02:00
Flyinghead 403f1f635b systemsp: load rom boot id from compact flash volume
Open and decrypt 1STREAD.BIN then the image file to extract the rom boot
id.
Fix boot id for non-encrypted roms (bingogals)
Reset naomi default eeprom when forcing different region and before
reloading the bios.
2023-09-20 17:22:28 +02:00
Flyinghead 879372cb79 rec-x64: use FMA when available
x64 vfmadd is a better implementation of the sh4 FMAC op, so use it if
available. Fall back to mul+add if GGPO is enabled to avoid desyncs
between different cpu models.
Issue #1201
2023-09-20 17:14:50 +02:00
Flyinghead 6b05c0ab01 tex conv: extend alpha channel of planar 4444 textures
The alpha channel needs to be extended for PT polygons to work. Fixes
Langrisser Millenium black title screen and missing textures on
character selection screen.
Issue #1201
2023-09-20 17:06:05 +02:00
Flyinghead 289f264371 systemsp: set correct region for rom games
Override the region when not supported by the game. Only works for rom
games.
2023-09-19 17:59:20 +02:00
Flyinghead 869ddb643d systemsp: initialize media name and default eeprom
Fix failure to load a systemsp rom game after running a compactflash
game.
Fix error 05 if selecting the wrong region then switching to Japan.
2023-09-19 16:13:27 +02:00
Flyinghead c63f1a9997 pvr: background poly vertex order fix
Fix background poly vertices coordinates to form a valid triangle strip

Fixes lovebery bogus background poly on character selection screen.
Issue #1200
2023-09-19 16:08:22 +02:00
Flyinghead 0fc0dc5101 systemsp: rfid management chip emulation
fixes dinoking, dinokior, dinoki25, lovebery, lovebero and loveber3
2023-09-18 11:00:08 +02:00
Flyinghead c839bc89eb naomi: crash when loading a legacy .bin rom
More fix for MINIDUMP-1DA, MINIDUMP-1D8, MINIDUMP-1EM
2023-09-15 18:50:55 +02:00
Flyinghead 84f2871650 renderer: set render timeout to 20 ms to reduce input lag at 30 FPS
Fixes mouse not responding in 30 fps (Quake 3) or variable fps games
(Unreal)
Issue #949
2023-09-14 15:18:56 +02:00
Flyinghead e1b4d4d703 naomi: crash when loading a legacy .bin rom
Fixes MINIDUMP-1DA, MINIDUMP-1D8, MINIDUMP-1EM
2023-09-14 15:08:56 +02:00
vkedwardli b564b0bf91
Increase L2+ / R2+ trigger sensitivity for digital buttons (#1190) 2023-09-14 09:08:58 +02:00
Flyinghead 7e1dcf9003 maple: move test, coin and trigger buttons into the upper 16-bit range
avoid interfering with regular jvs/maple buttons
2023-09-12 19:13:40 +02:00
Flyinghead 0f4c903fed ios build fix 2023-09-12 19:06:59 +02:00
Flyinghead 0ac483acfc sh4 dynarec refactoring
sh4 code buffer class
dynarec interface and implementations
2023-09-12 16:52:25 +02:00
Flyinghead f4835a89d3 implement dithering in full FB mode
gl, vk, dx11, dx9: implement ordered dithering in GLSL/HLSL
refactor framebuffer and texture writes to vram
don't expand color data when reading planar textures
2023-09-10 16:25:19 +02:00
flyinghead b23d37f76f lr dx11: set all shaders in Quad to avoid conflicts with RA
RA uses geometry and/or compute shaders, which must be disabled when the
core is drawing.
Issue #1192
2023-09-09 16:22:50 +02:00
Edward Li 1377e61d03 DX11: Use high performance GPU on Windows 10 (1803 or later) 2023-09-07 09:51:45 +02:00
Flyinghead 8eae6b97fc ui: keyboard input was ignored when resuming game if no render
When resuming a game, keyboard is ignored until the next frame is
rendered. This is due to ImGUI not updating its WantCaptureKeyboard flag
until the next frame, which is an issue if the game isn't actively
rendering frames (Zombie Revenge pause screen, Giant Killers)
2023-09-02 20:00:07 +02:00
Flyinghead d29645cc49 naomi: derbyoc JP card reader support. security pic for doa, tduno
Derby owner's club (JP) uses a Sanwa CRP-1231LR card reader. World
edition uses a Sanwa CRP-1231BR.
Set x76f100 security pic content for doa2, doa2a, doa2m, tduno
2023-08-27 17:20:43 +02:00
Flyinghead 129fff1c2a naomi: x76f100 and at93cxx implementation. naomi2 elan fix
proper emulation of x76f100 security eeprom and at93cxx serial eeprom
elan: don't reset projection matrix at end of frame. Issue #1177
2023-08-25 17:01:40 +02:00
scribam 10b13dfe9c deps: update to match Vulkan SDK 1.3.261.0 2023-08-24 17:33:47 +02:00
scribam 358a54152b deps: update imgui to version 1.89.8 and implot 2023-08-24 17:33:47 +02:00
scribam 06e2c455e8 deps: update sdl to version 2.28.2 2023-08-24 17:33:47 +02:00
scribam a1838eee30 deps: update libchdr 2023-08-24 17:33:47 +02:00
scribam 56b082def7 uwp: add support for arm 2023-08-02 09:32:55 +02:00
Shingo INADA 92a10ba0f0 [input] fix LT2/RT2 mapping save 2023-07-31 16:12:13 +02:00
Flyinghead c637ae8281 Merge remote-tracking branch 'origin/master' into dev 2023-07-30 18:05:38 +02:00
scribam 40953b17c4 uwp: add support for arm64 2023-07-30 18:03:32 +02:00
Flyinghead 7061c043d9 naomi: derbyocw card support. serial pipes refactoring. systemsp fixes
common interface for most serial pipes
jvs: MIE RS422 port support
card reader: allow reading/writing of individual tracks
systemsp:  fix interrupt handling. refactor serial ports. isshoni wanwan
puppy touchscreen support
2023-07-26 21:34:03 +02:00
Flyinghead 92a19e9250 hopper fixes. fix kick4cash input
kick4cash encoders are rotated 45° and polling is done twice per frame.
add bet button to shootout pool and club kart (prize)
hopper: load/save config. fix pay out and bet values. proper defaults
based on selected currency.
2023-07-23 17:16:08 +02:00
scribam 4f5fd31d81 archive: replace zip_get_num_files (deprecated) by zip_get_num_entries 2023-07-22 19:04:52 +02:00
scribam 1b565f9879 clang-tidy: run modernize-concat-nested-namespaces 2023-07-22 19:04:52 +02:00
scribam d2b475ae41 boxart: remove redundant call to c_str() 2023-07-22 19:04:52 +02:00
Lucas Azevedo 9c61006941 Fix GUI SDL mouse buttons
Clicks were swapped in GUI as SDL uses 2 for middle and 3 for right and
the GUI expects the opposite (minus 1).
2023-07-18 11:00:58 +02:00
scribam 4db26bc092 spg: fix warning 'vblk_cnt' defined but not used 2023-07-16 19:57:51 +02:00
Flyinghead 8c0f543bc8 naomi: hopper support for kick'4'cash, shootout pool and club kart prize
high level emulation of 837-14438 and naomi SWP hopper boards
2023-07-16 19:57:16 +02:00
Flyinghead 8e3a48eb6f naomi: fix shootout pool inputs
Use button 1 to switch between cue aim and cue roller rotary encoders.
Remap start/mode to start
2023-07-16 19:10:39 +02:00
Flyinghead 7a22318b0f sdl: don't send button up events based on mouse button state
as doing so cancels other inputs bound to the same target
2023-07-16 19:03:07 +02:00
Flyinghead 3c6eaa4d34 aica arm: use scratch reg for call/jump if offset if too big (armv7)
Issue #1148
2023-07-14 21:32:49 +02:00
Flyinghead 3bf817aea1 vk: reset semaphore index to 0 when recreating the swap chain
When frame dupe is enabled and switching to fast forward, the current
semaphore index might end up pointing past the end of the semaphore
array, causing a crash.
Issue #1138
2023-07-10 12:41:13 +02:00
scribam a3ebe02f85 vk: modernize device properties retrieval 2023-07-09 18:51:44 +02:00
Edward Li 278f26aadd macOS: Enable clipboard functions and corresponding menu items 2023-07-06 18:42:31 +02:00
Flyinghead 30e66d1c17 reios: ignore high order bits for FAD
Mask FAD with ffffff. Apparently the regular BIOS does the same. Fixes
bogus FAD issued by Guilty Gear X when playing CD audio.
Issue  #1124
2023-07-05 10:23:54 +02:00
Edward Li 2089015221 Fix Spout2 MinGW error 2023-07-03 11:38:35 +02:00
scribam 42d003597e deps: update sdl to version 2.28.1 2023-07-03 11:38:06 +02:00
scribam f9da57d87f deps: reapply patches to vixl 2023-07-03 11:37:42 +02:00
scribam daf8230cca deps: update vixl 2023-07-03 11:37:42 +02:00
Flyinghead f02265b662 systemsp: fix sram addressing
translate dinoki4 rom name
2023-07-03 11:36:59 +02:00
Flyinghead 5eb893a995 Sega SystemSP support
add naomi roms: anpanman2, anpanman2a, drbyocwt and clubkpzbp
2023-07-01 16:24:51 +02:00
Flyinghead b47f4f56ef user-defined literals: _KB, _MB, _GB 2023-07-01 14:31:25 +02:00
vkedwardli 7cd308fcae
Realtime Video Routing (#1126)
* Syphon video routing with OpenGL and Vulkan (MacOS)
* Spout video routing with DX11 and OpenGL (Windows)
* Fix Xcode detection
2023-06-26 11:56:56 +02:00
scribam 6e6f75386b deps: update sdl to version 2.28.0 2023-06-26 11:53:22 +02:00
Flyinghead aad4921e09 picotcp: fix kos ppp nego. modem,bba: fix kos detection
picotcp: ignore conf ack received when lcp layer is up (kos ppp)
picotcp: ignore icmp ping seq and id #
scheduler: add void * arg to callback function. Get rid of static instances when possible
bba: use scheduler to delay link changes (fixes kos bba detection)
modem: fix soft reset. don't reset TDBE during reset (fixes kos modem detection)
2023-06-23 11:40:22 +02:00
Flyinghead 0070f9abad network: fix known UDP ports bind regression
introduced by b4e5af6346
Add driving strikers netdemo known port
Issue #1112
2023-06-21 16:31:01 +02:00
Flyinghead dca048981f network: process both inbound and outbound packets for 2k games
DreamPi processes inbound packets on tcp port 5011 (dc2k2) so let's do
both.
Issue #1112
2023-06-18 11:20:40 +02:00
Eric Warmenhoven 74b98d85ed libretro: another apple platforms build fix 2023-06-16 17:27:14 +02:00
Flyinghead 67a7637b9f network: tentative fix for 2k sport games
Fix port 5011 outbound packets instead of incoming ones for original hw
interop.
Issue #1112
2023-06-16 17:26:39 +02:00
Eric Warmenhoven 2511a19d2d libretro: apple platforms build fix 2023-06-15 16:05:36 +02:00
Flyinghead b4e5af6346 picotcp: bind native udp socket to the same local port as the pico one
The Toy Racer server ignores the source udp port so it must match the
dreamcast one. Will not work if the port is in use or well-known, or if
NAT gets in the way.
Issue #1112
2023-06-15 16:04:32 +02:00
Murad "Gness Erquint" Beybalaev f679fd9ba9 Typo in GUI.
"Covert art" → "cover art".
2023-06-13 14:56:33 +02:00
Flyinghead b6930a2a9e rend: force texture scanorder to 0 if vq and mipmap are set
Fixes crash and corrupted texture in Star Wars Demolition
Issue #1108
2023-06-13 14:55:47 +02:00
scribam 4db7137dbf deps: update miniupnpc to version 2.2.5 2023-06-12 16:07:41 +02:00
Flyinghead d6fe46649c sdl: also use F11 to toggle fullscreen
in addtion to alt+enter
2023-06-12 16:05:34 +02:00
Flyinghead 2644c2ef47 pvr: more std::vector::operator[] UB
Issue #1100
2023-06-05 17:13:40 +02:00
scribam f590766421 deps: update nowide 2023-06-04 12:49:55 +02:00
Flyinghead fa1c62d11a naomi: fix spawn eeprom network settings 2023-06-04 12:49:35 +02:00
Flyinghead ffc0a42c18 std::vector::operator[index] with index >= size is UB 2023-06-04 12:48:50 +02:00
vkedwardli 6c249ee4d2
Set `header()` and `OptionArrowButtons()` alpha to 1.0f (#1096)
* Set `header()` alpha to 1.0f

* Do not grey out `OptionArrowButtons()` also
2023-06-02 14:26:04 +02:00
scribam bd946bfbea deps: update imgui to version v1.89.6 2023-06-02 14:24:32 +02:00
Flyinghead bb92e9f7a4 add rfid cheat for mushik2k 2023-06-02 14:23:46 +02:00
Flyinghead 63686eeee1 naomi: add fallback bios files. Proper region names
ui: use proper region names for arcade (export, korea)
naomi: add previous version of BIOS files and fall back if latest ver
not found
fall back to use multiregion bios hack for korea
add CRC for all bios files
2023-06-02 14:23:14 +02:00
scribam c0a286532a deps: update Vulkan-Headers and VulkanMemoryAllocator 2023-05-31 17:03:20 +02:00
Flyinghead 231a1b624f maple: fishing controller vibration pack, analog to dpad
refactoring to avoid duplicate code
2023-05-31 17:01:54 +02:00
Flyinghead 9b8fd39d12 libelf: make static lib
gentoo builds shared libs by default
2023-05-31 16:54:48 +02:00
Flyinghead 90c4e42c11 naomi: add mushikk, mushikc and mushik2k
cheats for mushikk and mushikc rfid check
mushik2k needs rev.H korean bios and won't boot
2023-05-31 16:53:49 +02:00
Flyinghead d76611730e scraper: check for null disc after opening
Fixes MINIDUMP-11H
2023-05-29 17:34:29 +02:00
Flyinghead bdd677d66a ui: disable non-functional Dreameye maple device
Fix for MINIDUMP-127
2023-05-29 17:31:55 +02:00
Flyinghead 2299c9fade gl: detach and delete shaders after linking program
Fix attempt for MINIDUMP-RA, MINIDUMP-RM, MINIDUMP-Y7
2023-05-29 17:28:28 +02:00
Ricardo Mendonça Ferreira 885714e883
Support for Maracas & Pop'n Music controllers, WIP for others (#1035)
Racing controller, fishing controller and Densha de Go controller

Co-authored-by: Ricardo <ric.ce.br@gmail.com>
Co-authored-by: Flyinghead <raphael.jean@gmail.com>
2023-05-29 12:45:34 +02:00
Flyinghead f95c7212bf gcc13 build fix 2023-05-28 11:43:58 +02:00
Flyinghead bb0da9488f bump glslang to 12.2.0
Fix gcc13 compile error
2023-05-28 10:56:14 +02:00
Flyinghead 1aeacb0297 android: storage::getSubPath can throw 2023-05-28 10:52:16 +02:00
Flyinghead 0a1fe0135f lr: default language=EN, region=USA. TrickStyle fix
libretro: set default language to English and default region to USA.
Same as standalone.

Force language to English for TrickStyle (US)
Issue #1082
2023-05-25 13:18:42 +02:00
Flyinghead 4391058563 aica: dma cycles schedule tweak
Increase lower limit to schedule dma callback from 224 to 513
Fixes freeze/crash in Nomad Soul
Issue #1080
2023-05-25 13:02:14 +02:00
Flyinghead ea9bdd03e4 Merge remote-tracking branch 'origin/master' into dev 2023-05-24 10:44:14 +02:00
Flyinghead ed99c96232 mmu: slow mmu build fix 2023-05-24 10:43:20 +02:00
Flyinghead 755e17dc97 rend: fix clipping edge case
Fixes some transitions in Bokomu no Tatsujin
Issue #1072
2023-05-24 10:31:55 +02:00
A-w-x e94babe57e update breakpad submodule 2023-05-22 20:37:57 +02:00
Flyinghead 6b9840268f vf4: fix networking on windows (vanilla, evo). Add eeprom and nvmem
connect returns EWOULDBLOCK instead of EINPROGRESS on windows
add eeproms for vf4, vf4evo and vf4tuned (2-player cabinet)
add nvmems for vf4, vf4evob and vf4tuned (network & card readers
enabled, all day card schedule, stage select, ...)
2023-05-20 11:19:26 +02:00
Flyinghead 3f456c6738 vf4: insert card now ejects the card if already inserted
support vf4 card renewal
2023-05-19 17:45:18 +02:00
Flyinghead 59480ea5a6 gdrom: force ADR to 1 for all tracks in TOC. Set lead-out as data
Fixes gdrom check in Eldorado Gate 4 to 7
Issue #1043
2023-05-17 16:30:24 +02:00
Flyinghead 920666bc70 rent a hero 1: hle bios fix
Issue #1070
2023-05-17 16:20:46 +02:00
Flyinghead eebcb322cf vk: imgui crash during start up
font tex id must be nulled when destroying vk objects
2023-05-16 16:36:56 +02:00
scribam 04b0489ff3 deps: update imgui_impl_vulkan.* 2023-05-16 14:51:03 +02:00
scribam dd5f44ff91 deps: update imgui_impl_dx* 2023-05-16 14:51:03 +02:00
Flyinghead e5344d37d0 gdrom: fix cdda restart. revert previous change. fix hle pause/release
Revert changes from Issue #690
Fixes cdda restart in Mr.Driller, Bust-a-move 4, Wetrix+ and Reel
fishing. Issue #1019
hle: returning current cdda information fixes the pause/release issue
2023-05-16 14:33:33 +02:00
Flyinghead c07f862ef2 ggpo: exchange vf4 cards when starting the session 2023-05-16 09:43:21 +02:00
Flyinghead 8b0add47a2 revolt(jp): scale down depth to avoid menu glitch
This game uses large depth values in the menus (2000000)
Issue #1065
2023-05-14 17:34:30 +02:00
Flyinghead fe9ce46ab1 pvr: don't crash when hblank int mode is invalid or unsupported
Fixes MINIDUMP-ZE
2023-05-14 16:42:14 +02:00
Flyinghead 01c5c98396 pvr: check current ta context index when deserializing
Fixes MINIDUMP-YS
2023-05-14 16:40:36 +02:00
Flyinghead d00f07acb8 naomi: check cart malloc
Fixes MINIDUMP-QW
2023-05-14 16:36:14 +02:00
Flyinghead 83bfa9158d aica: don't crash if AFSEL=1
Fixes MINIDUMP-XW
2023-05-14 16:22:10 +02:00
Flyinghead ac2637286b Merge remote-tracking branch 'origin/master' into dev 2023-05-13 15:55:47 +02:00
flyinghead 541544292a dx11 oit: resize to null width and height when rendering to texture
Regression introduced by d2e8c9465b
Issue #974
2023-05-13 15:09:27 +02:00
Flyinghead 4b0d377e66 pvr: don't clip negative depth vertices
Fixes baserunner cams depth in World Series Baseball 2K1
Issue #1027
2023-05-12 10:20:46 +02:00
Flyinghead ae2bc8182f pvr: FB_W_CTRL.fb_alpha_threshold comparison is greater or equal
Fixes black tile under player feet in Izumo.
Force CopyToVRAM.
Issue #1040
2023-05-12 10:13:48 +02:00
Flyinghead d9ec14e048 rend: rtt can also use SCALER_CTL.hscale
Issue #1025
2023-05-09 21:28:22 +02:00
Flyinghead c0f0a758df pvr: treat nan intensity as max. avoid nullptr crash in appendSpriteVtx
Fixes Gaiamaster Kessen! black texture. Issue #1021

Fix for MINIDUMP-RC
2023-05-09 21:07:40 +02:00
Flyinghead 1a5a2f64d4 naomi: insert card button compatibility with ggpo
handle insert card button like standard naomi buttons so it can be used
with ggpo
load card data when it's inserted, not before
2023-05-06 20:54:45 +02:00
scribam 220fd51b27 deps: gather backends under imgui/backends directory
stay consistent with upstream
2023-05-04 09:26:01 +02:00
scribam 29cdc77817 deps: update implot 2023-05-04 09:26:01 +02:00
scribam 483c59f2e4 deps: update imgui to version v1.89.5 2023-05-04 09:26:01 +02:00
scribam 1fdab613fd deps: update glslang and Vulkan-Headers to sdk-1.3.243.0 2023-05-04 09:25:24 +02:00
scribam 3192f84576 remove unused iconv.h include 2023-05-02 09:45:54 +02:00
scribam 4acb670b88 netbsd build fix 2023-04-29 17:51:25 +02:00
Flyinghead 79b9b49218 naomi: netdimm net client and rfid card reader emulation
high-level emulation of netdimm v3.17 net client lib
vf4/mushiking rfid card reader emulation
2023-04-29 17:50:56 +02:00
Flyinghead e913bae9e3 alienfnt: handle +++ modem escape sequences
Allow modem to start when returning from test mode
2023-04-26 20:17:19 +02:00
Flyinghead 22d228c1b0 imgui: don't send X button events to avoid the nav window popping up
Issue #1034
2023-04-26 20:14:18 +02:00
Eric Warmenhoven d3a3cab425 Build iOS libretro core 2023-04-26 14:39:04 +02:00
Flyinghead 9d1a5cf0d3 ui: allow horizontal screen stretching up to 250%
Issue #1012
Issue #609
2023-04-24 17:41:42 +02:00
Flyinghead c8a45d95a7 dynarec: fix mov64 edge case when registers must be swapped
Handle case where mov64 must swap its operands depending on register
allocation.
Fix canonical call for FSCA when return operands are register-allocated.

Issue #1020
2023-04-24 17:38:49 +02:00
Flyinghead 92a1c1891b alienfnt: support for serial modem and worldwide ranking server
Emulate modem on sh4 serial port.
Use picotcp stack to handle ppp protocol.
Include nvmem with network settings (server at alienfront.duckdns.org,
disabled by default).
2023-04-16 15:41:54 +02:00
Flyinghead 858174791f disable multiboard on openbsd and netbsd
for lack of interprocess mutexes
2023-04-15 15:45:11 +02:00
Flyinghead fb4e653269 lr: crosshair not transparent with vk. Mazan can be played with gamepad
Use transparent quad pipeline to draw crosshairs and vmus
Allow mazan and touchscreen games (manic panic, tduno, ...) to be played
with a gamepad.
2023-04-15 15:45:11 +02:00
scribam 210100a108 naomi: netbsd/openbsd pthread fixes
These systems do not have pthread_condattr_setpshared/pthread_mutexattr_setpshared
2023-04-13 18:10:19 +02:00
Flyinghead edd1487378 gl: powervr2 filter has some uninitialized vecs
Issue #1005
2023-04-13 18:07:17 +02:00
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