Skip to content

MegaVGMDrive – YM2151, YM2203 and SegaPCM Release

Latest

Choose a tag to compare

@dai-VGM dai-VGM released this 23 Jul 04:06

Highlights

  • Added YM2203 playback using the compatible JT12/JT03 configuration
  • Added JT49 SSG support
  • Added VGM command 0x55
  • Added YM2203 header clock support at 0x44–0x47
  • Added dynamic fractional YM2203 chip CEN
  • Added deterministic reset handling for JT03, JT49, and JT12 startup pipelines
  • Added SegaPCM playback through the normal DDR path
  • Added SegaPCM header clock tracking
  • Enabled concurrent playback support for:
    • YM2612
    • SN76489 PSG
    • YM2151 / JT51
    • YM2203 / JT49
    • SegaPCM
  • Restored the historical MD audio profile
  • Normalized MD-family and arcade-family output levels independently
  • Balanced YM2203 FM against SSG using an FM x4 scale
  • Simplified the release OSD

Release OSD

  • Load VGM
  • Audio Gain
  • SegaPCM Audio
    • Normal
    • PCM Only
    • FM Only
  • Reset

Audio Gain Normal/Boost applies to the MD family (YM2612 + PSG). The release SegaPCM feed is fixed to Hold, and SegaPCM polarity is Normal.

Validation

  • Hardware tested on MiSTer-compatible hardware
  • YM2612 FM, SN76489 PSG, and YM2612 DAC playback confirmed
  • MD Audio Gain Normal and Boost confirmed
  • YM2151 / JT51 playback confirmed
  • YM2203 FM and JT49 SSG playback confirmed
  • SegaPCM normal-DDR playback confirmed
  • Normal, FM Only, and PCM Only selectors confirmed
  • Hardware playback checked with Space Harrier, Fantasy Zone, After Burner, and OutRun-family material
  • Icarus and Verilator regressions passed
  • No Mac Quartus build was performed; the attached RBF is the Windows-built, hardware-tested binary

Known issues

  • The first playback of “Maximum Power” immediately after loading a fresh RBF may contain a buzzing artifact
  • Some early YM2151 VGM files, including Quartet, may produce load-dependent sound differences; investigation is ongoing
  • Mega CD / RF5C164 is not supported
  • 32X PWM is not supported

Development note

Existing completed devices may be disabled in lab builds during new-chip bring-up. Release builds enable all supported production devices concurrently. Lab-only audio stubs must not be used for release builds.