Having some trouble playing a few GSF rips. by AnOldGuyNamedFinch at 3:14 AM EST on January 29, 2018
I'm not sure if the issue is with Foobar2000, the GSF decoder plugin, or the rips I'm using, but there are two soundtracks that I can't play any files from - F-Zero Maximum Velocity and WarioWare Inc., Mega Microgames.

Both of these used to work just fine, but then it started throwing up error messages saying that they were in an unsupported format (despite other GSF rips working just fine), and after recent updates, they just play a second of silence before stopping without ever showing a single error popup.

What's happening here? Is anyone else having this problem?
by mariofan12ify at 6:18 AM EST on January 29, 2018
That happens with me when I try to play Mario & Luigi: Superstar Saga GSFs as well, so you're not the only one.
by MoldyPond at 6:23 AM EST on January 29, 2018
I was so close to creating this thread a few days ago :3

Mario & Luigi: Superstar Saga is another broken gsf as well, and I recently found out about the Donkey Kong Country 3 GBA soundtrack. With the latest version of the gsf plugin, it makes the soundtrack sound like someone jacked the gain up by quite a bit and it sounds terrible. Downgraded to 2.0.6 and it sounds perfectly fine.

Last thing to note is that Warioware Twisted was only ever ripped from the JP version; we have no english rip of Mona Pizza. Just thought I'd mention that.

Edit: @mariofan12ify You posted that as I was typing this out :3

edited 6:24 AM EST January 29, 2018
by AnOldGuyNamedFinch at 8:48 AM EST on January 29, 2018
Oddly enough, Superstar Saga works fine for me - the only ones I'm having issues with were the two that I mentioned, and I have absolutely no idea why.
by MoldyPond at 9:02 AM EST on January 29, 2018
It just happens with old rips and new updates. NHL Breakaway 98 for N64 suffers the same problem.

I'll try redownloading SS to see if it starts working for me as well.
by MoldyPond at 7:12 PM EST on January 29, 2018
Well whadya know, I guess Superstar Saga got fixed at some point :D
by kode54 at 7:29 PM EST on January 29, 2018
Rips are bad on real hardware, or a proper emulator, film at 11.
by AnOldGuyNamedFinch at 9:34 PM EST on January 29, 2018
Is there something I can do on my end to fix this or am I just out of luck for the time being?
by MoldyPond at 12:57 AM EST on January 30, 2018
The only way to fix it is to rerip the games properly.
by AnOldGuyNamedFinch at 4:48 AM EST on January 30, 2018
Unfortunately, that is far beyond my abilities as of this moment. I might look into it later on down the road when I know more about how it's done (assuming someone else doesn't beat me to the punch by then, of course).
by kode54 at 6:18 AM EST on January 30, 2018
All you need is a GBA ROM dump that's stripped of unneeded data, and boots directly to music playback code. minigsfs will set the song number to play, and the gsflib will contain the base image.

The existing rips can often be fixed by debugging them and removing any extraneous code that mGBA doesn't like, such as unneeded save memory initialization and loading code.

I made a GSF unpacker, it's on my Github gists page, I think. IDA Pro can debug GBA rom images.
by MoldyPond at 8:24 AM EST on January 30, 2018
I'd be down to rerip them, unless it involves needing to learn how to read/write in hex in which case you've lost me.

Are there any tutorials anywhere?
by kode54 at 5:27 PM EST on January 30, 2018
Using a disassembly tool and reading ARM assembly would be considerably easier, especially if said disassembly tool knows about system libraries and function calls.

I wish I knew about a proper tutorial, though.
by loveemu at 11:47 PM EDT on June 2, 2018
I have investigated 2 games above for a little. Both GSF sets will work when unoptimized gsflib is used, but it will stop working after the optimization by gsfopt. I had experienced a similar issue with a few games before, that's the reason why I made my own gsfopt forked by viogsf in those days.

I don't have enough motivation to fix the problem for now. However, I can provide IPS patches that will make unoptimized music player ROM.

F-Zero - Maximum Velocity [F-Zero]
Wario Ware, Inc. - Mega Microgame$! [Made in Wario] [Wario Ware, Inc. - Minigame Mania]

Tips: how to make unoptimized gsflib

