Skip to content

Releases: Bruc3Dev573/MegaCD_MiSTer

Savestates v0.1.0

Choose a tag to compare

@Bruc3Dev573 Bruc3Dev573 released this 24 Oct 09:30

Savestates for the MegaCD / Sega CD core

Note

Unofficial release, not from MiSTer-devel. Report problems here, not on the official repo.

Download

File Who needs it Where it goes
MegaCD_SS_20261024.rbf Everyone _Console on the SD card. Remove older MegaCD_SS_*.rbf.
MiSTer from 20261010-megacd-savestates-r9 Games from disc images (.chd, .cue) on the SD card or the network SD root, in place of MiSTer (keep a copy), or only for MegaCD through MiSTer.ini.
MiSTer_Physical-CD from v2.10.0-megacd-savestates-r9 Games played from a CD in a USB CD drive, with Physical Disc Support SD root, in place of MiSTer_Physical-CD (keep a copy). Tested with disc images only.

Install the core and the Main for the way you play: the two go together. Slots saved with any earlier version still load.

What you get

  • Four savestate slots per disc, kept on the SD card. Save and load also during videos, CD music and loading screens: the CD drive comes back where the game left it. Controls.
  • Fixes for Microcosm, Mighty Morphin Power Rangers, Ultraverse Prime, Thunder Storm FX (Japan), Flashback and Dune: full list.

New since v0.1.0-pre9

  • Dune no longer gets stuck after a save or a load during its intro.
  • Saving no longer pauses the CD drive, and a save is kept even if you change game right after it (Main r8 and later).

Known limits, every change and the version history: status page.

What was tested

On MiSTer with the r8 Main, from disc images: 68 Dune runs with saves and a load in the intro, none stuck (13 in 158 before); save and load in the 19 games of the standard round; 100 save/load cycles in Mighty Morphin Power Rangers; krikzz's mcd-verificator and its CD drive test; slots from earlier versions. The Main for a real CD drive was run with disc images only.

Source, build and checksums

Tag v0.1.0, commit 9d1e5a6 on branch savestates; changes from v0.1.0-pre9. Based on the MiSTer-devel MegaCD core, GPL. Credits.

Quartus Prime Lite 17.0.2, seed 6, no negative slack (worst setup +0.220 ns).

MegaCD_SS_20261024.rbf
md5    63792edf80f7d8cc56e1779f6ef3eb73
sha256 82c17106f1c126aeb490deeb727b4129602efea877a66613d24019b8dcc1f37d

MiSTer from 20261010-megacd-savestates-r9
sha256 62c2092fcb5e97c3dff8cccd7d63f9eda7431282d090f08f6e84d561beb4c6fa

Savestates v0.1.0-pre9

Pre-release

Choose a tag to compare

@Bruc3Dev573 Bruc3Dev573 released this 22 Oct 18:05

Note

Replaced by v0.1.0, the first stable release, which fixes Dune getting stuck after a save or a load. Use that one, with the r8 Main.

Savestates for the MegaCD / Sega CD core.

Warning

Unofficial test build, not a MiSTer-devel release. Report problems here, not on the official repo.

Games fixed so far, known limits, all changes of the modified Main and the version history: status page.

Download

File Where it goes
MegaCD_SS_20261022.rbf _Console on the SD card. Remove older MegaCD_SS_*.rbf.
MiSTer from 20261010-megacd-savestates-r7 SD root: replace MiSTer (keep a copy; update_all puts it back), or keep it and select this one for MegaCD in MiSTer.ini.

Update both: this core and the r7 Main go together. For a real CD drive, use v2.10.0-megacd-savestates-r7 instead (which Main).

Slots saved with earlier versions still load.

New in this version

The CD drive behaves more like the real one. No game we know of looks or plays differently; these changes remove differences that krikzz's mcd-verificator measures, and its CD drive test now passes in full for the first time.

  • The drive reports where it is about 3 ms after each sector arrives, as the real drive does. Before, the report came just before the sector, so a program that read the position right after a sector got the next one.
  • The drive keeps its 75 reports a second steady when MiSTer's main program is busy for a few milliseconds, for example while it reads the disc image. Before, a report could be late or lost.
  • While the drive is paused or stopped, the CD decoder keeps signalling every 1/75 of a second, as on the real console, so a program waiting for that signal no longer waits forever.

Known limits

Newly listed with this version, but not new: Dune can get stuck after a save or a load during its intro videos, about once in ten, also with earlier versions. In our tests, loading the slot again got it going. All known limits: status page.

What was tested

On MiSTer with the r7 Main, from disc images:

  • mcd-verificator: the standard screen is the same as with v0.1.0-pre8. The CD drive test passes, CDD SYNC included.
  • Mighty Morphin Power Rangers: in attract mode, 100 save/load cycles; the game kept running every time.
  • Save and load in the 19 games of the standard round: every game went on running, as with v0.1.0-pre8, apart from the Dune case above.
  • Thunder Storm FX (Japan): started 4 times past the Sega logo.
  • Dune: 34 runs with saves and a load during the intro; it got stuck 3 times. v0.1.0-pre8 got stuck 3 times in 33.
  • Sonic CD, with an earlier test build of the r7 Main: a save and a load during CD music; the music came back at the right point.
  • Slots saved with earlier versions in Crime Patrol, Flashback, Mighty Morphin Power Rangers, Jaguar XJ220 and The Lawnmower Man loaded and ran, and the slot files did not change.
  • The Physical Disc r7 Main, with disc images only: mcd-verificator and its CD drive test, and save and load in Mighty Morphin Power Rangers. No real drive was tested.

These were targeted checks, not the full suite.

Source

Built from tag v0.1.0-pre9, commit 139ec33, the head of branch savestates.

Changes from v0.1.0-pre8: four commits in the gate array and the CD decoder, and a new fitter seed. One new flag uses a bit of the slot that was spare, so the slot layout did not change. The Main side is in the r7 Main.

Based on the MiSTer-devel MegaCD core. GPL, like the core. Credits: status page.

Build and checksums

Quartus Prime Lite 17.0.2, build 602, seed 4. ALMs 32,440 / 41,910, RAM blocks 541 / 553, DSP blocks 49 / 112. Setup slack +0.478 ns and +0.805 ns for the two core clocks, +0.024 ns for HDMI; minimum hold slack +0.240 ns; no negative slack.

MegaCD_SS_20261022.rbf
md5    c14ca3f8ee8ddf16189d35458ae61c50
sha256 2c23d1f2365c2330ed093c1d1dc5dbe61380e3e795c6c37273012f61b549d2ff

