mirror of
https://github.com/libretro/mame2003-plus-libretro.git
synced 2026-11-07 12:28:04 -10:00
* Save states: the audio frame length (samples per frame) and its fraction When the frame rate doesn't divide the sample rate, the frames alternate their number of samples; where they are in that was not in the save state, so after a load the mixer asked the streams for a different number of samples and the audio drifted from the run that never loaded (netplay CRC mismatches in the mixer state, RunAhead audio). Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01N3fzdsnzkQVtgYtYzqepjX * Cave CV1000: SH-3 (SH7709S) with recompiler, driver, EPIC12 blitter, YMZ770 The Cave CV1000-B and CV1000-D games (Mushihime-Sama, Ibara, Espgaluda II, Muchi Muchi Pork, Pink Sweets, Mushihime-Sama Futari, Deathsmiles, DoDonPachi Dai-Fukkatsu and their sets), ported to C89 from current MAME: - src/cpu/sh3: the SH7709S interpreter (current MAME's SH-3 with the cycle counts of MAME's recompiler and its cache and bus timing model), the interrupt controller, timers, DMA, ports. - src/cpu/sh3/sh3jit.c: an SH-3 recompiler on sljit with the same results as the interpreter, cycle for cycle (save states, netplay and RunAhead don't depend on it); core option "SH-3 Dynarec", on by default, offered on x86, x86-64, ARMv7 and AArch64. - src/drivers/cv1k.c: memory maps, NAND flash, RTC9701, idle loop speedups, the sets. - src/vidhrdw/cv1k_vidhrdw.c: the EPIC12 blitter (16-bit VRAM). - src/sound/ymz770.c and the AMM variant of MPEG audio in mpeg_audio.c. Everything is in the save states. Details in docs/cave-cv1000.md. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01N3fzdsnzkQVtgYtYzqepjX --------- Co-authored-by: Claude <[email protected]>