SNES MSU-1 Guide
-
@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.
-
@Darksavior Insidious611 hasn't gotten me that script yet, but turns out I don't need it for this. In fact, I don't need to edit the PCM files at all. It's already been done by someone MUCH more qualified than me.
Qwertymodo, one of the leading authorities on MSU mods, the guy that coded pretty much the only tool that lets you create MSU-1 audio without having to hex-edit the header and loop info in, the guy that made the Zelda:LttP DX mod, the guy that coded MSU-1 support into Snes9x, along with a bunch of other MSU-1 related things I likely don't know about yet... He already did it.
Go to: https://www.romhacking.net/hacks/2483/
(you should recognize the link, I've sent it to you before, it's the same mod you're using)Click download and grab that copy of the mod (97kb).
Open the .zip, and click the readme.
Towards the top of the readme, you'll see 2 download links labeled "Mirror 1" and "Mirror 2".
Grab either of those, they're the fixed PMC files (~500Mb).
You might need to re-patch the game with the updated .ips (best to do it to a fresh copy of the rom, rather than over an already patched one.), but not sure.
-
@edale That did it, thanks. That site should really change the links..
-
@darksavior First time I looked at that patch page, I thought the volume fix mentioned was a .ips adjustment like in the "for emulator" patches, but it actually mentions the new .pcm files. When I noticed that, I downloaded and checked the files and saw they were already fixed. I should have noticed that days ago.
At least I didn't notice after I adjusted the audio on the original ones, lol.
-
@edale In surfing the zeldix site today, I did notice there's a thread with fixed audio tracks. I'll re-download the few games that have given me issues like introducing crackling into sound effects and the music just being too loud, but sounds fine.
-
@darksavior It wasn't exactly easy, but I've found that thread too. In fact, one of the sets of tracks I was fixing for Insidious had already been fixed by qwertymodo, and me pointing that out to Insidious got qwertymodo himself to show up and help us out with the normalization. Insidious now has a bastardized version of qwertymodo's script for normalizing MSU-1 PCM audio.
I've also added a number of tracks, such as The Black Mages versions of Battle (the basic battle theme), Decisive Battle, and Dancing Mad, and getting some PCM audio to replace ambient sounds when there's a sound that's only called when no music is playing (MSU-1 chips can only stream one data line at a time, so you can't play 2 tracks of PCM audio at once), So far I've got some since white-water sounds going on the raft scenes, looking for other similar cases.
I'll post a link to the open-beta when the release with normalized audio comes out in a few days.
-
Well... That took more than a few days... here's the "final" beta for the Dancing Mad FFVI MSU-1 mod.
-
With the official release of Snes9x v1.55 a week ago, the first official release of Snes9x to support MSU, the lr-snes9x emulator core for RetroPie has also been updated.
I'd strongly suggest everyone update (from source) their lr-snes9x on their RetroPie setup.
The new version has fixes for a few MSU related issues, the biggest one I'm aware of is a fix on a bit of code that actually lets music resume properly (so after a battle when you show up on the worldmap, the music will continue where it left off, rather than starting over, as one example). It actually supported it before but wasn't reading the settings properly, so resume didn't work.
-
Is there a way to launch a custom launch bash file so I can call the
.sfc
file from my/.Legend of Zelda, The - A Link to the Past (USA)[MSU-1]
folder containing all the random files? Trying to do this for organizational purposes.Both of the following work when called from the command line, but not from EmulationStation:
#!/bin/bash "/opt/retropie/supplementary/runcommand/runcommand.sh" 0 _SYS_ "snes" "/home/pi/RetroPie/roms/snes/.Legend of Zelda, The - A Link to the Past (USA)[MSU-1]/alttp_msu.sfc"
or
/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-snes9x/snes9x_libretro.so --config /opt/retropie/configs/snes/retroarch.cfg "/home/pi/RetroPie/roms/snes/.Legend of Zelda, The - A Link to the Past (USA)[MSU-1]/alttp_msu.sfc" --appendconfig /opt/retropie/configs/all/retroarch.cfg
Thanks.
-
@hooperre Is the command output depending on the starting folder ? I.e. you're in the
/.alttp_msu
folder when running that command ? -
@mitu I had the folder name mixed up and it has been updated in my original post.
The command is being launched from the
./RetroPie/roms/snes
folder. The actualalttp_msu.sfc
and all the.pcm
files are located within the./RetroPie/roms/snes/.Legend of Zelda, The - A Link to the Past (USA)[MSU-1]
folder.I don't think it depends on the starting folder. If I just (from the command line) ran the
.sh
file containing either one of the blocks of code written above:
sudo bash home/pi/RetroPie/roms/snes/alttp_msu.sh
the file runs correctly, and with all the correct RetroArch configs, but this doesn't happen when launching from EmulationStation. I'm not sure if launching it from ES changes the way that RetroArch handles it somehow or something. -
@hooperre You can see the launch command used by Emulationstation by looking at the
/dev/shm/runcommand.log
- it should be the first line. That being said, the command you posted (usingruncommand
) seems like something similar to what Emulationstation would launch.
If the launching commands prove to be the same, try running with verbose logging when you launch from Emulationsation (by using theruncommand
launch menu) and maybe there's some clue in the detailed log about what's missing. -
Ah. It's calling for the actual
.sh
file itself when I use theruncommand
as opposed to the.sfc
. Dump:Executing: /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-snes9x/snes9x_libretro.so --config /opt/retropie/configs/snes/retroarch.cfg "/home/pi/RetroPie/roms/snes/alttp_msu.sh" --appendconfig /dev/shm/retroarch.cfg
Not sure how to get around that. I'll try the other one again.
The other script with verbose logging: https://pastebin.com/BuUJbxN9
Appears to be calling for the
.sh
file as well. That one makes less sense to me. -
@hooperre said in SNES MSU-1 Guide:
Ah. It's calling for the actual .sh file itself when I use the runcommandas opposed to the .sfc. Dump:
That's not correct. Did you customize the EmulationStation system config file (
es_systems.cfg
) and added the.sh
extension as a valid ROM ? By default,.sfc
is one of the included extensions, so if you have the.sfc
ROM file in the folder,runcommand
should invoke the correct emulator. -
I did not add
.sh .SH
to thees_systems.cfg
.The script works well in the
ports
folder/menu in emulationstation and will launch the MSU-1 version of the game. It appears thatruncommand
is ignoring the text within the file and just launching the.sh
file as an accepted rom. I can't figure out a way around this and suppose I'll just have to create an extremely messyMSU-1
folder. -
@hooperre Can you post the
es_systems.cfg
on pastebin.com to take a look ? Is your.sfc
file addd in thesnes
folder ? -
es_systems.cfg
: https://pastebin.com/3V4uAygYalttp_msu.sh
is located in//home/pi/RetroPie/roms/snes
containing:/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-snes9x/snes9x_libretro.so --config /opt/retropie/configs/snes/retroarch.cfg "/home/pi/RetroPie/roms/snes/.Legend of Zelda, The - A Link to the Past (USA)[MSU-1]/alttp_msu.sfc" --appendconfig /opt/retropie/configs/all/retroarch.cfg
And
alttp_msu.sfc
is located in//home/pi/RetroPie/roms/snes/.Legend of Zelda, The - A Link to the Past (USA)[MSU-1]
. -
According to your config file, the
snes
system doesn't launch.sh
files<system> <name>snes</name> <fullname>Super Nintendo</fullname> <path>/home/pi/RetroPie/roms/snes</path> <extension>.bin .smc .sfc .fig .swc .mgd .zip .7z .BIN .SMC .SFC .FIG .SWC .MGD .ZIP .7Z</extension> <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ snes %ROM%</command> <platform>snes</platform> <theme>snes</theme> </system>
but it should be able to launch
.sfc
files. I don't understand how it launchedruncommand
with a.sh
file. -
@hooperre I was trying to do the same thing and I recently got it all sorted out. I described what I did to get it all working nice and clean in another thread.
Check it out here: Load NON-PC rom with a script?
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.