Sound Driver Enhancement Hacks - General MIDI

Getting old DOS games working on modern hardware. (DOSBox topics belong in DOSBox areas below, not here).

Sound Driver Enhancement Hacks - General MIDI

Postby tikalat » 2013-5-27 @ 22:11

Every MIDI device sounds differently when playing songs. Some units can produce incorrect playback.

"this knowledge can directly influence how MIDI soundtracks sound (by setting the proper resets). Some tracks sound totally different depending on the mode." - d1stortion


These hacks improve playback on modern MIDI hardware. Fixes random issues like:
- device resets
- wrong controller values
- bad instruments
- faulty drivers
- limited channel range
- unused features


Sorted by:
- (1) In-game copyright year
- (2) Store release year


Tip:
- Each game has info tags about special MIDI features
- Special 'colored' tags have links to patches




==== 1991, DOS ====



==== 1992, DOS ====
Dune II _____ [BANK]
King's Quest VI: Heir Today, Gone Tomorrow _____ [GS][PERC][++]
Might and Magic IV: Clouds of Xeen _____ [NR][BANK CTF]
Quarky & Quaysoo's Turbo Science _____ [DRV][GS][PERC][DRUM CTF][++]
Quest for Glory III: Wages of War _____ [NR][PERC][DRUM CTF][++]
The Incredible Machine _____ [DRV][GS][PERC][++]



==== 1993, DOS ====
Betrayal at Krondor _____ [GS][PERC][RVB][++]
Doom _____ [GM]
EcoQuest 2: Lost Secret of the Rainforest _____ [GS][PERC]
Freddy Pharkas: Frontier Pharmacist _____ [GS][PERC][++]
Gabriel Knight: Sins of the Fathers _____ [GS][PERC][++]
Leisure Suit Larry 6: Shape Up or Slip Out! _____ [GS][PERC][++]
Might and Magic V: Darkside of Xeen _____ [NR][BANK CTF]
Pepper's Adventures in Time _____ [DRV][GS][PERC][DRUM][++]
Police Quest IV: Open Season _____ [GS][PERC][++]
Prince of Persia 2: The Shadow and the Flame _____ [GM][PERC][RVB][DRUM CTF]
Quest for Glory IV: Shadows of Darkness _____ [GS][PERC][++]
Sam & Max Hit the Road _____ [NR][PERC][RVB]
Slater & Charlie Go Camping _____ [GS][PERC][++]
Space Quest V: The Next Mutation _____ [GS][PERC][DRUM CTF][++]
Star Trek: Judgment Rites _____ [NR][PERC][RVB][CRS][DRUM][SYSEX]
The 7th Guest
The Even More! Incredible Machine _____ [GS][PERC][++]
Wing Commander: Privateer



==== 1993, WIN ====
EcoQuest 2: Lost Secret of the Rainforest _____ [NR][PERC]
Freddy Pharkas: Frontier Pharmacist _____ [NR][PERC][++]
Gabriel Knight: Sins of the Fathers (CD) _____ [NR][PERC][++]
King's Quest VI: Heir Today, Gone Tomorrow (CD) _____ [NR][PERC][++]
Leisure Suit Larry 6: Shape Up or Slip Out! _____ [NR][PERC][++]
Pepper's Adventures in Time _____ [NR][PERC][DRUM][++]
Police Quest IV: Open Season _____ [NR][PERC][++]
Quest for Glory IV: Shadows of Darkness (CD) _____ [NR][PERC][++]
Slater & Charlie Go Camping _____ [NR][PERC][++]



