125
edits
Jestar jokin (talk | contribs) (→Early v5 - SBL blocks: implied VOC header info) |
Jestar jokin (talk | contribs) (→iMUSE: replace dead external link with ScummVM wiki link) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 13: | Line 13: | ||
The redundant header is possibly due to building on a legacy implementation, or for easier identification in the table stored in the .000 index file. | The redundant header is possibly due to building on a legacy implementation, or for easier identification in the table stored in the .000 index file. | ||
The music block may contain any combination of ROL (Roland MT-32), ADL ( | The music block may contain any combination of ROL (Roland MT-32), ADL (AdLib/OPL FM), or SPK (PC speaker) blocks. They can also store a single SBL block for digitized sound (described in a later section). Aside from SBL, each of these blocks follow the same basic pattern. | ||
Block name 4 bytes ("ROL ", or "ADL ", or "SPK ") | Block name 4 bytes ("ROL ", or "ADL ", or "SPK ") | ||
Line 21: | Line 21: | ||
Every track is stored in MIDI format, in order to make use of the iMUSE technology through System Exclusive (SysEx) messages. | Every track is stored in MIDI format, in order to make use of the iMUSE technology through System Exclusive (SysEx) messages. | ||
Due to the predominance of the Sound Blaster and | Due to the predominance of the Sound Blaster and AdLib/OPL FM technology at the time, in at least MI2 every musical SOUN block contains an ADL block. | ||
==iMUSE== | ==iMUSE== | ||
Line 27: | Line 27: | ||
From SCUMM v5 onwards, LucasArts games used a dynamic music playback system called iMUSE. This basically consists of standard MIDI data, with embedded System Exclusive (SysEx) messages that act as markers in the song. iMUSE allows operations like conditional jumping & looping, adjusting the volume of parts, turning parts on and off, changing instruments, and detuning parts. | From SCUMM v5 onwards, LucasArts games used a dynamic music playback system called iMUSE. This basically consists of standard MIDI data, with embedded System Exclusive (SysEx) messages that act as markers in the song. iMUSE allows operations like conditional jumping & looping, adjusting the volume of parts, turning parts on and off, changing instruments, and detuning parts. | ||
You can find the original patent document [http://pat2pdf.org/pat2pdf/foo.pl?number=5315057 here], and some technical details can be found | You can find the original patent document [http://pat2pdf.org/pat2pdf/foo.pl?number=5315057 here], and some technical details [[SCUMM/Technical Reference/iMuse data|can be found here]]. | ||
==Mac0== | ==Mac0== | ||
Line 80: | Line 80: | ||
Block size 4 bytes | Block size 4 bytes | ||
Sound header 4 bytes ("AUhd" or "WVhd") | Sound header 4 bytes ("AUhd" or "WVhd") | ||
Block size 4 bytes | |||
Unknown 3 bytes (always 00 00 80) | Unknown 3 bytes (always 00 00 80) | ||
Data header 4 bytes ("AUdt" or "WVdt") | Data header 4 bytes ("AUdt" or "WVdt") | ||
Block size 4 bytes | |||
VOC data variable | VOC data variable | ||
Line 147: | Line 149: | ||
TOWS - FM Towns | TOWS - FM Towns | ||
SBL - Sound Blaster digitized sound (Creative VOC file) | SBL - Sound Blaster digitized sound (Creative VOC file) | ||
ADL - | ADL - AdLib (OPL FM) | ||
AMI - Amiga MOD | AMI - Amiga MOD | ||
ROL - Roland MT-32 | ROL - Roland MT-32 |
edits