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 tikalat » 2012-7-17 @ 01:48

Thanks for testing.

Better put: any patched EXE works- NewRisingSun or tikalat.

If you have unpatched EXE, I can take a peek. ;)
tikalat
Member
 
Posts: 287
Joined: 2012-4-13 @ 16:39

Re: Sierra/Dynamix sound driver hacking

Postby Spikey » 2012-7-18 @ 02:02

Tika,

Track 54 is unused. Don't have an answer for it, it sounds familiar, but it doesn't match any of the 58 Japanese music pieces in any real way. I don't think it plays in game, but if I hear it, I'll let you know.

SS099 is played in-game, it's a fanfare which is played every time you slay a dragon and/or boss. Since it's 6 seconds I figured that's why they left it out of the Music Guild.

I can give you a track list for what's in game and how it should be, if you want. It's just a little tricky since Sierra did a lot of goofy things with the music in that game, some music is deleted, some is changed, some use the same piece of music..


BTW, appreciate the other stuff you're doing.. you really rock :)
User avatar
Spikey
Member
 
Posts: 224
Joined: 2003-2-04 @ 10:36
Location: South Australia

Re: Sierra/Dynamix sound driver hacking

Postby tikalat » 2012-7-18 @ 03:05

Don't have an answer for it, it sounds familiar, but it doesn't match any of the 58 Japanese music pieces in any real way.


I expected 'Sigh and Tear' but seems no. Heard there's 'Romancia ending theme' added to PC98 but didn't check.


I can give you a track list for what's in game and how it should be, if you want. It's just a little tricky since Sierra did a lot of goofy things with the music in that game, some music is deleted, some is changed, some use the same piece of music..


Would help. Current list = attached


SS099 is played in-game, it's a fanfare which is played every time you slay a dragon and/or boss. Since it's 6 seconds I figured that's why they left it out of the Music Guild.


Okay. Wondered about that - haven't finished any dungeon. Added to music guild (#62) - alternative fanfare piece.


Finding track ptrs is pita. Replacing actual songs not practical - confusing. Messes up logical layout. Destroys lateral thinking.

1st BGM dungeon music should be fixed for each 15 scenarios. Additional BGM is likely wrong.

Will take long time to play game. Existing save games would speed up progress. Much other MIDI stuff to do.



Trivia:
Sierra Azorba Kingdom ~ Bloody River (alternate). Very similar looking but different sizes. Need to study MIDI to be sure.

Will release SCI tools when finished (running through SCI0 midis atm).
Last edited by tikalat on 2013-7-11 @ 03:06, edited 1 time in total.
tikalat
Member
 
Posts: 287
Joined: 2012-4-13 @ 16:39

Re: Sierra/Dynamix sound driver hacking

Postby tikalat » 2012-7-20 @ 16:47

Space Quest III: Pirates of Pestulon


Title: Driver + Digital fixes
Date: July 10, 2013


About:

MTBLAST (NewRisingSun)
- Combines MT-32 + Soundblaster


Soundtrack
- Use digital sounds

sound.033 = pcm (shield) (NewRisingSun)
sound.088 = pcm (burp)
sound.089 = pcm (eat)
sound.100 = pcm (where am I)


Trivia:
Game uses SCI0 $50 MIDI code - Sierra reverb control.
Attachments
Space Quest III - mtblast.7z
(190.46 KiB) Downloaded 240 times
Last edited by tikalat on 2013-7-14 @ 01:24, edited 6 times in total.
tikalat
Member
 
Posts: 287
Joined: 2012-4-13 @ 16:39

Re: Sierra/Dynamix sound driver hacking

Postby tikalat » 2012-7-21 @ 21:25

Trivia:
KQ4 = channel aftertouch (only sierra game?)
- 007, 016, 025
- 032, 033, 038
- 041, 042, 044, 045, 047, 048
- 050, 060

=================================
=================================

Sorcerian - Azorba Kingdom vs Bloody River (midi text)
http://www.sendspace.com/file/a8ca43

Are '99%' identical - channel timestamps different: +/- 1 midi tick.


Making progress finding scenario 3 ptrs - have to fake LZW repack files.
- Completed Scenario 1-1
- Couldn't find 'Beautiful Day' track per wiki (where used...?)
tikalat
Member
 
Posts: 287
Joined: 2012-4-13 @ 16:39

Re: Sierra/Dynamix sound driver hacking