MiSTer from 20261010-megacd-savestates-r7
sha256 d95f22d2776e6ea47dd83c8188a7b0d6571030193b98400a1ca5d547569e6bf8

Savestates v0.1.0-pre8

Pre-release

Choose a tag to compare

@Bruc3Dev573 Bruc3Dev573 released this 20 Oct 22:56

Note

Replaced by v0.1.0-pre9, which brings the CD drive timing closer to the real console. Use that one, with the r7 Main.

Savestates for the MegaCD / Sega CD core.

Warning

Unofficial test build, not a MiSTer-devel release. Report problems here, not on the official repo.

Download

File Where it goes
MegaCD_SS_20261020.rbf _Console on the SD card. Remove older MegaCD_SS_*.rbf.
MiSTer from 20261010-megacd-savestates-r6 SD root: replace MiSTer (keep a copy; update_all puts it back), or keep it and select this one for MegaCD in MiSTer.ini.

Playing from a real CD drive, or also using the TurboGrafx16 savestate core: see which Main to use.

New in this version

  • FM music after loading a savestate. The FM sound chip (YM2612) now saves everything it is doing: where each note is in its fade, its timers and its vibrato. Before, only its settings were saved, so after a load a note or two could sound wrong until the music played the next ones.
  • Data sectors are complete (needs the r6 Main). The CD data the core reads now carries its error-correction bytes, as on the real disc, instead of zeros. No game is known to need them; it makes the data the same as the console gets.

Slots saved with earlier versions still load. Their FM music behaves as before until the next save.

Games fixed so far

