byuu's message board

For discussion of projects related to www.byuu.org/


MSU-1 for GBA: Possible? 
Author Message

Joined: Fri 20 Nov 2009, 00:20:29

Posts: 110
Location: Portugal
Post MSU-1 for GBA: Possible?
After listening to the Mega Man Zero remastered music albums, the first thing that came to mind was: "Man, those games sure could've benefited a lot from these soundtracks". Then, the MSU-1 came to mind and made me wonder if it's possible to create a GBA version of it as a means of enhancing the soundtracks of GBA games.

Sat 24 May 2014, 02:53:52

Joined: Tue 21 Feb 2012, 05:42:15

Posts: 2564
Post Re: MSU-1 for GBA: Possible?
I don't think you'd need something like the MSU-1 for GBA, though I'm not really sure... I'm sure you can do streaming music on the GBA without any expansion, but I have no idea how much resources it would require.

_________________
"It's easy to win forgiveness for being wrong; being right is what gets you into real trouble." --Bjarne Stroustrup

Sat 24 May 2014, 03:23:11

Joined: Fri 10 Apr 2009, 15:00:08

Posts: 13668
Post Re: MSU-1 for GBA: Possible?
Sure, you could make MSU-1 for any system. NES, GB, GBC, GBA, Genesis, whatever you wanted.

Am I going to? Probably not. It didn't really even take off on the SNES.

Sat 24 May 2014, 04:19:37
User avatar

Joined: Mon 20 Apr 2009, 08:11:50

Posts: 5266
Location: 日本
Post Re: MSU-1 for GBA: Possible?
I reckon if someone ported Dragon's Lair to the SNES, it would garner a bit more attention.

_________________
CaptainJistuce: He's totally in the wrong, Kakashi's 100% in the right.
Note: The above statement is subject to act of byuu.

Sat 24 May 2014, 04:23:34
User avatar

Joined: Sun 05 Sep 2010, 15:42:48

Posts: 1344
Post Re: MSU-1 for GBA: Possible?
jchadwick wrote:
I don't think you'd need something like the MSU-1 for GBA, though I'm not really sure... I'm sure you can do streaming music on the GBA without any expansion, but I have no idea how much resources it would require.
Streaming music on the GBA is almost trivial. The main problem is storage space.

Most music engines softmix into a buffer or two, which is hooked up to the DirectSound channels. One of the first non-GBC sound tutorials I've seen in fact streamed a short bit of PCM, with no further mixing. The only limitation on that was that you could only play sound effects on the GBC channels then. In fact, the performance hit when using something like M4A/Sappy to play streaming music and non-GBC sound effects... negligible.

For a good example or two, at least one Castlevania game had the menu song streamed, most if not all the Mario games with Mario Bros included use it for the "Choose Your Game" screen, and there's a sound enhancement patch for FF6 that replaces the Aria with a stream, along with improving sample quality at the cost of stereo.

_________________
http://helmet.kafuka.org

Sat 24 May 2014, 11:08:10

Joined: Sat 18 Apr 2009, 16:06:52

Posts: 2208
Post Re: MSU-1 for GBA: Possible?
There are already flashcarts that tie 32MB of RAM to the cart bus and have a command interface to read from an SD card. I'm not sure if any GBA emulators emulate such a flash cart or not, but there is flash cart emulation for DS emulators and it's not that hard to implement. I'm not actually sure how this interface worked, but if there's a data register you can read repeatedly on sequential data then you can basically DMA straight from the SD card to the GBA's RAM. Since only a handful of games are 32MB it's easy to find space to add stuff to most.

This doesn't give you streaming audio, but you wouldn't be able to do it like MUS-1 does it anyway since there's no audio input on the cartridge bus. I don't think doing soundtrack enhancement this way is that compelling anyway, it'd be much nicer to have an external audio solution I guess.

Sat 24 May 2014, 17:57:35

Joined: Mon 09 Jan 2012, 10:44:17

Posts: 28
Post Re: MSU-1 for GBA: Possible?
The real problem with GBA audio is the low quality mixing, not the sample quality. An emulator could HLE the sappy sound engine and mix at 96 khz instead of 8-16 khz, and 90% of games would sound much better. It would also be possible to replace all the original samples with a pack of higher quality ones in a similar way to how N64 games use textures. Of course, neither of these will work on the real hardware.

