Looking for knowledge re: the soundtrack for the Macintosh demo of D1

For system help, all hardware / software topics NOTE: use Coders Corner for all coders topics.

Moderators: Krom, Grendel

Post Reply
silar
DBB Cadet
DBB Cadet
Posts: 9
Joined: Wed Aug 08, 2018 8:37 am

Looking for knowledge re: the soundtrack for the Macintosh demo of D1

Post by silar »

(Most of this question is copy/pasted from my other thread but with new info added now. Apologies if this isn't the right forum to post in)


The original Descent 1 for PC had IIRC two different soundtracks (wavetables and FM synthesis). The Mac and Playstation retail versions used their own much higher CD-quality soundtrack. However the original Mac shareware/demo version had yet its own soundtrack... one that no one seems to know much about. There are no youtube videos of that soundtrack, and hardly any references on the web (outside of a couple scattered people like me asking about it, but with no answers).

I have an old Powermac that still runs and the demo is definitely a different mix than the PC FM/wavetable music. I'm ASSUMING this music is stored as MIDI like PC Descent, since the files are nowhere near big enough to have uncompressed audio and there was no reason to re-write it as MOD or S3M or something.

Macs of that era NORMALLY (this is important later) played MIDI through the built-in "Quicktime Instruments" library, which as I understand it was effectively the same as PC wavetable but in software. Macs of that era also had a weird filesystem where files were split into a "data fork" and a "resource fork". As far as apps of the time went, the raw C code was in the data fork but pretty much everything else (window/menu layouts, sound effects, icons, graphics, etc) were in the resource fork. Except MIDI music. For whatever reason that was almost always stored in the data fork.

There are about a hundred utilities to break up and extract all the bits from the resource fork of an app. I've done so, and there appears to be a notable library of musical instrument files bundled inside (saved as AIFF, the Mac version of WAVE). This is kind of an issue as it appears that the Mac demo isn't using the default Quicktime system like everyone else. If I download the PC retail and shareware wavetable MIDI files off the web and play them on the Mac, they're totally recognizable but clearly not the same mix.

One way or another the proper way to figure this out would be to extract the actual MIDI data from the data fork, but it seems like you need to write something custom to do that since the data fork has an arbitrary structure. I have old Mac utilities on that computer which can extract the MIDI music from other games, but can't find one that works for the Descent demo (unsurprisingly).

FWIW that the Mac demo only has one HOG and one PIG file, and AFAIK the MIDI music isn't stored in either of those. (At least, I've copied them to Windows machines and extracted them but it's not there).

Of course, all this assumes someone else hasn't already done all this. Or if someone happens to point out that the Mac version is nearly the same as like the PC shareware version when played on a specific card or something. Really all I want is to listen to the music the way it played on Macs (or damn near it) without having to boot that old Mac or an emulator every time.

Anyone have any insight into this? Thoughts?
User avatar
Krom
DBB Database Master
DBB Database Master
Posts: 16138
Joined: Sun Nov 29, 1998 3:01 am
Location: Camping the energy center. BTW, did you know you can have up to 100 characters in this location box?
Contact:

Re: Looking for knowledge re: the soundtrack for the Macintosh demo of D1

Post by Krom »

I normally wouldn't suggest this just because is is super deep into the game hacking/modding rabbit hole, but if you know for sure the MIDI is stored in the data fork then with any luck it is stored uncompressed (because MIDI files aren't that big to begin with), then opening the data fork portion of the demo with a binary/hex editor and copying the midi out manually is probably the best option. Unless it is compressed or encrypted nothing gets past that method (and even that can't stop someone really determined and knowledgeable, but decompressing/decrypting it adds enough difficulty that even I would give up and just look for analog methods to capture it instead). The hard part is finding and identifying what you are looking for, it is possible just searching through the data fork for something like "credits" or "menu" or "gam01" (IIRC track names in D1 were all gamXX) in ASCII could land you right where they are. But from there you need to figure out the data structure, where each track starts and stops, and then copy them out into individual files that you can play elsewhere. And this is all assuming they are some standard format that can actually be handled by quicktime outside of the game (because if it isn't then you are going to be diving head first into reverse engineering code/decompiling/etc).
silar
DBB Cadet
DBB Cadet
Posts: 9
Joined: Wed Aug 08, 2018 8:37 am

Re: Looking for knowledge re: the soundtrack for the Macintosh demo of D1

Post by silar »

If it's not in the data fork than I honestly have no idea where else it could be. They're not in the resource fork, hog, or pig files (at least, not unless it's encrypted into a fake entry).

> The hard part is finding and identifying what you are looking for

Yeah that's definitely the thing. I'd have to step through the hex somehow.

> And this is all assuming they are some standard format

And that's what I'm not sure about. There's an MDRV resource titled "MIDI Synth 3.953 10-3-95" which is 13,755 bytes of stuff I don't understand. Between that and the included instrument sound files I feel like this may not be stored normally. Or at least, it strongly suggests they're not using the Mac's native "Quicktime Instruments" MIDI system to play the music.
silar
DBB Cadet
DBB Cadet
Posts: 9
Joined: Wed Aug 08, 2018 8:37 am

Re: Looking for knowledge re: the soundtrack for the Macintosh demo of D1

Post by silar »

I guess I could just replace all the soundfx sound files with dummy files of silence, then play the game with a cable from the Mac's headphone port to another computer's mic port and record the music analog. But that's kind of a crappy juryrig solution. Honestly I'm hoping someone else happens to know really anything about the music mix that might lead to clues or point me in another direction.
User avatar
Krom
DBB Database Master
DBB Database Master
Posts: 16138
Joined: Sun Nov 29, 1998 3:01 am
Location: Camping the energy center. BTW, did you know you can have up to 100 characters in this location box?
Contact:

Re: Looking for knowledge re: the soundtrack for the Macintosh demo of D1

Post by Krom »

The PC versions had separate volume controls for music and sound effects and you could completely mute one or the other if you so desired, mac doesn't have that?
silar
DBB Cadet
DBB Cadet
Posts: 9
Joined: Wed Aug 08, 2018 8:37 am

Re: Looking for knowledge re: the soundtrack for the Macintosh demo of D1

Post by silar »

Oh, uh, I never thought about that for some reason. The demo does have a setting for that buried in the options. I guess I'm so used to most older Mac games not having individual volume controls for things that that never occurred to me.

Doing the headphone>mic thing is still an awkward solution though, but I guess if no one knows the tech specifics I'd need then it's probably my only choice.
Post Reply