diff options
author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2017-07-11 20:59:41 -0400 |
---|---|---|
committer | Kelly Rauchenberger <fefferburbia@gmail.com> | 2017-07-11 20:59:41 -0400 |
commit | f31274f14656be2498b05027f668d9a55fb26f6b (patch) | |
tree | c3320ea313e56f0a7b4ab68c171226839cb5ec88 | |
parent | 5ef8856578d31957964c3e503f87cde3dcc89219 (diff) | |
parent | d642a84189db1ec39514bc1731b2b1ac5c704547 (diff) | |
download | gen3uploader-f31274f14656be2498b05027f668d9a55fb26f6b.tar.gz gen3uploader-f31274f14656be2498b05027f668d9a55fb26f6b.tar.bz2 gen3uploader-f31274f14656be2498b05027f668d9a55fb26f6b.zip |
Merged in gba-gen3multiboot
I originally cloned this repo from gba-link-cable-dumper so this commit is merging in the "changes" from gba-gen3multiboot even though I really already applied everything myself. Also changed the output binary name, and removed the unused dependency on libfat. Todo: rewrite README.
-rw-r--r-- | LICENSE | 2 | ||||
-rw-r--r-- | Makefile.gc | 4 | ||||
-rw-r--r-- | Makefile.wii | 4 | ||||
-rw-r--r-- | README.md | 16 | ||||
-rw-r--r-- | build.bat | 2 | ||||
-rw-r--r-- | gba/Makefile | 3 |
6 files changed, 19 insertions, 12 deletions
diff --git a/LICENSE b/LICENSE index bd6e929..b77df8a 100644 --- a/LICENSE +++ b/LICENSE | |||
@@ -1,5 +1,7 @@ | |||
1 | The MIT License (MIT) | 1 | The MIT License (MIT) |
2 | 2 | ||
3 | Copyright (c) 2017 hatkirby | ||
4 | Copyright (c) 2017 slipstream/RoL | ||
3 | Copyright (c) 2016 FIX94 | 5 | Copyright (c) 2016 FIX94 |
4 | 6 | ||
5 | Permission is hereby granted, free of charge, to any person obtaining a copy | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy |
diff --git a/Makefile.gc b/Makefile.gc index 431c094..eaaf3b9 100644 --- a/Makefile.gc +++ b/Makefile.gc | |||
@@ -15,7 +15,7 @@ include $(DEVKITPPC)/gamecube_rules | |||
15 | # SOURCES is a list of directories containing source code | 15 | # SOURCES is a list of directories containing source code |
16 | # INCLUDES is a list of directories containing extra header files | 16 | # INCLUDES is a list of directories containing extra header files |
17 | #--------------------------------------------------------------------------------- | 17 | #--------------------------------------------------------------------------------- |
18 | TARGET := linkcabledump_gc | 18 | TARGET := gen3uploader_gc |
19 | BUILD := build | 19 | BUILD := build |
20 | SOURCES := source | 20 | SOURCES := source |
21 | DATA := data | 21 | DATA := data |
@@ -33,7 +33,7 @@ LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map | |||
33 | #--------------------------------------------------------------------------------- | 33 | #--------------------------------------------------------------------------------- |
34 | # any extra libraries we wish to link with the project | 34 | # any extra libraries we wish to link with the project |
35 | #--------------------------------------------------------------------------------- | 35 | #--------------------------------------------------------------------------------- |
36 | LIBS := -lfat -logc | 36 | LIBS := -logc |
37 | 37 | ||
38 | 38 | ||
39 | #--------------------------------------------------------------------------------- | 39 | #--------------------------------------------------------------------------------- |
diff --git a/Makefile.wii b/Makefile.wii index 4de7f71..92ac7e7 100644 --- a/Makefile.wii +++ b/Makefile.wii | |||
@@ -15,7 +15,7 @@ include $(DEVKITPPC)/wii_rules | |||
15 | # SOURCES is a list of directories containing source code | 15 | # SOURCES is a list of directories containing source code |
16 | # INCLUDES is a list of directories containing extra header files | 16 | # INCLUDES is a list of directories containing extra header files |
17 | #--------------------------------------------------------------------------------- | 17 | #--------------------------------------------------------------------------------- |
18 | TARGET := linkcabledump_wii | 18 | TARGET := gen3uploader_wii |
19 | BUILD := build | 19 | BUILD := build |
20 | SOURCES := source | 20 | SOURCES := source |
21 | DATA := data | 21 | DATA := data |
@@ -33,7 +33,7 @@ LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map | |||
33 | #--------------------------------------------------------------------------------- | 33 | #--------------------------------------------------------------------------------- |
34 | # any extra libraries we wish to link with the project | 34 | # any extra libraries we wish to link with the project |
35 | #--------------------------------------------------------------------------------- | 35 | #--------------------------------------------------------------------------------- |
36 | LIBS := -lfat -logc | 36 | LIBS := -logc |
37 | 37 | ||
38 | 38 | ||
39 | #--------------------------------------------------------------------------------- | 39 | #--------------------------------------------------------------------------------- |
diff --git a/README.md b/README.md index 91d29d0..3f84f0f 100644 --- a/README.md +++ b/README.md | |||
@@ -1,8 +1,12 @@ | |||
1 | # GBA Link Cable Dumper | 1 | # GBA Gen3 Multiboot |
2 | A GC and Wii Homebrew App to get GBA BIOS, ROMs and saves via the GC GBA Link Cable. | 2 | A GC and Wii homebrew app that sends a binary to the GBA using the different multiboot protocol used by the third generation of Pokémon games (Ruby, Sapphire, Emerald, FireRed, LeafGreen). |
3 | Save Support based on SendSave by Chishm. | ||
4 | GBA BIOS Dumper by Dark Fader. | ||
5 | 3 | ||
6 | # Usage | 4 | # Usage |
7 | Just have a GC Controller in Port 1 and a GBA without a game inserted or aborted game launch by holding select+start in Port 2. | 5 | Have a GC Controller in Port 1 and a GBA with Gen3 game in Port 2. |
8 | The bin, gba and sav files dumped will be placed in a folder called "dumps" on your main device (SD Gecko on gamecube and SD/USB on Wii). Please note that dumping GBA ROMs can take a long time (32mb takes about 48 minutes) because of the cable protocol limitations, a estimation will be displayed on screen before you dump it as a reference. | 6 | Put your payload code to do some interesting stuff with the Pokémon game you have in `gba` dir. Example code that warps the character to the Hall of Fame, adding a Bad Egg if the save has no Pokémon provided. |
7 | Recompile, send to Wii or GC, turn on your GBA, hope that your code runs after the initial copyright screen of the game. | ||
8 | (Code execution rate is for some reason not 100% reliable, PR to fix would be greatly appreciated. Sometimes KeyC derivation fails, sometimes GBA ignores the sent multiboot image, could be due to failure of a few different sends) | ||
9 | |||
10 | # Acknowledgements | ||
11 | Thanks to FIX94 for your multiboot game dumper, which the multiboot code is loosely based on (differences in crypto & protocol...) | ||
12 | Without it, this would have taken longer to do than the 2 days or so that it took. \ No newline at end of file | ||
diff --git a/build.bat b/build.bat index 6c90f1b..17c2889 100644 --- a/build.bat +++ b/build.bat | |||
@@ -1,7 +1,9 @@ | |||
1 | @echo off | ||
1 | cd gba | 2 | cd gba |
2 | make clean | 3 | make clean |
3 | make | 4 | make |
4 | cd .. | 5 | cd .. |
6 | @md data | ||
5 | mv -f gba/gba_pkjb.gba data/gba_mb.gba | 7 | mv -f gba/gba_pkjb.gba data/gba_mb.gba |
6 | make -f Makefile.gc clean | 8 | make -f Makefile.gc clean |
7 | make -f Makefile.gc | 9 | make -f Makefile.gc |
diff --git a/gba/Makefile b/gba/Makefile index e417104..49d0777 100644 --- a/gba/Makefile +++ b/gba/Makefile | |||
@@ -32,8 +32,7 @@ INCLUDES := | |||
32 | #--------------------------------------------------------------------------------- | 32 | #--------------------------------------------------------------------------------- |
33 | ARCH := -mthumb -mthumb-interwork | 33 | ARCH := -mthumb -mthumb-interwork |
34 | 34 | ||
35 | CFLAGS := -g -Wall -O3\ | 35 | CFLAGS := -g -Wall -Wno-multichar -O3\ |
36 | -Wno-multichar\ | ||
37 | -mcpu=arm7tdmi -mtune=arm7tdmi\ | 36 | -mcpu=arm7tdmi -mtune=arm7tdmi\ |
38 | -fomit-frame-pointer\ | 37 | -fomit-frame-pointer\ |
39 | -ffast-math \ | 38 | -ffast-math \ |