Skip to content

[Feat][Audio] player: add clean-room MUCOM88 A-F playback #14

Description

@Keitark

Background / Goal

Add clean-room MUCOM88 support to the public RetroFM source tree without
copying or linking the CC BY-NC-SA MUCOM88 driver/compiler source. The first
complete target is the native A-F part set: FM1-3 and SSG1-3 on the existing
YM2203-compatible FPGA path.

Current behavior

The public source snapshot accepts MDX/PDX and YM2203 VGM/VGZ. A reviewed
private development branch contains an external-oracle importer and tests that
must be migrated without private music or generated conversions.

Expected behavior

  • Parse CP932/ASCII .muc metadata and channel source with new GPL-compatible
    code.
  • Sequence supported A-F commands into timestamped YM2203 register events.
  • Preserve tempo, notes/rests, loops, key timing, voices, volume, pan, SSG
    mixer/noise/envelope, detune, and supported LFO semantics.
  • Reject active G-K parts or unsupported commands before unmute.
  • Keep official sample archives and generated personal imports outside Git.

Acceptance criteria

  • No source is copied from the CC BY-NC-SA MUCOM88 implementation.
  • Host tests cover malformed input, metadata, supported commands, loops,
    tempo, and register/timestamp traces.
  • A rights-cleared A-F fixture plays through hardware JT03.
  • Active G-K parts are rejected before playback.
  • Existing MDX/PDX and VGM/VGZ tests remain green.
  • Built, packaged, copied, booted, and audibly accepted states are reported
    separately.

Notes / logs / links

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions