SNES MSU-1 Guide
-
OK, so a week or two ago I was setting up my first Raspberry Pi with RetroPie, and I got to thinking. I had just discovered MSU-1 mods a month or two ago, and it was a royal pain getting them working in Higan, but sooo worth the effort, and I wanted to know if I could get them working on RetroPie.
I found it rather hard to find info on MSU-1 mods on RetroPie, but eventually found it WAS possible to run them with RetroPie.
It then took a much longer googling session to find out just how I needed to get the files setup to work (I eventually found it as an offhand comment buried deep in the bowels of a forum about SNES9x).
I decided to write up a quick guide consolidating my discoveries, in case others were looking for this info.
What is an MSU-1 mod?
The MSU-1 is a cartridge addon chip (similar to the SuperFx chip) that allows for many enhancements to SNES games including, but not limited to, full-motion video and CD quality sound by adding up to 4GB (yes, 4 gigabytes) of storage for extra content.Some examples of MSU-1 modded games would be:
Zelda: A Link to the Past done with a fully orchistrated CD quality soundtrack.
Chrono Trigger with all the video cutscenes from the PlayStation version inserted.
Mega Man X with a new CD quality soundtrack.The MSU-1 chip itself only needs to be in the game cartridge to run on an actual unmodded SNES system. Emulators, on the other hand, need to be modified to support playback of MSU-1 modded games. This is due to the emulator needing to access files outside the ROM while playing the ROM.
The chip does have some limitations, such as only being able to stream one data track at a time, but it essentially turns the SNES into what it could have been with a CD attachment.
For (much) more detailed (and technical) info, check out: http://helmet.kafuka.org/msu1.htm
Preparing your RetroPie install to play MSU-1 modded games
AKA Installing the optional "lr-snes9x" emulator coreBefore you can run an MSU-1 modded game, you need to prepare your Raspberry Pi. None of the default SNES emulators can play a MSU-1 modded , so you need to install the emulator that can.
1. Boot your Raspberry Pi, connect it to the internet (via Ethernet or WiFi) and plug in a keyboard.
2. Hit f4 to shutdown EmulationStation, and bring up the terminal.
3. Type the following (case-sensitive):
sudo /home/pi/RetroPie-Setup/retropie_setup.sh
This will bring up the RetroPie setup script.4. Scroll down to "Manage Packages" (3rd option), ensure "OK" is highlighted at the bottom with the left/right arrow keys, and tap Enter.
5. Navigate to: Manage Packages -> Manage Optional Packages -> 254 lr-snes9x.
6. Install from Source to ensure you have the most recent version.
7. Use the left/right arrow keys to highlight "Back" at the bottom, then tap Enter. Continue to go back until you're at the Setup Script's first menu.
8. Scroll down to and select "Perform reboot". Select "Yes" on the following dialog.
Now that you have the emulator installed, it's time for the ROM itself:
Preparing the MSU-1 modded ROM
Ensuring the ROM files are named properly
OK, to start off with, the only files you need are:
1. The ROM file (.SFC/.SMC) patched for the MSU-1 mod
I'll leave you to figuring out the correct way to patch it, some of them can be tricky. Do NOT share/ask for ROMs in this forum!
The ROM file may be namedprogram.rom
2. The .MSU file that came with the msu-1 patch
It might be namedmsu.rom
This is a blank pointer file, if it's not present you can name a blank txt document to the appropriate name.
3. The .PCM audio files.
Optional Some MSU-1 mods may come with a save file as well, this may or may not be needed to properly save, depending on the game, so it's typically best to include it. It will either be a SRM file orsave.rom
.
You do not need a manifest file, or any .XML/.BML files. Including them could break the mod.All files must follow the following naming conventions (same as SD2SNES):
ROM file: [rom name].sfc / [rom name].smc
MSU file: [rom name].msu
PCM files: [rom name]-[track #].pcm.
Save file (if present): [rom name].srmhttp://www.bulkrenameutility.co.uk/Download.php - This is a free utility that will make renaming large batches of files quick and easy, should renaming be required.
So to use the Legend of Zelda: A Link to the Past DX mod (https://www.romhacking.net/hacks/2234/) as an example:
loz3-dx.msu
loz3-dx.sfc
loz3-dx-1.pcm
loz3-dx-2.pcm
...
loz3-dx-34.pcmOnce the files are named properly
1. Create a new folder, name it how you'd like the MSU modded game to display in RetroPie.
Again, using Legend of Zelda:LttP DX as an example, I named the folderLegend of Zelda A Link to the Past DX MSU-1 (Symphonic CD quality Soundtrack)
2. Place all required files, named as shown above, into this folder.
3. Transfer the entire folder into/home/pi/RetroPie/roms/snes
using your prefered method (USB/FTP/SSH/etc.).
4. Grab your controller and hit "Start", scroll down to "Quit", and in the quit menu select "RESTART EMULATIONSTATION"; you don't need to do a full reboot.Once EmulationStation is done rebooting, the MSU modded ROM should show up in your romslist!
One problem though, at this point, if you play the game, it'll play with the default sound, the MSU-1 mod won't work.
What you need to do now is set the ROM to run with the lr-snes9x emulator.
Setting the MSU-1 modded ROM to run on lr-snes9x
I don't know the "best" way to get to the following menu, so I'll just post what works for me (I use an 8bitdo NES30 PRO gamepad):
When you start a game, there's a brief message that appears on screen:
Launching [ROM name]
Press a button to configure
errors are logged to...
1. Launch your MSU-1 modded game, and while that screen is up, rotate the left joystick around while hitting any of the ABXY buttons (at the same time) until you see a few random characters appear on the bottom left of the screen. Once those characters appear, wait a moment, and an options menu will come up.
2. scroll down to option 2:
Select Emulator for ROM
(NOT!!!Select default emulator for SNES
), and hit "A" to open its submenu.3. Select "lr-snes9x" (you want the one without a year listed at the end). Right/Left on the D-pad to make sure"OK" is highlighted, then tap "A".
You should see option 2 displayed as:
Select emulator for ROM (lr-snes9x)
4. Scroll down to "Launch" and tap "A".
The game should now launch with the MSU-1 mod working.This permanently changes the emulator associated with that ROM, so you can just launch the MSU-1 modded game normally from now on.
I hope this helps some of you!
-
@edale Man!! I am seriously freaking out over the Mega Man X and F-Zero soundtracks. It's incredible! I need it!!
Hello mate. I saw your post on the "Useful topics" thread and came here. I had to google about what MSU-1 is. As far as I understood it's a virtual chip that can enable cool features like full motion video support, CD quality audio and 4GB max stream data storage.
I've realized that MSU-1 was released a few years ago, but I didn't know it. Maybe it would be a good idea to put this kind of info (what MSU-1 is) in the very beggining of your guide.
I also would like to suggest a TLDR section with this content:
Installing the lr-snes9x core
- launch RetroPie Setup
- Go to Manage Packages -> Manage Optional Packages -> lr-snes9x
- Install lr-snes9x (installing from source gets the most recent updates in the code)
Preparing your ROM with MSU-1 capabilities
- Find the MSU-1 related patch for the game. This romhacking.net googling seems to be a good place to start.
- Apply the patch to the respective ROM (if you don't know how to do this, check this question in romhacking.net FAQ. Do NOT share/ask for ROMs in this forum!).
- Put the patched ROM in the
~/RetroPie/roms/snes
folder. - Restart EmulationStation in order to see the patched ROM on your gamelist.
- Launch the patched ROM and invoke the runcommand menu.
- Go to "Select emulator for ROM" and choose
lr-snes9x
. - Choose Launch.
- Enjoy!
-
I wonder of there's a way to fix the distorted audio?It's like the audio volume was increased so much that it causes that. I know if you try the msu file meant for sd2snes then the music sounds distorted nonstop but when using the one meant for emulators, the problem is mostly fixed depending on the game.
Example, some parts of the lttp music is scratchy like the louder parts. The sound effects of mmx1 are scratchy but the music's fine.
-
ALTTP and Megaman X are my go to MSU patched ROMS
-
@meleu My guide was a bit longer because I wrote it with people that had close to zero computer skills in mind (or people like me who are really good with Windows, but know nothing about linux)... and I don't know how to do some of the formatting you put in there...
I probably should put a "What is a MSU-1?" section in there though...
And the MSU-1 isn't a virtual chip, it's an actual chip that can be put into an actual game cartridge, and will allow things like full motion video and CD quality sound on an actual SNES system.
Oh and Megaman X MSU-1: http://www.romhacking.net/hacks/2274/
The F-Zero mod has a link to the romhacking.net page in the video description.
You'll have to source the correct versions of the ROMs to apply the patches to yourself.
@Darksavior I mentioned this to you in the other thread about 2 weeks ago, there are more than one Zelda:LttP MSU-1 mod (and IIRC one of them was just a proof-of-concept proving the chip works). Which one are you using?
If you're using this one: https://www.romhacking.net/hacks/2483/ you might have v1.0, the v1.1 version has sound fixes.
I had no problems with the one I linked to in the guide.
-
@edale said in SNES MSU-1 Guide:
@meleu My guide was a bit longer because I wrote it with people that had close to zero computer skills in mind
Hey bro. Please don't take that as a negative criticism. I'm really grateful to you for bringing this up.
I was just trying to simplify the steps for those used with RetroPie. ;-)
Anyway if you think it would be useful to add that text, you can copy'n'paste the content below:
**Installing the lr-snes9x core** 1. launch RetroPie Setup 2. Go to Manage Packages -> Manage Optional Packages -> lr-snes9x 3. Install lr-snes9x (installing from source gets the most recent updates in the code) **Preparing your ROM with MSU-1 capabilities** 1. Find the MSU-1 related patch for the game. [This romhacking.net googling seems to be a good place to start](http://www.google.com/search?q=site:www.romhacking.net/hacks+msu-1). 2. Apply the patch to the respective ROM (if you don't know how to do this, [check this question in romhacking.net FAQ](http://www.romhacking.net/faq?page=faq#question3). **Do NOT share/ask for ROMs in this forum!**). 3. Put the patched ROM in the `~/RetroPie/roms/snes` folder. 4. Restart EmulationStation in order to see the patched ROM on your gamelist. 5. Launch the patched ROM and invoke the runcommand menu. 6. Go to "Select emulator for ROM" and choose `lr-snes9x`. 7. Choose Launch. 8. **Enjoy!**
-
@meleu said in SNES MSU-1 Guide:
Hey bro. Please don't take that as a negative criticism. I'm really grateful to you for bringing this up.
Not taking it as negative criticism, taking it as very constructive criticism. I'm just on 40ish hours without sleep atm (you think insomnia is bad? try delayed sleep syndrome), so probably not getting my point across properly, lol. I'll do some reformatting of the guide sometime later today or tomorrow when I'm a bit more cognisant.
Oh, and I grabbed that Mega Man X MSU-1 mod, quick tip, the manifest.bml that comes with the mod... Kill it with fire! Thing's incomplete and will actually stop the mod from working.
Use the "mmx_msu1_emulator.ips" patch to patch the ROM, you'll get audio distortion on the Pi with the other one. This is a problem with a lot of the earlier MSU-1 mods (see @Darksavior's problems with LttP), but most of the older ones have alternate patches, and the newer ones don't have the problem.
-
@edale I'm using the lttp from https://www.zeldix.net/t453-enable-msu-streaming-music-for-alttp
I didn't like how the others mixed the music. I patch my roms so my folders just have the .sfc game, .msu file, and .pcm files. I have no clue on how to edit msu/ips files, but I believe there must be some setting that increases the volume for flashcarts. There is no ips file meant for emulators.
EDIT: looks like the website says it wants the bml file for higan, i'll throw that in later to re-test.It still doesn't explain why mmx1 has distorted sound effects. I'll double check later if it happens without the msu1 music enabled.
-
@darksavior Yea, I figured that was the version you had. That was the "proof of concept" for MSU-1 mods I mentioned, it's THE oldest MSU-1 mod out there, before any of the kinks had been worked out.
Give me 1/2 an hour or so and I'll have it tested, but I think you can use the PCM files from one MSU-1 mod in another, so you could use that LttP MSU-1 mod's PCM files, while using a newer MSU-1 hack (or hell, have the MMX soundtrack paying for LttP, lol).
Edit-
OK, I tested it out by grabbing the PCM files from your MSU-1 mod and plugging them into the LttP DX mod that I linked to. It worked fine. I played for about 10 minutes and didn't get any audio distortion.You'll need to rename all the PCM files to match the DX mod, this program will make it take seconds: http://www.bulkrenameutility.co.uk/Download.php
Alternately, try this patch: https://www.romhacking.net/hacks/2483/
It's the same MSU-1 mod you use, but it has a v1.1 update to fix a sound issue, might fix your problem. -
@edale Thanks, I'll try them out when I can.
-
Edited and reformatted the guide.
Just found this, it's AMAZING:
https://github.com/Insidious611/DancingMadFF6/releasesIt's a MSU-1 soundtrack mod for Final Fantasy VI (AKA III). It has multiple options for the soundtrack used including both the OST and A rather amazing fan-made remix soundtrack (http://ff6.ocremix.org/), as well as a few other fanmade remasters.
You just need the
DancingMadInstaller.exe
and the FFVI ROM to get it setup. The installer will let you choose which audio tracks you want for each song, download them, convert them, and patch the ROM file for you. (only downside is if you want to change one music file, you need to re-download everything, though you can just swap the pcm files if you already have the one you want from a previous build) -
@edale I tried both and made zero difference. I also didn't need to rename to the dx mod, I just renamed the rom to what I already had and it did play the music. Oh well.
-
Then the problem's probably in the PCM audio itself. I can only suggest getting a different set of PCM audio from elsewhere.
Unless... are you using a what version Pi are you running? Because I doubt Pi Zero's will be able to handle MSU-1 mods easily...
-
@edale Pi3. I get slowdowns when there's transparencies even at 1.3ghz, so zero won't be an enjoyable experience..
-
This is a good guide. I can confirm that this setup method works with the Link to the Past DX romhack. I can also confirm that this works with another Link to the Past romhack that adds the same music as Link to the Past DX and adds an FMV intro.
Also, if anyone is interested in the Satellaview expansion module for the Super Famicom and the three exclusive Zelda games that used that for live voiceovers, I can confirm that the English-Translated MSU-1 recreations all work with the guide from edale.
https://en.wikipedia.org/wiki/Satellaview_games_from_The_Legend_of_Zelda_series
Word of warning, these recreations do use FMV and voiceover narration, so with all files included they can get very large
BS Zelda no Densetsu (BSゼルダの伝説, lit. BS The Legend of Zelda) = 2.45GB
BS Zelda no Densetsu MAP 2 (BSゼルダの伝説MAP2, lit. BS The Legend of Zelda: Map 2) = 2.45GB
BS Zelda no Densetsu: Inishie no Sekiban (BSゼルダの伝説 古代の石盤, lit. BS The Legend of Zelda: Ancient Stone Tablets) = 3.78GB -
@nowarrivinghere said in SNES MSU-1 Guide:
Also, if anyone is interested in the Satellaview expansion module for the Super Famicom and the three exclusive Zelda games that used that for live voiceovers, I can confirm that the English-Translated MSU-1 recreations all work with the guide from edale.
I've played Ancient Stone Tablets, which is great (was actually the second MSU-1 game I played; but quite annoying to transfer the save files for the next part on the Pi, unless you ftp to do it).
But those other 2 BS zelda games... I thought those were just remakes of Zelda 1 with updated graphics?
-
@Darksavior in a few days I may have a new set of PCM files for you for that Zelda:LttP MSU-1 mod.
I've been working with Insidious611 on his Dancing Mad FFVI MSU-1 mod, there were a number of problems with his PCM audio, and in the process of helping him I taught myself how to encode MSU-1 compatible PCM audio.
Pretty much all his PCM audio tracks needed to be deamplified (I'm actually going through and manually normalizing most of his tracks, then using a hex editor to copy/paste the header/loop data back in). A few of his tracks needed to be completely redone (one even had the data for an entire second song in it for some odd reason, and one track desperately needed the intro cut out)
I've managed to develop a sox script to deamplify the PCM audio, and Insidious611 is making me a python script that'll copy the header data over for me, turning this overly complex process into quickly running 2 batch files.
Once Insidious611 codes the script for me, it'll only take me like 10 minutes to deamplify the PCM files for that Zelda MSU-1 hack, which should hopefully remove that distortion you were experiencing (won't help with the slowdowns though).
-
Has anyone managed to get MSU-1 successfully working with network share?
Everything works fine when I run games directly from the SD card, but I only get original music and no videos (basically non-MSU-1 version of the game) when using network share. -
@edale Nice, I'll try them when it's available, thanks. I believe all that amplified music from EVERY msu1 game does have some crackling of some sort. In mmx1, the msu1 audio is fine, but the sound effects are the ones that randomly have scratchy audio.
I guess these msu1 games were made for sd2snes and not for emulators.
-
@darksavior Yea, most of the earlier MSU-1 mods had the audio normalized for playback on the SD2SNES, since playback on the original system is the biggest selling point of MSU-1 mods.
Prior to the fix being made in SD2SNES v1.7, there was a bug in the MSU-1 emulation chip that made it so the PCM audio needed to be really loud to play normally. This was obviously a detriment to emulation users. Most MSU-1 modders just made a second patch which tricked the audio into playing quieter for emulators.
Once the 1.7 upgrade went out for SD2SNES, MSU-1 modders can have their sound normalized normally, and it'll play right across all platforms.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.