Postby NewRisingSun » 2012-7-22 @ 05:52

Regarding that Space Quest III patch:
  • SOUND.033 is a non-MT-32 explosion sound effect.
  • Why do you need different drivers for the floppy and CD version?
  • A well-behaved program that modifies the Sound Blaster Pro/16 mixer will restore the start-up value upon exit.
  • During SB initialization, the fast CPU fix with the "HLT" instruction is very hackish. The proper way is be to wait for at least two timer ticks by monitoring 0040:006C or CX:DX returned from INT 1A/AH=00. And while you're at it, generating an interrupt request via DSP command 14 is hackish as well and causes a noticable pop on the Sound Blaster 16. The proper way to generate a Sound Blaster IRQ is DSP command F2.
  • When patching the MT-32 driver, it's a good idea to remove the MPU intelligent mode instructions and add UART mode.
Or you can just use my MTBLAST.DRV. :)

Regarding King's Quest IV, since the MT-32 doesn't recognize Aftertouch, sending it is kind of a waste of MIDI bandwidth. The MIDI guitar used to record the tracks probably generated these events, and Mark Seibert just forgot to remove them.
tikalat wrote:have to fake LZW repack files.
What is a fake LZW repack?
NewRisingSun
Oldbie
 
Posts: 803
Joined: 2005-9-02 @ 02:26

Re: Sierra/Dynamix sound driver hacking

Postby collector » 2012-7-22 @ 08:23

NewRisingSun wrote:During SB initialization, the fast CPU fix with the "HLT" instruction is very hackish.

Is this what Kiewitz's GOSiERRA patcher does?
User avatar
collector
l33t
 
Posts: 4246
Joined: 2003-1-15 @ 10:39

Re: Sierra/Dynamix sound driver hacking

Postby tikalat » 2012-7-22 @ 13:39

Update:
Sorcerian wip2
viewtopic.php?p=272499#272499

Fix boss bgm (all scenario 3) + scenario 3-1 bgm. Need to playtest 3-2, 3-3, 3-5 before releasing.

Finish 2-1 = Beautiful Day plays. :D



Update:
SQ3 - track033 (NewRisingSun) + driver warning
viewtopic.php?p=273120#273120

=====================================
=====================================
=====================================

SOUND.033 is a non-MT-32 explosion sound effect.


Thanks - added.

Why do you need different drivers for the floppy and CD version?


Paranoia.

1- A well-behaved program that modifies the Sound Blaster Pro/16 mixer will restore the start-up value upon exit.
2- During SB initialization, the fast CPU fix with the "HLT" instruction is very hackish. The proper way is be to wait for at least two timer ticks by monitoring 0040:006C or CX:DX returned from INT 1A/AH=00. And while you're at it, generating an interrupt request via DSP command 14 is hackish as well and causes a noticable pop on the Sound Blaster 16. The proper way to generate a Sound Blaster IRQ is DSP command F2.
3- When patching the MT-32 driver, it's a good idea to remove the MPU intelligent mode instructions and add UART mode.


Expert >>> amateur. Why smart people should convince others to stop making problems for themselves.

Bad programmer. No twinkies for me. :p


Or you can just use my MTBLAST.DRV.


Put disclaimer on SQ3 post. :)


Is this what Kiewitz's GOSiERRA patcher does? (HLT)


I think so.
+ Michael C. Maggio (sierra.voyd.net)
+ tikalat (not well-behaved coder)


Regarding King's Quest IV, since the MT-32 doesn't recognize Aftertouch, sending it is kind of a waste of MIDI bandwidth. The MIDI guitar used to record the tracks probably generated these events, and Mark Seibert just forgot to remove them.


Okay. Interesting. :)


What is a fake LZW repack?


La-zy~ approach. Plus compression inexperience.
http://www.sendspace.com/file/a5eg5v
tikalat
Member
 
Posts: 287
Joined: 2012-4-13 @ 16:39

Re: Sierra/Dynamix sound driver hacking

Postby tikalat » 2012-7-23 @ 02:13

Update:
Sorcerian wip3 (thorough fix)
viewtopic.php?p=272499#272499

Music ptrs restored. See post for list. Need guidance on finalizing tracks (much later).


