MusMod 2 QTM v0.07 available

Discuss SoundTrackers, shims to QTM, 32bitting and ARMv7 compatibility
Post Reply
JonAbbott
Posts: 1739
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex

MusMod 2 QTM v0.07 available

Post by JonAbbott » Sun Sep 29, 2013 10:21 pm

Source and MusMod2 module on the dev site. There's also an 8-channel version of MusMod2 to compare, personally I prefer the 8-channel.


Changes from 0.06:

- Mus_Instruments implemented
- Mus_Effectstatus implemented (in 4 channel version)
- Switched back to 4 channels
- Mus_Sector implemented (although it's not working correctly)


Working

Battle Chess
BlowPipe
Chuck Rock
Heimdall
Hero Quest
Jahangir Khan World Championship Squash
James Pond
Lemmings
Mad Professor Mariarti
Manchester United Europe
MiG-29 Fulcrum
Oh, No! More Lemmings
Omar Sharif's Bridge
Populous
The Krisalis Collection: Revelation! [BUZZ version]
The Krisalis Collection: Terramex (no sound when using the old music, does the same without QTM)
S.W.I.V.
S.W.I.V. [BUZZ version]
Speedball 2


Known issues

Manchester United - Match sound effects and crowd noise not working (needs Mus_Sector) (in 0.08)
Lemmings 2 - hangs during loading
Nebulus - music isn't starting (it was in 0.05, so I've broken something) (working in 0.08)
Quest For Gold - samples are the wrong pitch (I believe its using internal routines for these, not MusMod)
Lotus Turbo Challenge 2 - no sound effects


Outstanding development

Mus_Patch - Requires QTM extending to support this (entry R0=songpos, R1=songpos). When songpos hits value in R1, jump to songpos in R0 (haven't found a game that uses this yet)
Mus_Effectcontrol (in 0.08)
Mus_FXonly (going to ignore this SWI)

JonAbbott
Posts: 1739
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex

Re: MusMod 2 QTM v0.07 available

Post by JonAbbott » Mon Sep 30, 2013 5:16 pm

Mus_FXonly if R0<>0 it looks like the Channel Handler spreads the effects out over channels 2-4. However, there are two bugs in the code:

1. The value Mus_FXonly writes when R0<>0 (it's actually the effect channel no.) causes the Channel Handler to use channel 5 when it's first enabled...however this bug wont present itself because of the next bug:
2. Once it's selected the channel, it jumps to the wrong part of the code and forces the effects onto channel 1

So we can probably just ignore this SWI.

JonAbbott
Posts: 1739
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex

Re: MusMod 2 QTM v0.07 available

Post by JonAbbott » Mon Sep 30, 2013 6:56 pm

Mus_Effectcontrol R0=effects volume (0-255), R1=value

The value in R1 is used to divide a large value (&ABA734 - this changes depending on the sample rate) then stored, I'm guessing it's a divisor to convert the values into a percentage, as the default value at the address it stores it too is 100.

I'm going to try implementing with QTM_SampleVolume and see what happens if we ignore R1.

JonAbbott
Posts: 1739
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex

Re: MusMod 2 QTM v0.07 available

Post by JonAbbott » Mon Sep 30, 2013 7:44 pm

JonAbbott wrote:Manchester United - Match sound effects and crowd noise not working (needs Mus_Sector)
I've now implemented Mus_Sector and have Manchester United working perfectly.

Post Reply