Commit Graph

822 Commits

Author SHA1 Message Date
Aurora
fb274538e1 Minor stuff 2016-09-23 19:03:59 +02:00
Aurora
5196869634 Bring our own chainloader for *hax 2016-09-23 18:07:45 +02:00
Aurora
083806bfc9 Fix decrypted ARM9bin support for LGY FIRMs 2016-09-23 14:51:34 +02:00
Aurora
11d29368ce Minor stuff (2), update readme 2016-09-23 14:06:03 +02:00
Aurora
100c3d9e36 Minor stuff 2016-09-23 02:25:37 +02:00
Aurora
a36556d7e4 Got rid of the bin2c dependency 2016-09-23 02:06:04 +02:00
Aurora
2cbaf39fd5 Make error() reboot if in a firmlaunch environment, improve errors 2016-09-22 22:51:52 +02:00
Aurora
2cc46c618b Better to make extra sure here 2016-09-22 22:27:46 +02:00
Aurora
a0325e91f9 This can't happen 2016-09-22 22:19:27 +02:00
Aurora
e11edd5dee Ensure the booted EmuNAND can actually exist before the FAT partition 2016-09-22 20:00:48 +02:00
Aurora
5e8990f571 Fix derp 2016-09-22 15:44:25 +02:00
Aurora
a3fd55036a Minor stuff 2016-09-22 15:22:43 +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
TuxSH
a5b52a2470 Fix latest commit 2016-09-21 11:25:44 +02:00
Aurora
a8cd14dafd Minor stuff 2016-09-21 00:16:27 +02:00
Aurora
c8586cfe26 Account for trailing newlines in .txts 2016-09-20 15:35:51 +02:00
Aurora
f228cb241f Minor stuff 2016-09-20 14:39:06 +02:00
Aurora
fd33ef8496 Const-ify 2016-09-20 14:21:21 +02:00
Aurora
ba1cf6473a Rewording of config decriptions 2016-09-19 19:04:22 +02:00
Aurora
f418dcdb7b Minor stuff 2016-09-19 18:21:28 +02:00
Aurora
f91c26d752 Forgot this 2016-09-19 18:06:46 +02:00
Aurora
f7156f2ff2 Fix rebooting on firmlaunch 2016-09-19 17:54:11 +02:00
Aurora
e444b587cf Fix derp 2016-09-19 17:07:56 +02:00
Aurora
a7fcc6a5cf Add note to the access patches description 2016-09-19 16:51:17 +02:00
Aurora
872b1ccbb6 Refactor arm9Loader(), fix decrypted-arm9bin FIRM support 2016-09-19 16:33:15 +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
eaa4d6323e Minor stuff 2016-09-19 00:38:49 +02:00
Aurora
4e7ac41a6c Add NUS-encrypted FIRM support (thanks to CakesFW) 2016-09-18 23:56:10 +02:00
Aurora
92f3a736a7 Support already decrypted N3DS firmware.bins in dev 2016-09-18 20:10:24 +02:00
Aurora
5a30b2b298 If the custom version is larger than 5 but smaller than 19 characters, truncate it 2016-09-18 18:32:25 +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
d7bdf3fc19 Finally fix GW downgraded NANDs (thanks GW for the easily recognizable junk) 2016-09-18 13:29:23 +02:00
Aurora
6e0f1e5235 If 'Autoboot SysNAND' is unchecked, it's impossible to select the EmuNAND if having a corrisponding directional pad payload. Skip the payload launching if 'A' is held to make this possible 2016-09-15 23:57:55 +02:00
Aurora
2f915401dd Minor stuff 2016-09-15 20:15:20 +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
ae7a7ba365 Minsize GW EmuNANDs don't exist 2016-09-14 12:01:39 +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
934c4bed0b Minor stuff (2) 2016-09-13 02:50:05 +02:00
Aurora
6f040caa98 Minor stuff 2016-09-13 01:43:44 +02:00
TuxSH
50e5c29b1c Display the stack dump partially on the bottom screen when handling an exception 2016-09-13 00:52:15 +02:00
Aurora
e0b5539b91 Minor stuff again 2016-09-12 19:20:31 +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
c739ed8e48 Added visual indication of the PIN digits in the input screens 2016-09-12 18:47:47 +02:00
Aurora
a09fc6ebcb Minor stuff 2016-09-12 18:14:03 +02:00
Aurora
4367ea6afa Forgot about this 2016-09-12 15:35:55 +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
66e0cfc185 memsearch() replaced with a Boyer-Moore Horspool implementation due to Quick Search being buggy in some rare cases 2016-09-11 16:23:59 +02:00
Aurora
7bd0e4f5b4 Revert "Remove some ifdefs"
This reverts commit 7271850df2.
2016-09-11 03:29:39 +02:00
TuxSH
7271850df2 Remove some ifdefs 2016-09-11 01:33:51 +02:00
Aurora
3034420ac2 Merge changes, also change the dev build variable to DEV, which must have a value of TRUE 2016-09-11 00:58:34 +02:00
Aurora
99a157649d Minor stuff 2016-09-11 00:37:56 +02:00
TuxSH
e6645554f0 Merge branch 'master' into developer
Conflicts:
	source/firm.c
	source/patches.c
	source/patches.h
