-
-
Notifications
You must be signed in to change notification settings - Fork 100
Add support for sending GameID information to MemCardPRO GC #51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: enhanced
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm wonderig why these change are part of this software and not nintendont?
Please explain.
Check your code formatting!
I assume they're doing it this way so that it works with Nintendont, Devolution, and MIOS. However, when it's handled like this, if there's a boot failure or you exit a game, I'd expect the game ID and title to remain on the screen until you eventually boot another GameCube game. But maybe that's just the norm for this device. There's a few issues here, some of which have been pointed out already.
You could also optimise where |
…Pro.cpp` and `MemCardPro.h`. Restore `README.md`.
…Pro.cpp` and `MemCardPro.h`. Restore `README.md`.
…Pro.cpp` and `MemCardPro.h`. Restore `README.md`.
…Pro.cpp` and `MemCardPro.h`. Restore `README.md`.
I've replaced spaces with tabs to hopefully fix the formatting issues.
That is one reason. The second reason, at least in the case of Nintendont (I haven't looked into the other loaders), is that USBloaderGX does not send the full GameID information within the
This is the same behavior as Swiss, and does not cause any issues. There is some discussion with the developers of the MemCardPro to add a command to reset to the default memory card. If/when that happens, this command could be sent when loading USBloaderGX to reset the game ID.
If I understand, you're suggesting calling |
Thanks. And thanks for addressing the copyright info, although, that second copy for You need to remove your usbloader_gx_MCP.zip file. And I should probably configure Git to ignore
Okay, cool. Hopefully they'll add that in a future firmware update.
Yes. Just before everything gets shutdown and handed off to Nintendont, Devolution, MIOS, etc. That way, the memory card won't display the new ID and title if the boot process was aborted for some reason (e.g., GC games on an unsupported file system). I know that this suggestion isn't critical, but it'd keeps the information a little more accurate. Especially if the MemCardPro devs do eventually add a command to reset things. |
…d `BootDIOSMIOS`.
…d `BootDIOSMIOS`.
Done.
I think I've put things in the appropriate places, but am a bit over my head, so please let me know if there are issues. I've tested with Nintendont and everything worked correctly, but I don't currently have DIOSMIOS or Devolution setup. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a few changes needed.
Addressed the highlighted issues. Please let me know if any further changes are required. |
It's looking good now, thank you. I promise I'll merge this when I'm a little closer to a new release. |
Great, glad to hear it! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know I said it looked good earlier, but I cherry-picked it into my local copy of the loader to see how it looked, and I noticed a few things that could be improved. Thanks again.
Made the recommended adjustments. |
This might seem a little nitpicky, but in LoaderSettings.cpp the setting's position didn't really need to change, since the menu is mostly static there. Plus, there's already a I'm open to other suggestions. For example, we could move the |
No worries, you're more than welcome to nitpick. For now, I've just moved the One other thing that I had in mind was possibly tying the |
Sorry for the late reply! It's been a hectic week, and I'm only now getting caught up. Let's say your suggestion was applied and you had your MemCard PRO inserted. If you played a game with memory card emulation disabled, and then played another game with memory card emulation enabled, the MemCard PRO would continue to display the game that you played while memory card emulation was disabled, right? Also, does it show the last played game as soon as the console powers on? Because if either of those things happen, I'd probably continue updating the game ID anyway. Have you tried doing something like this to see if it clears the game info? struct discHdr *header = new struct discHdr;
memset(header, 0, sizeof(struct discHdr));
gameID_early_set(header, false);
delete header;
header = NULL; |
No problem at all!
That's correct. It wouldn't hurt anything, but it would be displaying out-of-date information.
There are currently two settings. The default option has the MemCard PRO boot with a card called
This does clear the game info, but I'm hesitant to do so in this way. This causes the MemCardPro to create a new card " From all of this, I would agree that it's probably best to just update the GameID info regardless of memory card emulation. |
Added support for sending GameID information to MemCard PRO GC. Based on the implementation in Swiss.
There are three settings:
Off
: No GameID information is sent to the memory slots.Full ID
: The full GameID is sent, including Company and Revision data (e.g. RSBE0100). This matches the Swiss naming convention.Short ID
: A shortened ID is sent, omitting the Company and Revision data (e.g. RSBE). This matches the Nintendont Emulated Memory Card naming convention.