Back to Provenance

3534

.changelog/3534.md

3.3.11.6 KB
Original Source

Added

  • PVRcheevos SPM package — New shared PVRcheevos / CRcheevos package that compiles the rcheevos C library (submodule at PVRcheevos/rcheevos); all native cores that need rc_client-based achievements can depend on this instead of bundling their own copy.
  • Mednafen Phase 2 — full rcheevos runtime integrationMednafenRcheevosObjC target implementing the rc_client_t bridge for Mednafen: authenticates via stored RA credentials, calls rc_client_begin_load_game, drives rc_client_do_frame each frame, and routes achievement / leaderboard / challenge events to achievementsDelegate (PSX, NES/FDS, SNES via snes_faust, PCE/PCECD/SuperGrafx).
  • Saturn RetroAchievements support (experimental)MednafenRcheevosByteSwapMode enum added to the memory-region descriptor; MednafenRcheevosByteSwapModeWord16 corrects the uint16 big-endian storage Mednafen uses for Saturn Work RAM by XOR-ing each logical byte offset by 1 inside the read-memory callback, giving rcheevos byte-correct reads without a shadow buffer. Other cores with the same host-endianness mismatch can reuse this field.
  • PVRcheevosCore unit tests — New PVRcheevosCore SPM package with 36 tests covering the byte-swap logic, rcheevos address-space constants, and memory-region descriptor; no git submodule required so tests run on all platforms including Linux (cd PVRcheevosCore && swift test).
  • Mednafen modifications logCores/Mednafen/PROVENANCE_MODIFICATIONS.md documents every change made to vendored Mednafen source files (RAM accessor functions per system) with exact code snippets to re-apply after a Mednafen source update.