Opened 11 years ago

Closed 10 years ago

Last modified 17 months ago

#9071 closed patch

MM C64 sound/music player

Reported by: SF/tobigun Owned by: Kirben
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: Maniac Mansion

Description

The attached file contains a stand-alone player that is capable of playing SID music and sound effects of the C64 version of Maniac Mansion and Zak McKracken.

It's not yet ready for integration into ScummVM but at least it is a beginning. At the moment it supports music files (e.g. themes) and some (but not all) sound effects.

The player is in a very early stage and still has lots of cryptic variable and function names.

With an additional patch music/sound files can be extracted with ScummVM. The patch adds a dummy player for C64 sound/music files to ScummVM that only dumps the sound/music data to a file.

I post the very incomplete player here to show its current status and in the hope that someone wants to improve the player or find out how the player works as I'm not really certain of the necessity or function of some variables and functions.

The player depends on resid 0.16 (http://www.zimmers.net/anonftp/pub/cbm/crossplatform/emulators/resid/index.html) and SDL. An MSVC++ 2008 project file is included.

Ticket imported from: #2839048. Ticket imported from: patches/1176.

Attachments (5)

scummvm_siddump.patch (6.9 KB ) - added by SF/tobigun 11 years ago.
music/sound dump patch for ScummVM
standalone_player.zip (45.4 KB ) - added by SF/tobigun 10 years ago.
C64 sound/music player (update 3)
sid_player.patch (215.4 KB ) - added by SF/tobigun 10 years ago.
Patch for ScummVM (update 3)
standalone_player.2.zip (45.3 KB ) - added by SF/tobigun 10 years ago.
C64 sound/music player (update 4)
sid_player.2.patch (216.8 KB ) - added by SF/tobigun 10 years ago.
Patch for ScummVM (update 4)

Download all attachments as: .zip

Change History (13)

by SF/tobigun, 11 years ago

Attachment: scummvm_siddump.patch added

music/sound dump patch for ScummVM

comment:1 by SF/tobigun, 11 years ago

a little update to the player: - all sounds (at least all i have tested) work - the console app now terminates when playback of the file is finished

comment:2 by SF/tobigun, 11 years ago

Player update and integration into ScummVM.

All sounds work. Most of the variables and functions are named now. With the ScummVM patch MM and Zak can be played now in ScummVM with sound.

In addition player_zak.cpp contains the Zak player which is slightly differs from the MM one (player_sid.cpp). Seems as if priorities (especially for "background" sounds) are handled a little different (MM uses prio 1 for bg sounds, Zak sets bit 7 to 1). For example at Stonehenge the electric fence sound is not played if Zak tries to touch it. This is probably due to the priority issue.

It still needs some work to clean up the code.

comment:3 by SF/sanguinehearts, 11 years ago

Ive just finished testing these patches, the SID support is perfect, it brings back so many memories.

After speaking with Tobias who sent me the most recent files I have simply created a patch file which includes the resid code which is under 'scumm/resid' it also includes the player code and updated msvc9 project files.

it can be found here:

http://gracesdisposal.bpweb.net/scummvm/updatedsidpatch.patch

Hopefully this will make it to trunk soon :)

comment:4 by SF/tobigun, 10 years ago

Update of the sound player: - the resid library has been striped to three files: sid.cpp/.h and wave6581.cpp (wavetables). Everything that is not used (8580 emulation, potis, sound input, resampling, ...) has been removed. - the now obsolete ringbuffer class has been removed.

by SF/tobigun, 10 years ago

Attachment: standalone_player.zip added

C64 sound/music player (update 3)

by SF/tobigun, 10 years ago

Attachment: sid_player.patch added

Patch for ScummVM (update 3)

by SF/tobigun, 10 years ago

Attachment: standalone_player.2.zip added

C64 sound/music player (update 4)

by SF/tobigun, 10 years ago

Attachment: sid_player.2.patch added

Patch for ScummVM (update 4)

comment:5 by SF/tobigun, 10 years ago

I fixed some warnings concerning inlined methods

comment:6 by Kirben, 10 years ago

Thanks, I added the patch to ScummVM SVN.

comment:7 by Kirben, 10 years ago

Owner: set to Kirben
Status: newclosed

comment:8 by digitall, 17 months ago

Component: Engine: SCUMM
Game: Maniac Mansion
Note: See TracTickets for help on using tickets.