about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKelly Rauchenberger <fefferburbia@gmail.com>2017-07-11 20:59:41 -0400
committerKelly Rauchenberger <fefferburbia@gmail.com>2017-07-11 20:59:41 -0400
commitf31274f14656be2498b05027f668d9a55fb26f6b (patch)
treec3320ea313e56f0a7b4ab68c171226839cb5ec88
parent5ef8856578d31957964c3e503f87cde3dcc89219 (diff)
parentd642a84189db1ec39514bc1731b2b1ac5c704547 (diff)
downloadgen3uploader-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--LICENSE2
-rw-r--r--Makefile.gc4
-rw-r--r--Makefile.wii4
-rw-r--r--README.md16
-rw-r--r--build.bat2
-rw-r--r--gba/Makefile3
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 @@
1The MIT License (MIT) 1The MIT License (MIT)
2 2
3Copyright (c) 2017 hatkirby
4Copyright (c) 2017 slipstream/RoL
3Copyright (c) 2016 FIX94 5Copyright (c) 2016 FIX94
4 6
5Permission is hereby granted, free of charge, to any person obtaining a copy 7Permission 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#---------------------------------------------------------------------------------
18TARGET := linkcabledump_gc 18TARGET := gen3uploader_gc
19BUILD := build 19BUILD := build
20SOURCES := source 20SOURCES := source
21DATA := data 21DATA := 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#---------------------------------------------------------------------------------
36LIBS := -lfat -logc 36LIBS := -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#---------------------------------------------------------------------------------
18TARGET := linkcabledump_wii 18TARGET := gen3uploader_wii
19BUILD := build 19BUILD := build
20SOURCES := source 20SOURCES := source
21DATA := data 21DATA := 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#---------------------------------------------------------------------------------
36LIBS := -lfat -logc 36LIBS := -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
2A GC and Wii Homebrew App to get GBA BIOS, ROMs and saves via the GC GBA Link Cable. 2A 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).
3Save Support based on SendSave by Chishm.
4GBA BIOS Dumper by Dark Fader.
5 3
6# Usage 4# Usage
7Just 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. 5Have a GC Controller in Port 1 and a GBA with Gen3 game in Port 2.
8The 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. 6Put 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.
7Recompile, 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
11Thanks to FIX94 for your multiboot game dumper, which the multiboot code is loosely based on (differences in crypto & protocol...)
12Without 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
1cd gba 2cd gba
2make clean 3make clean
3make 4make
4cd .. 5cd ..
6@md data
5mv -f gba/gba_pkjb.gba data/gba_mb.gba 7mv -f gba/gba_pkjb.gba data/gba_mb.gba
6make -f Makefile.gc clean 8make -f Makefile.gc clean
7make -f Makefile.gc 9make -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#---------------------------------------------------------------------------------
33ARCH := -mthumb -mthumb-interwork 33ARCH := -mthumb -mthumb-interwork
34 34
35CFLAGS := -g -Wall -O3\ 35CFLAGS := -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 \