2016-09-10 21:35:23 +02:00
TuxSH
0f83d1ffaa Fix broken assumptions and bugs 2016-09-10 21:12:53 +02:00
Aurora
2286eb21a7 Minor stuff 2016-09-08 23:21:40 +02:00
Aurora
29dcfca608 Copyright stuff 2016-09-08 23:07:03 +02:00
Aurora
f1cb9630ec Improve readability 2016-09-08 22:33:25 +02:00
Aurora
dc8e4e5f14 Merged the two branches 2016-09-08 18:50:17 +02:00
Aurora
72c8212a0e Merge branch 'master' into developer 2016-09-08 16:11:56 +02:00
Aurora
2cd2a081d6 Update FatFs to 0.12b 2016-09-08 16:11:34 +02:00
Aurora
b44ec544f4 Merge branch 'master' into developer 2016-09-08 13:51:03 +02:00
Aurora
063eae7e95 Fix another derp 2016-09-08 13:50:41 +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
2f6afe9932 Minor stuff 2016-09-08 01:50:02 +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
ddbe5fd27b Round NAND size to 4MB for the default layout 2016-09-07 22:22:31 +02:00
Aurora
deb91d1d02 Refactor the emuNAND code 2016-09-07 18:05:43 +02:00
Aurora
63073ea07f Merge pull request #202 from DarkMatterCore/master
Support additional EmuNAND layouts.
2016-09-07 18:03:12 +02:00
Pablo Curiel
a331fcd873 Add minimum NAND size exception for 2DS. 2016-09-07 11:33:05 -04:00
Pablo Curiel
99654bd5b2 Fix compatibility with 2DS.
Adds a check to determine if the NAND size is greater than the size of
an Old 3DS Toshiba NAND.
2016-09-07 11:25:20 -04:00
Aurora
f10427287f Update sdmmc (thanks @gemarcano) 2016-09-07 14:26:01 +02:00
Pablo Curiel
5b6318ee3a Support additional EmuNAND layouts.
Fixes compatibility with a second EmuNAND placed after an EmuNAND
created with either the 'default' or 'minimum' setup sizes with EmuNAND9
/ 3DS Multi EmuNAND Creator.
2016-09-06 22:26:48 -04: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
6686e4add7 Minor cleanup, added error when writing an exception dump fails 2016-09-06 19:33:50 +02:00
Aurora
96a274bf7d Merge branch 'master' into developer 2016-09-06 18:09:58 +02:00
Aurora
add17a7994 Not needed 2016-09-06 18:08:54 +02:00
Aurora
b2e9f5377b Merge branch 'master' into developer 2016-09-06 15:52:59 +02:00
Aurora
d3d315784c Fix derp 2016-09-06 15:52:08 +02:00
Aurora
942a371b6a Fix patchKernel9Panic() pattern (fix crashes on certain O3DS FIRMs) 2016-09-06 15:41:11 +02:00
Aurora
66ffc78f60 Merge branch 'master' into developer 2016-09-06 14:42:35 +02:00
Aurora
a9570cef14 Minor stuff 2016-09-06 14:15:32 +02:00
Aurora
16bc08f046 Minor stuff 2016-09-06 14:09:29 +02:00
Aurora
33d3dd256d Merge branch 'master' into developer 2016-09-04 14:06:37 +02:00
Aurora
fc151f7595 Consistency 2016-09-04 14:05:29 +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
a63393504f Merge branch 'master' into developer 2016-09-04 00:55:42 +02:00
Aurora
97ae8d2d44 Forgot this 2016-09-04 00:55:20 +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
423f0ca631 Merge branch 'master' into developer 2016-09-03 22:01:12 +02:00
Aurora
7612e38d41 Increase the config minor version 2016-09-03 22:00:49 +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
45fee57abd Merge master into developer 2016-09-03 18:19:02 +02:00
Aurora
a2bca96d47 Cleanup, use sizeof() for pattern memsearches 2016-09-03 18:15:00 +02:00
Aurora
9862256ca7 Do not hardcode the FIRM version check for the module patch, check for the free space to be enough 2016-09-03 18:01:56 +02:00
Aurora
6afc8b3b5c Merge master into developer 2016-09-03 17:49:54 +02:00
Aurora
9b4b4ec543 Cleanup, use sizeof() for pattern memsearches 2016-09-03 15:36:35 +02:00
Aurora
d412711868 More cleanup, ARM9 exceptions for Luma and payloads are always enabled (FIRM ARM9 and ARM11 exceptions need Dev. options not to be "none") 2016-09-03 02:25:09 +02:00
Aurora
0b33551d94 Clarify option 2016-09-02 23:23:46 +02:00
Aurora
9c1b585054 Merge branch 'master' into developer 2016-09-02 22:57:23 +02:00
Aurora
fc3a69d9ca Small cleanup 2016-09-02 22:56:57 +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
f2181b1d3e Fix comments 2016-09-02 15:20:42 +02:00
Aurora
c93a97f8d7 mcuReboot now checks for isFirmlaunch 2016-09-02 15:19:14 +02:00
Aurora
8fd2525cd1 Make the correct FIRM type always be set and fix loading old NATIVE_FIRMs from SD 2016-09-02 15:07:03 +02:00
Aurora
62a70cfdac Old NATIVE_FIRMs do not have injectable modules 2016-09-02 14:47:20 +02:00
Aurora
ca0a79fc89 Merge branch 'master' into developer 2016-09-02 14:28:47 +02:00
Aurora
104b8e859f mcuReboot now checks for isFirmlaunch 2016-09-02 14:27:56 +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
84a6bb772f Merge master into developer 2016-09-02 13:44:07 +02:00
Aurora
263a5eda56 Update to latest FatFs patch 2016-09-02 13:40:20 +02:00
Aurora
631fad24c0 Make firmware.bin check more readable 2016-09-01 17:56:33 +02:00
Aurora
f1d77fa62a Add checks for the FIRM bin files to be correct for the console 2016-09-01 17:51:03 +02:00
TuxSH
3bc247b43b Update firm.c 2016-09-01 17:09:58 +02:00
Aurora
3608799dff Merge master into developer 2016-08-31 19:54:12 +02:00
Aurora
c0f042bc2a Can not support safe_firm firmlaunches without 3ds_injector at the moment 2016-08-31 19:50:37 +02:00
TuxSH
8982ff259a Add support for 1.x NATIVE_FIRM (on sysNAND) and the O3DS v0 SAFE_FIRM 2016-08-31 19:30:45 +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
048bf0ee4d Cleanup 2016-08-31 13:49:10 +02:00
TuxSH
8ceeca372f Fix build issue 2016-08-31 13:24:29 +02:00
TuxSH
4326ac9be1 Merge branch 'developer' of https://github.com/AuroraWright/Luma3DS into developer
Conflicts:
	source/patches.c
