tildearrow / furnace

a multi-system chiptune tracker compatible with DefleMask modules
GNU General Public License v2.0
2.6k stars 208 forks source link

Various OPLL problems and corruptions #249

Closed freq-mod closed 1 year ago

freq-mod commented 2 years ago
tildearrow commented 2 years ago

I have turned your issue into a list to make it easier for me to track.

tildearrow commented 2 years ago

AR is 4-bit in OPL/OPLL. Not a bug.

tildearrow commented 2 years ago

What is "Duty/Noise" and "waveform" macros for?

Unused. I am hiding these now.

tildearrow commented 1 year ago

make HH and T-CY not write into freq register. The reason for that is when snare and hi hat are in the same row snare's frequency register update will be overshadowed by hi hat's. Same goes for tom and cymbal where cymbal overshadows tom Suggestion after fix: when song plays if no note is present in snare or tom (or there is key OFF and REL) set the yamaha's default frequency registers for it

Added an option for this.

tildearrow commented 1 year ago

And an option to choose between different (adlib, Yamaha, SMPS, MGSDRV) freq settings for drum mode (see: 7)

Do you have a list? (besides Yamaha)

freq-mod commented 1 year ago

I will try to find one tomorrow

freq-mod commented 1 year ago

@tildearrow it might be very wrong, but: Adlib Visual Composer: BD - variable (2B2 for BD); SD and HH - 205; TOM and CYM - 2B2. MDPlayer also specified some BL values, no idea what are they- 5 for BD, 2 for SD, 1 for cym. Will test it. EDIT: tested, wrong lol

SMPS (real) CH7: block = 2, f-num = 288 CH8: block = 0, f-num = 432 CH9: block = 0, f-num = 257

freq-mod commented 1 year ago

OPLL built-in instr parameters wiev is incorrect - OP1 and OP2 Sine checkboxes are ignored, making one think all sounds use sine, which is not the case.

freq-mod commented 1 year ago

Remaining issues tracked in separate tickets

tildearrow commented 1 year ago

Created new label for this specific situation.