==== 1994, DOS ====
Blackthorne _____ [NR][DRUM CTF][++]
Descent _____ [NR][PERC][RVB][CRS][DRUM][FLKEY]
Doom II: Hell on Earth _____ [GM]
Heretic _____ [GM]
Heretic: Shadow of the Serpent Riders _____ [GM]
Hocus Pocus ____ [NR][DRUM CTF]
King's Quest VII: The Princeless Bride _____ [GS][PERC][++]
Magic Carpet _____ [NR][PERC][DRUM CTF]
Raptor: Call of the Shadows _____ [GM]
Rise of the Triad: Dark War _____ [NR][PERC]
Rise of the Triad: The HUNT Begins (shareware) _____ [NR][PERC]
The Incredible Machine 2 _____ [GS][RVB][CRS][++]
Ultima VIII: Pagan ____ [NR][PERC][RVB][CRS]



==== 1994, WIN ====
King's Quest VII: The Princeless Bride _____ [NR][PERC][++]



==== 1995, DOS ====
Descent II _____ [NR][PERC][RVB][CRS][DRUM][FLKEY]
Extreme Rise of the Triad _____ [NR][PERC]
Hexen: Beyond Heretic _____ [GM]
Hexen: Deathkings of the Dark Citadel _____ [GM]
Hi-Octane _____ [DRV][NR][RVB][CRS]
The Ultimate Doom _____ [GM]
Warcraft II: Tides of Darkness _____ [PERC][DRUM]



==== 1996, DOS ====
Chext Quest _____ [GM]
Duke Nukem 3D _____ [NR][PERC][RVB][CRS][DRUM CTF][BANK CTF][NRPN][FLKEY]
Duke Nukem 3D: Atomic Edition _____ [NR][PERC][RVB][CRS][DRUM CTF][BANK CTF][NRPN][FLKEY]
Final Doom _____ [GM]
Strife _____ [GM]
The Settlers II



==== 1997, DOS ====
Blood _____ [NR][PERC][DRUM CTF]
Blood: Cryptic Passage _____ [NR][PERC][DRUM CTF]
Blood: Plasma Pak _____ [NR][PERC][DRUM CTF]
Chex Quest 2 _____ [GM]
HacX _____ [GM]
Shadow Warrior (shareware) _____ [NR][PERC][RVB][CRS][DRUM]



==== 1997, WIN ====
Age of Empires _____ [DRUM]



To learn even more about which devices the games are optimally designed for:
http://www.vogonswiki.com/index.php/Lis ... I_standard
- Anyone can contribute to this wiki page!!



Legend:
NR = sends no reset
GM = sends GM1 reset
GS = sends GS reset

PERC = uses additional percussion notes (Roland GS)
RVB = cc91 reverb controller (Roland GS)
CRS = cc93 chorus controller (Roland GS)

BANK = uses extra instrument banks (Roland GS)
DRUM = uses special drum kits (Roland GS)
CTF = capital tone fallback

NRPN = special Roland controller (Roland GS)
SYSEX = special Roland system exclusive (Roland GS)
FLKEY = uses Roland SC-55 non-GM - Fl. Key Click (Roland GS)
++ = misc. enhancement, corrections

DRV = ships with broken, missing driver



YELLOW = hack available
CYAN = unused feature (missing, broken, disabled)
RED = causes problems on some devices (no hack available)


###################################################
###################################################
###################################################


Extras:
- Click HERE for an example of bad GM reset
- Click HERE for audio difference of pure GM vs GS
- Click HERE on how to test your sound device capabilities
- Click HERE for Roland VST sysex fix
- Read rest of thread for useful nuggets of information



Will be updated when possible. Thanks to all contributors!
Last edited by tikalat on 2013-10-16 @ 17:46, edited 45 times in total.
tikalat
Member
 
Posts: 287
Joined: 2012-4-13 @ 16:39

Re: Roland GS gamelist (timeline) + driver fix links

Postby d1stortion » 2013-5-28 @ 00:24

Do you know the reason why certain games that use GS don't send a reset?

Also I think this list would better fit the Vogons Wiki. That way people could easier contribute their own findings.
d1stortion
Oldbie
 
Posts: 1702
Joined: 2012-7-19 @ 20:42

Re: Roland GS gamelist (timeline) + driver fix links

Postby tikalat » 2013-5-28 @ 01:02