other resource:
(1-1 survivor info) http://homepage2.nifty.com/tkdate/music ... 98_X1.html
(pc-98 = beautiful day) http://www.youtube.com/watch?v=_HlNBvwy ... re=related
(SS092) http://homepage2.nifty.com/tkdate/SorBB ... _0891.html

=======================================
=======================================
=======================================

Releasing midi suite - sierra midi dumper + parser
- Covers dynamix + sci0-2 + sorcerian + silpheed (not agi)
- Tools used in midi findings
- Decompression: AGI-SCI0 LZW // SCI1 LZW // Dynamix LZW // SCI1.1 PKDCL // SCI2 LZS


v2:
- Fix Dynamix LZW: dictionary adding + reset cache flushing
- Add Dynamix RLE
- Ability to dump Dynamix RMF / VGA packs

- Add Sorcerian LZW packer
- Update midi_parser: improve CM-32L hint detection, PCM logging


v3:
- Fix QFG2, Silpheed dumper
- Add Dynamix PCM dumping (Willy Beamish CD)
- Add Willy Beamish CD dumping


v4:
- Fix regressions
- New engines: Jones Fast Lane (CD)
- New games: Jones Fast Lane, EcoQuest 1/2, Leisure Suit Larry 1-6, Freddy Pharkas, Mother Goose Enhanced, Rise Dragon (EGA), Pepper's Adventures
- Combine all versions to one package
Attachments
midi tools v4.7z
New game engines
(91.98 KiB) Downloaded 276 times
Last edited by tikalat on 2012-9-06 @ 15:19, edited 5 times in total.
tikalat
Member
 
Posts: 287
Joined: 2012-4-13 @ 16:39

Re: Sierra/Dynamix sound driver hacking

Postby tikalat » 2012-7-23 @ 17:01

Update (tools):
Uploaded midi_parse src (forgot it).
viewtopic.php?p=273448#273448


Update (Sorcerian):
Working with PC-98 owner. Viewing raw memory dumps - data matches enough spots.

Verifying MIDI songs per stage (hopefully).


edit1:
Sorcerian = 3-1 fixed

Sierra swapped SS045 <--> SS059
- PC-98 = Harp / Celestial World
- DOS = Celestial World / Harp

Music ptrs = now correct. More testing.
tikalat
Member
 
Posts: 287
Joined: 2012-4-13 @ 16:39

Re: Sierra/Dynamix sound driver hacking

Postby Spikey » 2012-7-24 @ 01:26

Tikalat, can you make a tool that extracts images or anything else from Dynamix games? SCi Viewer and Studio and others don't work for Dynamix games.

Do you still need the Sorc info? You seem to have beaten me to it.. I guess you figured out by now that Survivor plays when Beautiful Day should, and vice versa.
User avatar
Spikey
Member
 
Posts: 224
Joined: 2003-2-04 @ 10:36
Location: South Australia

Re: Sierra/Dynamix sound driver hacking

Postby tikalat » 2012-7-24 @ 01:46

Tikalat, can you make a tool that extracts images or anything else from Dynamix games?


Unsure. Need to study.

Do you still need the Sorc info?


Not sure. Maybe later. List of Sierra mistakes getting awful. Changed lots of tracks without updating ptrs = current Sierra mess. Reconstructing PC-98 soundtrack files for comparison.

Beautiful Day doesn't play when scenario finish (many times). Sound vars updated but Sierra bug prevents it from changing tracks immediately. This needs work.

Needs one big re-playtest when all finished. Likely miss something. ^^


Question: why did Sierra keep 'Survivor' for 'Vadis' replacement (Dragon King boss)? Seems like odd choice. Should we change this?


edit1:
Headache. More 'hidden' bad ptrs. Going to re-arrange songs to PC-98 file ordering. Leave ptrs alone.
tikalat
Member
 
Posts: 287
Joined: 2012-4-13 @ 16:39

Re: Sierra/Dynamix sound driver hacking

Postby Spikey » 2012-7-24 @ 12:47

Question: why did Sierra keep 'Survivor' for 'Vadis' replacement (Dragon King boss)?

Yeah, it's because in the localization Sierra dropped all the 'Romancia' tracks other than Castle Romancia, so that's why you have Bloody River playing again, Evil Shaman playing again, Survivor playing again. Which is kinda silly really, I don't know why they did that, especially when those tracks are good.

