dressupgeekout / lunapurpura

Reimplementation of Purple Moon's games from the 1990s (WIP) - NOTE: ScummVM port in progress
https://dressupgeekout.github.io/lunapurpura/
BSD 2-Clause "Simplified" License
8 stars 1 forks source link

Decode MMA files #48

Open dressupgeekout opened 4 years ago

dressupgeekout commented 4 years ago

Based on the ISO I found on the Internet Archive (https://archive.org/details/Rocketts_Adventure_Maker_Purple_Moon_1998) it looks like Adventure Maker contains a MMA file. Wonder what's going on here.

dressupgeekout commented 4 years ago

Looks like this file contains a bunch of audio files. It looks like a very simple collection of offsets like you'd expect. However, the individual audio files don't seem to have any metadata beyond that, that is, there aren't any AIFF headers or RIFF containers or anything of the sort. It's probably just assumed that the sounds are mono signed 16-bit (big-endian) samples at 44.1 kHz, a figure I arrived at just with experimentation.

Here's how I came to that conclusion:

$ ffmpeg -f s16be -ar 44100 -ac 1 -i Comics.MMA /tmp/out.wav

Screen Shot 2020-07-17 at 1 27 06 PM

dressupgeekout commented 4 years ago

Actually, I found a region of metadata that seems to disambiguate the different kinds of raw audio formats, so that's handy.

AlanisSmithee commented 4 years ago

Just want to point out that Secret Paths to the Sea, which ImageBuilder also worked on, seems to have the same file types. Don't know how they differ internally, if at all though.

dressupgeekout commented 4 years ago

I did some experimentation the other day. They don't seem to be different, at least in terms of their structure. However, I think Sea actually contains compressed audio, which is unlike Adventure Maker.