Ok, this was quite a lot of fun. Apparently PPS has had full SD card restore images floating around via a publicly accessible link for a while, and people have been sharing it around the board...
I grabbed it and did an analysis of the filesystem, something I've been itching to look at for several months but I didn't have access to since I don't own a machine. Basically mmr.zip contains an "install disk" image file that can be plopped on a micro SD card with Win32 Disk Imager or similar program. The install script runs and unpacks a second img file, which is then installed to the Beaglebone's eMMC onboard memory.
I loaded mmc_image.img in FTK Imager and it basically all boils down to this.
It's a Debian distro with AppArmor for security just like JJP's Ubuntu-based platform. Nothing is actually encrypted here, so I'm assuming it's for network control access by looking at the install image's etc directory. The game program is called emumm and runs out of home. There are 3 ELF executables: a main version, a version compiled from .NET, and a third version I'm not sure on. Can anyone identify the "REL" language/library? The appdata directory contains DMD dot masks, the MM 1.0 game ROM, a single TTF font, sound and music files, RAM snapshots, and color DMD images.
On a side note I found something interesting in gpio.sh, supposedly used to map inputs and outputs to and from the "pinball controller" board. Is there something for Stern SAM in the works...?
I found some bitmaps that determine how the dot mask appears. We have 6x6, 9x9, and 10x10 pixel dots in each of the 4 shades of red.
To those that may be skeptical of the use of emulation, here's your scoop. The original unmodified/unhacked MM CPU ROM, identical to the one from IPDB.
Next is a Courier New TTF font for the menus. Nothing exciting. Time for some meat and potatoes: the samples directory, which contains all the sounds assets: music, sound effects, voices, and even DCS menu sounds. The vol_25perc directory means the sounds are leveled at 25% volume. There has been some debate lately on the true quality and reproduction of these sound recordings, so let's clear the air a bit here.
The original DCS files are highly compressed, a mix of 12kHz and 31.25kHz sample rates, and have a maximum bitrate of a couple of hundred kilobits per second. The files found in MMR are, contrary to belief, not 44.1kHz full "CD quality." Like many of the original DCS recordings, they are all 31.25kHz quality but these files are uncompressed 16-bit PCM at 500kbps, not a huge step up but the difference in sound reproduction to the naked ear is very noticeable. Even the 22kHz WAV samples from the original website sound better than the DCS bites. I am not sure if the "fatality" callout from Mortal Kombat II is actually used, I'm assuming so considering it was also remastered. Because the sample rate was not increased to full CD quality I'm assuming the masters were originally stored on digital media, not analog studio tapes. This means they cannot be upsampled. They are also named in the same order as the WPC95 ROM, a nice touch.
When Rick claimed an improvement over using uncompressed sound bites I think that statement was taken a little out of context since most knowledgeable people would associate uncompressed with "CD quality," but the remasters are still a big improvement over what we had for the last 15 years. Listen for yourself:
After that there are 3 NVRAM files, probably captured from actual NVRAM chips running on the real WPC95 hardware. There's a "clean" image which is probably following a factory reset and 2 more MM 1.0 images. I'm not sure what the difference is but here's a status report at the beginning of one. Look familiar?
I'm sure if someone put enough work into it they can write a save state system for PinMAME that allows these images to be used as a working snapshot which will allow us to see the exact system state when the game was turned off to image the NVRAM...
The last thing sitting in an unsuspecting src directory is... color DMD frames. The high resolution stuff! As in the very images used in CGC's color DMD announcement video. Everything is stored in a single file, rgb16.bin. This file contains a series of 256x64 16-bit RGB bitmap frames. The first few are used during attract mode surrounded by strips of palette colors, which aren't necessary for rendering but are most likely used for artist's reference. There really isn't anything in here that hasn't been seen already save for a few variants of the damsel rescue scene. I also made a mask from the 6x6 dots.
Hmm, wonder what this is?
While they're not easy to work with (I had to use Tile Molester to manually rip these), everything is now stored as full color frames, not layered mini-sprites like the original game. That method was primarily due to the limited storage space and computing power of 1995-era hardware. Man, we've come a long way. Now it's all starting to look like the bane of pinball, the dreaded 16-bit era consoles!
If you have the image file, poke through it and explore stuff. If there's anything specific you want to ask, post it.