Difference between revisions of "SCUMM/V0/Maniac Mansion Apple II"

From ScummVM :: Wiki
< SCUMM‎ | V0
Jump to navigation Jump to search
m (Whoops! the AppleWin speaker implementation is windows only, so no use :))
m (some minor details.)
Line 7: Line 7:
 
== The Sound Resources ==
 
== The Sound Resources ==
 
A sound resource appears to have the following format:
 
A sound resource appears to have the following format:
 
+
It is worth noting that byte number 5 seems to be always 0x01, but there is a check in the code for values not equal to 0x01. The final byte is always 0xFF
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-

Revision as of 22:27, 8 December 2009

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: It is worth noting that byte number 5 seems to be always 0x01, but there is a check in the code for values not equal to 0x01. The final byte is always 0xFF

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.