Do you know the reason why certain games that use GS don't send a reset?


Not really. Don't see any sysex commands either.


Also I think this list would better fit the Vogons Wiki. That way people could easier contribute their own findings.


If someone could set it up, that'd definitely make things easier for everyone. The list could top 100+ titles, not even counting Windows releases.
tikalat
Member
 
Posts: 287
Joined: 2012-4-13 @ 16:39

Re: Roland GS gamelist (timeline) + driver fix links

Postby d1stortion » 2013-5-28 @ 01:05

I'll set it up soon. I had something like that in mind anyway, your findings should make for a good starting point.
d1stortion
Oldbie
 
Posts: 1702
Joined: 2012-7-19 @ 20:42

Re: Roland GS gamelist (timeline) + driver fix links

Postby keropi » 2013-5-28 @ 08:45

great info here, thanks!!!
User avatar
keropi
l33t++
 
Posts: 6646
Joined: 2003-9-08 @ 06:45
Location: Greece

Re: Roland GS gamelist (timeline) + driver fix links

Postby d1stortion » 2013-5-28 @ 09:32

d1stortion
Oldbie
 
Posts: 1702
Joined: 2012-7-19 @ 20:42

Re: Roland GS gamelist (timeline) + driver fix links

Postby Spikey » 2013-5-29 @ 01:51

Do you know the reason why certain games that use GS don't send a reset?

To paraphrase Rudy Helm (since I lost the quote from a personal email), who composed Sierra's Quest for Glory III, Sierra got the SC-55 sound module in ~1992 and composers were chomping at the bit to use GS and the full potential of the device. A management decision was made soon after to limit Sierra soundtracks to the GM specification so that wavetable soundcard users and others would not hear a radically different arrangement.

I would guess a lot of the GS used in Sierra scores from 1992-5 (which outside of SQ5 is very minimal) is accidental, left over from the compositions being made on a SC-55/SC-55mkII.

I should ask Neal Grandstaff, who worked on a few games on this WIP list. Hmm. Will get back on that one.



BTW, PQ1VGA and LB2 are MT-32 composed games, the ? can be removed.

Question:
EcoQuest __ [MT][GS]

Why is this game and other MT-32 games on the list? Sending a GS reset is more like an accident than a delibarate strategy, and the games don't even have General MIDI soundtracks in the resources.
User avatar
Spikey
Member
 
Posts: 231
Joined: 2003-2-04 @ 10:36
Location: South Australia

Re: Roland GS gamelist (timeline) + driver fix links

Postby tikalat » 2013-5-29 @ 02:47

Thanks d1stortion, wiki page looks nice. Hope to use it sometime.


BTW, PQ1VGA and LB2 are MT-32 composed games, the ? can be removed.


Thanks - wanted confirmation from someone who knows for sure.


Why is this game and other MT-32 games on the list? Sending a GS reset is more like an accident than a delibarate strategy, and the games don't even have General MIDI soundtracks in the resources.


For purely academic trivia purposes. I did put a mild disclaimer that it's meant for the MT-32 device. And they can be used with a GM driver, with not-great results. Another World did allow a LAPC-I.

Then again, I -can- see how people will get confused by it. And how they shouldn't be there... and probably was a silly (plain dumb) misleading idea.

I'll be flexible about this and see if anyone else cares. If not, Eco1 + LB2 + PQ1 will be zapped (not really using the GS in a meaningful way).

Thanks for bringing it up. ;)



