diff options
author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2017-09-30 19:45:42 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-30 19:45:42 -0400 |
commit | 26c17495dd1160e10eb5b2244adf01ce90521088 (patch) | |
tree | a675e1cc0b26e16491ec071741a20c21e50ca91b /README.md | |
parent | de39982228cc445fb02ca061e6484f7030104b7c (diff) | |
download | gen3uploader-26c17495dd1160e10eb5b2244adf01ce90521088.tar.gz gen3uploader-26c17495dd1160e10eb5b2244adf01ce90521088.tar.bz2 gen3uploader-26c17495dd1160e10eb5b2244adf01ce90521088.zip |
Updated README: project is fairly stable
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/README.md b/README.md index cd3c925..dfe121b 100644 --- a/README.md +++ b/README.md | |||
@@ -1,5 +1,5 @@ | |||
1 | # Pokémon Gen 3 Uploader | 1 | # Pokémon Gen 3 Uploader |
2 | A Wii homebrew app that reads data from a third generation handheld Pokémon game (Ruby, Sapphire, Emerald, FireRed, LeafGreen), and uploads it to a website for viewing. It does this by sending a multiboot binary to the GBA using the different multiboot protocol researched by Wack0 (whose repository this is forked from). | 2 | A Wii homebrew app that reads data from a third generation handheld Pokémon game (Ruby, Sapphire, Emerald, FireRed, LeafGreen), and uploads it to a website ([hatkirby/pokeviewer](https://github.com/hatkirby/pokeviewer)) for viewing. It does this by sending a multiboot binary to the GBA using the different multiboot protocol researched by Wack0 (whose repository this is forked from). |
3 | 3 | ||
4 | This came about when I wanted a way to show off the Pokémon I've raised on my website. I could have just used a tool to dump the save file and then written a script to extract data from it, but I wanted to do something more complicated, and came across the research done by Wack0. Thus I was able to turn this project into a great learning/research experience. | 4 | This came about when I wanted a way to show off the Pokémon I've raised on my website. I could have just used a tool to dump the save file and then written a script to extract data from it, but I wanted to do something more complicated, and came across the research done by Wack0. Thus I was able to turn this project into a great learning/research experience. |
5 | 5 | ||
@@ -7,10 +7,10 @@ The multiboot image that the Wii sends to the GBA is executed in the context of | |||
7 | 7 | ||
8 | One of the main reasons that I chose to use this method to extract save data from my GBA games is that I'm very concerned about the "legitimacy" of my Pokémon experience. I don't want to be able to do anything with my saves that could be considered cheating. Thus, the multiboot image only sends to the Wii information that is publicly visible using the game's interface. For instance, the Wii never receives a Pokémon's IVs, EVs, or full personality value. The GBA multiboot image derives all the necessary information (stats, Nature, gender, shininess, Unown letter, etc) from those values, and then sends that over the connection. In this way, this private information never leaves the context of the GBA's code. | 8 | One of the main reasons that I chose to use this method to extract save data from my GBA games is that I'm very concerned about the "legitimacy" of my Pokémon experience. I don't want to be able to do anything with my saves that could be considered cheating. Thus, the multiboot image only sends to the Wii information that is publicly visible using the game's interface. For instance, the Wii never receives a Pokémon's IVs, EVs, or full personality value. The GBA multiboot image derives all the necessary information (stats, Nature, gender, shininess, Unown letter, etc) from those values, and then sends that over the connection. In this way, this private information never leaves the context of the GBA's code. |
9 | 9 | ||
10 | This project is still in active development, and is not yet ready to be used. | 10 | The project has reached a fairly stable point, but has a fairly poor interface, and is missing some things that would be needed before an initial release, such as authentication. |
11 | 11 | ||
12 | # Compiling | 12 | # Compiling |
13 | `gen3uploader` depends on wolfSSL in order to negotiate HTTPS connections. The main branch has a couple of minor problems that prevent it from working with this project right out of the box, so for now you should use the [devkitpro branch in hatkirby/wolfssl](/hatkirby/wolfssl/tree/devkitpro). | 13 | `gen3uploader` depends on wolfSSL in order to negotiate HTTPS connections. The main branch has a couple of minor problems that prevent it from working with this project right out of the box, so for now you should use the [devkitpro branch in hatkirby/wolfssl](https://github.com/hatkirby/wolfssl/tree/devkitpro). |
14 | 14 | ||
15 | In order to compile wolfSSL, first ensure your $DEVKITPPC environment variable is set. Then, assuming that $GEN3UPLOADER points to your `gen3uploader` repository, you can run the following commands: | 15 | In order to compile wolfSSL, first ensure your $DEVKITPPC environment variable is set. Then, assuming that $GEN3UPLOADER points to your `gen3uploader` repository, you can run the following commands: |
16 | 16 | ||
@@ -25,7 +25,7 @@ cp -r wolfssl $GEN3UPLOADER/vendor/include/ | |||
25 | From there, you should be able to run the `build.sh` script in the `gen3uploader` project to compile everything. | 25 | From there, you should be able to run the `build.sh` script in the `gen3uploader` project to compile everything. |
26 | 26 | ||
27 | # Usage | 27 | # Usage |
28 | Have a GC Controller in Port 1 and a GBA with Gen3 game in Port 2. Run the Wii program, and follow the instructions. The connection is not very stable, and it can take several tries for the program to run successfully. | 28 | Have a GC Controller in Port 1 and a GBA with Gen3 game in Port 2. Run the Wii program, and follow the instructions. Occasionally, the Wii can fail to initiate the connection to the GBA, but is very likely to work within a few tries. |
29 | 29 | ||
30 | # Acknowledgements | 30 | # Acknowledgements |
31 | Thanks to FIX94 for your [multiboot game dumper](https://github.com/FIX94/gba-link-cable-dumper), which the multiboot code is loosely based on (differences in crypto & protocol). Thanks to Wack0 for [reverse-engineering the gen 3 "different" multiboot protocol](https://github.com/Wack0/gba-gen3multiboot). | 31 | Thanks to FIX94 for your [multiboot game dumper](https://github.com/FIX94/gba-link-cable-dumper), which the multiboot code is loosely based on (differences in crypto & protocol). Thanks to Wack0 for [reverse-engineering the gen 3 "different" multiboot protocol](https://github.com/Wack0/gba-gen3multiboot). |