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 \ | 
