Skip to content
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

GCI support #129

Merged
merged 25 commits into from
Jul 31, 2024
Merged

GCI support #129

merged 25 commits into from
Jul 31, 2024

Conversation

sup39
Copy link
Collaborator

@sup39 sup39 commented Nov 11, 2022

I tried to add GCI support (#128 (comment)) for NTSC-J 1.0. The GCI Loader code reads custom save file from memory card to RAM (817F0000-817FDFFF), and executes the loaded Gecko code in the RAM (at 817FB000).

Installation Instructions

  1. Download GCI Loader code as GCT/INI file. This file should be put in /codes/ if playing on Wii, and should be added as the last code if playing on Dolphin.
  2. Download all codes you want as GCI file. This file should be put in /MCBACKUP/ and restore with GCMM if playing on Wii, and should be put in the GCI folder if playing on Dolphin.

TODO

  • Ensure no side effect occurs
  • Port the code to other versions

@BitPatty
Copy link
Owner

Can we have it download both the GCI and the GCT when clicking "Download"? Would be easier for users

@BitPatty BitPatty self-requested a review November 13, 2022 19:07
@sup39
Copy link
Collaborator Author

sup39 commented Nov 14, 2022

I was thinking that some people may want to use GCI on Dolphin, so we may need to provide an option to download INI+GCI besides GCT+GCI. One solution might be adding GCT+GCI, INI+GCI, TXT+GCI as download format. Or maybe we can add another checkbox or button for downloading the loader for selected format file + GCI file.

@BitPatty
Copy link
Owner

Oh yeah I didn't consider Dolphin..

I like both options, though the additional dropdown options would probably make more sense since that determines the target format/loader. What do you think?

@sup39
Copy link
Collaborator Author

sup39 commented Nov 14, 2022

I think additional dropdown options might be better since we can also include "GCI (only)" as an option for those who have downloaded the loader

@sup39
Copy link
Collaborator Author

sup39 commented Nov 16, 2022

Changes

  • GCI Loader is now hidden from code list and GCI+XXX are added as download format. Users can now select GCI+GCT, INI+GCT, TXT+GCT, or GCI (only) to download the files directly
  • The generated GCI file size is changed from 0xE000 (7 blocks) to 0x4000 (2 blocks), and the mount location is changed from 817F0000 to 817FA800
  • A Return code (from GCI to GCT) is added to replace the F0000000 in GCI file
  • The Gecko codes in GCI file will only be loaded from memory card once. Once the codes are loaded, the loading process is skipped

@sup39
Copy link
Collaborator Author

sup39 commented Jul 15, 2023

The latest version of GCI Loader is tested on all versions and is also being used by several players, and there seems to be no side effect. Since adding this funtionality to the GCT Generateor site does not affect the existing usage, I think it would be great to add it at this point as an option for those who want to bypass the 5000 bytes limit. I can add an "(experminental)" notice if it is desired. What do you think?

@BitPatty
Copy link
Owner

BitPatty commented Oct 27, 2023

I would add an experimental notice as you suggested and then you can merge/deploy it

Sorry for the late response, didn't see this message

@BitPatty
Copy link
Owner

@sup39 @QbeRoot can we merge this?

@BitPatty
Copy link
Owner

I'll fix the conflict since I caused it

@BitPatty BitPatty merged commit 1c4bca4 into master Jul 31, 2024
2 checks passed
@BitPatty
Copy link
Owner

Thanks @sup39 :)

@BitPatty BitPatty deleted the gci branch August 5, 2024 03:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants