VOGONS


Sierra/Dynamix sound driver hacking

Topic actions

Reply 100 of 332, by tikalat

User metadata
Rank Member
Rank
Member

Thanks for testing.

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

If you have unpatched EXE, I can take a peek. 😉

Reply 101 of 332, by Spikey

User metadata
Rank Oldbie
Rank
Oldbie

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 😀

Reply 102 of 332, by tikalat

User metadata
Rank Member
Rank
Member

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-07-11, 03:06. Edited 1 time in total.

Reply 103 of 332, by tikalat

User metadata
Rank Member
Rank
Member

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.

Last edited by tikalat on 2013-07-14, 01:24. Edited 6 times in total.

Reply 104 of 332, by tikalat

User metadata
Rank Member
Rank
Member

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...?)

Reply 105 of 332, by NewRisingSun

User metadata
Rank Oldbie
Rank
Oldbie

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?

Reply 106 of 332, by collector

User metadata
Rank l33t
Rank
l33t
NewRisingSun wrote:

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

Is this what Kiewitz's GOSiERRA patcher does?

Reply 107 of 332, by tikalat

User metadata
Rank Member
Rank
Member

Update:
Sorcerian wip2
Re: Sierra/Dynamix sound driver hacking

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. 😁

Update:
SQ3 - track033 (NewRisingSun) + driver warning
Re: Sierra/Dynamix sound driver hacking

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

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

Reply 108 of 332, by tikalat

User metadata
Rank Member
Rank
Member

Update:
Sorcerian wip3 (thorough fix)
Re: Sierra/Dynamix sound driver hacking

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/scree … 1_88_98_X1.html
(pc-98 = beautiful day) http://www.youtube.com/watch?v=_HlNBvwymU8&feature=related
(SS092) http://homepage2.nifty.com/tkdate/SorBBS_Log/ … orBBS_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

Last edited by tikalat on 2012-09-06, 15:19. Edited 5 times in total.

Reply 109 of 332, by tikalat

User metadata
Rank Member
Rank
Member

Update (tools):
Uploaded midi_parse src (forgot it).
Re: Sierra/Dynamix sound driver hacking

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.

Reply 110 of 332, by Spikey

User metadata
Rank Oldbie
Rank
Oldbie

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.

Reply 111 of 332, by tikalat

User metadata
Rank Member
Rank
Member

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.

Reply 112 of 332, by Spikey

User metadata
Rank Oldbie
Rank
Oldbie

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?

Reply 113 of 332, by tikalat

User metadata
Rank Member
Rank
Member

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. >.<;;

Reply 114 of 332, by arablizzard2413

User metadata
Rank Newbie
Rank
Newbie
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 […]
Show full quote

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 😢

Reply 115 of 332, by collector

User metadata
Rank l33t
Rank
l33t
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 😢

Why not just use Munt? Ravi's drivers are a bit of a mixed bag as far as quality.

Reply 116 of 332, by tikalat

User metadata
Rank Member
Rank
Member

Update:
Sorcerian v1 finished
Re: Sierra/Dynamix sound driver hacking

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.

Reply 117 of 332, by tikalat

User metadata
Rank Member
Rank
Member

Update:
Midi tools v2
Re: Sierra/Dynamix sound driver hacking

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

Reply 118 of 332, by Spikey

User metadata
Rank Oldbie
Rank
Oldbie

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..

Reply 119 of 332, by tikalat

User metadata
Rank Member
Rank
Member

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.