Commit Graph

175 Commits

Author SHA1 Message Date
Aurora
f3322bd003 Fix config derp, remove 0key encryption/nand ncch encryption/CIA dev common key checks on retail consoles 2016-11-04 22:28:33 +01:00
Aurora
9b724d776e Add title version support to loader, only apply userland patches to suitable title versions, report used console and safe mode boots to loader separately from the config, remove eShop update check patch as older eShop version would fail anyway and it causes issues with background updates 2016-11-03 18:56:32 +01:00
Aurora
e07c230106 Simplify the main logic, remove assumption that if not using A9LH, SysNAND can't have a newer FIRM than EmuNAND, fix derp 2016-10-13 15:08:30 +02:00
Aurora
d5ce3044c8 Figured I might as well do this 2016-10-13 00:52:18 +02:00
Aurora
b499c7ee75 Use f_chdir and relative paths 2016-10-12 02:32:36 +02:00
Aurora
615e5dfaa7 Fixed CTRNAND writing leaving encrypted data (thanks to d0k3), added path.txt support for CTRNAND, have the firmlaunch patch panic if both payloads cannot be found 2016-10-11 16:55:37 +02:00
Aurora
5b4712644a Lots of refactoring, main() has its own file yet again, properly handle failed patches/decryption steps, support TWL and AGB FIRM since 3.0 2016-10-10 02:10:47 +02:00
Aurora
37030621ac Revamp CTRNAND support, add proper support for hiding options in config menu 2016-10-08 01:47:39 +02:00
Aurora
0caf9f4214 Add safety checks, support booting from CTRNAND 2016-10-07 14:27:30 +02:00
Aurora
d010038228 Minor config descriptions changes 2016-09-26 16:00:10 +02:00
Aurora
c1f55735fc Reintroduce the CakeBrah patch to avoid having the Luma3DS.dat file on *hax/menuhax 2016-09-25 15:10:44 +02:00
Aurora
185ea86284 Fix derp 2016-09-23 21:52:42 +02:00
Aurora
7a3d15c48b Got rid of CakeHax, patched CakeBrah to load arm9loaderhax.bin directly (lifting size restrictions in the process), got rid of the pathchanger (to have a custom path you can now enable the option and write it in a /luma/path.txt file, it must start with a / (this path is also picked up by the patched CakeBrah loader), fixed loading SafeA9LHInstaller and other payloads which need the OTP hash if having a PIN, fixed writing a file smaller than the existing one not removing the extra size, slightly changed the PIN format, added support for the alternate framebuffer and made the splash screen use it (it is now displayed all at once), fixed screen issues from CakeBrah 2016-09-22 14:54:55 +02:00
Aurora
ba1cf6473a Rewording of config decriptions 2016-09-19 19:04:22 +02:00
Aurora
a7fcc6a5cf Add note to the access patches description 2016-09-19 16:51:17 +02:00
Aurora
b7b3400296 Minor stuff 2016-09-19 14:57:36 +02:00
Aurora
420ccdcb82 Merge master and dev builds 2016-09-19 14:05:56 +02:00
Aurora
85aaae67bf Minor wording stuff 2016-09-18 18:05:51 +02:00
TuxSH
efe66bc72e Make option descriptions more readable, fix bug in draw.c 2016-09-18 17:40:00 +02:00
Aurora
14152b3072 Minor config wording stuff 2016-09-15 03:39:03 +02:00
Aurora
8f3cba37b3 Minor stuff 2016-09-14 22:48:46 +02:00
Aurora
724af0fdc4 Forgot this 2016-09-14 00:07:33 +02:00
Aurora
550ea2116e Implement custom "Ver." string, must be in a textfile named "customversion.txt" in /luma, with base format Ver. %d.%d.%d-%d%ls, implemented descriptions for the options on the bottom screen, you can now boot SysNAND with an EmuNAND FIRM other than the first one, cleanup 2016-09-13 23:16:23 +02:00
Aurora
7952271d61 Get rid of selectScreen, allow clearing the screens separately, implement a PIN message function on the bottom screen (you can place a textfile named pinmessage.txt in /luma, with 800 characters max) 2016-09-13 16:22:26 +02:00
Aurora
ffaa5790c2 Cleanup, add boundary checks for files loaded from SD 2016-09-13 15:07:07 +02:00
Aurora
050f58a3bb Don't init screens if the PIN file does not exist or is invalid 2016-09-12 19:03:31 +02:00
Aurora
da0adeb39e Switch to enums for the options 2016-09-11 19:17:56 +02:00
Aurora
63160a22a6 Hide N3DS CPU setting on O3DS 2016-09-11 18:45:53 +02:00
Aurora
dc8e4e5f14 Merged the two branches 2016-09-08 18:50:17 +02:00
Aurora
2552572904 Merge master into developer 2016-09-08 13:39:38 +02:00
Aurora
b74dda42a2 Fix config derp, change the logic of the NIM update patch to only be applied when booting with R 2016-09-08 13:38:01 +02:00
Aurora
6e178e2069 Merge branch 'master' into developer 2016-09-08 03:11:06 +02:00
Aurora
277d723992 Minor stuff (2) 2016-09-08 02:51:51 +02:00
Aurora
edcc617780 Merge master into developer 2016-09-08 01:43:36 +02:00
Aurora
5d39242b83 Added support for up to 4 emuNANDs (the "second emuNAND as default" toggle is now a multi option, and you can choose the emuNAND on startup by holding Up (1)/Right (2)/Down (3)/Left (4) when EmuNAND is being booted), added a B payload as the B button was freed 2016-09-08 00:49:55 +02:00
Aurora
98cdbe0784 Minor stuff 2016-09-06 22:27:23 +02:00
Aurora
e4eb3ae38d Minor stuff 2016-09-06 22:23:28 +02:00
Aurora
9152884815 Merge master into developer 2016-09-04 13:55:31 +02:00
Aurora
2b4e97bec5 Get rid of the PIN on/off toggle and add an Off status to the multi option, change the config layout to allow for more multi options, add macros for all options 2016-09-04 13:45:03 +02:00
Aurora
6c59728516 Merge master into developer 2016-09-04 00:48:09 +02:00
Aurora
201fe05a06 Implement selectable PIN size, added support for the directional pad in PINs 2016-09-04 00:38:17 +02:00
Aurora
a78889523f Merge branch 'master' into developer 2016-09-03 23:08:27 +02:00
Aurora
5cd1a207c9 Forgot an instance where the PIN path is used 2016-09-03 23:07:51 +02:00
Aurora
bf234950cb Merge master into developer 2016-09-03 21:55:37 +02:00
Aurora
bd992fca15 Remove the TWL dev launcher patch as it became unnecessary 2016-09-03 19:11:44 +02:00
Aurora
0b33551d94 Clarify option 2016-09-02 23:23:46 +02:00
Aurora
cce4a6d07f Cleanup, re-enabled module patch on N3DS on 8.1, 9.0 and >= 11.0 FIRMs 2016-09-02 22:51:11 +02:00
Aurora
a99b26ff8c Merge master into developer 2016-09-02 14:24:24 +02:00
Aurora
9bc62ec12d Move config and PIN paths to the respective headers 2016-09-02 14:14:19 +02:00
Aurora
726b06b748 Merge master into developer 2016-08-31 16:14:20 +02:00
Aurora
0057ab9c5a Fix config not being written in a rare circumstance 2016-08-31 16:11:44 +02:00
Aurora
4c529e3145 Cleanup 2016-08-31 13:47:49 +02:00
Aurora
ae8caf3d3a Merge master into developer, remove createDirectory calls 2016-08-30 17:09:29 +02:00
Aurora
f221915a95 Get rid of createDirectory and make fileWrite handle directory tree creation 2016-08-30 17:04:29 +02:00
TuxSH
cb9576b10e Merge branch 'master' into developer
Conflicts:
	source/firm.c
	source/firm.h
	source/patches.c
	source/patches.h
2016-08-29 20:12:23 +02:00
Aurora
92328c6a7e Made it easier to change your PIN, added PIN file deletion when needed 2016-08-28 15:51:54 +02:00
Aurora
52999db43a Readability stuff 2016-08-28 14:41:18 +02:00
TuxSH
84f3eddaf8 Merge branch 'master' into developer
Conflicts:
	source/config.c
	source/config.h
2016-08-27 19:31:42 +02:00
Aurora
d6f66d24fa Consistency 2016-08-27 16:11:37 +02:00
Aurora
31458e9938 Implement a new config file format which allows invalidating the config with new releases, fix config-related bugs, cleanup 2016-08-27 16:00:15 +02:00
TuxSH
259bcc686c Merge branch 'master' into developer
Conflicts:
	source/config.c
	source/firm.c
2016-08-26 23:28:31 +02:00
TuxSH
7afdc2b3b5 "Fix" the twlbg patches and make them optional 2016-08-26 19:09:14 +02:00
Aurora
60c4956290 Fix wrong bootconfig being picked up by 3ds_injector, cleanup 2016-08-26 18:44:39 +02:00
TuxSH
2a84911d3b Setting "Dev. options" to "None" now disables the exception handlers and related patches (again)
Port the UNITINFO patch to TWL/AGB (although it doesn't make debugging information display on fatal errors) and SAFE firms.
On dev units this patch will set it to its "retail" value (i.e. 0)
2016-08-23 20:39:42 +02:00
TuxSH
dfd699c16b Merge branch 'master' into developer
Conflicts:
	source/config.c
2016-08-15 22:08:45 +02:00
TuxSH
a381c2a811 Update config.c 2016-08-15 21:37:25 +02:00
TuxSH
e4c87a59d0 Merge branch 'master' into developer
Conflicts:
	source/config.c
2016-08-15 21:29:17 +02:00
TuxSH
eef30ceb3c Make the multi-choice options look cleaner 2016-08-15 21:25:06 +02:00
TuxSH
a4531b01d5 Merge branch 'master' into developer 2016-08-15 16:51:36 +02:00
TuxSH
d445b20e90 Fix bugs 2016-08-15 16:50:58 +02:00
TuxSH
24ddf5ca3d Merge branch 'master' into developer
Conflicts:
	source/config.c
	source/fs.h
	source/patches.c
2016-08-15 16:29:48 +02:00
Aurora
83a849126a Move stuff from firm.c (2) 2016-08-15 13:23:27 +02:00
Aurora
c9c373f607 Move stuff from firm.c 2016-08-15 13:11:27 +02:00
TuxSH
3709ac301a Merge branch 'master' into developer
Conflicts:
	source/config.c
	source/fs.c
	source/fs.h
2016-08-13 23:04:41 +02:00
TuxSH
3bc966f84e Replace "Enable splash screen with no screen-init" by "Display splash screen before payloads".
The screens will be initied if and only if there are splash files to display.
2016-08-13 22:23:14 +02:00
TuxSH
4e21cf4f1c Add an option to disable access checks (svc, service and arm9 flag checks) (thanks to @Subv for the most part) 2016-08-04 20:10:31 +02:00
TuxSH
cf7fa8ecbd Merge branch 'master' into developer
Conflicts:
	source/config.c
	source/firm.c
	source/fs.c
	source/fs.h
	source/patches.c
	source/patches.h
	source/utils.h
2016-08-03 22:52:51 +02:00
TuxSH
709aefba5d Implement a PIN-checking system.
Idea and original code by @reworks
2016-08-03 14:13:26 +02:00
Aurora
a68e14def3 Added error screen when booting an unsupported NAND with no firmware.bin or writing to the config fails, added code for creating the "luma" directory if it is missing 2016-07-18 23:07:28 +02:00
Aurora
8d1befea9e Rename "Updated SysNAND" to reflect its only new purpose 2016-07-18 19:10:41 +02:00
Aurora
e7b8a0ef39 Force A9LH detection is not needed anymore 2016-07-18 18:53:23 +02:00
TuxSH
2412faf033 Merge branch 'master' into developer 2016-07-05 16:11:58 +02:00
TuxSH
72caad86cc Minor stuff 2016-07-05 16:05:53 +02:00
TuxSH
2d6debddb9 Merge branch 'master' into developer
Conflicts:
	source/firm.h
	source/fs.h
	source/patches.h
2016-07-02 17:44:08 +02:00
TuxSH
96211813e3 Use bool instead of u32 where it's relevant 2016-07-02 14:44:01 +02:00
TuxSH
153bbd6242 Merge branch 'master' into developer
Conflicts:
	source/config.c
2016-07-02 12:48:08 +02:00
Aurora
29d8e637d8 One-liners ftw 2016-07-01 20:36:43 +02:00
Aurora
136e0d8974 Cleanup 2016-07-01 20:27:28 +02:00
TuxSH
984c3e549c Merge branch 'master' into developer
Conflicts:
	Makefile
2016-06-11 00:00:53 +02:00
TuxSH
e593584a47 Move screen management code to screen.c and fix cache-related issues
- Screen brightness is now updated as soon as the user selects a brightness option, on all boot environments
- Payloads can now be 1KB bigger
- Some cache-related bugs may have been fixed
2016-06-10 21:48:22 +02:00
TuxSH
ca587692eb Merge branch 'master' into developer 2016-06-05 20:56:57 +02:00
TuxSH
f78dd5365c External .code section loading for titles and some refactoring 2016-06-05 20:43:49 +02:00
TuxSH
2424865fa1 Make developer features multi-choice, since modifying UNITINFO prevents accessing eShop on retail consoles (you can now choose "ErrDisp" for a less aggressive patch) 2016-05-28 16:13:22 +02:00
TuxSH
b6969cf0d1 Make "Enable developer features" the last option for compatibility with the master branch 2016-05-13 09:15:40 +02:00
TuxSH
2c10b6bff2 Merge branch 'master' into developer
Conflicts:
	source/firm.c
	source/patches.c
	source/patches.h
2016-05-12 14:31:48 +02:00
Aurora
808c4b7361 Cleanup, possibly slight speedup by limiting Process9 memsearches to the P9 code 2016-05-11 19:28:45 +02:00
TuxSH
b4029dcd73 Merge branch 'master' into developer
Conflicts:
	source/firm.c
	source/patches.h
2016-05-11 01:32:06 +02:00
TuxSH
4483b65b25 Update config.c 2016-05-10 01:38:08 +02:00
TuxSH
d2f53626ae Add precise and reliable time measurement (with a resolution of 67MHz).
Splash screens now last 3 seconds after they have been loaded.
The delay after pressing START in the configuration menu is now 2s long.
2016-05-10 01:27:58 +02:00
TuxSH
ac01fe417e Merge branch 'master' into developer
Conflicts:
	source/firm.c
	source/patches.c
	source/patches.h
	source/utils.h
2016-05-09 20:45:06 +02:00