Was also asked to use 'full' title names (ex. King's Quest VI - Heir Today, Gone Tomorrow) for easier to google-fu search. And refer to copyright dates from in-game itself (ex. Hi-Octane = 1995 copyright).

Suppose I can do that.

Also noticed that Pepper's Adventures in Time has a hidden drum bank 128 usage. Have to follow that lead sometime - is that logical?

Hoping to get Blackthorne in the yellow = driver fix soon'ish.
tikalat
Member
 
Posts: 287
Joined: 2012-4-13 @ 16:39

Re: Roland GS gamelist (timeline) + driver fix links

Postby d1stortion » 2013-5-29 @ 07:58

I really can't understand why this topic didn't get much attention here... after all this knowledge can directly influence how MIDI soundtracks sound (by setting the proper resets). Some tracks sound totally different depending on the mode.

A related question that DID come up but wasn't really answered as well was about the "Sound Canvas" and "General MIDI" modes, for example in Duke3D. It would only make sense if the game would send different MIDI data in each mode, but that wasn't the case as far as I remember.
d1stortion
Oldbie
 
Posts: 1702
Joined: 2012-7-19 @ 20:42

Re: Roland GS gamelist (timeline) + driver fix links

Postby Spikey » 2013-5-29 @ 12:44

For purely academic trivia purposes. I did put a mild disclaimer that it's meant for the MT-32 device. And they can be used with a GM driver, with not-great results. Another World did allow a LAPC-I.

Then again, I -can- see how people will get confused by it. And how they shouldn't be there... and probably was a silly (plain dumb) misleading idea.

I'll be flexible about this and see if anyone else cares. If not, Eco1 + LB2 + PQ1 will be zapped (not really using the GS in a meaningful way).

Thanks for bringing it up.

Maybe put them in a separate section? The thread title implies that this is a thread about games that have not previously identified GS soundtracks, see the reply after yours:
"after all this knowledge can directly influence how MIDI soundtracks sound (by setting the proper resets). Some tracks sound totally different depending on the mode. "

I'm not saying distortion was steered wrong, but it shows how easily that could crop up.

I like the identification of these other soundtracks, but they should be mentioned separately or elsewhere to avoid this topic becoming really confusing for the average (read: non-sound card nerd) user.

A related question that DID come up but wasn't really answered as well was about the "Sound Canvas" and "General MIDI" modes, for example in Duke3D. It would only make sense if the game would send different MIDI data in each mode, but that wasn't the case as far as I remember.

Yeah, there's other Apogee games where this happens, and Space Quest 6 from Sierra too. AFAIK, none of these games has ever had separate MIDI data. My guess is most likely it affects a GM/GS reset being sent at the time of game launch, in a sophisticated game it might stop reverb or chorus or GS instruments being sent to a non-Sound Canvas device (if you pick General MIDI).
User avatar
Spikey
Member
 
Posts: 231
Joined: 2003-2-04 @ 10:36
Location: South Australia

Re: Roland GS gamelist (timeline) + driver fix links

Postby tikalat » 2013-5-29 @ 13:30

Maybe put them in a separate section? The thread title implies that this is a thread about games that have not previously identified GS soundtracks, see the reply after yours:


This!! This will work.


I'm not saying distortion was steered wrong, but it shows how easily that could crop up.


If I saw this post 3 years ago, I'd think it'd be okay to use the GM driver for EcoQuest 1. I was playing MT-32 games using the MS GM device. That's not good. :D


I like the identification of these other soundtracks, but they should be mentioned separately or elsewhere to avoid this topic becoming really confusing for the average (read: non-sound card nerd) user.


Yeah, yeah. Nice idea.


I really can't understand why this topic didn't get much attention here... after all this knowledge can directly influence how MIDI soundtracks sound (by setting the proper resets). Some tracks sound totally different depending on the mode.


+1


A related question that DID come up but wasn't really answered as well was about the "Sound Canvas" and "General MIDI" modes, for example in Duke3D. It would only make sense if the game would send different MIDI data in each mode, but that wasn't the case as far as I remember.


I see this enough from Miles Audio system games. Many different devices to choose from but nearly the same result (minus AWE32 = customized / tweaked?). Sometimes the drivers are shared, sometimes not.
tikalat
Member
 
Posts: 287
Joined: 2012-4-13 @ 16:39

Re: Roland GS gamelist (timeline) + driver fix links

Postby tikalat » 2013-5-29 @ 14:32

Thanks guys! Cleaned up the topic - narrow focus on actual GS usage + driver fixes.

All else goes to the wiki. That looks better. :)
tikalat
Member
 
