MSU‐1 for Dummies - pk-hack/CoilSnake GitHub Wiki

List of Files and Folders Used:

  • msu1.ccs: The Earthbound CCS file needed to allow MSU playback.
  • [romname].msu: Dummy file that lets the emulator/flashcart know this is an MSU-compatible game.
  • [romname]-[musicID#].PCM: The file that lets the CCS file know which MSU file will play over the Earthbound correlated music ID (in Decimal)
  • wav2msu.exe: The file that actually converts 44khz (or lower) wavs to PCM.

What is MSU? Is it EBMused 2?

Nope, since EBMused is pretty much irreplacable. However, you can just make music in whatever dinky program you want, and then convert it to PCM and have it playback on real hardware!

Documentation is admittedly scarce, and has led to confusion on how to properly use MSU in Earthbound, which is the reason for the creation of this page.

Notable Examples of MSU Romhacks:

  • Rootbound: The one to use them exclusively over EBMused tracks.
  • Ericbound: ..yeah. That one.
  • That one Earthbound Hip-Hop hack: I can't find where that's at, but it's pretty nice from what I remember.

Attached below will the crucial wav2msu.exe program. It is safe, just be careful.

--------------------------------------

Click This for wav2msu.exe.

Click This for msu1.ccs

Setup

Starting with the setup, download msu1.ccs and wav2msu.exe for your project. msu1.ccs will need to be placed inside the CCScript folder, while wav2msu.exe can be placed in whatever folder you'd like.

You will need to create a dummy file, start by making a text file, and rename the .txt to .msu instead. The file name WILL need to match the name of the rom, so if your ROM is entitled "Test1.smc", this file will be called "Test1.msu". This same principle will apply to each and every PCM file you have. sprite_group_palettes.yml. This would mean you could have Test1-92.PCM as your PCM file (after conversion).

Changing Sprite Dimensions

The valid canvas sizes for sprites are as follows: (16x16), (24x16), (32x16), (48x16), (16x24), (16x32), (24x24), (16x32), (32x32), (48x32), (24x40), (16x48), (32x48), (48x48), (64x48), (64x64), and (64x80).

To demonstrate, let’s make Ness’s sprite taller. To save time, we’ll use an existing sprite, such as the tree in a pot, and overwrite Ness’s sprite.

Here’s the tree sprite (266.png), which we’ll save as 001.png to replace Ness’s sprite:

The tree sprite open in GraphicsGale

Notice that the palette in this sprite is different—it uses one of the palettes defined in sprite_group_palettes.yml.

Now that we’ve edited the sprite, open the sprite_groups.yml file. Locate the data for the tree sprite (266.png) and copy relevant properties into the data for 001.png.

Here’s what the data for 001.png should look like:

1:
  East/West Collision Height: 8
  East/West Collision Width: 8
  Length: 16
  North/South Collision Height: 8
  North/South Collision Width: 8
  Size: 16x24
  Swim Flags: [false, false, false, false, false, false, false, false, false, false,
    false, false, false, false, false, false]

Modify the Size property to 16x48 without changing the other values.

After saving and compiling the changes, this is how it should appear in-game:

The tree sprite appearing instead of Ness on the naming screen

Battle Sprites

For battle sprites, you are free to use any 15 colors, plus one transparent color. For more detailed information, refer to the Battle Sprites tutorial.

Unused Sprites

Currently, CoilSnake does not support adding new sprites, so you must overwrite existing ones. Fortunately, there are several unused sprite groups in the game that can be safely overwritten without causing any side effects. Here’s a list of completely unused sprite groups, which you can overwrite:

Number Description
31 Tiny underworld Escargo Express Man
32 Tiny underworld Gonzales (Mach Pizza delivery guy)
38 Tiny underworld Ness Photo Pose
42 King climbing ladder
43 King climbing rope
191 Mr. Saturn Pu-pu emote
192 Black Zzz emote
193 Smoke/Thought bubbles emote
196 Question mark emote
247 Cracked tile
250 Steam
251 Whirlpool
275 Mother 1 Starman capsule
321 Friendly mole (not in a hole)
338 Poo jumping
339 Ness ghost jumping
340 Paula ghost jumping
341 Jeff ghost jumping
342 Poo ghost jumping
345 Unused Teddy Bear duplicate 1
351 Heart emote
354 Ness' Mom sitting (unique to English game, Japanese game is simply an X instead)
355 Unused Venus poses
358 Top left door corner
366 Smiley face flag emote
379 Unused Teddy Bear duplicate 2
380 Unused Teddy Bear duplicate 3
383 Ness sleeping with hat on
400 Sparrow
408 Money box
431 Small Monotoli secret door
445 Everdred ghost
452 Cheering Sanchez brother
453 Ness sleeping sitting up
454 Paula sleeping sitting up
462 Upper water wake
463 Lower water wake

Palettes

For guidance on adding a new sprite palette, refer to the tutorial on Adding a New Sprite Palette.
⚠️ **GitHub.com Fallback** ⚠️