Sierra/Dynamix sound driver hacking

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

Re: Sierra/Dynamix sound driver hacking

Postby arablizzard2413 » 2012-10-09 @ 07:43

Great Hierophant wrote:
arablizzard2413 wrote:
tikalat wrote:Noticed Sierra games use 16-bit DAC:
- Eco Quest 2
- Freddy Pharkas
- Leisure Suit Larry 6
- Pepper's Adventures in Time
- Police Quest 4
- Quest for Glory 4

Win versions play 16-bit. But DOS plays 8-bit, unless one has Pro Audio 16 card. Meh.


So how do you get 16-bit DAC for Quest for Glory 4 in Dosbox?


Copy the AUDBLAST.DRV from Freddy Pharkas CD or Leisure Suit Larry 6 CD to get 16-bit quality and you can get 16-bit quality from any of the listed games with a Sound Blaster 16.


Quest for Glory 4 is SCI32 and those drivers won't work (SCI1.1), aside from that Leisure Suit Larry 6 doesn't have AUDBLAST.DRV.
arablizzard2413
Newbie
 
Posts: 64
Joined: 2002-8-14 @ 04:24

Re: Sierra/Dynamix sound driver hacking

Postby Great Hierophant » 2012-10-09 @ 12:09

arablizzard2413 wrote:
Great Hierophant wrote:
arablizzard2413 wrote:
tikalat wrote:Noticed Sierra games use 16-bit DAC:
- Eco Quest 2
- Freddy Pharkas
- Leisure Suit Larry 6
- Pepper's Adventures in Time
- Police Quest 4
- Quest for Glory 4

Win versions play 16-bit. But DOS plays 8-bit, unless one has Pro Audio 16 card. Meh.


So how do you get 16-bit DAC for Quest for Glory 4 in Dosbox?


Copy the AUDBLAST.DRV from Freddy Pharkas CD or Leisure Suit Larry 6 CD to get 16-bit quality and you can get 16-bit quality from any of the listed games with a Sound Blaster 16.


Quest for Glory 4 is SCI32 and those drivers won't work (SCI1.1), aside from that Leisure Suit Larry 6 doesn't have AUDBLAST.DRV.


You are right about QG4, it uses DACBLAST.DRV, DACPRO.DRV and DACPRO16.DRV, which are indeed SCI32 drivers, even on a floppy. LSL6 does have AUDBLAST.DRV in the low resolution CD version only. LSL6 high res has the DAC* files. I assume that SCI32 would be able to use 16-bit sound capabilities of a Sound Blaster 16.
User avatar
Great Hierophant
l33t
 
Posts: 2324
Joined: 2003-4-27 @ 08:20

Re: Sierra/Dynamix sound driver hacking

Postby arablizzard2413 » 2012-10-10 @ 05:53

tikalat wrote:Win versions play 16-bit. But DOS plays 8-bit, unless one has Pro Audio 16 card. Meh.


Great Hierophant wrote:You are right about QG4, it uses DACBLAST.DRV, DACPRO.DRV and DACPRO16.DRV, which are indeed SCI32 drivers, even on a floppy. LSL6 does have AUDBLAST.DRV in the low resolution CD version only. LSL6 high res has the DAC* files. I assume that SCI32 would be able to use 16-bit sound capabilities of a Sound Blaster 16.


The low res version isn't SCI32, using AUDBLAST.DRV from either of those games locks up QFG4. The only driver included with the game that does 16-bit according to tikalat is the one for Pro Audio 16. Hence my original question, how do you get 16-bit DAC in the dos version of QFG4 in Dosbox?
arablizzard2413
Newbie
 
Posts: 64
Joined: 2002-8-14 @ 04:24

Re: Sierra/Dynamix sound driver hacking

Postby Great Hierophant » 2012-10-10 @ 12:19

arablizzard2413 wrote:
tikalat wrote:Win versions play 16-bit. But DOS plays 8-bit, unless one has Pro Audio 16 card. Meh.


Great Hierophant wrote:You are right about QG4, it uses DACBLAST.DRV, DACPRO.DRV and DACPRO16.DRV, which are indeed SCI32 drivers, even on a floppy. LSL6 does have AUDBLAST.DRV in the low resolution CD version only. LSL6 high res has the DAC* files. I assume that SCI32 would be able to use 16-bit sound capabilities of a Sound Blaster 16.


The low res version isn't SCI32, using AUDBLAST.DRV from either of those games locks up QFG4. The only driver included with the game that does 16-bit according to tikalat is the one for Pro Audio 16. Hence my original question, how do you get 16-bit DAC in the dos version of QFG4 in Dosbox?


I can only suggest trying drivers from any of the 10 other SCI32 games and seeing if you get 16-bit sound. This of course assumes that the sound effects were recorded in 16-bit, which is unlikely if you are using the floppy QFG4.
User avatar
Great Hierophant
l33t
 
Posts: 2324
Joined: 2003-4-27 @ 08:20

Re: Sierra/Dynamix sound driver hacking

Postby tikalat » 2012-10-10 @ 14:14

Hi sorry I didn't get around to this sooner - busy helping some other devs at some other place.

Booted QFG4 DOS (Anthology CD). DOSBox sb16 log shows (intro title):
"DMA Transfer:16-bits PCM Mono Auto-Init freq 11025 rate 11025 size 512"

No special driver needed. I imagine PQ4 is the same way..

------------------------------

Needs the special 16-bit soundblaster driver:
- Freddy Pharkas (DOS) (Floppy)
- Leisure Suit Larry 6 (DOS) (Lores)
- Pepper's Adventures in Time (DOS)

The other games I'd need to find spots where they play 16-bit samples.


There's 2 LSL6 CD versions: compilation (lores)(non-talkie) + talkie (hi-res). I forget which one had which. :)
- edit: nm. read above post.


Never checked QFG4 floppy. Hmm.
- edit2: floppy plays 16-bit. no special driver.
tikalat
Member
 
Posts: 287
Joined: 2012-4-13 @ 16:39

Re: Sierra/Dynamix sound driver hacking

Postby marooned_on_mars » 2012-11-01 @ 18:12

I noticed somebody posted a GM/MT-32 fix for TIM, could anyone make one for TEMIM too? Also, could anyone fix the missing PC speaker songs from both versions and the PS/1 audio from TEMIM? I would really appreciate it ^^;
I support Universal Basic Income, and so should you, here's why. Another reason why.
Commonly asked questions about UBI
Spread the word!
User avatar
marooned_on_mars
Member
 
Posts: 361
Joined: 2006-1-23 @ 18:47
Location: MoonBase2

Re: Sierra/Dynamix sound driver hacking

Postby kjps86 » 2012-11-18 @ 22:07

I don't want to seem ungrateful, I love this thread and almost all of the updates included in it. I've learned a lot about Sierra's methods from reading through.

What would it take to create a GMBLAST.DRV file to supplement the MTBLAST.DRV file already offered for Space Quest 3 and other games like it? My generic Windows 7 computer running Dosbox handles General Midi music very well, while in contrast I've never been able to get Munt working, with or without a special build of Dosbox...

Is it just a matter of remapping the instruments from the MT-32 locations to compatible GM locations along with a proper driver?
User avatar
kjps86
Newbie
 
Posts: 26
Joined: 2010-9-20 @ 01:56
Location: USA

Re: Sierra/Dynamix sound driver hacking

Postby marooned_on_mars » 2012-11-19 @ 00:22

kjps86 wrote:I don't want to seem ungrateful, I love this thread and almost all of the updates included in it. I've learned a lot about Sierra's methods from reading through.

What would it take to create a GMBLAST.DRV file to supplement the MTBLAST.DRV file already offered for Space Quest 3 and other games like it? My generic Windows 7 computer running Dosbox handles General Midi music very well, while in contrast I've never been able to get Munt working, with or without a special build of Dosbox...

Is it just a matter of remapping the instruments from the MT-32 locations to compatible GM locations along with a proper driver?


Have you placed the MT-32 rom in DosBox's root folder? That's the only explanation why Munt wouldn't work.

Also check this: https://github.com/sergm/munt_devel/downloads for an updated DosBox Munt flavour (updated a few days ago)
User avatar
marooned_on_mars
Member
 
Posts: 361
Joined: 2006-1-23 @ 18:47
Location: MoonBase2

Re: Sierra/Dynamix sound driver hacking

Postby tikalat » 2013-5-11 @ 02:48

Been a long time.


1) Gabriel Knight 1

Finally checked up on this (floppy).
- MT-32 = remap to GM instrument map
- GM modulation = 100 [short music], 260 [voodoo], 420 [cajun]
- GS percussion = 11, 240, 250, 290, 412, 420, 422, 470, 720, 902
[High Q, Slap, Scratch Push, Metronome Click, Metronome Bell, Casanets]

Shame I can't get VSC or BassMidi (patch93 sc-55 soundfont) to sound like the voodoo recordings on youtube. It's either too 'shallow' or too overpowering with thickness. The strings get all mushy and drown out the... flute? From SCI viewer, I actually preferred the VSC only for its 'cleanness'. :(

Then again, I need to play this game in Dosbox to be sure though - maybe the correct settings need to be sent first. Never played using a quality GM device.



2) The Incredible Machine
- MT-32 = remap to GM instrument map
- GM modulation = 1008, 1009 [major themes]
- GS percussion = 1004 [shaker]

I searched the TIM.SX archive for PC Speaker songs. Only found the 2 known ones. No unused ones uncovered.

If there's more, we may need more versions of this game. Can't help much here.



3) The Even More! Incredible Machine

If I'm going to work on this, I need help with the TIM.SX unpacker. It uses compression method 3, which I'm unable to figure out. 29C8:015B is where it decodes the first 2 PCM files (19.SND, 20.SND in that order). I can get the raw pcm data during playback, but the midi dumps are incomplete and missing other device data - does the engine only decompress what it needs and toss the rest? I can't find whole dumps in memory.

It's worth noting that TIM2 uses the same TIM.SX packer method. Throwing the same wall I can't get over.

I did a trial test run of the 2 raw PCM files and got the GM + SB, PS/1 to play the digital. The missing PC speaker + PS/1 audio may be due to the infamous GM bug from TIM1 (missing case statement - probably should check this later). Unless the soundtrack has no PC speaker tracks.




Reminds me of Might & Magic III compression. Jeff Ludwig says no one can figure that out - fortunately it's not important to me. Even 16-bit decoders can be so cleverly insane. :(

And I'll need to find some time later this year to hack up the GM drivers for the above 2-3 games (send modulation).
tikalat
Member
 
Posts: 287
Joined: 2012-4-13 @ 16:39

Re: Sierra/Dynamix sound driver hacking

Postby NewRisingSun » 2013-5-11 @ 08:58

It uses compression method 3, which I'm unable to figure out.
Method 3 is LZHUF.
does the engine only decompress what it needs and toss the rest?
Yep. One way to conserve conventional memory.

Also: If the "Making of" video on the Gabriel Knight 1 CD-ROM is any indication, the target device was not any Sound Canvas, but some Proteus-like module. SC-55 will definitely have polyphony dropouts during some songs.
NewRisingSun
Oldbie
 
Posts: 774
Joined: 2005-9-02 @ 02:26

Re: Sierra/Dynamix sound driver hacking

Postby Great Hierophant » 2013-5-11 @ 17:12

NewRisingSun wrote:Also: If the "Making of" video on the Gabriel Knight 1 CD-ROM is any indication, the target device was not any Sound Canvas, but some Proteus-like module. SC-55 will definitely have polyphony dropouts during some songs.


I watched that video, and at 160x120x8 resolution, its tough to make out much of anything. I observed a CM module at 6:19 underneath a computer module

Interesting how Robert Holmes talks about "strong themes" he likes to borrow, er ahem "use".
User avatar
Great Hierophant
l33t
 
Posts: 2324
Joined: 2003-4-27 @ 08:20

Re: Sierra/Dynamix sound driver hacking

Postby NewRisingSun » 2013-5-11 @ 18:06

I watched that video, and at 160x120x8 resolution, its tough to make out much of anything. I observed a CM module at 6:19 underneath a computer module
I meant from how the music sounds in that video.
NewRisingSun
Oldbie
 
Posts: 774
Joined: 2005-9-02 @ 02:26

Re: Sierra/Dynamix sound driver hacking

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

Method 3 is LZHUF.


You saved me! Thank you incredibly much! :mrgreen:


So the update.

1) The Even More! Incredible Machine
- MT-32 plays enough songs / sfx on ch11-15 (....###....)
- GS percussion = 1004, 1020 [Shakers]
- GM modulation = 1008, 1009
- 8 digital-only sfx
- Appears to be 2 PC speaker tunes
- Possibly 4 PS/1 tracks


2) The Incredible Machine 2
- MT-32 plays enough songs / sfx on ch1 + 11-15 (....###....)
- GS reverb + chorus = 1003, 1005
- GM modulation = 1001, 1008, 1013
- No digital PCM detected
- No PC speaker tracks



1003.SND
[0026C8] Control change = B3 5D 32 (*** WARN!!! ***)

1005.SND
[000280] Control change = B1 5B 4B (*** WARN!!! ***)
[000284] Control change = B1 5D 32 (*** WARN!!! ***)
[0012ED] Control change = B1 5B 4B (*** WARN!!! ***)
[0012F1] Control change = B1 5D 32 (*** WARN!!! ***)
[0036B4] Control change = B6 5B 5A (*** WARN!!! ***)
[003DFF] Control change = B6 5B 5A (*** WARN!!! ***)
[003E18] Control change = B7 5B 5A (*** WARN!!! ***)
[004558] Control change = B7 5B 5A (*** WARN!!! ***)


That's enough work to do. Yeow. Sometime this year - definitely probably.


edit:
Side-note. Might & Magic III uses LZHUF - the same one NewRisingSun pointed out. Only difference:
<20><20> = compressed file
<16-bit MSB> = output size
<LZH data> = standard format

ludmeister (Jeff Ludwig) needs to see this. ;)
tikalat
Member
 
Posts: 287
Joined: 2012-4-13 @ 16:39

Re: Sierra/Dynamix sound driver hacking

Postby tikalat » 2013-5-15 @ 03:54

The Even More! Incredible Machine (1993, DOS)


Title: Driver + MIDI fixes
Date: July 13, 2013


About:

NewRisingSun fixes
- Sound Blaster initializes on fast systems/at high "cycle" settings
- Stereo FM sound


Roland MT-32
- Play missing music / sfx on channels 2-10


General MIDI
- Sfx now use full channel 1-16
- Send modulation to device
- Fix volume slider


PCM digital
- Works for any combo of devices


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

I've got a few Sound Canvas questions.

1) Does it matter if I change Bank LSB (cc #32) before Bank MSB (cc #0)?


2) What are the factory reset values for reverb, chorus?
- VSC uses 40,0 (decimal)
- BassMidi uses ...? Probably high values. The chorus seems like it's cranked at max (Betrayal at Krondor - main menu strings).

I'm wondering if that's why games sound somewhat funny to me using BassMidi. VSC is more natural to my ears but some users don't have VSC and I'm curious if the GM / GS reset values are causing a difference between the 2 soft synths (more blur, more richness)


3) Space Quest V GENMIDI driver by NewRisingSun

- drum kit remap

30-37 --> 30
38-3F --> 38
40-6F --> 00

... what are these??
70 --> 70
71 --> 71
72 --> 72
73 --> 73

74-7E --> 00
7F --> 7F



- Modulation

seg000:0172 cmp ch, 1
seg000:0175 jnz short loc_17F
seg000:0177 mov [bx+516h], cl


; modulation / 2 --> send to device
; - Is something special about Roland Sound Canvas devices?

seg000:017B shr cl, 1
seg000:017D jmp short loc_1B1


I'm going to be upset for an hour if I missed something important here
(rewriting lots of drivers later)


Thanks!
Attachments
The Even More! Incredible Machine - genmidi.7z
(577.67 KiB) Downloaded 122 times
Last edited by tikalat on 2013-7-14 @ 01:25, edited 4 times in total.
tikalat
Member
 
Posts: 287
Joined: 2012-4-13 @ 16:39

Re: Sierra/Dynamix sound driver hacking

Postby NewRisingSun » 2013-5-15 @ 16:58

tikalat wrote:Does it matter if I change Bank LSB (cc #32) before Bank MSB (cc #0)?
Don't see why it should. SC-55 doesn't recognize cc #32 at all.
tikalat wrote:... what are these??
70 --> 70
71 --> 71
72 --> 72
73 --> 73
Answer:
Code: Select all
        byte    112     ; 112 Standard + Sound Effects
        byte    113     ; 113 Electronic + Sound Effects
        byte    114     ; 114 Brush + Sound Effects
        byte    115     ; 115 TR-808 + Sound Effects
tikalat wrote:; modulation / 2 --> send to device
; - Is something special about Roland Sound Canvas devices?
That's for a GENMIDI.DRV that translates Roland MT-32 tracks to General MIDI, because Modulation is deeper on the former. I suppose you could do without the /2 for original General MIDI tracks.

tikalat wrote:seg000:0175 jnz short loc_17F
Before you use IDA to disassemble my drivers, just tell me what you want changed, and I'll attach a new one.

Also don't credit me for the LZHUF decoder, since I didn't write it.
NewRisingSun
Oldbie
 
Posts: 774
Joined: 2005-9-02 @ 02:26

Re: Sierra/Dynamix sound driver hacking

Postby tikalat » 2013-5-15 @ 17:53

Before you use IDA to disassemble my drivers, just tell me what you want changed, and I'll attach a new one.


Nothing needs modding that I can think of. :)

I usually like poking around other peoples' work, looking for stuff I may've missed. Or didn't know about. Kinda like this place: http://tcrf.net/The_Cutting_Room_Floor


That's for a GENMIDI.DRV that translates Roland MT-32 tracks to General MIDI, because Modulation is deeper on the former. I suppose you could do without the /2 for original General MIDI tracks.


Okay.... I'd better leave all my Sierra / Dynamix drivers alone for now. Don't think I fully understand for what games that difference occurs.


edit:
I'll change the credit to: info about Dynamix compression (LZHUF)

Time for TIM2 dos.
tikalat
Member
 
Posts: 287
Joined: 2012-4-13 @ 16:39

Re: Sierra/Dynamix sound driver hacking

Postby tikalat » 2013-5-17 @ 13:48

The Incredible Machine 2 (1994, DOS)


Title: Driver + MIDI fixes
Date: September 17, 2013


About:

NewRisingSun fixes
- Stereo FM sound
- Fix tracks with wrong pitch bend


Roland MT-32
- Play missing music on channels 2-10


General MIDI
- Sfx now use full channel 1-16
- Send modulation to device
- Send reverb, chorus commands
- Fix volume slider
Attachments
The Incredible Machine 2 - genmidi, pitch.7z
(517.6 KiB) Downloaded 119 times
Last edited by tikalat on 2013-9-17 @ 13:43, edited 3 times in total.
tikalat
Member
 
Posts: 287
Joined: 2012-4-13 @ 16:39

Re: Sierra/Dynamix sound driver hacking

Postby marooned_on_mars » 2013-5-17 @ 14:52

Thanks guys for fixing the installers, I'll update my recordings with them and post them on VengefulChip with credits to you two =)
I support Universal Basic Income, and so should you, here's why. Another reason why.
Commonly asked questions about UBI
Spread the word!
User avatar
marooned_on_mars
Member
 
Posts: 361
Joined: 2006-1-23 @ 18:47
Location: MoonBase2

Re: Sierra/Dynamix sound driver hacking

Postby oasis789 » 2013-5-18 @ 18:14

NewRisingSun wrote:Also: If the "Making of" video on the Gabriel Knight 1 CD-ROM is any indication, the target device was not any Sound Canvas, but some Proteus-like module. SC-55 will definitely have polyphony dropouts during some songs.


Great Hierophant wrote:I watched that video, and at 160x120x8 resolution, its tough to make out much of anything. I observed a CM module at 6:19 underneath a computer module.


Would you recommend using an SC-55 soundfont for GK1 or something else non-hardware?
oasis789
Newbie
 
Posts: 5
Joined: 2013-5-14 @ 09:27

Re: Sierra/Dynamix sound driver hacking

Postby tikalat » 2013-5-20 @ 14:28

The Incredible Machine (1992, DOS)


Title: Driver fixes
Date: July 13, 2013


About:

Addendum to NewRisingSun's TIM1 fixes.


General MIDI
- Sfx now use full channel 1-16.
- Send modulation to device.
- Fix volume slider


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

Gabriel Knight (1993, DOS + WIN)


Title: Driver fixes
Date: July 12, 2013


About:

General MIDI (DOS)
- Sfx now use full channel 1-16
- Send modulation to device
- Fix volume slider

General MIDI (WIN)
- Sfx now use full channel 1-15
- Higher polyphony
- Send GS reset


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

Hmm.. thought I released earlier Windows kits but no. Might go back and clean up a bit, merge some work and redo the instructions.


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

EDIT:
Gabriel Knight trivia


(Both versions)

FM pan-pot
- 1, 11, 100, 101, 209, 210, 220, 225 (..)

Modulation = 100, 230, 260, 420, 441, 442

GS = Metronome Bell / Click, Slap, Castanets, Scratch Push, High Q, Shaker, Belltree
11, 240, 250, 290, 412, 420, 422, 470, 480, 720, 902

16-bit PCM mono



(CD version)
GS = 227
Attachments
Gabriel Knight - genmidi.7z
(433.82 KiB) Downloaded 155 times
The Incredible Machine - genmidi.7z
(504.65 KiB) Downloaded 136 times
Last edited by tikalat on 2013-7-14 @ 00:33, edited 4 times in total.
tikalat
Member
 
Posts: 287
Joined: 2012-4-13 @ 16:39

PreviousNext

Return to DOS

Who is online

Users browsing this forum: No registered users and 0 guests