Posts: 287
Joined: 2012-4-13 @ 16:39

Re: Roland GS gamelist (timeline) + driver fix links

Postby d1stortion » 2013-5-29 @ 18:35

The fact that you put my quote in the beginning cracks me up :lol:

What tools are you using to extract/analyse the game MIDI files?
d1stortion
Oldbie
 
Posts: 1702
Joined: 2012-7-19 @ 20:42

Re: Roland GS gamelist (timeline) + driver fix links

Postby tikalat » 2013-5-29 @ 22:48

What tools are you using to extract/analyse the game MIDI files?


For extraction, anything I can find. SCI tools, wad unpackers, Hex Workshop, homebrew stuff. I avoid further conversion of data - using it raw.


To analyze, I try (when possible) to throw it into my midi parser. Sifting out unusual data that needs further in-game inspection
http://s000.tinyupload.com/index.php?fi ... 3558913790


It's buggy and incomplete and complicated but it works at an okay level. It's not picking up usage of 'uninitialized' channels yet - seeing this strange (accidental pitch wheel error?) with one of Blackthorne's sfx called 'Drawgun'. If that's even used in-game..

Can't do standard midi files (SMF). Other custom stuff like MUS (iD), M (New World Computing), misc. Easier to just play the game sometimes and use a midi logger.


It's really all touch-and-go. As the engine improves and detects more data quirks, I have to revisit old games to see if it picks up something new (I dislike that).

So it's mostly Sierra + Dynamix games that have been torn apart. But there's small things lurking that apparently I've still managed to miss.

Rest is hearsay so far.
tikalat
Member
 
Posts: 287
Joined: 2012-4-13 @ 16:39

Re: Roland GS gamelist (timeline) + driver fix links

Postby d1stortion » 2013-5-30 @ 15:49

Another game that I've noticed to really differ with GM/GS modes is Shadow Warrior. In E1M1 you hear a lot of extra drum notes in GM which are not there in GS. Also the drums are generally different (more powerful in GS). I've only tested this on Yamaha synths so I don't know if the difference is as apparent with Roland.

Btw tikalat, the reason why nobody can register on the wiki is that it had a massive spam problem. If you're interested in contributing contact mwdmeyer, he is responsible for account creation.
d1stortion
Oldbie
 
Posts: 1702
Joined: 2012-7-19 @ 20:42

Re: Roland GS gamelist (timeline) + driver fix links

Postby Spikey » 2013-5-31 @ 02:12

T:
If I saw this post 3 years ago, I'd think it'd be okay to use the GM driver for EcoQuest 1. I was playing MT-32 games using the MS GM device. That's not good.

Well, just because the music is designed for the MT-32 doesn't mean it sounds horrible on a Sound Canvas or wavetable GM with Sierra's driver, it just means it wasn't tailored for it. In most games you have a hit or miss affair, like PQ1VGA, where some tracks are really strong, like the guitar driven ones, but some miss instruments (listen to Marie's theme in both GM and MT-32, the GM one misses the custom MT-32 snare completely!).
In others, say EQ1, you don't miss much at all across the board, some tracks (IMO subjectively ;) ) sound improved over the MT-32!
Vice versa with GM games as well, of course, where in some GM games the MT-32 GM SysEx sounds fine and sometimes it doesn't, and sometimes the partial 'conversion' for the MT-32 is good and sometimes it isn't.

D:
Another game that I've noticed to really differ with GM/GS modes is Shadow Warrior. In E1M1 you hear a lot of extra drum notes in GM which are not there in GS. Also the drums are generally different (more powerful in GS). I've only tested this on Yamaha synths so I don't know if the difference is as apparent with Roland.

