VOGONS


First post, by sndwv

User metadata
Rank Member
Rank
Member

I've recently been re-playing Touché: The Adventures of the Fifth Musketeer. Can anyone confirm that there is a MIDI note that hangs about halfway through the opening level track 'Rouen' all the way to the end? It's fine on my Soundblaster X-fi, but on my Roland SC-50 it's as attached (note sticks at 0:54). I assume this would be the same on a SC-55 Mk. II and maybe SC-55 as well. I've extracted the .MID to play separately, with the same results.

Any idea what could be causing this and possibly how to fix it? Would be happy to attach the extracted .MID, but not sure if that's allowed.

Filename
rouen.wma
File size
1.51 MiB
Downloads
102 downloads
File comment
Rouen: stuck note @ 0:54
File license
Fair use/fair dealing exception

Reply 2 of 12, by sndwv

User metadata
Rank Member
Rank
Member

Wow, awesome! That's some extensive testing, thanks! So it seems the x-fi on-board MIDI not hanging is the exception.

If I would be able to 'fix' the MIDI file with editing software, would there be a way to re-pack it into TOUCHE.DAT?

(Was also using a UM-ONE (v.1) by the way)

Reply 3 of 12, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Channel 1 (clarinet) has erroneous note events at bar 33. The D4 note is turned on twice at the same time; the second follows the normal on-then-off pattern of events, but the first has off-then-on events that can lead to a "stuck" note depending on how the player software and/or synthesizer choose to interpret it.

The ideal way to fix it is to delete the first set of b0rked note events, but replacing the entire MID file inside TOUCHE.DAT could be complicated. A simple hack is to change the events into the normal on-then-off sequence, giving a note of zero length instead of a note of indefinite length. In the ripped MID file, change the byte at offset 379h from 80h to 90h and the byte at 37Dh from 90h to 80h; in TOUCHE.DAT the offsets are 16740ADh and 16740B1h.

Reply 5 of 12, by KainXVIII

User metadata
Rank Member
Rank
Member

Help me, i'm stuck! Since TOUCHE.DAT is located on cd-rom, how can i edit it? Or somehow i need to do full-rip of this game on the harddrive, but have no luck with it yet..

Reply 6 of 12, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The usual way would be to copy the cdrom file and directory structure to a directory on hdd and mount the hdd directory as a cdrom -- in DOSBox you'd mount with the "-t cdrom" switch, in real DOS you'd mount with FAKECD or the like. You can then modify the files on hdd. Faking a cdrom often works, unless the game is doing sector access or something else not faked well enough.

Reply 7 of 12, by KainXVIII

User metadata
Rank Member
Rank
Member
ripsaw8080 wrote on 2022-12-02, 15:01:

The usual way would be to copy the cdrom file and directory structure to a directory on hdd and mount the hdd directory as a cdrom -- in DOSBox you'd mount with the "-t cdrom" switch, in real DOS you'd mount with FAKECD or the like. You can then modify the files on hdd. Faking a cdrom often works, unless the game is doing sector access or something else not faked well enough.

Works like a charm!
But now i can't find intended byte 🤷‍♂️ Maybe its easier to just play music through x-fi midi or good old fm synth..

Снимок экрана 2022-12-02 191532.jpg
Filename
Снимок экрана 2022-12-02 191532.jpg
File size
4.14 KiB
Views
1414 views
File license
Public domain

Reply 8 of 12, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Most likely you have a different version of the game. You can search for the byte pattern 33 80 3E 5C 00 90, of which the 80 and 90 bytes are the ones to change to 90 and 80. In the file you have, the offsets appear to be 16740A3 and 16740A7.

Reply 9 of 12, by KainXVIII

User metadata
Rank Member
Rank
Member
ripsaw8080 wrote on 2022-12-02, 17:13:

Most likely you have a different version of the game. You can search for the byte pattern 33 80 3E 5C 00 90, of which the 80 and 90 bytes are the ones to change to 90 and 80. In the file you have, the offsets appear to be 16740A3 and 16740A7.

Thank you, that fixed stuck note on Roland SC VA (and it sounds much better than X-fi soundfont 😁)

Reply 11 of 12, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Hmm, perhaps the game developers tested with a synth that is immune to the out-of-sequence events and so didn't notice the issue.

I'll see if there's a way to identify the b0rked events that isn't too tedious... in the meantime you can just reconcile it as an "annoying bug authentic" game bug. 😉

Reply 12 of 12, by KainXVIII

User metadata
Rank Member
Rank
Member
ripsaw8080 wrote on 2022-12-05, 23:02:

Hmm, perhaps the game developers tested with a synth that is immune to the out-of-sequence events and so didn't notice the issue.

I'll see if there's a way to identify the b0rked events that isn't too tedious... in the meantime you can just reconcile it as an "annoying bug authentic" game bug. 😉

Ha-ha, this is what I will do!