2016-08-31 13:14:12 +02:00
TuxSH
697c64abe4 Fix and restrain module access checks 2016-08-31 13:11:41 +02:00
Aurora
7e8cf84c42 Fix yet another derp 2016-08-30 22:51:15 +02:00
Aurora
b6d91375a5 Minor cleanup 2016-08-30 21:56:27 +02:00
Aurora
61305688fd Move the itoa function to strings.c 2016-08-30 21:34:03 +02:00
Aurora
492ae4139f Merge branch 'master' into developer 2016-08-30 21:32:48 +02:00
Aurora
a84f393bd5 Move the itoa function to strings.c 2016-08-30 21:32:15 +02:00
Aurora
5de54d6f9f Fix derp 2016-08-30 21:11:11 +02:00
Aurora
8fc797120f Merge master into developer, use the new string functions 2016-08-30 21:02:45 +02:00
Aurora
5406d648bc Fix derp 2016-08-30 20:01:45 +02:00
Aurora
a76c15d018 Introduce a strcat replacement 2016-08-30 17:48:41 +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
Aurora
7f93733107 Rewrite the module copying function 2016-08-30 02:18:32 +02:00
Aurora
e8b9e49f57 Fix derps (thanks to @Mrrraou), general cleaup, rewrite of the modules copying function 2016-08-30 02:08:07 +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
abf7c8e565 Replace pinKeyToLetter with a C implementation, minor cleanup 2016-08-29 18:11:59 +02:00
Aurora
2ffe4a5451 Revert "Skip PIN verification after a MCU reboot on A9LH"
This reverts commit 18bd4bbcf6.
2016-08-29 16:04:17 +02:00
Aurora
18bd4bbcf6 Skip PIN verification after a MCU reboot on A9LH 2016-08-29 15:57:32 +02:00
Aurora
8209433696 Cleanup and refactoring 2016-08-29 15:42:54 +02:00
Aurora
ad9e00acaa Add delay if a PIN was just verified and SAFE_MODE is being booted 2016-08-29 13:56:23 +02:00
Aurora
c96f96258f Only patch 2.x NATIVE_FIRM on A9LH 2016-08-29 01:58:01 +02:00
Aurora
82699f3e00 Merge readPin and verifyPin 2016-08-28 23:41:41 +02:00
Aurora
e2d828a4a2 Fixed derp 2016-08-28 15:58:10 +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
3f8ad17e86 Minor PIN cleanup and UI changes 2016-08-28 14:59:33 +02:00
Aurora
52999db43a Readability stuff 2016-08-28 14:41:18 +02:00
Aurora
760aa99709 Revert "Add back reboot patch on 2.x"
This reverts commit 51c514de84.
2016-08-28 12:33:00 +02:00
TuxSH
51c514de84 Add back reboot patch on 2.x 2016-08-28 11:48:35 +02:00
Aurora
317899b4bf Fix another derp 2016-08-28 02:56:46 +02:00
Aurora
4c93d2b1f9 Better to put this here 2016-08-28 02:49:53 +02:00
Aurora
71c5404bfe Fix derp 2016-08-28 02:41:00 +02:00
Aurora
9c5248b87a Cleanup previous commit 2016-08-28 02:38:52 +02:00
TuxSH
83a0293af4 Add support (firmprot and firmlaunch patches) for 2.x on sysNAND 2016-08-28 00:32:47 +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
94f0d873df Cleanup 2016-08-27 17:34:37 +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
dca612ffd7 Update firm.c 2016-08-27 13:13:43 +02:00
TuxSH
5177308d48 Update firm.c 2016-08-27 13:11:55 +02:00
TuxSH
59ab44a8c7 Merge branch 'master' into developer
Conflicts:
	source/firm.c