GM is an industry standard where you can play the file on almost anything, GS means the file MUST be played on a Roland GS-supported piece of hardware or software or the music will sound wrong. I bet if you listened to a SC-55 (or SC-88 or whatever they recorded it with) playing the GS file and the GM file they would sound nearly the same.
User avatar
Spikey
Member
 
Posts: 231
Joined: 2003-2-04 @ 10:36
Location: South Australia

Re: Roland GS gamelist (timeline) + driver fix links

Postby d1stortion » 2013-5-31 @ 12:08

Yeah I know that... perhaps I wasn't very clear on what I meant. In TG300B (GS compatibility) mode the song sounded correct, those wrong drum notes could be from a missing GS drum set. Again this is where the "General MIDI" option in the setup is really misleading because it's apparently playing back GS data anyway.
d1stortion
Oldbie
 
Posts: 1702
Joined: 2012-7-19 @ 20:42

Re: Roland GS gamelist (timeline) + driver fix links

Postby Spikey » 2013-5-31 @ 12:38

OK, that makes me feel better. ;) Yeah, TG300B isn't always going to be right either, don't forget, it's emulation, although the drums should be fine and not missing notes. If you send me the MIDI I'll test it with my Yamaha MU2000EX, which is the number #1 XG synth.

What do you mean by the General MIDI option playing back GS data? I thought you said the music was sounding different between the two?
User avatar
Spikey
Member
 
Posts: 231
Joined: 2003-2-04 @ 10:36
Location: South Australia

Re: Roland GS gamelist (timeline) + driver fix links

Postby d1stortion » 2013-5-31 @ 13:15

The General MIDI option for music in the config. As opposed to the Sound Canvas option. I really think those two are just the same, at least for Build games.

I can't seem to find any working MIDI files for the game on the net, but I guess it's better to try it out in-game anyway. The shareware version is freely available, just start a new game and listen to the song in the first level: ftp://ftp.3drealms.com/share/3dsw12.zip

Edit:

I made a quick recording with DOSBox and the S-YXG50 softsynth. This is pretty much what it would sound like on my DB60XG clone (which I don't have any access to right now) when I send a GM reset before playing the game. Compare it to this TG300B mode recording (which I perceive as correct playback) and the redbook version (?) and listen closely to the drums. The GS percussion sticks (#31) are not present in the GM spec, therefore it uses the regular drum sound as some kind of fallback I suppose.

And sorry for the weird .ogg format, but I have some very annoying connection issues. No chance of uploading a ~25 MB wavefile...
Attachments
SW E1M1 S-YXG50.ogg
(2.6 MiB) Downloaded 150 times
Last edited by d1stortion on 2013-5-31 @ 17:15, edited 7 times in total.
d1stortion
Oldbie
 
Posts: 1702
Joined: 2012-7-19 @ 20:42

Re: Roland GS gamelist (timeline) + driver fix links

Postby tikalat » 2013-5-31 @ 13:34

Spikey:
Thanks for the examples. Nowadays I don't think I can handle hit / miss though - I'd probably shut down the game and wonder if it's a game bug. Getting old and biological clock keeps ticking.



d1stortion:
Thanks for mentioning. I should get a real email address first before asking to signup. But first I do want to take apart more soundtracks I've got on my HDD to see if there's more parts I haven't covered.

I'll add Shadow Warrior (1997) to the list, for future investigating. ;)



Blackthorne:
Seems like a week of Miles driver hacking. Finally got the sfx to remap to 1-16 without bugs (or it seems that way). Tricky engine. Game can use 4-5 simultaneous sfx and that's huge for keeping bgm alive. Don't like being clever but I had to squeeze the asm code hard to fit the fix in.

Still need drum remap. And now I can -hear- the (sfx) soundtrack errors show up. Which needs fixing now. And the data is originally compressed. *shakes head*
tikalat
Member
 
Posts: 287
Joined: 2012-4-13 @ 16:39

Next

Return to DOS

Who is online

Users browsing this forum: No registered users and 1 guest