mlarouche / ChronoTrigger-MSU1

ROM Hack that adds support for playing CD quality music in Chrono Trigger using MSU-1. I also hope to play the FMV from the PS1 version.
4 stars 0 forks source link

Cathedral Organ volume issue #10

Open qwertymodo opened 7 years ago

qwertymodo commented 7 years ago

When you play the organ in the cathedral, the volume drops suddenly at the end before it switches tracks to resume the cathedral music.

See @0:09 https://youtu.be/PVTHW5uqesU

qwertymodo commented 7 years ago

Actually, this seems to simply be one example of a more general issue where, when switching tracks, the volume jumps suddenly before actually switching to the new track. I've had it happen several times between various track changes.

qwertymodo commented 7 years ago

Ok, I think I've figured out what's going on. First of all, command 82 appears to work like command 81, but on the echo channel. This is used in a pretty clever fashion to actually enable cross-fade between tracks by immediately muting the main track channel with command 81, then setting a long fade out with command 82 (so it only works if it is fading out an echo, it can't fade out further playback). Then it sets the new track to slowly fade in with command 81. This can't be properly replicated with the MSU-1, so probably the only way to handle it is by using SPC fallback for tracks that do this. I'll need to log the $1E00-02 values at $C70004 to be sure, but I suspect this is also the case for tracks 37 and 46.

$1E00-02 log for activating the organ in the cathedral:

10 00 00 (play silence/stop cathedral track)
10 24 FF (start organ track)
81 00 00 (set main audio immediate to 0)
82 00 FF (set echo audio slow fade out)
83 00 FF (?)
81 38 FF (set main audio slow fade in)
82 00 FF (continue echo slow fade out)
83 00 FF (?)
10 10 FF (play cathedral track)