Electronic Arts MUS

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(EAplay is no longer found on Google Drive)
 
(26 intermediate revisions by 2 users not shown)
Line 7: Line 7:
 
'''Electronic Arts MUS''' files were used, in several variants, in some Electronic Arts games in the 1989-92 period, including ''Cartooners'' (which was actually an animated-cartoon creator rather than a game, per se), ''Ski or Die'', ''The Lost Files of Sherlock Holmes'', and (apparently in a very different format, perhaps compressed) ''The Immortal''.
 
'''Electronic Arts MUS''' files were used, in several variants, in some Electronic Arts games in the 1989-92 period, including ''Cartooners'' (which was actually an animated-cartoon creator rather than a game, per se), ''Ski or Die'', ''The Lost Files of Sherlock Holmes'', and (apparently in a very different format, perhaps compressed) ''The Immortal''.
  
== Identification ==
+
=== Players ===
 +
It appears that Joel Yliluoma (Bisqwit) managed to figure out how to play these music files: [https://www.youtube.com/watch?v=G7AszqnEptI&t=36s]. The page containing the source for this player: [http://bisqwit.iki.fi/source/adlmidi.html].
  
The signature bytes at the start of the file are <code>7D 00 00</code> for the Cartooners version, and <code>7F 00 00</code> in other versions.
+
=== Sound Drivers ===
 
+
== Format ==
+
'''Sound Drivers'''
+
  
 
The music files that come with Cartooners appear to have sound hardware specific sections in their headers. See below for more information. Cartooners supports the following hardware for playing music:
 
The music files that come with Cartooners appear to have sound hardware specific sections in their headers. See below for more information. Cartooners supports the following hardware for playing music:
  
AD LIB: adtoons.smb
+
* AD LIB: adtoons.smb
 
+
* CMS: cstoons.smb
CMS: cstoons.smb
+
* PC Speaker: n/a
 
+
* Roland MT 32/LAPC: mttoons.smb
PC Speaker: n/a
+
 
+
Roland MT 32/LAPC: mttoons.smb
+
  
 
All of the above should work with DOSBox v0.74 default sound settings except for "CMS". Set "sbtype" to "=sb1" under the "[sblaster]" section to enable "CMS" support. Whether or not a driver is used by Cartooners depends on whether the file present in the same directory as "Cartoons.exe". How the program selects a drive when there are multiple drivers present is unknown.
 
All of the above should work with DOSBox v0.74 default sound settings except for "CMS". Set "sbtype" to "=sb1" under the "[sblaster]" section to enable "CMS" support. Whether or not a driver is used by Cartooners depends on whether the file present in the same directory as "Cartoons.exe". How the program selects a drive when there are multiple drivers present is unknown.
  
'''Music File Information'''
+
=== Music File Information ===
  
Endianess: big???
+
[[Endianness]]: big???
  
 
Extenstion: *.mus
 
Extenstion: *.mus
Line 34: Line 29:
 
Software: Cartooners 1988/1989 - by: Electronic Arts & IDTA
 
Software: Cartooners 1988/1989 - by: Electronic Arts & IDTA
  
 +
=== Music File Layout ===
  
'''Music File Layout'''
+
[Music and Sounds]
  
Begin Structure: Header.
+
Endianess: big.
  
0x00 0x03 BYTES Signature. ({0x7D, 0x00, 0x00}) ***
+
Extenstion: *.mus
  
0x03 0d09 BYTES Unknown. (Roland MT 32 or LAPC: Zeroing any one of these bytes appears to disable an instrument.)
+
[File Layout]
  
0x0C 0x07 BYTES NULL
 
  
0x13 BYTE Unknown.
+
Begin Structure: Header.
  
0x14 BYTE Unknown.
+
0x00 WORD Absolute offset of MIDI track data.
 +
0x02    BYTES Header data [0x00] - 0x02 bytes in length. Purpose unknown.
  
0x15 BYTE Unknown.
+
End Structure
  
0x16 BYTE Unknown.
 
  
0x17 BYTE Unknown. (0x00 or 0x71)
+
Begin Structure: MIDI track data.
  
0x18 BYTE Unknown. (0x00 or 0x68)
+
0x00 BYTES MIDI track data.
  
0x19 WORD NULL
+
End Structure
  
0x1B BYTE Unknown.
 
  
0x1C 0x06 BYTES NULL
 
  
0x22 0x08 BYTES Unknown. (AD LIB: Zeroing any one of these bytes appears to disable an instrument.)
+
Begin Structure: Footer.
 
+
0x2B 0x08 BYTES Unknown. (CMS: Zeroing any one of these bytes appears to disable an instrument.)
+
 
+
0x34 BYTE Unknown.
+
 
+
0x35 DWORD Unknown. (0xFFFFFFFF) ***
+
 
+
0x39 BYTE NULL
+
 
+
0x3A BYTE Unknown. (0x00 or 0xFF)
+
 
+
0x3B BYTE Unknown. (0x00 or 0xFF)
+
 
+
0x3C BYTE NULL
+
 
+
0x3D BYTE Unknown. (0x00 or 0xFF)
+
 
+
0x3E BYTE Unknown. (0xFF) ***
+
 
+
0x3F BYTE NULL
+
 
+
0x40 WORD Unknown. (0xFFFF) ***
+
 
+
0x42 BYTE Unknown. (0x01) ***
+
 
+
0x43 BYTE Unknown.
+
 
+
0x44 BYTE Unknown.
+
 
+
0x45 BYTE Unknown.
+
 
+
0x46 BYTE Unknown. (0x09) ***
+
 
+
0x47 BYTE Unknown. (0xD0 or 0xDC)
+
 
+
0x48 BYTE Unknown. (0xD0 or 0xDC)
+
 
+
0x49 BYTE Unknown. (0xD0 or 0xDC) (Defines PC-Speaker instruments???)
+
 
+
0x4A BYTE NULL
+
 
+
0x4B BYTE Unknown. (PC-Speaker???)
+
 
+
0x4C WORD NULL
+
 
+
0x4E DWORD Unknown. (0x01010101) ***
+
 
+
0x52 DWORD NULL
+
 
+
0x56 BYTE Unknown. (0x01) ***
+
 
+
0x57 0x06 BYTES NULL
+
 
+
0x5D WORD Unknown. (0x0101) ***
+
 
+
0x5F WORD Unknown. (0x0202) ***
+
 
+
0x61 WORD Unknown. (0x0101) ***
+
 
+
0x63 WORD NULL
+
 
+
0x65 BYTE Unknown. (0x01) ***
+
 
+
0x66 BYTE Unknown. (0x02) ***
+
 
+
0x67 BYTE Unknown. (0x03) ***
+
 
+
0x68 BYTE Unknown. (0x04) ***
+
 
+
0x69 BYTE NULL
+
 
+
0x6A BYTE Unknown. (0x09) ***
+
 
+
0x6B WORD NULL
+
 
+
0x6D DWORD "rsxx" block identifier. ***
+
  
0x71 WORD Unknown. ***
+
0x00 BYTE MIDI event "Stop playback".
  
0x73 0x0A BYTES NULL
+
0x01 BYTE Indicates whether or not the music/sound is played again when the end is reached: (0x80 = repeat, 0x81 stop.)
  
 
End Structure
 
End Structure
  
Begin Structure: Data.
 
  
'''UNCERTAIN!'''
+
[Notes]
  
0x00 0x0F BYTES Instrument indexes??? (Modifying/copying this section from other music files appears to change the instruments but not the tune.)
+
The headers typically contain the following string: "rsxx}u".
  
0x0F BYTES Linear data describing the music to be played.  
+
[Other games with similar file midi music files]
 +
See the file "Electronic Arts Music Files.ods".
 +
'''Note: *** = Same for all files.'''
  
(Music plays for a while until it suddenly goes silent/freezes(no duration information???)  on a note when data is zeroed beyond a specific point.)
+
== Other games with similar file midi music files ==
 +
-"Ski or Die has" a music file called "Ski2.bin" which Cartooners appears to play correctly when added to an animation. Ski or Die can play a Cartooners' music file when "Ski2.bin" is substituted with one, although it is played about two times too fast.  
  
Effects when data bits are null:
+
-"The Lost Files of Sherlock Holmes: The Case of the Serrated Scalpel" music files (when extracted from the file "Music.lib") can be played by Cartooners when the first 0x0B (ASCII 0x20 characters (spaces)) of bytes has been removed from their headers.
  
7 6 5 4 3 2 1 0
+
Also:
  
x x              No music.
+
-"Car and Driver" (in c&d.lib as *.bin files)
  
    x            Minor distortion.
+
-"Hard Nova" (as *.bin files)
  
      x x x x    Moderate/severe distortion.
+
-"Lakers versus Celtics and the NBA Playoffs" (the files "o", "r", "s", and "v")
  
              x  Music sounds "sped up."
+
-"Populous - The Promised Lands" (pop_tune.dat)
  
'''UNCERTAIN!'''
+
== See also ==
  
End Structure
+
* [[Cartooners actor file]] (actor format used in Cartooners)
  
 +
* [[Electronic Arts INF]] (preference format used in Cartooners)
  
Begin Structure: Footer.
+
* [[Electronic Arts MOV]] (movie format used in cartooners)
  
0x00 BYTE Unknown. (0xFC) ***
+
== Links ==
  
0x01 BYTE Loop flag.
+
* [http://www.vbforums.com/showthread.php?759753-Cartooners-Actor-Viewer-export-and-import-actors Link to Cartooners File Viewer software]
  
0x80 = Keep looping the music.
 
 
0x81 = Stop playing the music.
 
End Structure
 
 
 
'''Note:'''
 
 
*** Same for all files.
 
 
 
== See also ==
 
 
* [[Cartooners actor file]]
 
 
== Links ==
 
 
* [http://www.vgmpf.com/Wiki/index.php?title=MUS_%28Electronic_Arts%29 Article on Video Game Music Preservation Foundation Wiki]
 
* [http://www.vgmpf.com/Wiki/index.php?title=MUS_%28Electronic_Arts%29 Article on Video Game Music Preservation Foundation Wiki]
* [http://www.euronet.nl/users/swinkels/mus.htm Some format information.]
 
  
 
[[Category:Game data files]]
 
[[Category:Game data files]]
 
[[Category:Electronic Arts]]
 
[[Category:Electronic Arts]]

Latest revision as of 21:14, 22 September 2023

File Format
Name Electronic Arts MUS
Ontology
Extension(s) .mus
Released 1989

Electronic Arts MUS files were used, in several variants, in some Electronic Arts games in the 1989-92 period, including Cartooners (which was actually an animated-cartoon creator rather than a game, per se), Ski or Die, The Lost Files of Sherlock Holmes, and (apparently in a very different format, perhaps compressed) The Immortal.

Contents

[edit] Players

It appears that Joel Yliluoma (Bisqwit) managed to figure out how to play these music files: [1]. The page containing the source for this player: [2].

[edit] Sound Drivers

The music files that come with Cartooners appear to have sound hardware specific sections in their headers. See below for more information. Cartooners supports the following hardware for playing music:

  • AD LIB: adtoons.smb
  • CMS: cstoons.smb
  • PC Speaker: n/a
  • Roland MT 32/LAPC: mttoons.smb

All of the above should work with DOSBox v0.74 default sound settings except for "CMS". Set "sbtype" to "=sb1" under the "[sblaster]" section to enable "CMS" support. Whether or not a driver is used by Cartooners depends on whether the file present in the same directory as "Cartoons.exe". How the program selects a drive when there are multiple drivers present is unknown.

[edit] Music File Information

Endianness: big???

Extenstion: *.mus

Software: Cartooners 1988/1989 - by: Electronic Arts & IDTA

[edit] Music File Layout

[Music and Sounds]

Endianess: big.

Extenstion: *.mus

[File Layout]


Begin Structure: Header.

0x00 WORD Absolute offset of MIDI track data. 0x02 BYTES Header data [0x00] - 0x02 bytes in length. Purpose unknown.

End Structure


Begin Structure: MIDI track data.

0x00 BYTES MIDI track data.

End Structure


Begin Structure: Footer.

0x00 BYTE MIDI event "Stop playback".

0x01 BYTE Indicates whether or not the music/sound is played again when the end is reached: (0x80 = repeat, 0x81 stop.)

End Structure


[Notes]

The headers typically contain the following string: "rsxx}u".

[Other games with similar file midi music files] See the file "Electronic Arts Music Files.ods". Note: *** = Same for all files.

[edit] Other games with similar file midi music files

-"Ski or Die has" a music file called "Ski2.bin" which Cartooners appears to play correctly when added to an animation. Ski or Die can play a Cartooners' music file when "Ski2.bin" is substituted with one, although it is played about two times too fast.

-"The Lost Files of Sherlock Holmes: The Case of the Serrated Scalpel" music files (when extracted from the file "Music.lib") can be played by Cartooners when the first 0x0B (ASCII 0x20 characters (spaces)) of bytes has been removed from their headers.

Also:

-"Car and Driver" (in c&d.lib as *.bin files)

-"Hard Nova" (as *.bin files)

-"Lakers versus Celtics and the NBA Playoffs" (the files "o", "r", "s", and "v")

-"Populous - The Promised Lands" (pop_tune.dat)

[edit] See also

[edit] Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox