Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite MIDI capital tone fallback (CTF) emulation #1666

Merged
merged 8 commits into from
Apr 26, 2024

Conversation

ceski-1
Copy link
Collaborator

@ceski-1 ceski-1 commented Apr 25, 2024

We had this in Woof for a long time, but it's worth making it better with the big cross-platform MIDI update and the release of Nuked SC-55. Lots of info about this feature: dosbox-staging/dosbox-staging#2390 Check out the game list and remember that a lot of Doom wads use MIDI rips from other games.

Capital tone fallback (CTF) changes for Woof:

  • More accurate to original SC-55 (1.21). Some minor intentional differences to avoid silence.
  • Enabled by default and is not disabled unless the user edits their config. Reasoning:
    • CTF provides better compatibility for most Roland-like devices, including MS GS Synth and Nuked SC-55 with mkII roms.
    • Works transparently with Yamaha devices (e.g. S-YXG50) at default midi_* settings.
    • Even in GM mode, some songs pick bad drum sets. A good example is dbp37_test.wad which shows "No DRUM SET" with an SC-55 mkII or Nuked SC-55. These errors are fixed with CTF.
    • Power users can disable it for edge cases. Maybe there's a rare song that uses advanced SC-88 or XG features that sounds nice with the right hardware, but those MIDI features wouldn't be heard anyway with FluidSynth, SC-55, MS GS Synth, etc.

More accurately describes how meta events are handled.
Obsolete due to capital tone fallback rewrite.
More accurate to original SC-55 (1.21) except where intentionally different to avoid silence.
For broken songs and devices that don't conform to GM spec.
Copy link
Collaborator

@rfomin rfomin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks perfect, thanks!

@ceski-1 ceski-1 merged commit 52aa64e into fabiangreffrath:master Apr 26, 2024
6 checks passed
@ceski-1 ceski-1 deleted the ctf branch April 26, 2024 03:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants