SCUMM/V0/Maniac Mansion Apple II

From ScummVM :: Wiki
< SCUMM‎ | V0
Revision as of 14:07, 2 December 2009 by Sanguinehearts (talk | contribs) (Documenting a little about the Apple II sound, including information on the speaker and the resources used.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Introduction

Maniac Mansion for the Apple II produced sound effects via its internal speaker and had no music. It appears that not all sound effects were used in the game, this is noticeable when running the game through an emulator. However these un-used sound effects still appear in the resources. A speculative guess would be that perhaps they were disabled because they did not sound right through the speaker.

The Sound Resources

A sound resource appears to have the following format:

OFFSET SIZE DESCRIPTION
0 1 Byte Resource Size
1 2 Bytes Two 00 Bytes
3 (Resource Size - 4) Bytes Data
Resource Size 1 Byte One FF Terminator Byte

Examples

The sounds are referenced through Sound ID's, although not all sound effects are played in the original. A small list of some Sound ID's and their resource contents is below:

ID DESCRIPTION DATA
8 Door Open 15 00 00 D4 03 01 05 1E 64 14 C8 FE 64 1E C8 82 78 28 96 82 FF
9 Door Close 17 00 00 77 03 01 06 64 C8 FA E6 1E D2 28 96 FE 5A 64 3C C8 1E 64 FF
39 Doorbell 0C 00 00 D2 02 01 C8 82 FE FE 64 FF
54 Click Character Selection 09 00 00 14 02 01 64 8C FF

The Internal Speaker

The speaker only had the functionality to emit a click as a square wave (when memory location $C030 is referenced).

The duration and frequency of the sound could be managed by the use of loops controlling the references to $C030.

AppleWin has an Apple II speaker implementation available under GPL v2.