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
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
72caad86cc
Minor stuff
2016-07-05 16:05:53 +02:00
TuxSH
575adcbb9d
Revert part of 136e0d89
(due to cache issues)
2016-07-03 20:53:13 +02:00
TuxSH
96211813e3
Use bool instead of u32 where it's relevant
2016-07-02 14:44:01 +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
61684ecb68
We need to clean and flush caches before jumping to payloads, actually.
2016-06-14 19:50:38 +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
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
f78dd5365c
External .code section loading for titles and some refactoring
2016-06-05 20:43:49 +02:00
TuxSH
ae1033d975
Update start.s (thanks @delebile and/or @d0k3)
2016-05-28 23:47:30 +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
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
Aurora
050f433046
Small chrono function refactoring
2016-05-13 05:01:32 +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
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
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
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
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
Aurora
9d68c980e6
Added support for 9.5 New 3DS FIRM to the arm9loader
2016-05-05 04:43:44 +02:00
Aurora
17d3c6491a
Cleanup, removed redundant file reading code
2016-05-03 20:03:37 +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
5b51574ebf
We do not need all that space anymore
2016-04-30 03:34:28 +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
Aurora
c6d3158b56
Remade the chainloader to only try to load the right payload for the pressed button, got rid of the default payload (start now boots "start_NAME.bin"), sel_NAME is now select_NAME as there is no more SFN limitations anymore
2016-04-29 15:08:33 +02:00
Aurora
e651c3d9cc
Small cleanup
2016-04-28 16:27:32 +02:00
Aurora
5a9d0e2569
Fail
2016-04-27 16:16:25 +02:00
Aurora
041ca8451e
Use the older cxi, should fix NANDs with incomplete background updates
2016-04-27 15:37:13 +02:00
Aurora
f9a1f1a79b
Move the UNITINFO patch to the developer version
2016-04-26 21:51:57 +02:00
Aurora
a736e4602a
Cleanup
2016-04-26 20:10:20 +02:00
Aurora
0f1bc98bb7
Rename "Use SysNAND FIRM as default" to "SysNAND is updated"
2016-04-26 14:11:34 +02:00
Aurora
4cbf4e93e7
Minor stuff
2016-04-26 01:30:03 +02:00
Aurora
ada3e09784
Added L+A payload
2016-04-24 19:46:33 +02:00
Aurora
c928b3b68b
New icon
2016-04-23 15:39:40 +02:00
Aurora
3fd4603553
Welcome Luma3DS
2016-04-23 01:43:36 +02:00
Aurora
c14526068a
Minor stuff
2016-04-21 23:39:05 +02:00
Aurora
180b2a6f4d
Bye bye fileSize!
2016-04-21 05:08:42 +02:00
Aurora
70e82e627b
More cleanup
2016-04-19 17:28:18 +02:00
Aurora
fd4352a1d6
Remove useless sdmmc code (we do not need NAND init/read from loader, or write at all
2016-04-18 18:29:37 +02:00
Aurora
08808da741
Update FatFs to 0.12
2016-04-18 18:04:04 +02:00
Aurora
06060c67b5
Changed the chainloader to load payloads named "BUTTON_NAME.bin", to remember which payload is which. Original idea and code by @habbbe (many thanks!)
2016-04-17 18:57:25 +02:00
Aurora
0f64fd73ec
Fix bug when quitting AGB_FIRM
...
The wrong config.bin section was used to remember the last-used FIRM
2016-04-16 20:27:52 +02:00
Aurora
c60ef7fe82
Better to reboot here
2016-04-15 16:10:32 +02:00
Aurora
fea5a111a9
Misc fixes, renamed "Updated SysNAND" to reflect what the option actually does now
2016-04-15 16:01:44 +02:00
Aurora
7eebfd4f6a
Added improved language emulation from @TuxSH (improves compatibility), fixed language emulation only working for the first launched game/app and not being applied on demos
2016-04-15 03:34:08 +02:00
Aurora
939965b5a0
Cleanup
2016-04-14 17:10:55 +02:00
Aurora
a0334120a6
Added region/language emulation feature, thanks to the hard work of @TuxSH
...
Create a "locales" folder inside aurei, and one .txt for each game, with the title id of the game. The txt must be exactly 6 bytes long: 3 characters for the region ("JPN", "USA", "EUR", "AUS", "CHN", "KOR", "TWN"), a space, and two for the language ("JP", "EN", "FR", "DE", "IT", "ES", "ZH", "KO", "NL", "PT", "RU", "TW"). You can enable the feature globally in the config menu. This should also make DLCs for foreign games work.
2016-04-14 00:59:14 +02:00
Aurora
308417a48e
Added region/language emulation feature, thanks to the hard work of @TuxSH
...
Create a "locales" folder inside aurei, and one .txt for each game, with the title id of the game. The txt must be exactly 6 bytes long: 3 characters for the region ("JPN", "USA", "EUR", "AUS", "CHN", "KOR", "TWN"), a space, and two for the language ("JP", "EN", "FR", "DE", "IT", "ES", "ZH", "KO", "NL", "PT", "RU", "TW"). You can enable the feature globally in the config menu. This should also make DLCs for foreign games work.
2016-04-14 00:56:34 +02:00
Aurora
85533411c9
Config menu cleanup
2016-04-13 15:29:44 +02:00
Aurora
6d4a84a325
Remove unneeded stuff from the loader injection
2016-04-13 14:37:40 +02:00
Aurora
89350b1edd
Fixed config.bin getting recreated on each boot
2016-04-13 04:18:59 +02:00
Aurora
9e58e4ed7a
Screwed up the order of the CPU settings
2016-04-13 00:36:35 +02:00
Aurora
f8f4ecea27
Add better code to the FIRM finding function to convert from integer to its hex representation array
2016-04-13 00:20:28 +02:00
Aurora
e9449f86bf
Rewrote config menu to allow for multiple choice settings, made the N3DS CPU patch configurable in the NTR way, changed the config.bin format to be more future-proof (settings are on the leftmost part), added more macros to read settings
2016-04-12 23:28:35 +02:00
Aurora
4fabe1f704
Added new and working N3DS CPU patch from @TuxSH
2016-04-12 15:25:36 +02:00
Aurora
ef3ba896d5
Cleanup, removed the non-working clock speed patch
2016-04-12 14:32:38 +02:00
Aurora
697bc74535
Added tentative N3DS clock speed/L2 cache patch by @TuxSH.
2016-04-12 01:22:42 +02:00
Aurora
0e9ff44746
Made N3DS >9.6 key generation version independent
2016-04-11 22:26:39 +02:00
Steven Smith
b3f0d13aa4
Add developer UNITINFO patch.
2016-04-11 12:14:51 -07:00
Aurora
bd1547710e
Derp
2016-04-11 18:43:51 +02:00
Aurora
c7b90f739f
Use fLTO to reduce the binary size
2016-04-11 15:58:58 +02:00
Aurora
160bc36ae8
Update FatFs for the loader
2016-04-11 15:13:05 +02:00
Aurora
464bf1680c
Small changes
2016-04-11 14:42:34 +02:00
Aurora
7dbded99a2
First commit of the AuReiNand rewrite!
...
- Gotten rid of the patched FIRMs, AuReiNand now finds and loads all the FIRMs from CTRNAND by default. If you are booting an emuNAND, the FIRMs will be loaded from its CTRNAND. This also applies to AGB and TWL FIRM, and allows for a very fast boot with no firmware files on the SD card.
- If for some reason (like using NTR) you do not want to use the CTRNAND FIRM, you can place a firmware.bin in the aurei folder and it will be loaded just for the default NAND.
- The way AuReiNand works has changed. Now you can specify to autoboot SysNAND or not, and a NAND is no more tied to a FIRM (since 9.0 FIRM is autodetected). If you press nothing the default NAND is booted with its own FIRM, L boots the non-default NAND with its own FIRM, R boots EmuNAND with the SysNAND FIRM if you picked "Updated SysNAND", and vice-versa.
- In order for AuReiNand to handle FIRM reboots, the .bin path needs to be hardcoded in the program. The default is /arm9loaderhax.bin (the AuReiNand.dat is also supported for 9.0 people). A PC tool was written to make changing the path easier.
- Bug fixes and stuff I forgot.
- Gelex is a saint.
2016-04-11 05:58:46 +02:00
Aurora
4180261f1f
Small changes, added a macro for reading options
2016-04-06 14:54:58 +02:00
Aurora
e882dd7aaf
Rewrote the config menu (no longer prints the whole menu on each button press), cleaned up the reboot patch, boot options will keep being forced if a GBA game was lanched from SysNAND, added option to have a splash screen with the built-in screen-init
2016-04-05 23:20:21 +02:00
Aurora
9e851d2dfd
Small code reorganization
2016-04-05 05:34:57 +02:00
Aurora
21a3edb150
Get rid of double options reading
2016-04-05 03:08:38 +02:00
Aurora
3aacbd17ce
Upped patch version
2016-04-05 02:29:36 +02:00
Aurora
6f8a9421ef
Added basic support for configuring the brightness level for the built-in screen init
2016-04-05 02:24:21 +02:00
Aurora
bb437f6f7b
Better commenting
2016-04-04 19:14:49 +02:00
Aurora
0001f301f8
Cleanup, fixed the second emuNAND patched FIRM still getting created, removed injector SOAP patch as it changes nothing without going to great lengths to change the region of a NNID, made L not needed to load payloads except for R and Select (Start is now default)
2016-04-04 18:07:13 +02:00
Aurora
f7bbc4bfec
Made the AGB_FIRM splash screen optional
...
Apparently it causes compatibility issues
2016-04-04 01:08:42 +02:00
Aurora
16225b97d7
Small changes
2016-04-03 18:18:44 +02:00
Aurora
0587c14162
Forgot stuff
2016-04-03 18:10:48 +02:00
Aurora
a181bba9f2
Added TWL/AGB FIRM patching/SD loading for New and Old 3DS (thanks to mid-kid of CakesFW for making it possible!)
2016-04-03 17:56:09 +02:00
Aurora
993e564fbb
u32-ify
2016-04-02 22:02:16 +02:00
Aurora
24186a7148
Some more tidying up
2016-04-02 18:48:31 +02:00
Aurora
3475cfe1e6
Changed indentation style across the code to make it more readable, added newlines before comments, moved patches to separate functions, made memory operations slightly faster by compiling them with O3 (thanks TuxSH!)
2016-04-02 18:22:47 +02:00
Aurora
6b64a10362
Fixed ARM11 access to chainloaded payloads
2016-04-01 14:27:31 +02:00
Aurora
5e99fb3aa0
Fixed dumb mistakes
2016-03-31 18:25:50 +02:00
Aurora
060d8e9945
Comment things better
2016-03-31 16:04:12 +02:00
Aurora
1026471842
Leftover from testing
2016-03-31 15:59:40 +02:00
Aurora
645208ec82
EmuNAND is detected almost instantly when the CFW configures itself, if the user is attempting to load an EmuNAND and none is found, SysNAND and 9.6/10.x FIRM are forced. Also prevents the second EmuNAND patched FIRM from being created if no second EmuNAND exists.
2016-03-31 15:57:02 +02:00
Aurora
f4c48a64ca
Fixed loading the alternate EmuNAND if 9.0 FIRM was set as default, improved comments and further cleanup of the injector
2016-03-31 01:38:28 +02:00
Aurora
ac9bdc7665
Fixed exiting GBA games with updated SysNAND
2016-03-29 18:56:51 +02:00
Aurora
217d75024d
These should be u32s
2016-03-29 18:47:30 +02:00
Aurora
945f80993b
Zero the last-FIRM-booted flag when exiting config
2016-03-29 17:58:33 +02:00
Aurora
5f32779ceb
Lots of changes/new features
...
- To override the last used boot mode on soft reboot, you only need to press A if you want to boot to the default option. Holding L(+payload button)/R is enough for the other modes.
- Added version number to the config menu
- Replaced the memsearch algorithm with a faster one
- Integrated 3ds_injector from @yifanlu. This brings us region free and all the other FreeMultiPatcher patches. Other than that, you now have the possibility to display the currently booted NAND/FIRM in System Settings!
- Rewritten most code for the config menu. You now can navigate to the first/last options with left and right.
- You can now choose the 9.0 FIRM to be default in the config menu. This will essentially switch "no buttons" and L in both modes.
- You can now choose the second emuNAND to be default in the config menu. This will essentially switch "B is not pressed" and "B is pressed".
- When the second emuNAND is booted, it will persist like the other boot options on soft reboot
- Bugfixes
2016-03-29 17:43:53 +02:00
Aurora
e8ebb2f7fe
Fixed signature patterns searching area, aligned variable/function names to the latest ReiNand
2016-03-27 19:19:35 +02:00
Aurora
c75ed567fc
Added version number to the config menu
2016-03-27 18:39:16 +02:00
Aurora
de4fea77a1
Make the code more readable by defining variables locally, avoid useless redefinitions, when rebooting from TWL and NATIVE_FIRM you can now override with just A (same as pressing nothing), L(+payload buttons) or R
2016-03-27 16:31:05 +02:00
Aurora
441c143b3e
No reason for these not to be u8s
2016-03-26 19:28:46 +01:00
Aurora
feff28a4fe
Added multi redNAND support (thanks to @Desterly for the original commit)
2016-03-26 17:48:12 +01:00
Aurora
b3d25ce64a
Better commenting
2016-03-26 17:28:47 +01:00
Aurora
0f44205959
Simplified patching, yet one memsearch less, fixed override with A+L when boot options are forced
2016-03-26 17:25:05 +01:00
Aurora
1861d556a6
Spaces and stuff
...
Makes things more uniform
2016-03-25 18:17:12 +01:00
Aurora
9b1df43687
Useless casts again
2016-03-25 01:58:42 +01:00
Aurora
56e0157d64
Forgot about MCU reboots
2016-03-24 17:33:32 +01:00
Aurora
d23cd5acd5
More logical this way
2016-03-24 17:24:16 +01:00
Aurora
39a9eb5ccb
Explicitly block Safe Mode access on A9LH
...
Prevents bricking
2016-03-24 17:05:19 +01:00
Aurora
c413b6d07f
Simplified button stuff
2016-03-24 16:11:53 +01:00
Aurora
85a59264c9
Comment
2016-03-24 02:40:43 +01:00
Aurora
7f96e47b4f
Updated sysNAND (A9LH) & SAFE_MODE FIRM update = brick
2016-03-24 02:26:04 +01:00
Aurora
02b5c69802
New way of launching payloads (L+R/up/down/right/left/START/SELECT/B/X/Y)
2016-03-24 01:57:56 +01:00
Aurora
b5eb108393
Increased the screen-init brightness
2016-03-24 00:11:02 +01:00
Aurora
ea3e45d40a
Move clearScreens calls and screen-init checks
2016-03-23 16:14:28 +01:00
Aurora
8daf3ebe3f
Detect emuNAND first
2016-03-23 15:52:21 +01:00
Aurora
7ad55ed61e
Chainloading works from CakeBrah too, by now
2016-03-23 15:26:52 +01:00
Aurora
96e46b2234
Remove unneeded casts
2016-03-23 15:16:40 +01:00
Aurora
03a6e343db
Merge emunand.bin, reboot.bin and loader.bin in the main executable
...
Less SD accesses, more noob-proof
2016-03-23 15:00:28 +01:00
Aurora
b42f9ffb41
Warn that Updated SysNAND does not work if not using A9LH
2016-03-23 04:56:02 +01:00
Aurora
39280e397a
Fix typo
2016-03-23 04:27:07 +01:00
Aurora
887707ea87
Better errors
2016-03-23 04:06:21 +01:00
Aurora
279f39bc13
Added error messages, moved emunand and reboot.bin to aurei/patches
2016-03-23 03:46:44 +01:00
Aurora
b7b734bad1
Added configuration menu (thanks to Cakes for the screen printing code - no more flags!), auto-delete of patched FIRMs when switching to/from A9LH or the CFW gets updated, moved screen init from the loader, general reorganization
2016-03-23 02:46:41 +01:00
Aurora
d01d9b53f2
No need to search for the Process9 .code, calculate it (one memsearch less)
2016-03-21 20:27:01 +01:00
Aurora
c542bc5cf3
More readable this way
2016-03-21 19:20:26 +01:00
Aurora
1f5b824c27
Clean-up, optimized the SDMMC struct searching function, lots of useless casts removed, Process9 only gets searched once
2016-03-21 19:14:32 +01:00
Aurora
cb84a6c7ea
Added interrupts disabling to the deinit function
...
Did not cause any issues, but it is better this way
2016-03-21 04:58:20 +01:00
Aurora
61564e5fcf
Check for emuNAND earlier
2016-03-21 04:39:00 +01:00
Aurora
a437e533f5
Slightly improved the reboot patch, added emuNAND patch improvements from CakesFW, made the emuNAND patch completely version-independent
...
Should work as-is with future firmwares!
2016-03-21 03:21:22 +01:00
Aurora
6b88953517
Moved D9 launching fix to the loader
2016-03-20 22:03:43 +01:00