Ricardo Mendonça Ferreira
98acd1178d
Libretro: support for more controllers, code cleanup
...
Added support for new controllers in the Libretro interface:
- Maracas (RETRO_DEVICE_MARACAS)
- Fishing Controller (RETRO_DEVICE_FISHING)
- Pop'n Music (RETRO_DEVICE_POPNMUSIC)
- Race Controller (RETRO_DEVICE_RACING)
- Densha de Go! (RETRO_DEVICE_DENSHA)
Also did a bit of refactoring, mostly for readability, but also moving repeated code into functions.
2023-06-22 22:28:25 +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
ac2637286b
Merge remote-tracking branch 'origin/master' into dev
2023-05-13 15:55:47 +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
Eric Warmenhoven
d3a3cab425
Build iOS libretro core
2023-04-26 14:39:04 +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
Flyinghead
7108358ebd
Merge remote-tracking branch 'origin/master' into dev
2023-03-30 17:31:22 +02:00
Flyinghead
4514a4bfcc
libretro: lightgun with gamepad fixes. Lightgun with touchscreen support
...
Lightgun with gamepad: fix reload, fix trigger and buttons on AW
Issue #881
Support for lr pointer device for lightgun with touchscreen.
Issue #604
2023-03-25 11:52:18 +01:00
Flyinghead
b36ef9da1e
libretro: use gamepad left analog stick for lightgun coordinates
...
Issue #881
2023-03-24 11:59:46 +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
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
b1479e6e34
aica: use namespaces, simplify api, handle serialization
...
Rename VArray2 to RamRegion. Add alloc(), free(), setRegion() and
de/serialize()
2023-01-30 10:40:07 +01:00
Flyinghead
143073b61d
rename _vmem to addrspace and move platform vmem stuff to virtmem ns
...
use namespaces
simplify names
no functional changes
2023-01-29 18:48:33 +01:00
Flyinghead
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
cc4e3875f3
libretro: expose BBA and UPnP network options
2023-01-26 10:05:58 +01:00
Flyinghead
5703ef26cf
os_DebugBreak is [[noreturn]]
2023-01-24 19:24:26 +01:00
Flyinghead
ad42a32260
switch build fix
2023-01-22 18:21:55 +01:00
warmenhoven
1948c66c11
Reload and vmem fixes for libretro on Mac ( #885 )
...
* Try to properly set up vmem on OSX
* Add Mac OSX arm64 libretro buildbot
* Don't term libretro on macOS
* Unload game when loading fails
2023-01-20 20:37:56 +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
8f3b6a2371
lr: call set_system_av_info even for dx11
...
call was disabled due to a crash that doesn't happen anymore
Issue #863
2023-01-12 14:37:05 +01:00
Flyinghead
7e4572a86a
naomi: f355 multiboard support WIP
2023-01-11 22:31:36 +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
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
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
GABO1423
d22fa54f7b
(Libretro) Enable Per-Pixel Options on DX11 builds
2022-10-05 10:46:10 +02:00
Flyinghead
1858cf3b33
Merge remote-tracking branch 'origin/master' into dev
2022-09-24 19:28:38 +02:00
Flyinghead
1f876cde39
lr: use default button name if naomi inputs name is empty
2022-09-23 16:40:18 +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
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
d6644c4935
lr: terminate emu during deinit on android
...
Issue #566 is for linux only, not android
2022-07-03 18:38:59 +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
scribam
12929c4571
openmp: use _OPENMP preprocessor, search openmp pkg unconditionally if enabled
2022-05-17 16:36:57 +02:00
jdgleaver
0e23b0bedd
(libretro) Add option to detect and notifiy frontend of internal frame rate changes (60 <-> 30 <-> 20 fps, etc.)
...
Improves frame pacing in games with locked 30 fps and 20 fps frame rates
2022-05-13 17:13:25 +02:00
Flyinghead
4554450d1d
oit: add max layers and pixel buffer size options
2022-05-05 18:01:05 +02:00
Flyinghead
c57e88850c
lr: avoid crash when rewind is on
...
Issue #471
2022-05-01 19:22:22 +02:00
Flyinghead
c348f4ccad
allow a core without open gl to be built
...
Issue #515
2022-04-30 18:05:12 +02:00
Flyinghead
c625cc68bf
lr: increase vk descSet pool size. Insert card binding
...
vk: Use same descriptor set pool sizes for standalone and core
lr: bind "Insert Card" to L button (Naomi button 6)
lr: reset input descriptors when loading a new game
lr: don't reset maple devices in arcade mode: reloading eeprom cancels game settings
2022-04-17 13:23:16 +02:00
Flyinghead
f2f4010203
clean up types.h, refactoring
2022-04-14 11:34:45 +02:00
Flyinghead
a710674cd4
gui: init once. reset ui driver when needed. android 120+ Hz support
...
ImGui is now initialized once at startup and shutdown before
terminating. graphics initialization is independent.
Move more imgui stuff into imgui drivers.
switch: set scaling on external screen to 1.4, same as xbox
UI scaling refactoring.
2022-04-13 18:06:19 +02:00
Flyinghead
e0058c17ff
lr: don't terminate emu on deinit. gl4: buffer wasn't released on term()
...
shared libraries containing gnuc unique symbols are never unloaded on
linux, and possibly other platforms. So don't terminate the emulator on
deinit and init it only once.
Issue #566
gl4: buffer not released on term() was causing crashes or black screen when restarted.
2022-04-05 14:53:47 +02:00
Flyinghead
bf61f5cfe8
Merge remote-tracking branch 'origin/master' into dev
2022-04-04 12:11:10 +02:00
Nikos Chantziaras
03f9955f8b
libretro: present frames before audio upload
...
retro_audio_sample_batch_t can block for a long time if the frontend
performs audio sync. This unnecessarily delays frame presentation.
2022-03-23 21:30:03 +01:00
Flyinghead
53b5588bda
Merge remote-tracking branch 'origin/master' into dev
2022-03-13 11:01:27 +01:00
Flyinghead
1f61f80c92
input: fix naomi rotary encoders
...
Games with multiple JVS input boards poll inputs more than once,
ignoring some relative mouse movements.
Issue #557
2022-03-06 17:57:16 +01:00
cmitu
4b10402c5b
Disable stencil usage on low end VC4 devices (Pi3)
...
Make the libretro core boot again when using the legacy VC4 GLES drivers.
Based on https://github.com/libretro/flycast/commit/ee9cd16f
Fixes: https://github.com/flyinghead/flycast/issues/539
2022-02-24 07:17:48 +01:00
Flyinghead
b91b3d5da6
libretro: use correct #ifdef for omp support
...
enables xBRZ upscaling
2022-02-06 17:52:30 +01:00
Flyinghead
e5d517dad2
use platform.isConsole(), platform.isNaomi(), ...
2022-01-27 17:52:19 +01:00
Flyinghead
da81274eb9
lr: gl stencil param isn't obsolete but required
...
Issue #454
2021-12-23 22:30:44 +01:00
Flyinghead
300c74e3fc
Merge remote-tracking branch 'origin/master' into net-rollback
...
# Conflicts:
# CMakeLists.txt
# shell/libretro/libretro.cpp
# shell/libretro/libretro_core_options.h
2021-12-22 21:31:17 +01:00