[ scummvm-Bugs-646222 ] MI1/INDY3: MidiDriver chan. setup broken

noreply at sourceforge.net noreply at sourceforge.net
Sat Nov 30 23:08:27 CET 2002


Bugs item #646222, was opened at 2002-11-30 22:08
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=418820&aid=646222&group_id=37116

Category: iMuse/Music
Group: Monkey Island 1
Status: Open
Resolution: None
Priority: 5
Submitted By: Mikesch Nepomuk (mnepomuk)
Assigned to: Nobody/Anonymous (nobody)
Summary: MI1/INDY3: MidiDriver chan. setup broken

Initial Comment:
Since the move of MidiDriver_ADLIB to backends the
music in monkeyvga and indy3 (-> all GF_SMALL_HEADER
games) is broken.
(Yes, it's anyway not right finished yet (looping), but
it sounds 2 weeks ago a lot better !)

Problem is in adlib.cpp: MidiDriver::adlib_setup_channel():
In case of the older games it must be always:
   adlib_write(port + 0x40, instr->oplvl_1);
The yet (always) active
   adlib_write(port + 0x40, (instr->oplvl_1 | 0x3F) -
vol_1 );
is just wrong. And as you see, it has nothing to do
with vol_1 or with instr->oplvl_1, it's the ORing with
0x3F. So it's nothing, I can work around with a better
instruments setup at resource loading time ;-)

Solution may be:
  - extra MidiDriver for GF_SMALL_HEADER
  - games features-flag in MidiDriver

Any suggestions ?


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=418820&aid=646222&group_id=37116




More information about the Scummvm-tracker mailing list