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.


Topics - MHzBurglar

Pages: [1]
1
Hi Krikzz,

I know I had briefly asked about this on Twitter ages ago, but is there any way that the Master Everdrive X7 firmware could be adjusted to be able to read Genesis/Mega Drive buttons or input from the Player 2 controller?  Currently, my only complaint with the Master Everdrive X7 is how easy it is to accidentally trigger the menu during normal gameplay due to the limited number of buttons on the SMS controller.  I usually need to have the in-game menu/save states completely disabled because of this.

The SMS itself is capable of reading the additional Genesis/MD buttons (proof of concept ROM and source code here: https://www.smspower.org/Homebrew/MegaDrive6ButtonControllerTest-SMS) and it would open up a great number of extra button combination possibilities to trigger the in-game menu.

Many SMS ROMs and converted Game Gear games have also been modified to use the Gensis/Mega Drive Start button to trigger the SMS pause button's register, so I'm hoping something similar could be implemented in the firmware to use for calling the in-game menu.

If that's not possible to implement due to technical limitations with how the menu call function on VBlank works, would you be willing to rewrite the menu call routine to accept buttons from controller 2 to open the menu?

Another thought I had is a possible "reset to save state menu" feature.  Assuming that it's possible to intercept the reset button, the following could take place:

  • The user presses the reset button on the SMS console
  • The everdrive takes a snapshot, and the SMS resets
  • The everdrive boots to a menu, allowing the user to save a state (write the current snapshot to SD as a save state), load a save state (copy the save state from SD to overwrite the current snapshot), or exit.
  • Exiting the "menu" would boot the last-played ROM and load the current snapshot to either bring the user back to where they were when reset was pressed, or to their loaded state.

Since I'm no expert in how the SMS handles input and memory, I don't know what is and isn't possible of the ideas I mentioned, but I'd love to have an option to trigger the menu with something I wouldn't normally press while playing a game.

2
I am encountering an issue where my games are randomly freezing.  When this happens, some graphics will slightly distort, the screen freezes and the sound stops.  I haven't been able to identify a trigger yet, but I have had this happen to me 3 times today playing the first Legend of Zelda game.  each time it seemed to happen following a screen transition or exiting a cave, but I haven't been able to faithfully replicate the issue.  The freeze occurs after roughly half an hour of playing.

I tested my original, authentic Legend of Zelda cartridge and played for an hour straight without any issues.  My NES is a frontloader with a Blinking Light Win pin adapter and both the pin adapter and cartridge pins are clean.  I am also using the original Nintendo power supply that came with the system.

I also had this issue occur in Super Mario Bros yesterday, but I had originally attributed it to an issue with the romhack I was playing (Super Mario Bros. Special X1.)  When that game froze, Mario had recently exited a pipe about 1-2 seconds before the freeze.

I am going to test on firmware version 1.16 shortly to see if the issue occurs on the older firmware as well.

Edit:  I played Zelda 1 on firmware 1.16 from the start of the game through to the end of the second dungeon without any issue.  I switched back to firmware 1.23, and started from the beginning of the game again, and got a freeze in the first dungeon in the room where you get the bow.  Here is what it looks like when the freeze occurs.  The background graphics and HUD mess up, but the sprites stay in place.  The sound will pause on the last note played and hold it indefinitely.

3
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:

Quote
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).

https://helmet.kafuka.org/msu1.htm
Quote
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.




4
Hello,

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]