Sat 24 May 2014, 20:15:10

Joined: Sat 18 Apr 2009, 16:06:52

Posts: 2208
Post Re: MSU-1 for GBA: Possible?
Grapeshot wrote:
The real problem with GBA audio is the low quality mixing, not the sample quality. An emulator could HLE the sappy sound engine and mix at 96 khz instead of 8-16 khz, and 90% of games would sound much better. It would also be possible to replace all the original samples with a pack of higher quality ones in a similar way to how N64 games use textures. Of course, neither of these will work on the real hardware.


How much better this sounds will depend a lot on the quality of the original samples, although I agree it'd probably sound noticeably better in most cases. But the 8-bit sample format is still a huge limitation. In theory you could overcome it with extremely high sample rates on both the instruments and mixer, given enough dithering is present. But if you're going to involve HLE to access something that's beyond original hardware anyway, and you're going to enhance the original instruments somehow, you'd may as well increase the sample size. You'd probably get some benefit just mixing at a higher precision, and in the absence of enhanced instruments maybe applying a reconstruction filter to them.

Do you know how commonly Sappy is used, and if any documentation via reverse engineering has been made?

Sat 24 May 2014, 20:47:30

Joined: Mon 09 Jan 2012, 10:44:17

Posts: 28
Post Re: MSU-1 for GBA: Possible?
Here's some documentation on the format.

http://gbatemp.net/threads/gba-sappy-so ... ad.230202/

GBA games that don't use Sappy:

Super Mario Advance (it is used for the Mario Bros minigame)
Donkey Kong Country series
Classic NES series
Metroid Fusion
Most European developed games
Homebrew (or anything written by someone without the original devkit)

GBA games that definitely do:

Mother 3, Fire Emblem, Fire Emblem: The Sacred Stones, all Final Fantasy games, Game & Watch Gallery 4/Advance, Legend of Zelda: Minish Cap, Mario Kart: Super Circuit, Mario & Luigi: Superstar Saga (Mario Bros only), Mario Party Advance, Sonic Advance games and Wario Land 4.

Camelot developed games use a modified version of Sappy with extra instrument support.
Caitsith2 has a list of 988 games that contain at least some Sappy sample data, but that's including all regions.

Sat 24 May 2014, 22:16:03

Joined: Tue 28 Feb 2012, 21:09:07

Posts: 61
Post Re: MSU-1 for GBA: Possible?
Exophase wrote:
Do you know how commonly Sappy is used, and if any documentation via reverse engineering has been made?


Have you heard of GBA Mus Riper? http://www.romhacking.net/utilities/881/
It extracts the music from games that use sappy into midis and a soundfont.

It includes a program called "sappy_detector". Maybe you could try running that on a no-intro set and see how many it detects.

-edit: Removed list, I messed up my script and it wasn't working right.-

Sat 24 May 2014, 23:07:01
User avatar

Joined: Sun 05 Sep 2010, 15:42:48

Posts: 1344
Post Re: MSU-1 for GBA: Possible?
Grapeshot wrote:
Mother 3, Fire Emblem, Fire Emblem: The Sacred Stones, all Final Fantasy games, Game & Watch Gallery 4/Advance, Legend of Zelda: Minish Cap, Mario Kart: Super Circuit, Mario & Luigi: Superstar Saga (Mario Bros only), Mario Party Advance, Sonic Advance games and Wario Land 4.
Also all GBA Pokémon games. Which is where this engine got the nickname "Sappy" from -- DJ Bouché named his song player after Pokémon Sapphire, while I assisted him by analyzing Ruby. One of the first music edits replaced the title screen music in Sapphire for a hand-crafted Mario theme, and another early test replaced one Super Mario Advance's "Choose Your Game" with the Super Mario Bros Super Show intro.

I got it all started by finding a "play track" text command in Pokémon Ruby. So I wrote a script that replaced one of the startup messages with about 512 consecutive entries. Which then inspired DJ Bouché to figure out the format.

_________________
http://helmet.kafuka.org

Sun 25 May 2014, 12:47:21

Who is online

Users browsing this forum: No registered users and 0 guests

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum