211 Commits
Author SHA1 Message Date
LibretroAdmin ca15e730cb Gate the Legacy3D header on the renderer feature defines
The build system decides whether Legacy3D is available by filtering the
Legacy3D sources per platform and emitting HAVE_LEGACY3D (or USE_LEGACY3D
for RENDERER=legacy) from the result. Key the header include on those
defines instead of re-deriving availability from ANDROID/CORE_GLES, so
GLES targets that keep the renderer see the declaration that
InitRenderers() uses. New ports then only need to touch the source
filter.
2026-08-23 01:53:17 +02:00
Andrea a406b7dbb4 Merge current official Libretro-Supermodel master
Integrate the official Android/webOS build and VFS Games.xml updates. Retain the game-aware remappable Test/Service slots instead of the later global shoulder-button defaults.
2026-08-19 22:52:14 +02:00
sgiannop 4d9b331899 fix(input): map service/test buttons to joystick L2/R2 (L3/R3 with option on)
Service and test buttons were keyboard-only (KEY_5/KEY_6). Add JOY1_BUTTON21
and JOY1_BUTTON22 defaults so controllers work out of the box. When the
service_on_sticks core option is off these map to L2/R2 (shoulder buttons);
when on, they map to L3/R3 (stick clicks). Tested on Android with RetroArch
virtual pad.
2026-08-19 20:10:30 +03:00
sgiannop dca18fabeb fix(android): bypass scoped storage for Games.xml via VFS with bundled fallback
On Android 16, fopen on /storage/emulated/0/ paths is blocked by scoped
storage for apps without MANAGE_EXTERNAL_STORAGE. Add a memory-based
GameLoader constructor that accepts raw XML bytes, then in LibretroWrapper
read Games.xml via the libretro VFS interface (which bypasses the restriction).
If VFS open fails, fall back to the bundled_games_xml bytes embedded in the
binary. This makes the core self-contained and load-capable on Android without
any manual file setup.
2026-08-19 20:10:17 +03:00
Andrea 74da0c469b Document linked-cabinet role requirements 2026-08-19 17:44:33 +02:00
Andrea cc21923f58 Add normalized lightgun calibration data 2026-08-19 04:28:06 +02:00
Andrea df67197e6a Polish audio and frame skip options 2026-08-19 01:48:56 +02:00
Andrea db09e20329 Use Libretro VFS for system asset setup 2026-08-19 01:48:48 +02:00
Andrea e7ce5c0f9a Restore secondary transparent layer output 2026-08-19 01:48:42 +02:00
Andrea 7f28d0d89e Expose Legacy3D multi-texture decoding
Add the standalone MultiTexture setting as a restart-dependent core option. Show it only while the selectable renderer is Legacy3D, while keeping it available in fixed Legacy3D builds.
2026-08-18 22:27:54 +02:00
Andrea ad99627b37 Document all supported linked-cabinet families
Update the Network Board core-option description to match the complete set of game families handled by the Libretro netpacket transport.
2026-08-18 22:26:02 +02:00
Andrea 83b12370c3 Make Sound Enable restart-dependent
Keep the active sound-board state tied to the content configuration, document the restart requirement, and notify the user when the option changes. This avoids partially applying a live change across the SCSP and DSB paths.
2026-08-18 22:25:27 +02:00
Andrea d88f913655 Align PowerPC frequency overrides with standalone
Keep CPU model, bus multiplier, and PCI bridge tied to Model 3 stepping. Manual frequency choices now affect only the emulated per-frame cycle budget, so 25 and 70 MHz no longer silently initialize 66 MHz internal timing.
2026-08-18 22:23:47 +02:00
Andrea 124a7c0154 Restore Daytona 2 service-menu VR order
Restore the final four-button VR mapping from the previous supermodel-modern branch: VR1/Red=Up, VR2/Blue=Down, VR3/Yellow=Left, and VR4/Green=Right. Keep the default bindings, input descriptors, and control-profile documentation aligned with the order validated in Daytona USA 2's Service menu.
2026-08-18 21:41:14 +02:00
Andrea ca31fee799 Restore the 25 MHz PowerPC core option
Retain the additional 25 MHz underclock from the previous supermodel-modern branch. Standalone Supermodel accepts the same value through PowerPCFrequency, while the remaining option labels and presets continue to follow the official Libretro implementation.
2026-08-18 21:32:38 +02:00
Andrea 39de4c787d Align save state format with standalone Supermodel v6
Bump both Libretro save-state paths and the shared standalone path to format version 6. The Drive Board Z80 CTC adds serialized state that is not compatible with version 5 files.
2026-08-18 21:31:38 +02:00
Andrea bf4baa857f Update Drive Board Z80 CTC from standalone Supermodel
Port standalone Supermodel commit fda18d3 and its initializer-order correction while retaining the current BlockFile API. Run the drive-board Z80 at 8 MHz, derive NMIs from its programmed CTC, and preserve the prior zero-time-constant fix where a raw value of zero represents 256.
2026-08-18 21:29:52 +02:00
Andrea 1c645e8986 Update MPC bridge handling from standalone Supermodel
Port upstream standalone commit fef2b38 so Step 1.x exposes only MPC105 and Step 2.x only MPC106. Keep bridge selection tied to hardware stepping even when the Libretro CPU-frequency override is active, and remove obsolete per-game PCI overrides.
2026-08-18 21:01:26 +02:00
Andrea 21bb212d35 Remove trailing whitespace from core options 2026-08-18 20:21:37 +02:00
Andrea 56f351487e Silence remaining Model 3 compiler warnings 2026-08-18 20:16:19 +02:00
Craig Carnell b216bd8900 libretro: fix build on android, update parts of libretro-common 2026-08-18 19:15:17 +01:00
Andrea c15f81b14c Add Lightgun modes for Star Wars Trilogy 2026-08-18 20:12:55 +02:00
Andrea 2bf3715e95 Fix Star Wars multi-mouse controls 2026-08-18 20:11:16 +02:00
Andrea 03ee7631c0 Connect the network board by default 2026-08-18 20:10:34 +02:00
Andrea f7029c25f6 Add Type 2 linked-cabinet transport 2026-08-18 20:09:43 +02:00
Andrea bc3788aea7 Enable netpacket transport for all Type 1 games 2026-08-18 20:09:33 +02:00
Andrea e276fb5a24 Fix Windows NVRAM helper name collision 2026-08-18 20:06:37 +02:00
Andrea bcd014fd43 Fall back to interpreted ARM64 floating point 2026-08-18 20:06:08 +02:00
Andrea 55b59bbcb3 Support multi-cabinet linked play 2026-08-18 20:05:00 +02:00
Andrea d43eda03ec Enable Sega Rally 2 network transport 2026-08-18 20:03:09 +02:00
Andrea c4f012958a Recognize linked-cabinet network hardware 2026-08-18 20:03:00 +02:00
Andrea 437256ddbb Add experimental Scud Race cabinet networking 2026-08-18 20:00:06 +02:00
Andrea e7ea7d48b0 Add experimental Daytona 2 cabinet networking 2026-08-18 19:59:09 +02:00
Andrea 7fa0473dc3 Add native Model 3 timing mode 2026-08-18 19:50:09 +02:00
Andrea 9c0241fa3d Make Star Wars Upright X-axis fix optional 2026-08-18 19:47:28 +02:00
Andrea 3d2296f00f Match Star Wars Upright X-axis orientation 2026-08-18 19:46:43 +02:00
Andrea 7ac58a0e60 Align frame timing overlay labels 2026-08-18 19:45:50 +02:00
Andrea 800e6dfe11 Add native Libretro supersampling 2026-08-18 19:45:40 +02:00
Andrea 4be6d8222c Expand game-aware NVRAM options 2026-08-18 19:43:58 +02:00
Andrea 3a023b3a43 Complete game-aware NVRAM configuration 2026-08-18 19:40:00 +02:00
Andrea 540a290c53 Add game-aware Libretro NVRAM settings 2026-08-18 19:34:56 +02:00
Andrea 971139dc61 Expose renderer-specific Libretro options
Offer runtime New3D or Legacy3D selection only when both renderers are compiled, negotiate the required GL profile, and expose native Quad Rendering and CRT Colour controls behind build capability flags.
2026-08-18 19:29:00 +02:00
Andrea 68c5fa0a4e Preserve the official ARM64 JIT core option
Keep the canonical option name, description, values, and enabled default while retaining the added Apple Silicon MAP_JIT implementation behind it.
2026-08-18 19:25:36 +02:00
Andrea f74df6159d Initialize required cabinet NVRAM on first boot
When no frontend save RAM or valid native NVRAM exists, optionally seed known games with service-menu generated 93C46 settings while leaving backup RAM fresh. Existing saves remain untouched.
2026-08-18 19:25:00 +02:00
Andrea b2d003cbd2 Add a Mouse and Analog gun input mode
Expose a Gun mode that combines relative RetroMouse movement with the RetroPad cursor while excluding absolute Lightgun coordinates. Clarify the dedicated input-mode labels without changing their stored keys.
2026-08-18 19:23:09 +02:00
Andrea a713d06a95 Add selectable four-speed H-gate decoding
Keep four remappable Libretro gear inputs while allowing the core to interpret the right-stick directions either as direct half-axis gears or as a four-position H-pattern with hysteresis.
2026-08-18 19:22:14 +02:00
Andrea 4a09e6bb42 Harden Libretro save states
Validate the complete block layout and ROM metadata before restoring state, detect truncation or corruption with a checksum, preserve legacy core compatibility, and keep the state format at version 5 for the official engine revision.
2026-08-18 19:19:51 +02:00
Andrea d046ee9606 Handle partial frontend audio batches
Honor the number of frames accepted by the Libretro batch callback, preserve deferred ring-buffer data in order, and report partial submissions without treating them as emulator underruns.
2026-08-18 19:18:11 +02:00
Andrea 3daefc806e Expose Supermodel emulation threading modes
Map the standalone MultiThreaded and GPUMultiThreaded settings to a single restart-required Libretro option. Keep the setting independent from RetroArch threaded video.
2026-08-18 19:17:34 +02:00
Andrea d918d05c52 Reduce Libretro build warning noise
Remove dead Libretro code and unused declarations, fix initializer and option terminator warnings, and keep warning suppressions scoped to vendored/generated sources. Preserve the official engine by excluding the unrelated historical Z80 CTC behavior change.
2026-08-18 19:15:43 +02:00