Opened 17 years ago

Closed 17 years ago

Last modified 17 years ago

#606 closed defect (fixed)

MI1/INDY3: MidiDriver chan. setup broken

Reported by: SF/mnepomuk Owned by: SF/jamieson630
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: Monkey Island 1

Description

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 ?

Ticket imported from: #646222. Ticket imported from: bugs/606.

Change History (4)

comment:1 by fingolfin, 17 years ago

Owner: set to SF/jamieson630

comment:2 by SF/jamieson630, 17 years ago

Resolution: fixed
Status: newclosed

comment:3 by SF/jamieson630, 17 years ago

Fixed. Closed. Tested to the extent we could before lockdown of the CVS tree. Mikesch, if the instrumentation does not appear to have reverted back to "correct" sound, you'll need to open another bug report on or after 2002-12-02. Thanks.

comment:4 by SF/mnepomuk, 17 years ago

Works fine. Thanks ;-)

Note: See TracTickets for help on using tickets.