Game What was wrong Fixed in
Microcosm After Start it showed "Document ends" and went back to the intro (#66) core v0.1.0-pre2
Mighty Morphin Power Rangers Starting an episode went black for up to 80 s or skipped it (#84) core v0.1.0-pre3
Mighty Morphin Power Rangers Froze a few seconds after loading a savestate, about once in 130 loads core v0.1.0-pre5
Ultraverse Prime Over HDMI the picture sheared for about 2 s every 10 s (#36) core v0.1.0-pre3
Thunder Storm FX (Japan) Froze on the Sega logo (#111) Main r2, also with the official core
Flashback With CHD images, hung after the level 2 machine cutscene (#49) Main r2, also with the official core

The other fixes are not tied to a known game: they make the hardware behave more like the real console (see the notes of each version).

Keep a copy of the slots you care about. Controls: see MiSTer-savestates. Load a state with the same disc, BIOS and region you saved it with.

Known limits

  • When a game switches between the 256 and 320 pixel modes, or a state saved in the other mode is loaded, the new width shows 4 frames later.
  • krikzz's mcd-verificator still reports errors in its timing checks (VAR, IRQ, REG 8030, PCM CLOCK from channel 4, DEC IRQ, DMA timings), which measure main CPU speed, and in CDD SYNC. CDC REGS reports error 01: it expects the 5-bit register of the CDX and Multi-Mega.
  • MGL files that point to _Console/MegaCD start this core too. Remove the RBF to go back.
What was tested

On MiSTer with the 20261010-megacd-savestates-r6 Main, from disc images:

  • Mighty Morphin Power Rangers: in attract mode, 100 save/load cycles; the game kept running every time.
  • Save and load in 19 games: Crime Patrol, Dark Wizard, Dune, ESPN NBA Hangtime '95, ESPN Sunday Night NFL, F1 Circus CD, Flashback, Ground Zero Texas, Iron Helix, Jaguar XJ220, Johnny Mnemonic (prototype), The Lawnmower Man, Mad Dog McCree, Microcosm, Mighty Morphin Power Rangers, Ultraverse Prime, What is X'Eye, Thunder Storm FX (Japan) and A-X-101: a save, a load 30 s later and another save; every game went on running. The same 19 games were also run with this core and the r5 Main.
  • Thunder Storm FX (Japan) started 3 times and Dune 5 times, past their intros.
  • mcd-verificator: the screen read back from the video capture matched the simulation, as with v0.1.0-pre7.
  • Slots saved with earlier versions in Crime Patrol, Flashback, Mighty Morphin Power Rangers, Jaguar XJ220 and The Lawnmower Man loaded and ran, and the slot files did not change.
  • The Physical Disc Support r6 Main was run with disc images only (save and load in Mighty Morphin Power Rangers, mcd-verificator); no real drive was tested.
  • In simulation, 8 saves taken while FM music played came back with the FM chip exactly as it was at the save; before this version all 8 differed.

These were targeted checks, not the full suite. Earlier results are in the v0.1.0-pre7 notes.

Changes, source and credits

Built from tag v0.1.0-pre8, commit e74b4a2, the head of branch savestates. Based on the MiSTer-devel MegaCD core. GPL, like the core.

Changes from v0.1.0-pre7: one commit, the FM chip state. It uses words of the slot that were zero, with a marker bit, so the slot layout did not change and older slots load as before. The data sector change is in the r6 Main.

Earlier changes, listed in the notes of v0.1.0-pre7 and before: the savestates, the sub-CPU at 12.5 MHz, the Ultraverse Prime video fix, the Z80 savestate fixes, CDC, PCM and gate array fixes, some from retrorepair's MegaCD_MiSTer-NukedMD, and four fixes by Jeremy O'Brien from openfpga-megacd. The FM chip is Jose Tejada's jt12, as in the official core.

Build and checksums

Quartus Prime Lite 17.0.2, build 602, seed 1. ALMs 32,306 / 41,910, RAM blocks 541 / 553, DSP blocks 49 / 112. Setup slack +0.363 ns for clk_sys, +0.401 ns for HDMI, +0.428 ns for clk_ram; minimum hold slack +0.224 ns; no negative slack.

MegaCD_SS_20261020.rbf
md5    a7407412785029071beddfb803b49e70
sha256 6bd6bbb72464d5171aa397485df5f1fa4cc778ac5180be0ed37957277a1e1bf3

MiSTer from 20261010-megacd-savestates-r6
sha256 298070ae96f822fdfc53d32cffe6850358afaafcd517055031a7dabfd1fc2936

A report helps either way: open an issue with the game, disc image or real drive, what you did and what happened. Saves during FMV, CD music and loading screens are the most useful cases.

Savestates v0.1.0-pre7

Pre-release

Choose a tag to compare

@Bruc3Dev573 Bruc3Dev573 released this 19 Oct 15:15

Note

Replaced by v0.1.0-pre8, which brings FM music back exactly after loading a savestate. Use that one.

Savestates for the MegaCD / Sega CD core.

Warning

Unofficial test build, not a MiSTer-devel release. Report problems here, not on the official repo.

Download

File Where it goes
MegaCD_SS_20261019.rbf _Console on the SD card. Remove older MegaCD_SS_*.rbf.
MiSTer from 20261010-megacd-savestates-r5 SD root: replace MiSTer (keep a copy; update_all puts it back), or keep it and select this one for MegaCD in MiSTer.ini.

Playing from a real CD drive, or also using the TurboGrafx16 savestate core: see which Main to use.

New in this version

  • Fewer freezes after loading a savestate. The sound processor (Z80) could still come back in the middle of an instruction when the save was made while the main processor was talking to it, which games do many times a second. The game's music program could then crash and the game stop. The sound processor now resumes exactly where it was. Same family as the Mighty Morphin Power Rangers freeze fixed in v0.1.0-pre5.
  • CD drive after loading a savestate (needs the r5 Main). If the save was made just after a game told the CD drive to start reading data, to pause or to resume, the drive could come back in the wrong place or keep playing after a pause. The game could then read wrong data or wait forever. Seen about once in 100 loads in our tests.
  • Free space on the SD card (r5 Main for disc images). Each time a slot file was written, the old file's space was not given back, about 2 MB per save, until the card was checked on a computer. The official Main 20261010 does the same for every file it saves. If your card has lost space, a disk check on a computer gives it back.

Correction: notes up to v0.1.0-pre5 said PCM music plays about 7% lower than on the official core. It does not: the PCM sound chip runs at 32552 samples per second, the real hardware's rate, on this core and on the official one. Only the sub-CPU slowed down to its real 12.5 MHz in v0.1.0-pre2.

Games fixed so far

Game What was wrong Fixed in
Microcosm After Start it showed "Document ends" and went back to the intro (#66) core v0.1.0-pre2
Mighty Morphin Power Rangers Starting an episode went black for up to 80 s or skipped it (#84) core v0.1.0-pre3
Mighty Morphin Power Rangers Froze a few seconds after loading a savestate, about once in 130 loads core v0.1.0-pre5
Ultraverse Prime Over HDMI the picture sheared for about 2 s every 10 s (#36) core v0.1.0-pre3
Thunder Storm FX (Japan) Froze on the Sega logo (#111) Main r2, also with the official core
Flashback With CHD images, hung after the level 2 machine cutscene (#49) Main r2, also with the official core

The other fixes are not tied to a known game: they make the hardware behave more like the real console (see the notes of each version).

Slots saved with earlier versions still load. Keep a copy of the ones you care about.

Controls: see MiSTer-savestates. Load a state with the same disc, BIOS and region you saved it with.

Known limits

  • FM music can sound off for a note or two after loading a savestate.
  • When a game switches between the 256 and 320 pixel modes, or a state saved in the other mode is loaded, the new width shows 4 frames later.
  • krikzz's mcd-verificator still reports errors in its timing checks (VAR, IRQ, REG 8030, PCM CLOCK from channel 4, DEC IRQ, DMA timings), which measure main CPU speed, and in CDD SYNC. CDC REGS reports error 01: it expects the 5-bit register of the CDX and Multi-Mega.
  • MGL files that point to _Console/MegaCD start this core too. Remove the RBF to go back.
What was tested

On MiSTer with the 20261010-megacd-savestates-r5 Main, from disc images:

  • Mighty Morphin Power Rangers: in attract mode, 200 save/load cycles with this core and 100 more with the final r5 Main, plus 3 saves without loading; the game kept running every time.
  • Save and load in 19 games: Crime Patrol, Dark Wizard, Dune, ESPN NBA Hangtime '95, ESPN Sunday Night NFL, F1 Circus CD, Flashback, Ground Zero Texas, Iron Helix, Jaguar XJ220, Johnny Mnemonic (prototype), The Lawnmower Man, Mad Dog McCree, Microcosm, Mighty Morphin Power Rangers, Ultraverse Prime, What is X'Eye, Thunder Storm FX (Japan) and A-X-101: a save, a load 30 s later and another save; every game went on running.
  • Crime Patrol: a mission played with the pad, then a save and a load during the video; the game went on both times.
  • mcd-verificator: the screen read back from the video capture matched the simulation, as with v0.1.0-pre6. Its CD drive test passed CDD QRD.
  • Slots saved with earlier versions in Crime Patrol, Flashback and Mighty Morphin Power Rangers (3 slots each) loaded and ran, and the slot files did not change.
  • The Physical Disc Support r5 Main was run with disc images only (save and load in Mighty Morphin Power Rangers); no real drive was tested.

These were targeted checks, not the full suite. Earlier results are in the v0.1.0-pre6 notes.

Changes, source and credits

Built from tag v0.1.0-pre7, commit 7fe05b0, the head of branch savestates. Based on the MiSTer-devel MegaCD core. GPL, like the core.

Changes from v0.1.0-pre6: two Z80 savestate commits. The extra Z80 state uses words that were spare in the slot, with a marker bit, so the slot layout did not change and older slots load as before. The CD drive and SD card fixes are in the r5 Main.

Earlier changes, listed in the notes of v0.1.0-pre6 and before: the savestates, the sub-CPU at 12.5 MHz, the Ultraverse Prime video fix, the Z80 savestate fixes, CDC, PCM and gate array fixes, some from retrorepair's MegaCD_MiSTer-NukedMD, and four fixes by Jeremy O'Brien from openfpga-megacd.

Build and checksums

Quartus Prime Lite 17.0.2, build 602, seed 1. ALMs 31,769 / 41,910, RAM blocks 538 / 553, DSP blocks 49 / 112. Setup slack +0.674 ns for clk_sys, +0.066 ns for HDMI, +0.705 ns for clk_ram; minimum hold slack +0.145 ns; no negative slack.

MegaCD_SS_20261019.rbf
md5    a07bf62b2c6160570b6a0829e7d24fb2
sha256 4ccd254cbc5fbaec11c8adc10bee17078d0e458828bd5a56f458026713a297b3

MiSTer from 20261010-megacd-savestates-r5
sha256 cf68b98e768e91c89ca056b36427eb688484b07b4fc06106749f7cb0c221fc16

A report helps either way: open an issue with the game, disc image or real drive, what you did and what happened. Saves during FMV, CD music and loading screens are the most useful cases.

Savestates v0.1.0-pre6

Pre-release

Choose a tag to compare

@Bruc3Dev573 Bruc3Dev573 released this 18 Oct 07:24

Note

Replaced by v0.1.0-pre7, which fixes more freezes after loading a savestate. Use that one.

Savestates for the MegaCD / Sega CD core.

Warning

Unofficial test build, not a MiSTer-devel release. Report problems here, not on the official repo.

Download

File Where it goes
MegaCD_SS_20261018.rbf _Console on the SD card. Remove older MegaCD_SS_*.rbf.
MiSTer from 20261010-megacd-savestates-r4 SD root: replace MiSTer (keep a copy; update_all puts it back), or keep it and select this one for MegaCD in MiSTer.ini.

Playing from a real CD drive, or also using the TurboGrafx16 savestate core: see which Main to use.

New in this version

  • CD music after loading a savestate. If a save was made at the moment a game started a CD music track, loading it left the CD drive paused: the music did not start and the game could stall. Now the drive carries on as the game asked. A save made while CD music plays also brings the music back at the right point; before, it came back a fraction of a second earlier. Both need the r4 Main.
  • CD music with CHD images. At the start of every CD music track, the first 1/75 of a second played twice and the next one was skipped. Fixed in the r4 Main; this also helps the official core.
  • PCM sound after loading a savestate. A game that checks where a stopped PCM sound channel is could get the start of the sample instead of where it stopped. The position is now saved.

Correction: earlier notes said PCM music plays about 7% lower than on the official core. It does not: the PCM sound chip runs at 32552 samples per second, the real hardware's rate, on this core and on the official one. Only the sub-CPU slowed down to its real 12.5 MHz in v0.1.0-pre2.

Games fixed so far

Game What was wrong Fixed in
Microcosm After Start it showed "Document ends" and went back to the intro (#66) core v0.1.0-pre2
Mighty Morphin Power Rangers Starting an episode went black for up to 80 s or skipped it (#84) core v0.1.0-pre3
Mighty Morphin Power Rangers Froze a few seconds after loading a savestate, about once in 130 loads core v0.1.0-pre5
Ultraverse Prime Over HDMI the picture sheared for about 2 s every 10 s (#36) core v0.1.0-pre3
Thunder Storm FX (Japan) Froze on the Sega logo (#111) Main r2, also with the official core
Flashback With CHD images, hung after the level 2 machine cutscene (#49) Main r2, also with the official core

The other fixes are not tied to a known game: they make the hardware behave more like the real console (see the notes of each version).

Slots saved with earlier versions still load. Keep a copy of the ones you care about.

Controls: see MiSTer-savestates. Load a state with the same disc, BIOS and region you saved it with.

Known limits

  • FM music can sound off for a note or two after loading a savestate.
  • A save taken while the main CPU holds the sound CPU's bus can still restore the sound CPU in the middle of an instruction.
  • When a game switches between the 256 and 320 pixel modes, or a state saved in the other mode is loaded, the new width shows 4 frames later.
  • krikzz's mcd-verificator still reports errors in its timing checks (VAR, IRQ, REG 8030, PCM CLOCK from channel 4, DEC IRQ, DMA timings), which measure main CPU speed, and in CDD SYNC. CDC REGS reports error 01: it expects the 5-bit register of the CDX and Multi-Mega.
  • MGL files that point to _Console/MegaCD start this core too. Remove the RBF to go back.
What was tested

On MiSTer with the 20261010-megacd-savestates-r4 Main, from disc images:

  • Mighty Morphin Power Rangers: in attract mode, 100 save/load cycles and 3 saves without loading; the game kept running every time.
  • mcd-verificator: the screen read back from the video capture matched the simulation, as with v0.1.0-pre5. Its CD drive test passed CDD QRD.
  • Crime Patrol: a mission played with the pad, then a save and a load during the video; the game went on both times.
  • Slots saved with earlier versions in Crime Patrol, Flashback and Mighty Morphin Power Rangers (3 slots each) loaded and ran, and the slot files did not change.
  • Without savestates, Dark Wizard, Dune, Flashback, Ground Zero Texas, Iron Helix, Jaguar XJ220, The Lawnmower Man, Mad Dog McCree, Microcosm and Ultraverse Prime reached their intro.

These were targeted checks, not the full suite. The Physical Disc Support Main was not checked with this core, and no real CD drive was tested. Earlier results are in the v0.1.0-pre5 notes.

Changes, source and credits

Built from tag v0.1.0-pre6, commit d3bc3ac, the head of branch savestates. Based on the MiSTer-devel MegaCD core. GPL, like the core.

Changes from v0.1.0-pre5: one commit, which saves the PCM channel positions the CPU reads in spare words of the slot, with a marker bit, so the slot layout did not change. The CD music fixes are in the r4 Main.

Earlier changes, listed in the notes of v0.1.0-pre5 and before: the savestates, the sub-CPU at 12.5 MHz, the Ultraverse Prime video fix, the Z80 savestate fixes, CDC, PCM and gate array fixes, some from retrorepair's MegaCD_MiSTer-NukedMD, and four fixes by Jeremy O'Brien from openfpga-megacd.

Build and checksums

Quartus Prime Lite 17.0.2, build 602, seed 1. ALMs 31,577 / 41,910, RAM blocks 538 / 553, DSP blocks 49 / 112. Setup slack +0.207 ns for clk_sys, +0.545 ns for HDMI, +0.241 ns for clk_ram; minimum hold slack +0.239 ns; no negative slack.

MegaCD_SS_20261018.rbf
md5    c23963ba41fda7405aba05dab82bd94d
sha256 b788180f0b9b3bc0bdff32c76737b0260d7c24991f99118d57647c79242ea468

MiSTer from 20261010-megacd-savestates-r4
sha256 d5ebe0c438effc131b2f1cb06b568b32c194710b3ffe996f2873d5c88b96953f

A report helps either way: open an issue with the game, disc image or real drive, what you did and what happened. Saves during FMV, CD music and loading screens are the most useful cases.

Savestates v0.1.0-pre5

Pre-release

Choose a tag to compare

@Bruc3Dev573 Bruc3Dev573 released this 17 Oct 13:12

Note

Replaced by v0.1.0-pre6, which fixes CD music and PCM sound after loading a savestate. Use that one.

Savestates for the MegaCD / Sega CD core.

Warning

Unofficial test build, not a MiSTer-devel release. Report problems here, not on the official repo.

Download

File Where it goes
MegaCD_SS_20261017.rbf _Console on the SD card. Remove older MegaCD_SS_*.rbf.
MiSTer from 20261010-megacd-savestates-r3 SD root: replace MiSTer (keep a copy; update_all puts it back), or keep it and select this one for MegaCD in MiSTer.ini. Same Main as v0.1.0-pre4.

Playing from a real CD drive, or also using the TurboGrafx16 savestate core: see which Main to use.

New in this version

  • Fewer freezes after loading a savestate. A game could freeze a few seconds after a load. We saw it in Mighty Morphin Power Rangers (about once in 130 loads with v0.1.0-pre4, once in 50 with v0.1.0-pre3), but it could happen in any game. The cause was the sound processor (Z80): a load could restart it in the middle of an instruction, the game's music program then crashed, and the game waited for it forever. The sound processor now restarts exactly where it was saved, and the parts of its state that were not saved before (second register set, memory bank, halt and reset state) are saved too.
  • Less risk of reading wrong data from the disc. If a game switched on the CD data decoder while a sector was arriving, the core could lose track of where each sector starts, and from then on it read wrong data until the game switched the decoder off. In our tests this happened in up to 7 of 100 such cases. The decoder now waits for the next sector, as the real hardware does. No game is known to be affected; the symptom would be a random hang or broken graphics while a game loads.

Games fixed so far

Game What was wrong Fixed in
Microcosm After Start it showed "Document ends" and went back to the intro (#66) core v0.1.0-pre2
Mighty Morphin Power Rangers Starting an episode went black for up to 80 s or skipped it (#84) core v0.1.0-pre3
Mighty Morphin Power Rangers Froze a few seconds after loading a savestate, about once in 130 loads core v0.1.0-pre5
Ultraverse Prime Over HDMI the picture sheared for about 2 s every 10 s (#36) core v0.1.0-pre3
Thunder Storm FX (Japan) Froze on the Sega logo (#111) Main r2, also with the official core
Flashback With CHD images, hung after the level 2 machine cutscene (#49) Main r2, also with the official core

The other fixes are not tied to a known game: they make the hardware behave more like the real console (see the notes of each version).

Slots saved with earlier versions still load. Keep a copy of the ones you care about.

Controls: see MiSTer-savestates. Load a state with the same disc, BIOS and region you saved it with.

Known limits

  • PCM music and effects play about 7% lower in pitch than on the official core. The sub-CPU runs at the real hardware's 12.5 MHz since v0.1.0-pre2.
  • FM music can sound off for a note or two after loading a savestate.
  • A save taken while the main CPU holds the sound CPU's bus can still restore the sound CPU in the middle of an instruction.
  • A savestate saved or loaded while a game reads data from the disc can, rarely, leave one sector with wrong data, or move the play position of a PCM channel that is not playing. Earlier versions do the same; a fix is being worked on.
  • When a game switches between the 256 and 320 pixel modes, or a state saved in the other mode is loaded, the new width shows 4 frames later.
  • krikzz's mcd-verificator still reports errors in its timing checks (VAR, IRQ, REG 8030, PCM CLOCK from channel 4, DEC IRQ, DMA timings), which measure main CPU speed, and in CDD SYNC. CDC REGS reports error 01: it expects the 5-bit register of the CDX and Multi-Mega.
  • MGL files that point to _Console/MegaCD start this core too. Remove the RBF to go back.
What was tested

On MiSTer with the 20261010-megacd-savestates-r3 Main, from disc images:

  • Mighty Morphin Power Rangers: in attract mode, 100 save/load cycles with this build and 200 with the Z80 changes alone, plus 3 saves without loading; the game kept running every time. With v0.1.0-pre4 the same 200-cycle test froze after the 83rd load.
  • mcd-verificator: the screen read back from the video capture matched the simulation, as with v0.1.0-pre4. Its CD drive test passed CDD QRD.
  • Crime Patrol: a mission played with the pad, then a save and a load during the video; the game went on both times.
  • Slots saved with earlier versions in Crime Patrol, Flashback and Mighty Morphin Power Rangers (3 slots each) loaded and ran, and the slot files did not change.
  • Without savestates, Dark Wizard, Dune, Flashback, Ground Zero Texas, Iron Helix, Jaguar XJ220, The Lawnmower Man, Mad Dog McCree, Microcosm and Ultraverse Prime reached their intro.

These were targeted checks, not the full suite. The Physical Disc Support Main was not checked with this core, and no real CD drive was tested. Earlier results are in the v0.1.0-pre4 notes.

Changes, source and credits

Built from tag v0.1.0-pre5, commit 2d837ff, the head of branch savestates. Based on the MiSTer-devel MegaCD core. GPL, like the core.

Changes from v0.1.0-pre4: five Z80 savestate commits and the CDC sector framing fix. The new Z80 state uses a word that was spare in the slot, with a marker bit, so the slot layout did not change. The framing fix without savestates is on branch fix-cdc-framing, based on the official core.

Earlier changes, listed in the notes of v0.1.0-pre4 and before: the savestates, the sub-CPU at 12.5 MHz, the Ultraverse Prime video fix, CDC, PCM and gate array fixes, some from retrorepair's MegaCD_MiSTer-NukedMD, and four fixes by Jeremy O'Brien from openfpga-megacd.

Build and checksums

Quartus Prime Lite 17.0.2, build 602, seed 1. ALMs 31,321 / 41,910, RAM blocks 538 / 553, DSP blocks 49 / 112. Setup slack +0.357 ns for clk_sys, +0.623 ns for HDMI, +0.403 ns for clk_ram; minimum hold slack +0.184 ns; no negative slack.

MegaCD_SS_20261017.rbf
md5    e343c4ae13ab8743b075308d8ca90cc1
sha256 2f6a3507a3a6ee84705c4a353165da98ef81c555c6533f6ff9e019048570211f

MiSTer from 20261010-megacd-savestates-r3
sha256 8eb8afcf78ef2cc2319c3a2faa7c1d9a0ecbede6c91b7076030088656fe02199

A report helps either way: open an issue with the game, disc image or real drive, what you did and what happened. Saves during FMV, CD music and loading screens are the most useful cases.

Savestates v0.1.0-pre4

Pre-release

Choose a tag to compare

@Bruc3Dev573 Bruc3Dev573 released this 16 Oct 16:29

Note

Replaced by v0.1.0-pre5, which fixes the Mighty Morphin Power Rangers freeze after a savestate load. Use that one.

Savestates for the MegaCD / Sega CD core.

Warning

Unofficial test build, not a MiSTer-devel release. Report problems here, not on the official repo.

Download

File Where it goes
MegaCD_SS_20261016.rbf _Console on the SD card. Remove older MegaCD_SS_*.rbf.
MiSTer from 20261010-megacd-savestates-r3 SD root: replace MiSTer (keep a copy; update_all puts it back), or keep it and select this one for MegaCD in MiSTer.ini.

Playing from a real CD drive, or also using the TurboGrafx16 savestate core: see which Main to use.

New in this version

Most changes make the Mega CD hardware behave more like the real console, as measured by krikzz's mcd-verificator test ROM. No game is known to change with them, but a game that uses these features in an unusual way may now work better; a report of any difference helps.

  • The same CD sector now gives the same bytes however a game reads it. A game can copy a sector with the processor or with a fast copy (DMA), and some of these ways gave slightly different bytes. Now all of them give the whole sector. Needs the r3 Main.
  • The count of bytes left in a CD transfer is right. When the main processor read a sector piece by piece, the count it sees was off by one.
  • Two CD controller registers behave as on the Model 1 and Model 2. The address register has the real number of bits, and the "transfer finished" flags no longer get cleared by mistake.
  • A game can read where each PCM sound channel is in its sample. It used to read wrong values.
  • The CD drive no longer gets stuck seeking. The console repeats the last CD command every 1/75 of a second; Main took each repeat as a new play or seek, so a game waiting for the data could wait forever. Needs the r3 Main.
  • Waiting for data with the drive paused. When no data arrives, the CD controller produces empty frames so that software does not wait forever. They are now marked as empty, as on the real hardware, so they cannot be taken for real data.

Savestates:

  • A save made while the CD was copying data into Word RAM could lose part of that data. Fixed.
  • With the r3 Main, loading a save made just after the game gave the drive a command left the drive paused, and the game could stall. Fixed.

Slots saved with earlier versions still load. Keep a copy of the ones you care about.

Controls: see MiSTer-savestates. Load a state with the same disc, BIOS and region you saved it with.

Known limits

  • PCM music and effects play about 7% lower in pitch than on the official core. The sub-CPU runs at the real hardware's 12.5 MHz since v0.1.0-pre2.
  • FM music can sound off for a note or two after loading a savestate.
  • Mighty Morphin Power Rangers froze once in about 50 savestate loads with v0.1.0-pre3. With this version it froze once in about 130 loads: about 10 s after the 83rd load of a 200-cycle run, while its attract mode showed a Megazord fight. The 46 loads of the first tests (40 with the r3 Main, 6 with the combined r3 Main) did not freeze.
  • When a game switches between the 256 and 320 pixel modes, or a state saved in the other mode is loaded, the new width shows 4 frames later.
  • The test ROM still reports errors in its timing checks (VAR, IRQ, REG 8030, PCM CLOCK from channel 4, DEC IRQ, DMA timings), which measure main CPU speed, and in CDD SYNC. CDC REGS reports error 01: it expects the 5-bit register of the CDX and Multi-Mega.
  • MGL files that point to _Console/MegaCD start this core too. Remove the RBF to go back.
What was tested

On MiSTer with the 20261010-megacd-savestates-r3 Main, from disc images:

  • mcd-verificator: the screen read back from the video capture matched the simulation of the same build: "Diagnostics complete", CDC REGS 01, every other CDC test OK, and the timing errors above. Its CD drive test, which krikzz left out of the shipped ROM, passed CDD QRD; with v0.1.0-pre3 it stopped there.
  • Mighty Morphin Power Rangers: in attract mode, 40 save/load cycles with this Main and 6 with the combined r3 Main, and 3 saves without loading; the game kept running every time. In a later run of 200 cycles it froze after the 83rd load (see Known limits).
  • Crime Patrol: a mission played with the pad and the attract mode that followed looked as with v0.1.0-pre3. After a save and after a load during the video of a mission, the game went on.
  • Slots saved with earlier versions in Crime Patrol (3 slots) and Flashback (3 slots) loaded and ran, and the slot files did not change.
  • Without savestates, Dark Wizard, Dune, Flashback, Ground Zero Texas, Iron Helix, Jaguar XJ220, The Lawnmower Man, Mad Dog McCree, Microcosm and Ultraverse Prime reached their intro.

In simulation: the verificator and four of krikzz's other test groups on a model of the core, and 21 save/load points spread over a verificator run on the full core, which ended with the same screen and picture as a run without them.

These were targeted checks, not the full suite. The Physical Disc Support Main was not checked with this core, and no real CD drive was tested. Earlier results are in the v0.1.0-pre3 notes.

Changes, source and credits

Built from tag v0.1.0-pre4, commit c71ac97, the head of branch savestates. Based on the MiSTer-devel MegaCD core. GPL, like the core.

Changes from v0.1.0-pre3: twelve commits. The savestate ones keep the new CDC and gate array state in spare bits and words of the slot, so the slot layout did not change. The fixes without savestates are on branch fix-cdc-verificator, based on the official core.

Earlier changes, listed in the v0.1.0-pre3, v0.1.0-pre2 and v0.1.0-pre1 notes: the savestates, the sub-CPU at 12.5 MHz, the Ultraverse Prime video fix, CDC and gate array fixes from retrorepair's MegaCD_MiSTer-NukedMD, and four fixes by Jeremy O'Brien from openfpga-megacd.

Build and checksums

Quartus Prime Lite 17.0.2, build 602, seed 1. ALMs 31,486 / 41,910, RAM blocks 538 / 553, DSP blocks 49 / 112. Setup slack +0.428 ns for clk_sys, +0.397 ns for HDMI, +0.172 ns for clk_ram; minimum hold slack +0.242 ns; no negative slack.

MegaCD_SS_20261016.rbf
md5    d3201cb2a269d2d7b8322deee75924c4
sha256 adbbcefa7b5a5715daf15093d0af83f34fcbbd252bf842fcaadd985c1412bd41

MiSTer from 20261010-megacd-savestates-r3
sha256 8eb8afcf78ef2cc2319c3a2faa7c1d9a0ecbede6c91b7076030088656fe02199

A report helps either way: open an issue with the game, disc image or real drive, what you did and what happened. Saves during FMV, CD music and loading screens are the most useful cases.

Savestates v0.1.0-pre3

Pre-release

Choose a tag to compare

@Bruc3Dev573 Bruc3Dev573 released this 13 Oct 21:22

Note

Replaced by v0.1.0-pre4, which adds CDC, PCM and savestate fixes. Use that one.

Savestates for the MegaCD / Sega CD core.

Warning

Unofficial test build, not a MiSTer-devel release. Report problems here, not on the official repo.

Download

File Where it goes
MegaCD_SS_20261013b.rbf _Console on the SD card. Remove older MegaCD_SS_*.rbf.
MiSTer from 20261010-megacd-savestates-r2 SD root: replace MiSTer (keep a copy; update_all puts it back), or keep it and select this one for MegaCD in MiSTer.ini.

Playing from a real CD drive, or also using the TurboGrafx16 savestate core: see which Main to use.

New in this version

  • Ultraverse Prime: the picture no longer shears over HDMI every 10 s (#36).
  • With the r2 Main:
    • Thunder Storm FX (Japan) no longer freezes on the Sega logo (#111).
    • Flashback no longer hangs after the level 2 machine cutscene with CHD images (#49).
    • Loading a slot no longer writes the slot file again.

Also fixed since v0.1.0-pre2, without savestates: Mighty Morphin Power Rangers loads its levels every time (#84). On the official core, starting episode 1 from the title went black for up to 80 s or skipped the episode in 5 of 8 tries; here it worked 8 times out of 8.

Slots saved with v0.1.0-pre1 and v0.1.0-pre2 still load. Keep a copy of the ones you care about.

Controls: see MiSTer-savestates. Load a state with the same disc, BIOS and region you saved it with.

Known limits

  • PCM music and effects play about 7% lower in pitch than on the official core. The sub-CPU runs at the real hardware's 12.5 MHz since v0.1.0-pre2.
  • FM music can sound off for a note or two after loading a savestate.
  • Mighty Morphin Power Rangers can freeze right after you load a savestate (F1-F4 or the OSD). This is not about the game loading its levels, which works. In tests in its attract mode it froze once in about 50 savestate loads; v0.1.0-pre1 froze in 2 of 4 such sessions.
  • When a game switches between the 256 and 320 pixel modes, or a state saved in the other mode is loaded, the new width shows 4 frames later.
  • MGL files that point to _Console/MegaCD start this core too. Remove the RBF to go back.
What was tested

On MiSTer with the 20261010-megacd-savestates-r2 Main, from disc images:

  • Ultraverse Prime: 4 minutes of gameplay recorded at 60 fps over HDMI, no glitched frame. Before, the picture was sheared for about 2.5 s every 10 s.
  • Flashback: from a slot saved in front of the machine in level 2, the cutscene played to the end and the game went on. A slot on the title screen loaded and ran.
  • Crime Patrol: a slot saved with an earlier version during an FMV loaded and played on.
  • Cobra Command: after a save and a load, the picture matched the frames right after the save.
  • Loading a slot left the slot file unchanged.
  • Without savestates, Thunder Storm FX (Japan, twice), Spider-Man vs. The Kingpin, Final Fight CD, Sonic CD, Radical Rex, Panic!, Cobra Command, Road Avenger and Time Gal ran through their intro or attract mode as with v0.1.0-pre2.

These were targeted checks, not the full suite. The Physical Disc Support Main was not checked with this core, and no real CD drive was tested. Earlier results are in the v0.1.0-pre2 notes.

Changes, source and credits

Built from tag v0.1.0-pre3, commit b4d398f. Branch savestates has the same sources with reworded commit messages, at a0676ea. Based on the MiSTer-devel MegaCD core. GPL, like the core.

Changes from v0.1.0-pre2: every active line of a frame now has the same width, 256 or 320 pixels, so the HDMI scaler never sees two widths in one frame. Ultraverse Prime switches the mode in the middle of a line below its playfield and back in the vertical blank. The frame takes the mode once it has held for four frames. The analog output was not affected. The same change is on branch fix-ultraverse-video, based on the official core.

Earlier changes, listed in the v0.1.0-pre2 and v0.1.0-pre1 notes: the savestates, the sub-CPU at 12.5 MHz, CDC and gate array fixes from retrorepair's MegaCD_MiSTer-NukedMD, and four fixes by Jeremy O'Brien from openfpga-megacd.

Build and checksums

Quartus Prime Lite 17.0.2, build 602, seed 1. ALMs 31,246 / 41,910, RAM blocks 538 / 553, DSP blocks 49 / 112. Setup slack +0.627 ns for clk_sys, +0.663 ns for HDMI, +0.742 ns for clk_ram; minimum hold slack +0.194 ns; no negative slack.

MegaCD_SS_20261013b.rbf
md5    a2406c8329c951343544973de0d01f1b
sha256 49af2e190cf65fd3627b6e528f03ba7af022a07f7d156b056c3fbe1b16658258

MiSTer from 20261010-megacd-savestates-r2
sha256 f3e8217d9a0cb7dd074ca58e42962a8ed8e06ff39c3ed7daf7fb6bdc27e68a7e

A report helps either way: open an issue with the game, disc image or real drive, what you did and what happened. Saves during FMV, CD music and loading screens are the most useful cases.

Savestates v0.1.0-pre2

Pre-release

Choose a tag to compare

@Bruc3Dev573 Bruc3Dev573 released this 13 Oct 06:34

Note

Replaced by v0.1.0-pre3, which adds the Ultraverse Prime HDMI fix. Use that one.

Savestates for the MegaCD / Sega CD core.

Warning

This is an unofficial test build, not a MiSTer-devel release. Please report problems here, not on the official repo.

This version runs the sub-CPU at its real speed and fixes several CDC and gate array bugs. Microcosm now reaches its Start/Password menu. It replaces v0.1.0-pre1 for new testing.

Files

All savestate cores and Mains are listed at https://github.com/Bruc3Dev573/MiSTer-savestates.

Use

  • Alt+F1-F4 saves to slot 1-4, F1-F4 loads.
  • The OSD has the same actions and a slot selector.
  • With a pad, map the Savestate button in the core, hold it and press:
    • Mode+Down to save
    • Mode+Up to load
    • Left/Right to change slot
  • F1-F3 no longer change the region. Set it in the OSD.

Load a state with the same disc, BIOS and region you saved it with. The state layout has not changed since v0.1.0-pre1, but keep a copy of slots you care about; compatibility between core versions is not guaranteed.

MGL files that point to _Console/MegaCD start this core too, because its name sorts after the official one. Remove the RBF to go back.

Caution

The sub-CPU now runs at 12.5 MHz instead of 13.4 MHz, and the PCM sound chip with it, so PCM music and effects play about 7% lower in pitch than in v0.1.0-pre1 and the official core. That is the speed of the real hardware.

After a load the FM music can sound off for a note or two, because the envelopes and the LFO of the FM chip are not part of the state. Loading a slot in Mighty Morphin Power Rangers can stop the game; v0.1.0-pre1 does the same.

Tested

The release RBF was checked on MiSTer with the published 20261010-megacd-savestates Main, from disc images.

  • Microcosm reaches its Start/Password menu after Start. Before, it showed "Document ends" and went back to the intro (MiSTer-devel#66).
  • Crime Patrol was loaded at two points in an FMV, twice each, and played on every time. 8 save/load cycles in its attract mode came back right.
  • Flashback: 8 save/load cycles in its attract mode came back right.
  • In both games, the picture after a load matched the recording made right after the save, frame for frame.
  • Slots saved with v0.1.0-pre1 in Crime Patrol at two points loaded and played on.
  • Without savestates, Crime Patrol, Flashback, Dark Wizard, Mighty Morphin Power Rangers, Jaguar XJ220, Dune, The Lawnmower Man and Mad Dog McCree ran through their attract mode as on the official core.
  • Krikzz's mcd-verificator 1.02 (from jgenesis#105), cartridge with a disc mounted: COLOR CALC, CDC REGS, CDC INIT, CDC FLAGS and CDC DMA1-3 pass, and the suite runs to "Diagnostics complete". On the official core it stops at CDC INIT. VAR TESTS, IRQ TEST and REG 8030 still report errors 02, 0A and 07; the official core reports 02, 09 and 07.

With the r2 Main, the same RBF was checked again: Thunder Storm FX (Japan) reached its intro 2 times out of 2, Spider-Man vs. The Kingpin reached gameplay, Final Fight CD, Sonic CD and Cobra Command ran their intros, and the Flashback level 2 machine cutscene played to the end.

These were targeted checks, not the full suite. Results from the previous release are not being carried over as new tests. The Physical Disc Support build was not checked with this core, and no real CD drive was tested.

Built with Quartus Prime Lite 17.0.2, build 602, seed 1:

Resource Used Available
ALMs 31,316 41,910
RAM blocks 538 553
DSP blocks 49 112

Setup slack was +0.350 ns for clk_sys, +0.467 ns for HDMI and +0.539 ns for clk_ram. Minimum hold slack was +0.248 ns; reported total negative slack was zero.

Note

If you try this, a report helps either way. Open an issue here with the game, image or real drive, what you did and whether it came back right. Saves during FMV, CD music and loading screens are useful cases to check.

Source

Based on the MiSTer-devel MegaCD core, branch savestates, commit 7c0af23. The v0.1.0-pre2 tag contains the release sources. GPL, like the core.

Changes from v0.1.0-pre1:

  • The sub-CPU, the graphics engine and the CDC run from a 50 MHz clock enable, so the sub-CPU runs at 12.5 MHz as on the real hardware instead of 13.4 MHz. The stopwatch and timer keep their rates.
  • A CDC DMA that is retargeted while it waits for a byte no longer hangs the CDC.
  • CDC DMA into PRG-RAM ignores the write protect, which only applies to CPU writes. A blocked DMA used to hang the sub-CPU.
  • The sub-CPU level 2 interrupt is acknowledged on the edge, so a request made during the acknowledge is not lost.
  • While HOCK is set the CDD command is sent to the drive every 75 Hz frame, not only when software writes it.
  • With the decoder enabled the CDC raises its decoder interrupt every 75 Hz frame until the first sector arrives.
  • EDT is set when a transfer ends and cleared only by a write to FF8004, which also clears DSR. Every CDC DMA starts word-aligned.
  • The CDC address register is 5 bits, out-of-range registers read FF, DBCH reads 4 bits and FF8006 reads 0 in its high byte. Writing a host data register consumes a word.
  • The font color register at FF804C is written by byte writes too.
  • The new CDC and CDD timing state is part of the savestate, in words that were unused, so the state size is unchanged.

The CDC and gate array fixes come from retrorepair's MegaCD_MiSTer-NukedMD, where they were found with mcd-verificator, and retrorepair found the same sub-CPU clock error. Here the 75 Hz decoder interrupt stops once sectors arrive: Main's sector timing made it fire in place of late sectors, which hung Crime Patrol and broke its FMV after a load. The five changes of v0.1.0-pre1 are still included: the savestates and four fixes by Jeremy O'Brien from openfpga-megacd.

MegaCD_SS_20261013.rbf
md5    8baa46d39646eb5f16a3ca87d02d1aa3
sha256 d5404932342107756223cfaf70e920eea0875361db46dd68227c45aa8d5ed720

MiSTer from 20261010-megacd-savestates-r2
sha256 f3e8217d9a0cb7dd074ca58e42962a8ed8e06ff39c3ed7daf7fb6bdc27e68a7e

MiSTer from 20261010-megacd-savestates, the Main first checked
sha256 b71463afa0c359329d1d3391e5d4213a341181765730ab66ac8a9002656967da

Savestates v0.1.0-pre1

Pre-release

Choose a tag to compare

@Bruc3Dev573 Bruc3Dev573 released this 11 Oct 13:29

Note

Replaced by v0.1.0-pre3. Use that one with the Main it lists.

Savestates for the MegaCD / Sega CD core.

Warning

This is an unofficial test build, not a MiSTer-devel release. Please report problems here, not on the official repo.

Files

All savestate cores and Mains are listed at https://github.com/Bruc3Dev573/MiSTer-savestates.

Use

  • Alt+F1-F4 saves to slot 1-4, F1-F4 loads.
  • The OSD has the same actions and a slot selector.
  • With a pad, map the Savestate button in the core, hold it and press:
    • Mode+Down to save
    • Mode+Up to load
    • Left/Right to change slot
  • F1-F3 no longer change the region. Set it in the OSD.

Load a state with the same disc, BIOS and region you saved it with.

MGL files that point to _Console/MegaCD start this core too, because its name sorts after the official one. Remove the RBF to go back.

Tested

During development I tested save and load on three MiSTer boards with 199 MegaCD discs, from disc images.

After a load the FM music can sound off for a note or two, because the envelopes and the LFO of the FM chip are not part of the state.

The Physical Disc Main has not been tested with a real drive yet.

Note

If something goes wrong, open an issue here with the game, image or real drive, what you did and what happened.

Source

5 commits on top of MiSTer-devel master, branch savestates. Four of them are fixes by Jeremy O'Brien from openfpga-megacd: the FM chip's SSG-EG hold and DAC ladder, the PCM loop marker, the communication flag at $A1200E and the Word RAM run flags. Because of them FM music can sound slightly different from the official core. GPL, like the core.

md5    279952067f5d5799e5348380132b0307
sha256 dab5d3040af443971f1a6958ccc2a9220fbe34198ea48d058a736de9da55ad23