Ended bootstrap support

... the bootstrap build goal is now called 'a9lh'
This commit is contained in:
d0k3 2016-04-27 23:04:11 +02:00
parent 52dc94ddfd
commit 4a89682cae
6 changed files with 14 additions and 13 deletions

View File

@ -47,8 +47,8 @@ LDFLAGS = -nostartfiles -g $(ARCH) -Wl,-Map,$(TARGET).map
ifeq ($(EXEC_METHOD),GATEWAY) ifeq ($(EXEC_METHOD),GATEWAY)
LDFLAGS += --specs=../gateway.specs LDFLAGS += --specs=../gateway.specs
else ifeq ($(EXEC_METHOD),BOOTSTRAP) else ifeq ($(EXEC_METHOD),A9LH)
LDFLAGS += --specs=../bootstrap.specs LDFLAGS += --specs=../a9lh.specs
endif endif
LIBS := LIBS :=
@ -103,10 +103,10 @@ export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \
export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib)
.PHONY: common clean all gateway bootstrap cakehax cakerop brahma release .PHONY: common clean all gateway a9lh cakehax cakerop brahma release
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
all: brahma all: a9lh
common: common:
@[ -d $(OUTPUT_D) ] || mkdir -p $(OUTPUT_D) @[ -d $(OUTPUT_D) ] || mkdir -p $(OUTPUT_D)
@ -120,8 +120,8 @@ gateway: common
@cp resources/LauncherTemplate.dat $(OUTPUT_D)/Launcher.dat @cp resources/LauncherTemplate.dat $(OUTPUT_D)/Launcher.dat
@dd if=$(OUTPUT).bin of=$(OUTPUT_D)/Launcher.dat bs=1497296 seek=1 conv=notrunc @dd if=$(OUTPUT).bin of=$(OUTPUT_D)/Launcher.dat bs=1497296 seek=1 conv=notrunc
bootstrap: common a9lh: common
@make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile EXEC_METHOD=BOOTSTRAP @make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile EXEC_METHOD=A9LH
cakehax: submodules common cakehax: submodules common
@make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile EXEC_METHOD=GATEWAY @make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile EXEC_METHOD=GATEWAY
@ -132,7 +132,7 @@ cakerop: cakehax
@make DATNAME=$(TARGET).dat DISPNAME=$(TARGET) GRAPHICS=../resources/CakesROP -C CakesROP @make DATNAME=$(TARGET).dat DISPNAME=$(TARGET) GRAPHICS=../resources/CakesROP -C CakesROP
@mv CakesROP/CakesROP.nds $(OUTPUT_D)/$(TARGET).nds @mv CakesROP/CakesROP.nds $(OUTPUT_D)/$(TARGET).nds
brahma: submodules bootstrap brahma: submodules a9lh
@[ -d BrahmaLoader/data ] || mkdir -p BrahmaLoader/data @[ -d BrahmaLoader/data ] || mkdir -p BrahmaLoader/data
@cp $(OUTPUT).bin BrahmaLoader/data/payload.bin @cp $(OUTPUT).bin BrahmaLoader/data/payload.bin
@cp resources/BrahmaAppInfo BrahmaLoader/resources/AppInfo @cp resources/BrahmaAppInfo BrahmaLoader/resources/AppInfo

View File

