libretroadmin fef3de8bd9 libretro: relax retro_unserialize size check to permit cross-version state loads
The previous `size != retro_serialize_size()` guard rejected any state
whose serialized length didn't exactly match the current build's
SFORMAT-derived size.  That sounds defensive, but the file format
already carries its own 16-byte header with an explicit `totalsize`
and `ReadStateChunk()` already skips unknown chunk tags safely (size-
bounded `memstream_seek` past the payload), so the outer check adds
no parser safety - it just turns every SFORMAT change into a hard
break of existing saves with no user recourse.

This came up in the recent FDS audio rewrite for #560: the backport
added/removed audio-register chunk tags, leaving pre-rewrite states
240 bytes smaller than the new core's expected size, and users with
in-progress FDS games hit "unserialize FAIL" on first reload after
updating the core.

Accept any buffer that's at least the 16-byte header and at most
4x the current serialize size (a sanity cap against pathological
input).  ReadStateChunk does the actual work of validating each
chunk's size against the header's totalsize, and the FCS magic in
the header rejects non-fceumm states.

Verified on Vs. Excitebike (Japan):
  - pre-rewrite state -> new core: load OK, audio plays normally
  - new-rewrite state -> new core: round-trip OK (same audio as before)
  - 15-byte input:                 rejected (< header size)
  - 4 MB input:                    rejected (> 4 * serialize_size)
2026-06-14 20:19:23 +02:00
2024-09-23 05:55:21 -07:00
2023-01-02 19:47:36 +01:00
2026-04-02 10:14:04 +01:00
Fix
2017-12-21 20:40:28 +09:00
2014-12-23 09:50:29 +01:00
2015-08-06 13:28:43 +02:00
2025-09-03 16:20:50 +02:00
2019-06-28 23:44:06 +02:00

Build Status Build status

FCE Ultra mappers modified

FCEU "mappers modified" is an unofficial build of FCEU Ultra by CaH4e3, which supports a lot of new mappers including some obscure mappers such as one for unlicensed NES ROM's.

Sequential targets Light Guns support added

Support for Sequential targets Light Guns has been added. "Gun Aux A" serves as light sensor logic input.

Description
Pinned internal source mirror of libretro/libretro-fceumm for Supergame releases
Readme 4.3 MiB
Languages
C 97.7%
Python 2%
C++ 0.2%