I toyed with the idea of converting some General MIDI ones to MT-32 for replacements, but I figured it wasn't possible.. if it is, I may do it, let me know.
(Guess it has to loop and have Sierra's code in there, though.. might be too tricky. Hmm.)


Any way to extract music from Willy Beamish with your MIDI tools?
User avatar
Spikey
Member
 
Posts: 224
Joined: 2003-2-04 @ 10:36
Location: South Australia

Re: Sierra/Dynamix sound driver hacking

Postby tikalat » 2012-7-24 @ 13:20

Any way to extract music from Willy Beamish with your MIDI tools?


Willy + Heart China = need RMF Dynamix tool. Then can study MIDI.

I toyed with the idea of converting some General MIDI ones to MT-32 for replacements, but I figured it wasn't possible.. if it is, I may do it, let me know.
(Guess it has to loop and have Sierra's code in there, though.. might be too tricky. Hmm.)


Abstract musings:
Loop = control code likely. SCI0 MIDI format = known behavior. Should study up.

Maybe use GM SCI0 plugins. Extend to GS plugin. Then convert MIDI to Sierra format (~normal MIDI = delay timestamp + MIDI cmd + args). Same as SQ3 + KQ1SCI MIDI formats.



Finding out PC-88 <> PC-98 soundtrack (in-game)
- PC-98 = no Peaceful Forest, Survivor, The Seal, Bloody River
- PC-98 = Cave II --> Vaides
- PC-98 = Ekim --> Double Devil
- PC-98 = misc stuff (..?)
- DOS = no Sigh and Tear (plays but file missing)

May have to dig through PC-88 dumps too. Restore to that set. Ugh. >.<;;
tikalat
Member
 
Posts: 287
Joined: 2012-4-13 @ 16:39

Re: Sierra/Dynamix sound driver hacking

Postby arablizzard2413 » 2012-7-24 @ 16:12

NewRisingSun wrote:Attached find patch for Quest for Glory II. Because only two PCM sound effects are not recorded from the MT-32 (and yes, I went through all of them), just providing those two modified sound resources as separate files is the simplest option, certainly simpler than modifying the interpreter executable.

Also find MTBLAST.DRV for King's Quest I. Since in this game all PCM sound effects sound different from their respective MIDI data, no selectivity is needed. I got no static when knocking on the witch house door; if you still do, report.
HunterZ wrote:How can you identify a sampled MT-32 sound versus other kind of sounds?
Play the MIDI data on your MT-32, then play the PCM sound data. If they sound the same, minus the lower sampling rate in the PCM sound data, you know that it's been sampled from the MT-32.


Any chance we could see this combined with the SCI01/1 MPU Remap driver? I've got an MT-32 on my desktop but it's not very practical for laptop use :depressed:
arablizzard2413
Newbie
 
Posts: 64
Joined: 2002-8-14 @ 04:24

Re: Sierra/Dynamix sound driver hacking

Postby collector » 2012-7-24 @ 16:54

arablizzard2413 wrote:Any chance we could see this combined with the SCI01/1 MPU Remap driver? I've got an MT-32 on my desktop but it's not very practical for laptop use :depressed:

Why not just use Munt? Ravi's drivers are a bit of a mixed bag as far as quality.
User avatar
collector
l33t
 
Posts: 4246
Joined: 2003-1-15 @ 10:39

Re: Sierra/Dynamix sound driver hacking

Postby tikalat » 2012-7-28 @ 13:20

Update:
Sorcerian v1 finished
viewtopic.php?p=272499#272499

Reconstructed soundtrack list (PC88 + PC98 + X1). Some silent tracks restored. Fully playable release.


Trivia:
Track54 = Pounding Heart (part 2 - loop).

modulation:
- 010, 015, 017, 018
- 022, 026, 027
- 032, 036, 037
- 045, 053
- 061, 062
- 081




@Alistair
May be possible to create new MT-32 driver - use special codes BF 6E xx + BF 6F xx. These signal 'song change' within sound file.

ex.
SS003 = SS003 (old version) + SS003 (Alistair MT-32) in same file. New driver detects 'song change' and reloads at new address. Old drivers will play song #1, ignoring song #2.

Can use Soundbox to test your MT-32 only version. Then run merge tool to create new version.


Have to do test run + create driver + make merge tool. Maybe after finish some KQ6 DOS + Win31 MIDI projects + dynamix MIDI dumpers.
tikalat
Member
 
Posts: 287
Joined: 2012-4-13 @ 16:39

Re: Sierra/Dynamix sound driver hacking

Postby tikalat » 2012-7-30 @ 18:33

Update:
Midi tools v2
viewtopic.php?p=273448#273448


Dump Dynamix RMF / VGA files + fix Dynamix compression + Dynamix midi dumps
- Adventures of Willy Beamish, Heart of China, Rise of the Dragon, Betrayal at Krondor

Sorcerian LZW tool available (w/ src) - real packing code.
Midi parser updated to detect CM-32L hints better.

======================================
======================================

Misc trivia:

Leisure Suit Larry 6
Modulation
- 43, 120, 368, 430, 446
- 511, 512, 740, 741, 804, 808

GS percussion
- 35, 650, 657, 903 (Scratch Pull)
- 140, 145 (Scratch Push + Pull)
- 310 (Shaker)
- 320 (Castanets)
- 441 (Scratch Push)



Rise of the Dragon
Modulation
- BLADES, CHEAPDAT, CLMUTATE, DHFINAL, FREEKARY
- MUTATE, NEARCHAN, PDOME1, PDOME2, PDOME3, QUONGS2
- SIDEWALK, WINGAME

PCM
- INTRO1-10, 35



Willy Beamish
Modulation
- BULLY, CATOUPEE, EOGWIN, HDNSTRS4, HUPSTRS4
- ISKATE, MNKFREE, MNTANKES, PK, PUFIND, ROCKHIT
- TVEO, WILLY, WKSV, WKTT

Expression (needs further check)
- HUPSTRS4, TVEO

Reverb $50
- DYNAMIX

Possible CM-32L percussion (custom timbre likely)
- CCBUBBLE, GETGORD, HDALICIA, HKALICIA, HTWEIGH
- MN, MNCATCH, TSCATCH, TSSESCAP, WILLY



Heart of China
Modulation
- FORTCHAS, FORTKATE, FORTOUT, HKCHI, INTRO1
- ISTFLY, ISTREET, KAMAHAP, KAMASAD, KATFLY
- KBYFIRE, KSAGEIN, KSAGEOUT, KSTREET, KTREK
- KYAK, LOMAX, LOMAX2, SUCCESS, TANKARCD

Expression (needs further check)
- INTRAIN, ITRNSTAT, KOUTJAIL, PTRAIN

Reverb $50
- KAMAGETB, KBOJON, KGETBOJ, KJNKYRD, KOUTJAIL
- SHELL, STORY

Possible CM-32L percussion (custom timbre likely)
- FGRTHAL2, PTRAIN


edit:
Silpheed
Reverb $50
- 020, 021
tikalat
Member
 
Posts: 287
Joined: 2012-4-13 @ 16:39

Re: Sierra/Dynamix sound driver hacking

Postby Spikey » 2012-8-01 @ 03:35

Awesome! Extracted Willy tonight. NRS had sent me the files some time ago, but it's neat to be able to do it myself :)

Question: Willy CD is in a completely different format; it has a resource.001 and resource.map; but none of the Sierra decoding programs will work, i.e. SCI Studio, SCI Viewer, SCIResDump etc.

I tried your midi dump and with SCI0 settings it yielded this text file (but nothing else), which appears to be a complete list of what resources are in the Willy CD game.

BTW, are you waiting on me for anything with any of this? :) I've been so busy lately, I'm losing track..
Attachments
___resource.txt
(225.76 KiB) Downloaded 199 times
User avatar
Spikey
Member
 
Posts: 224
Joined: 2003-2-04 @ 10:36
Location: South Australia

Re: Sierra/Dynamix sound driver hacking

Postby tikalat » 2012-8-01 @ 13:41

BTW, are you waiting on me for anything with any of this? Happy I've been so busy lately, I'm losing track..


Not atm. Going to work on new Sorcerian MT-32 driver + SCI0 MIDI merger tool. Then test: change opening tune - new version plays only with modified MT-32 driver.

Then you can work on making Sorcerian MT-32 tracks (if you choose). But you'll have a 64k combined limit though. ;)


Question: Willy CD is in a completely different format; it has a resource.001 and resource.map; but none of the Sierra decoding programs will work, i.e. SCI Studio, SCI Viewer, SCIResDump etc.


Attached file looks wrong - bad offets, names. Will follow-up when I get a chance.

Guess: rename resource.map --> resouce.rmf and use willy dumper again.
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 2 guests