@ -9,7 +9,7 @@ __This is powerful stuff__, so you should not use it if you don't know exactly w
## How to run this / entry points ## How to run this / entry points
GodMode9 can be built to run from a number of entry points, descriptions are below. Note that you need to be on or below 3DS firmware version v9.2 or have ARM9loaderhax installed for any of these to work. GodMode9 can be built to run from a number of entry points, descriptions are below. Note that you need to be on or below 3DS firmware version v9.2 or have ARM9loaderhax installed for any of these to work.
* __A9LH, Brahma & Bootstrap__: Copy `GodMode9.bin` to somewhere on your SD card and run it via either [Brahma](https://github.com/delebile/Brahma2) or [Bootstrap](https://github.com/shinyquagsire23/bootstrap). Brahma derivatives / loaders such as [BrahmaLoader](https://gbatemp.net/threads/release-easily-load-payloads-in-hb-launcher-via-brahma-2-mod.402857/), [BootCTR](https://gbatemp.net/threads/re-release-bootctr-a-simple-boot-manager-for-3ds.401630/) and [CTR Boot Manager](https://gbatemp.net/threads/ctrbootmanager-3ds-boot-manager-loader-homemenuhax.398383/) will also work with this. Build this with `make bootstrap`. * __A9LH & Brahma__: Copy `GodMode9.bin` to somewhere on your SD card and run it via either [Brahma](https://github.com/delebile/Brahma2) or [arm9loaderhax](https://github.com/Plailect/Guide/wiki). Brahma derivatives / loaders (such as [BrahmaLoader](https://gbatemp.net/threads/release-easily-load-payloads-in-hb-launcher-via-brahma-2-mod.402857/), [BootCTR](https://gbatemp.net/threads/re-release-bootctr-a-simple-boot-manager-for-3ds.401630/) and [CTR Boot Manager](https://gbatemp.net/threads/ctrbootmanager-3ds-boot-manager-loader-homemenuhax.398383/)) and A9LH chainloaders (such as [Luma3DS](https://github.com/AuroraWright/Luma3DS) and [BootCTR9](https://github.com/hartmannaf/BootCtr9)) will work with this as well. Build this with `make a9lh`.
* __Homebrew Launcher__: Copy `GodMode9.3dsx` & `GodMode9.smdh` into `/3DS/GodMode9` on your SD card. Run this via [Smealums Homebrew Launcher](http://smealum.github.io/3ds/), [Mashers Grid Launcher](https://gbatemp.net/threads/release-homebrew-launcher-with-grid-layout.397527/) or any other compatible software. Build this with `make brahma`. * __Homebrew Launcher__: Copy `GodMode9.3dsx` & `GodMode9.smdh` into `/3DS/GodMode9` on your SD card. Run this via [Smealums Homebrew Launcher](http://smealum.github.io/3ds/), [Mashers Grid Launcher](https://gbatemp.net/threads/release-homebrew-launcher-with-grid-layout.397527/) or any other compatible software. Build this with `make brahma`.
* __CakeHax Browser__: Copy `GodMode9.dat` to the root of your SD card. You can then run it via http://dukesrg.github.io/?GodMode9.dat from your 3DS browser. Build this via `make cakehax`. * __CakeHax Browser__: Copy `GodMode9.dat` to the root of your SD card. You can then run it via http://dukesrg.github.io/?GodMode9.dat from your 3DS browser. Build this via `make cakehax`.
* __CakeHax MSET__: Copy `GodMode9.dat` to the root of your SD card and `GodMode9.nds` to anywhere on the SD card. You can then run it either via MSET and GodMode9.nds. Build this via `make cakerop`. * __CakeHax MSET__: Copy `GodMode9.dat` to the root of your SD card and `GodMode9.nds` to anywhere on the SD card. You can then run it either via MSET and GodMode9.nds. Build this via `make cakerop`.
@ -19,10 +19,11 @@ If you are a developer and you are building this, you may also just run `make re
## Credits ## Credits
This tool would not have been possible without the help of numerous people. Thanks go to... This tool would not have been possible without the help of numerous people. Thanks go to...
* **Archshift**, for providing the bas eproject infrastructure * **Archshift**, for providing the base project infrastructure
* **Normmatt**, for sdmmc.c / sdmmc.h * **Normmatt**, for sdmmc.c / sdmmc.h
* **Cha(N)**, **Kane49**, and all other FatFS contributors for FatFS * **Cha(N)**, **Kane49**, and all other FatFS contributors for FatFS
* **b1l1s**, for helping me figure out A9LH compatibility * **b1l1s**, for helping me figure out A9LH compatibility
* **Gelex** and **AuroraWright** for helping me figure out various things
* **Al3x_10m**, **Supster131** and all other fearless testers * **Al3x_10m**, **Supster131** and all other fearless testers
* The fine folks on **freenode #Cakey** * The fine folks on **freenode #Cakey**
* Everyone I possibly forgot, if you think you deserve to be mentioned, just contact me! * Everyone I possibly forgot, if you think you deserve to be mentioned, just contact me!

View File

@ -1,5 +1,5 @@
%rename link old_link %rename link old_link
*link: *link:
%(old_link) -T ../bootstrap.ld%s %(old_link) -T ../a9lh.ld%s

View File

@ -1,4 +1,4 @@
#ifdef EXEC_BOOTSTRAP #ifdef EXEC_A9LH
.section .text.start .section .text.start
.align 4 .align 4
@ -72,4 +72,4 @@ _start:
.die: .die:
b .die b .die
#endif // EXEC_BOOTSTRAP #endif // EXEC_A9LH

View File

@ -44,7 +44,7 @@
#define BOT_SCREEN0 (u8*)(*(u32*)((uint32_t)0x080FFFD0 + 4 * (*(u32*)0x080FFFDC & 1))) #define BOT_SCREEN0 (u8*)(*(u32*)((uint32_t)0x080FFFD0 + 4 * (*(u32*)0x080FFFDC & 1)))
#define TOP_SCREEN1 TOP_SCREEN0 #define TOP_SCREEN1 TOP_SCREEN0
#define BOT_SCREEN1 BOT_SCREEN0 #define BOT_SCREEN1 BOT_SCREEN0
#elif defined(EXEC_BOOTSTRAP) #elif defined(EXEC_A9LH)
#define TOP_SCREEN0 (u8*)(*(u32*)0x23FFFE00) #define TOP_SCREEN0 (u8*)(*(u32*)0x23FFFE00)
#define TOP_SCREEN1 (u8*)(*(u32*)0x23FFFE00) #define TOP_SCREEN1 (u8*)(*(u32*)0x23FFFE00)
#define BOT_SCREEN0 (u8*)(*(u32*)0x23FFFE08) #define BOT_SCREEN0 (u8*)(*(u32*)0x23FFFE08)