Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - MHzBurglar

Pages: 1 [2]
Hi Everyone,

I'm not sure how to best get a hold of Ikari, so I'm hoping that posting this here will be a good start :)

I recently encountered a bug in firmware version 1.10.3 while playing the MSI-1 version of A Link to the Past on my SD2SNES Pro where the fanfare that plays after beating a boss and collecting a crystal gets stuck in a constant loop (playing the fanfare over and over and over again) instead of playing the next track (Zelda's lullaby) while talking to the maiden inside the crystal.  I tested this same scene on the OG SD2SNES, and it has a similar issue but it will skip the fanfare entirely and skip straight to the Zelda's lullaby theme.  In both cases, the event where Link holds the crystal above his head while the fanfare plays is skipped entirely and the maiden appears the second Link touches the crystal.

This issue is not present on bSNES and SNES9X, and appears to only affect SD2SNES cartridges.

I contacted Conn, the author of this MSU-1 patch, and he provided some great insight into what the game is doing at the time.  The game is supposed to check the MSU-1 audio state when grabbing the crystal to see if the fanfare MSU-1 track (track 19) is playing, and once it has finished, start playing Zelda's Lullaby (track 26.)  While the Fanfare is playing, Link will stay still and hold the crystal, and the maiden isn't supposed to appear until the fanfare track ends.  Conn tested this by replacing the fanfare PCM with a longer song, and on bSNES Link stood there with the crystal the whole time.  On the SD2SNES, it didn't matter what PCM file was used for the fanfare and the 'holding the crystal' routine was skipped entirely.

I tested this on some older firmware versions on my SD2SNES OG and Pro carts, and this ASM routine actually used to work correctly in past firmware.  It was broken in firmware versions up to 0.1.7b, but was fixed in 0.1.7c and worked as long as the in-game hook was disabled.  It was also fine in 0.1.7d, but was broken again with the release of 0.1.7e and remains broken up through the current firmware version.  Since the working firmware version predates 1.10.1, it's impossible to play the game correctly on the Pro model cart.

Conn also provided the ASM code for this routine as well.  I'm unfortunately not experienced with ASM programming or the SNES CPU/MSU-1 "chip", but I hope it will be useful in troubleshooting the issue.  Here's what he sent me:

Here is what I assume being the problem you may want to report to ikari:

Code: [Select]
22edeb lda $2000 [082000] A:0853
22edee and #$10 A:08b2
22edf0 bne $edf6
The code checks whether the msu track is still playing (this fanfare is set to non-loop). As soon it is not running anymore, the game continues. Somehow the firmware does not get this code, so it assumes the msu doesn't play anymore (at least this is my assumption).
The status port has the following bit layout:
7 6 5 4 3 2 1 0
Data busy Audio busy Audio repeat Audio playing Track missing Revision

The revision part will be equal to 1, unless a new version of the MSU1 specification is released, which may add more features. A common usage for the status port is to lock the SNES CPU after setting an audio track or specifying a seek target on the MSU1 Data file. This is a rather important step to include if you’re aiming to support the MSU1 in hardware. The “track missing” bit is set if, after seeking to a given audio track, that track is found to be unavailable. This allows selectively falling back to SPC700 sound.

You see that bit 4 (and #$10) is the audio playing flag

I hope that this makes its way to the SD2SNES/FXPak team, as I'd love to see a fix in a future firmware version.  If any additional testing or data is needed, I'm more than happy to provide it wherever possible.

EverDrive N8 / Re: SimCity Proto Released. Any chance for a fix?
« on: February 11, 2019, 11:33 PM »
I tested the Fix94 MMC5 mapper on my Everdrive N8 running OS 20 RC7 and it works perfectly with SimCity!

I also tested Castlevania III with the fix94 mapper and it also seemed to work perfectly (though I only played through the beginning village.)

Master EverDrive / Re: Master Everdrive x7
« on: July 10, 2018, 07:08 PM »
Just to cover all bases here: Does your model-1 Genesis have any issues with D-pad input when running a Genesis game?  It sounds like an issue with the system itself; I've encountered a couple of model 1 systems with faulty controller ports that cause similar issues (down is constantly pressed, right/up is constantly pressed.)  Of course, the issue was present in every game.

The controller ports just needed to be resoldered and it fixed them right up.

Master EverDrive / Re: Master Everdrive Save state answer
« on: July 10, 2018, 06:53 PM »
I'd love to be able to use a pause + button combination as well!  If it's possible to use the pause button it would help prevent normal in-game usage from triggering the menu.

Another idea is to maybe make use of the second controller's buttons in the combo.  So if I were to press down on controller 1 and 1+2 on controller 2, then the menu would load.

Out of curiousity, is the Master System able to read more inputs from a controller than just the D-pad and the 1-2 buttons?  Basically I'm curious if the A or Start button of a Genesis controller can be read, and if so, if those could be used.  This has been seen in other 'controller-compatible' systems: IIRC, the Atari 2600 is able to read a second button if you use a multi-button controller on it like a Genesis or Master System controller; the functionality wasn't used in any commercial games but is used by some homebrew games.

So I borrowed another Gameboy Player from a fried to make sure it wasn't just mine having the issue and...  it was definitely just mine having the issue.

What's interesting is that my Gameboy Player and his are actually two different models.  Mine has a part number of C/L-DOL-A-GP, and his has a part number of C/L-DOL-A-GP-1, indicating a hardware revision.  I got mine right at launch in 2003 and he got his later on in 2004.  It's possible that the difference in hardware between these two models, whatever it happens to be, could be related to the incompatibility issues.  I don't have another old Gameboy Player to test this theory though.

I just wanted to post this here in case anyone else ever encounters this issue.  Now I'm off to eBay to buy a rev.1 Gameboy Player.  Thankfully they're fairly cheap if you buy them without the disc.

The Gameboy Player with the normal boot disc works for me with the GBA X5. I played several games, saving worked and the self-diagnostics passed. It froze once when I was in the middle of playing Rockman.exe 1, and I lost my save file in the process. I don't know if that was a rare bug in the game or if it was the Everdrive's fault. Similar things have happened before with my ED64 and possibly other Everdrives that I forgot. But it's not common.

Thank you for the info!  It definitely sounds like something is up with mine in that case.  I'll contact support and see if Kirkzz can help me out.

Just out of curiousity, which brand/model/size of microSD card are you currently using in your Everdrive GBA?  I'd like to buy the same one to try and use a confirmed, working card.  It would be good to be 100% sure that it isn't just a string of bad luck with my currently-owned SD cards.

Have you tried cleaning the gameboy player's cartridge pins?
Also try using the Gameboy interface (GBI)

I have cleaned the GBP's cartridge pins, but it didn't affect anything.  Unfortunately Gameboy Interface isn't an option for me at the moment, as my Gamecube is not modded and I don't have an SD adapter.

The issue seems to be specific to the save memory on the cartridge; The freeze when booting games seems to happen at the point when the cart is copying the save from the SD to the save RAM, and that's the component that fails the diagnostics.  Should I try to open a support case and exchange it?  Has the Everdrive-GBA X5 been confirmed to work (and save) on a Gameboy Player with the normal boot disc?  If so, maybe mine is just defective.

Edit:  I have also discovered that 2 of my 3 microSD cards will not even read on the Everdrive when running in the Gameboy Player (SD card not found error) but all 3 work when running on my original model DS.  Not sure if this is related or not, but it's another seeming incompatibility with the Gameboy Player at least.


I just received my Everdrive-GBA X5 today and it doesn't seem to be working correctly.  When I select a game, it displays a message "copy backup memory..." indefinitely, and never actually starts my game.  If I reboot my Gameboy Player and try to start the game stored in memory by pressing the start button, I find that my previously selected game will load, but it will not save properly.

I can see save files for my games on the SD card, however the games will always act like there is no save file when I go to load them.

I tried running the built-in diagnostics on my cartridge, and it got a "Error: 0B" on the SRAM test.  It then went on to the Flash test and froze there for a very long time until I eventually turned off my Gamecube.

I am running OS version 1.11 and have updated the bootloader to 1.04.

Is my cartridge defective?  Please help!

Edit:  I just tested my Everdrive-GBA X5 on my old original model Nintendo DS and it seems to work just fine on it.  It only seems to have these issues on the Gameboy player.  Unfortunately, the entire reason I bought it was to play it on my Gameboy Player, so this is a huge problem for me...  Is there any way to correct this?

Pages: 1 [2]