2016-08-27 00:44:31 +02:00
Aurora
c711ed6253 Added a different error for < 3.x NANDs as they can not be booted currently 2016-08-27 00:34:25 +02:00
TuxSH
58c6be17eb Merge branch 'master' into developer 2016-08-27 00:11:34 +02:00
TuxSH
259bcc686c Merge branch 'master' into developer
Conflicts:
	source/config.c
	source/firm.c
2016-08-26 23:28:31 +02:00
Aurora
356268eae5 Welcome back to the 1,25s speed boost 2016-08-26 22:24:23 +02:00
Aurora
2dd64b8a92 Merge branch 'master' of https://github.com/AuroraWright/Luma3DS 2016-08-26 21:38:36 +02:00
Aurora
b5cddedb7d Fix config derp 2016-08-26 21:38:03 +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
76cee0d95b Merge branch 'master' into developer 2016-08-25 21:22:32 +02:00
TuxSH
7331a919e4 Fix bug. 2016-08-25 18:53:37 +02:00
TuxSH
27ea6b96c4 Merge branch 'master' into developer
Conflicts:
	Makefile
	source/firm.c
	source/patches.c
2016-08-25 18:49:00 +02:00
TuxSH
33238cee54 Remove loading of /luma/TwlBg.cxi, fix bugs. 2016-08-25 16:39:43 +02:00
TuxSH
384dd2ad81 Implement on-the-fly patching of TwlBg
(and port the patches from https://github.com/ahezard/twl_firm_patcher; big thanks to ahezard and people mentioned in this page; also to Subv for the original patching idea (for NATIVE_FIRM))
2016-08-25 00:13:43 +02:00
TuxSH
4885e0b8d8 On second thought... 2016-08-23 20:51:48 +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
a13fdeecf6 Merge branch 'master' into developer
Conflicts:
	source/firm.c
	source/patches.c
	source/patches.h
2016-08-21 22:31:39 +02:00
TuxSH
74ac76ba84 Merge branch 'master' of https://github.com/AuroraWright/Luma3DS 2016-08-21 22:09:47 +02:00
TuxSH
253e031f83 Add support for loading /luma/TwlBg.cxi (on dev branch this will take precedence) 2016-08-21 22:09:27 +02:00
TuxSH
ef1ecf859c Update draw.c 2016-08-20 19:59:25 +02:00
TuxSH
0951260df7 Merge branch 'master' into developer
Conflicts:
	source/patches.c
2016-08-18 00:39:21 +02:00
TuxSH
b87dadbb72 Update patches.c 2016-08-18 00:36:28 +02:00
TuxSH
1dd6a9821a Merge branch 'master' into developer
Conflicts:
	Makefile
	source/patches.c
2016-08-18 00:35:20 +02:00
TuxSH
50a2424001 Implement svcGetCFWInfo in place of svc 0x2e (which is stubbed). Luma3DS now boots ca. 1.5s faster
Fix bug in pin.c where the START button wasn't recognized as well.
2016-08-17 23:47:30 +02:00
Aurora
de3eb6ccd7 Merge branch 'master' into developer 2016-08-16 23:10:25 +02:00
Aurora
4f8c66b2b7 There would not be an use for this 2016-08-16 22:59:25 +02:00
Aurora
4d9cbc4e19 Fix fail 2016-08-16 22:46:41 +02:00
Aurora
40369d44df Pin cleanup 2016-08-16 22:39:02 +02:00
Aurora
ee3720f0b7 Make loader more readable, use an array instead of a fixed location for the emuNAND test sector 2016-08-16 18:47:27 +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
802bce12a7 Merge branch 'master' into developer 2016-08-15 17:23:53 +02:00
TuxSH
a1024c288e Update pin.c 2016-08-15 17:15:16 +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
bb117d3d74 Clear screens before turning on the backlight to mitigate previous FB contents persisting 2016-08-15 15:25:44 +02:00
Aurora
c101653077 Clear screens before a power off/reboot 2016-08-15 14:46:33 +02:00
Aurora
5248b96f8a No need for this 2016-08-15 13:41:52 +02:00
Aurora
7ab59e420a Fix comment 2016-08-15 13:28:43 +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
Aurora
aa7c2c0009 Various changes/cleanups, removed useless code, simplified chronometer functions 2016-08-15 03:51:48 +02:00
TuxSH
57fc4df86f Merge branch 'master' into developer 2016-08-14 23:42:33 +02:00
TuxSH
75acdc8a98 Fix setRSAMod0DerivedKeys 2016-08-14 23:32:56 +02:00
TuxSH
070f7fcc68 Fix exception dump folder creation 2016-08-14 13:47:12 +02:00
TuxSH
4d48238fb1 Merge branch 'master' into developer
Conflicts:
	source/start.s
2016-08-14 12:42:13 +02:00
TuxSH
9b304404f7 Enable access to the ITCM (older k9lh payloads disabled access to it).
Thanks @Normmatt for reporting that bug.
2016-08-14 12:30:12 +02:00
TuxSH
915f9ccb0d Create /luma/dumps/arm9 and /luma/dumps/arm11 automatically when needed. 2016-08-13 23:43:34 +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
457b4cec13 Disable interrupts and do some refactoring. 2016-08-13 20:49:40 +02:00
TuxSH
88891ef6cd Setting "Dev. Options" to "None" no longer disable exception handling and related patches.
Removed the patch that disables execution protection on the global kernel FCRAM and VRAM mapping as it was unused, worthless, and caused bugs in the past.
2016-08-13 15:31:08 +02:00
TuxSH
25811e2b52 Remove handling of kernel panics for SAFE_FIRM k9, fix it for LGY FIRMs. 2016-08-13 11:47:10 +02:00
TuxSH
f81c92e35b The user-mode context is now dumped (instead of the supervisor-mode context) on a svcBreak call.
Kernel panics are now handled by the exception handlers as well.
2016-08-12 15:17:19 +02:00
TuxSH
39b2aff627 Merge branch 'master' into developer 2016-08-06 22:38:54 +02:00
TuxSH
905777466d Don't set retail keys on dev units. 2016-08-06 22:38:06 +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
eccf9eab93 Enable reading TwlBg and AgbBg as well as TWL_FIRM, AGB_FIRM and SAFE_FIRM from SD card.
It's up to the user to provide supported versions of these firmware binaries (>= 5.x for NATIVE_FIRM, latest versions for the other firmwares) when using this feature.
2016-08-04 13:44:51 +02:00
TuxSH
c36ad54bcb Always load firmware.bin when it exists. 2016-08-04 11:16:28 +02:00
TuxSH
81e2b7c11c Merge branch 'master' into developer
Conflicts:
	source/patches.c
2016-08-04 00:18:53 +02:00
TuxSH
18b5cdcddf Don't make any assumption regarding version when loading an external firmware file. 2016-08-04 00:05:01 +02:00
TuxSH
fe31114779 Fix build issue 2016-08-03 23:27:58 +02:00
TuxSH
df30a2a320 Fix bug regarding Arm9 exceptions 2016-08-03 23:15:45 +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
389a169443 pin.c cleanup 2016-08-03 20:49:10 +02:00
TuxSH
e01802e299 Check the PIN before loading a payload.
Also fix some bugs.
2016-08-03 16:58:03 +02:00
TuxSH
709aefba5d Implement a PIN-checking system.
Idea and original code by @reworks
2016-08-03 14:13:26 +02:00
Aurora
e4ed713fce Update FatFs to 0.12a 2016-07-20 15:07:13 +02:00
Aurora
d3c507b0d4 Minor stuff 2016-07-20 00:11:59 +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
8175642a2a Fix changing the brightness
Needs to be static for some reason
2016-07-18 21:57:31 +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
Aurora
be6ee894f9 Fix firmware.bin loading 2016-07-18 17:28:04 +02:00
Aurora
e0e8ed2113 Hardcode 9.6 FIRM version for firmware.bin 2016-07-18 17:13:46 +02:00
Aurora
c63e46b1a9 Added FIRM version detection, removed firmware.bin loading unless an unsupported O3DS NATIVE_FIRM (pre-5.0) is being loaded, skip patching old unsupported O3DS AGB/TWL FIRMs, only apply 11.0 patches with 11.0 or greater 2016-07-18 16:58:29 +02:00
Aurora
eb9c74a1ed Bool-ify 2016-07-18 15:46:29 +02:00
Aurora
efd83e063e Remove code to skip the rbeoot patch on 9.0 as it is not needed anymore with A9LH and constitutes a brick risk 2016-07-18 15:40:31 +02:00
Aurora
ae23a1c84d Fixed Luma allowing users to go to the configuration after AGB_FIRM quits 2016-07-18 15:09:04 +02:00
TuxSH
fd1253caac Merge branch 'master' into developer 2016-07-14 21:21:55 +02:00
TuxSH
a0e8bc1de3 Add support for launching >= 6.x/7.x emuNANDs properly when the sysNAND is on a lower firmware version
To launch 3.x - 4.x emuNANDs, you'll need to use an external firmware file (10.x or so should do the trick)
2016-07-14 21:20:45 +02:00
TuxSH
d5190cd788 Minor stuff (2) 2016-07-05 16:24:00 +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
7df9917a00 Merge branch 'master' into developer 2016-07-03 20:54:14 +02:00
TuxSH
575adcbb9d Revert part of 136e0d89 (due to cache issues) 2016-07-03 20:53:13 +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
TuxSH
2238293c0f Fix indentation 2016-07-02 10:59:21 +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
0eb87df84f Enable support for reading FIRM system modules from SD card (in /luma/sysmodules) 2016-06-27 13:21:08 +02:00
TuxSH
fcb8edffdf Merge branch 'master' into developer 2016-06-14 19:51:49 +02:00
TuxSH
61684ecb68 We need to clean and flush caches before jumping to payloads, actually. 2016-06-14 19:50:38 +02:00
TuxSH
0ced86b55f Merge branch 'master' into developer
Conflicts:
	source/firm.c
	source/patches.h
2016-06-13 23:16:33 +02:00
TuxSH
159c9cb475 Implement our own DCache cleaning functions 2016-06-13 21:14:53 +02:00
TuxSH
2943dcb2e9 Refactor firm.c as well as other files 2016-06-12 22:14:52 +02:00
TuxSH
984c3e549c Merge branch 'master' into developer
Conflicts:
	Makefile
2016-06-11 00:00:53 +02:00
TuxSH
edfd63e1f7 We don't need to flush DCache when launching payloads.
Fixes a derp as well.
2016-06-10 23:33:03 +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
ef60c8ea4c Refactor the exception handling code 2016-06-08 21:44:04 +02:00
TuxSH
e478908dca Make the exception handlers dump more information
You'll need to the latest version of exception_dump_parser.py
2016-06-07 19:25:45 +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
f9d6cdccb0 This is what happens when I don't have a N3DS 2016-06-05 12:08:55 +02:00
TuxSH
35fdd470b3 Fix previous commit on N3DS, with dev. features enabled 2016-06-04 23:51:00 +02:00
TuxSH
edff11be7b Stub svcBreak with "bkpt 65535" so we can debug it 2016-06-04 21:14:00 +02:00
TuxSH
bb230de72c The ARM11 exception handlers are now working.
Refactored the exception handling code in general.
2016-06-03 21:38:35 +02:00
TuxSH
2d7dde9cf9 ARM11 exception handlers (not working yet, it fails to retrieve the data after the reboot)
Uncomment the appropriate line in firm.c to test.
2016-06-02 22:33:44 +02:00
TuxSH
b77d619873 Merge branch 'master' into developer 2016-05-28 23:49:07 +02:00
TuxSH
ae1033d975 Update start.s (thanks @delebile and/or @d0k3) 2016-05-28 23:47:30 +02:00
TuxSH
99d28c4f79 Move the code that sets up the exception handlers 2016-05-28 22:05:07 +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
6a280723f8 Fix developer-branch-exclusive patches 2016-05-27 22:06:11 +02:00
Aurora
9017de6082 More cleanup 2016-05-27 15:15:48 +02:00
Aurora
477414a636 Merge from master, fix derp, cleanup 2016-05-27 14:56:18 +02:00
Aurora
5fac49447c Update authors for the Cakehax loader 2016-05-27 14:08:06 +02:00
Aurora
30b3a51309 Cleanup 2016-05-27 04:16:49 +02:00
TuxSH
bafba1197e Fix and refactor stuff 2016-05-25 22:56:26 +02:00
TuxSH
2fab0be5e8 Merge branch 'master' into developer
Conflicts:
	Makefile
	source/firm.c
	source/patches.c
	source/patches.h
2016-05-25 22:28:50 +02:00
TuxSH
7ea2a0a278 Remove the anti-DG check on 11.0 firmware (and future ones) 2016-05-25 20:50:45 +02:00
TuxSH
a3ae38520c Fix the latest two commits 2016-05-25 20:08:37 +02:00
Aurora
c36fa01651 Move patches within emunand.c 2016-05-25 15:35:50 +02:00
Aurora
9aeac7af92 Move patches to patches.c and emunand.c, section 0 copying to launchFirm for consistency 2016-05-25 14:34:43 +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
58a33ee6e9 Merge branch 'master' into developer
Conflicts:
	source/firm.c
2016-05-13 08:46:24 +02:00
Aurora
050f433046 Small chrono function refactoring 2016-05-13 05:01:32 +02:00
TuxSH
d48f6b62ce Fixed a build issue 2016-05-12 18:12:10 +02:00
Aurora
ffee64c67f Skip the svcBackdoor function on 9.0 O3DS FIRM - <= 9.5 N3DS FIRM 2016-05-12 15:28:48 +02:00
Aurora
8cbc535755 Minor pedantic changes (3) 2016-05-12 15:16:46 +02:00
TuxSH
ca07af2fe9 Update fs.c 2016-05-12 15:08:12 +02:00
TuxSH
2fe5da97eb Merge branch 'master' into developer 2016-05-12 15:03:27 +02:00
Aurora
6ffaeadd1b Minor pedantic changes (3) 2016-05-12 14:48:52 +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
TuxSH
76acfd9934 Minor pedantic changes (2) 2016-05-12 13:35:39 +02:00
TuxSH
06cc4f7172 Minor pedantic changes 2016-05-12 12:24:14 +02:00
Aurora
158659e5b0 More cleanup 2016-05-12 03:13:17 +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
1750b256eb Do things right 2016-05-11 01:08:54 +02:00
TuxSH
d00d82ac89 Update firm.c 2016-05-10 23:27:54 +02:00
TuxSH
edb5a82a89 Restore svcBackdoor (on ARM11, for 11.0 and higher) 2016-05-10 23:06:32 +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
Aurora
2fd8c7aace Moved GPU register clearing to the config only, as it causes artifacts 2016-05-09 14:38:20 +02:00
Aurora
b90b138766 Cleanup, fix latest ctrulib, removed reboot after config (needs testing!), fixed L+SELECT payload 2016-05-09 03:41:29 +02:00
TuxSH
c3ad7eda08 Derp 2016-05-08 17:59:15 +02:00
TuxSH
02c6a3c214 Make FCRAM (and VRAM as a side effect) globally executable from arm11 kernel (only when "developer features" are enabled) 2016-05-08 01:23:22 +02:00
TuxSH
8dd9c1a1af Merge branch 'master' into developer
Conflicts:
	source/firm.c
2016-05-08 00:07:25 +02:00
TuxSH
be54052b6d Make 3ds_injector able to be bigger than the official loader module (max. 25KB on O3DS due to memory limitations). Thanks @mid-kid for the idea. 2016-05-07 23:40:02 +02:00
TuxSH
9e87679ee2 Use a much better algorithm for getLoader (Luma3DS boots around 0.25s faster now) 2016-05-07 19:16:53 +02:00
TuxSH
17964f8cd1 Exception register dumps are now displayed on screen, among other things 2016-05-06 22:50:01 +02:00
TuxSH
a63fb971d4 Add support for k9/p9 exception handling on all FIRMs 2016-05-06 20:22:43 +02:00
Aurora
9d68c980e6 Added support for 9.5 New 3DS FIRM to the arm9loader 2016-05-05 04:43:44 +02:00
Aurora
e2596a0a61 Merge changes from master 2016-05-04 23:49:55 +02:00
Aurora
17d3c6491a Cleanup, removed redundant file reading code 2016-05-03 20:03:37 +02:00
Aurora
f55fc421ea Moved and specialized error code for the exception vectors 2016-05-03 17:18:18 +02:00
Aurora
169b12fc20 Merge changes from master, added support for netloader companion (payload must be "nlc.bin" and will be deleted after being read, moved exception vectors 2016-05-03 16:57:00 +02:00
Aurora
905f816bbe Get rid of the double FatFs 2016-05-03 03:17:00 +02:00
Aurora
fef48a449a Code refactoring, added support for SAFE_MODE FIRM on A9LH (you can update safely from it now). Thanks to delebile for the O3DS SAFE_MODE FIRM FIRM0/1 protection! 2016-05-03 01:21:43 +02:00
Aurora
95d06c115a Fixed crashes loading an emuNAND if the SD was too small to be able to hold it 2016-05-02 02:07:23 +02:00
Aurora
113059e57c Fixed L+R booting the updated NAND with the FIRM from the outdated NAND 2016-05-01 19:48:59 +02:00
Aurora
408c70b90c Merge branch 'master' into developer 2016-04-30 03:34:52 +02:00
Aurora
5b51574ebf We do not need all that space anymore 2016-04-30 03:34:28 +02:00
Aurora
1e6d7a5aee Merge changes from master 2016-04-29 18:45:30 +02:00
Aurora
a28b50cee8 We do not need all that space anymore 2016-04-29 18:07:00 +02:00
Aurora
df112b550b Move loadPayload to fs.c, and the path to the beginning of the chainloader 2016-04-29 17:22:13 +02:00
Aurora
85615d1916 Fix external FIRM loading 2016-04-29 15:21:49 +02:00