What is this about?

last updated:

What is this about?

Since the release of the Mega Everdrive Pro (and MegaSD) SegaCD/MegaCD games can be played on the console without actual CD addon hardware being attached straight from the flashcart. From a technical view there are 2 main modes the Genesis/MegaDrive can operate in: Cart mode (which only uses the Genesis/MegaDrive hardware) and CD mode (which adds another cpu and CD drive to the system). There is a feature called Mode 1 which enables CD functionality but boots the system from the cartslot. It is this mode what e.g. “Pier Solar” uses to add CD music to their game when the cart is played AND a SegaCD/MegaCD is attached and their Bonus CD is inserted.

Krikzz released a custom sound driver that enables Mode 1 and adds a convenient way for programmers to have play/stop/fade/seek functions. These can be used add CD soundtracks to games while hacking the ROM to mute the original chipsounds. This is similar but not the same as MD+ on the MegaSD. While terraonion uses a proprietary format (that only works on the MegaSD), krikzz’ driver works on real hardware and every setup that implemented Mode 1 like emulators or MiSTer.

To sum it up, MSU-MD patched games work on

  • Flashcarts like Mega Everdrive pro, MegaSD works in most cases, but you may prefer MD+ patches for it.
  • Emulators like RetroArch with the latest GenesisPlusGX core
  • Real SegaCD/MegaCD hardware by burning an audio CD and use any method to play the patched rom (cheap flashcart or eeprom/pcb)
  • MiSTer DE10-Nano FPGA Board, reported working but untested on my end

Seemless looping audio

Upon release one advantage on the MegaSD and MD+ was the ability to have seemlessly looping audio tracks, so the audio would never have to fade out and start the track again. Eke-Eke added seemless loops to krikzz driver in his fork but krikzz implemented “seek time emulation” into the Mega Everdrive Pro (emulation of the time a CD laser needs to move) which prevented CD audio from looping seemlessly. In Feb.2021 krikzz released an update to his driver allowing for disabling “seek time emulation”.

Until today I have not been able to get seemless looping working as expected, as there is still a noticable gap when a track loops. As soon as there is a final solution for this, all soundPacks will be revisited to have either fading or seemlessly looping tracks.