From 6ed874100622e2275f68ab1564a34f51386fa5cb Mon Sep 17 00:00:00 2001 From: Aurora Date: Fri, 23 Sep 2016 18:26:39 +0200 Subject: [PATCH] Minor stuff --- haxloader/Makefile | 2 +- haxloader/data/drunkenlogo.grit | 11 ----------- haxloader/data/drunkenlogo.png | Bin 18331 -> 0 bytes haxloader/source/main.c | 27 ++++++++++++++------------- 4 files changed, 15 insertions(+), 25 deletions(-) delete mode 100644 haxloader/data/drunkenlogo.grit delete mode 100644 haxloader/data/drunkenlogo.png diff --git a/haxloader/Makefile b/haxloader/Makefile index b0807cd..f42e980 100644 --- a/haxloader/Makefile +++ b/haxloader/Makefile @@ -24,7 +24,7 @@ ASFLAGS := -mcpu=arm946e-s CFLAGS := -Wall -Wextra -MMD -MP -marm $(ASFLAGS) -fno-builtin -fshort-wchar -std=c11 -Wno-main -O2 -flto -ffast-math LDFLAGS := -nostartfiles FLAGS := name=$(name).dat dir_out=$(abspath $(dir_out)) ICON=$(abspath icon.png) APP_DESCRIPTION="Noob-friendly 3DS CFW." APP_AUTHOR="Aurora Wright/TuxSH" --no-print-directory -ROP_FLAGS := DATNAME=$(name).dat DISPNAME=$(name).dat GRAPHICS=../data/ +ROP_FLAGS := DATNAME=$(name).dat DISPNAME=$(name) objects = $(patsubst $(dir_source)/%.s, $(dir_build)/%.o, \ $(patsubst $(dir_source)/%.c, $(dir_build)/%.o, \ diff --git a/haxloader/data/drunkenlogo.grit b/haxloader/data/drunkenlogo.grit deleted file mode 100644 index 07b1155..0000000 --- a/haxloader/data/drunkenlogo.grit +++ /dev/null @@ -1,11 +0,0 @@ --W3 -# disable alpha and set opaque bit for all pixels --gT! - -# use lz77 compression --gzl - -# 16 bit bitmap --gB16 - --gb diff --git a/haxloader/data/drunkenlogo.png b/haxloader/data/drunkenlogo.png deleted file mode 100644 index 459b4158423bf593509b5ba594733f3d07f8bdc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18331 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 P00000NkvXXu0mjf-#1al diff --git a/haxloader/source/main.c b/haxloader/source/main.c index 1d65626..f3a5084 100644 --- a/haxloader/source/main.c +++ b/haxloader/source/main.c @@ -1,5 +1,5 @@ /* -* This pathFile is part of Luma3DS +* This file is part of Luma3DS * Copyright (C) 2016 Aurora Wright, TuxSH * * This program is free software: you can redistribute it and/or modify @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . * -* Additional Terms 7.b of GPLv3 applies to this pathFile: Requiring preservation of specified +* Additional Terms 7.b of GPLv3 applies to this file: Requiring preservation of specified * reasonable legal notices or author attributions in that material or in the Appropriate Legal * Notices displayed by works containing it. */ @@ -32,13 +32,9 @@ void main() { if(f_mount(&fs, "0:", 0) == FR_OK) { - u32 *loaderAddress = (u32 *)0x24FFFF00; - u8 *payloadAddress = (u8 *)0x24F00000; FIL pathFile, payload; - bool useDefault = true; - - memcpy(loaderAddress, loader_bin, loader_bin_size); + bool foundPayload = false; if(f_open(&pathFile, "/luma/path.txt", FA_READ) == FR_OK) { @@ -55,22 +51,27 @@ void main() if(pathSize > 5 && pathSize < 38 && path[0] == '/' && memcmp(&path[pathSize - 4], ".bin", 4) == 0) { path[pathSize] = 0; - useDefault = f_open(&payload, path, FA_READ) == FR_OK; + foundPayload = f_open(&payload, path, FA_READ) == FR_OK; } } f_close(&pathFile); } - if(!useDefault) f_open(&payload, "arm9loaderhax.bin", FA_READ); + if(!foundPayload) foundPayload = f_open(&payload, "arm9loaderhax.bin", FA_READ); - u32 payloadSize = f_size(&payload); - - if(payloadSize > 0) + if(foundPayload) { + u32 *loaderAddress = (u32 *)0x24FFFF00; + void *payloadAddress = (void *)0x24F00000; + u32 payloadSize = f_size(&payload); + + memcpy(loaderAddress, loader_bin, loader_bin_size); + loaderAddress[1] = payloadSize; + unsigned int read; f_read(&payload, payloadAddress, payloadSize, &read); - loaderAddress[1] = payloadSize; + f_close(&payload); flushDCacheRange(loaderAddress, loader_bin_size); flushICacheRange(loaderAddress, loader_bin_size);