1. Decode original gsflib `gsfopt -r oldlib.gsflib`
2. Copy erased part (filled with 0) from unaltered ROM (done by simple script)
3. Write back some 0s when it is wrongly replaced (using some hex editor)
4. Done


edited 11:57 PM EDT June 2, 2018
by kode54 at 2:56 AM EDT on June 3, 2018
Another option may be to use the mGBA core to build yet another fork of gsfopt, since that's the emulator the current version of the foobar2000 plugin is based on. That's some work, though.
by loveemu at 8:26 AM EDT on June 3, 2018
Can anyone verify whether those sets can work with real hardware?
by kode54 at 5:03 PM EDT on June 3, 2018
Endrift verified they work on real hardware, but I don't know what emulation issue would cause them to fail.
by loveemu at 9:24 AM EDT on June 6, 2018
Although I don't know the cause of the issue, I can provide a fix for F-Zero. It is optimized with some new paranoid algorithm.

F-Zero - Maximum Velocity [F-Zero]
by MoldyPond at 7:27 PM EDT on June 6, 2018
Sweet :D

I know it's a huge game, but I was wondering if WarioWare is possible to be re-ripped? Not only does the current set not work on newer versions, but there's some music missing (the title screen music for the 2-player minigames is one).
by McStoat at 4:10 AM EDT on June 7, 2018
Thanks for that, loveemu. Maximum Velocity is one of the games I listen to regularly so it was devastating to me when it suddenly stopped working.
by loveemu at 9:29 AM EST on January 26, 2019
Wario Ware Inc gsflib fixed.
https://1drv.ms/u/s!Alr6ACx5YY7_ghBK7LEOA_NY0twZ

I restored a couple of functions which have gotten partially wiped by gsfopt, by hand.

I know the gsfopt (VBA-M) and foo_input_gsf (mGBA) are using different emulation core, but I don't understand the exact point of the cause of the issue. I think WAITCNT relates to the issue, but have no more idea than that.
by Basillica at 1:14 PM EST on January 26, 2019
Thank you very much.
by loveemu at 11:17 AM EST on January 28, 2019
Now I can provide a real fix for the F-Zero. o_O

AGB-AFZE-USA.gsflib (F-Zero - Maximum Velocity)

TL;DR Make sure to remove every Cart RAM accesses before the optimization.

I have experienced similar cases in multiple games and I have concluded that the issue is caused by Cart RAM (SRAM/Flash/EEPROM etc.) access. A good rip should not have such an extra I/O access, however, it can be missed easily on manual rips, since there was no auto detection mechanisms and it somewhat works well on the emulator.

My gsfopt (based on old viogsf of VBA-M core) doesn't emulate Cart RAM accesses and always returns 0 for read access. This behavior obviously makes unexpected branching. GSF player will try to operate unknown opcode and stops working, when the player reaches to the code wiped by unexpected Cart RAM handling.

I have added a little code to my gsfopt, which will generate warnings on the Cart RAM access. I hope it will help rippers to notice that the gsf contains unwanted code inside.

While debugging on no$gba, the following breakpoint syntax is handy to check the Cart RAM access.

[0d000000..0effffff]!!?
!? ... syntax for breaking on any read or any write

I don't know whether VRAM/OAM/Pallete accesses may cause a playback/optimization issue, however, they should be removed as well. They can roughly checked via the addrest range [05000000..07ffffff]

Edit: The F-Zero gsflib above still have some VRAM write accesses. Oh! I probably won't try to fix it for a while, since it probably won't cause any problems.

edited 8:06 AM EST January 29, 2019
by MoldyPond at 8:58 AM EST on January 29, 2019
Seems to be working fine (not that it's a soundtrack I'll really be listening to ;) )

Thanks a bunch for the fixes so far :)
by kode54 at 5:40 AM EST on February 2, 2019
This emulator supports full PPU, but has no renderer. At least I think it has a full PPU register interaction support.

edited 5:41 AM EST February 2, 2019


Go to Page 0

Search this thread

Show all threads

Reply to this thread:

User Name Tags:

bold: [b]bold[/b]
italics: [i]italics[/i]
emphasis: [em]emphasis[/em]
underline: [u]underline[/u]
small: [small]small[/small]
Link: [url=http://www.google.com]Link[/url]

[img=https://www.hcs64.com/images/mm1.png]
Password
Subject
Message

HCS Forum Index
Halley's Comet Software
forum source