Commit Graph

57 Commits

Author SHA1 Message Date
TuxSH 768e587b76 sysmodules: introduce "luma shared config", rewrite ndmu workaround 2020-07-12 19:36:18 +01:00
Aurora Wright 3a0418e279 loader: revert to use the NS patch due to a Nintendo bug: https://www.3dbrew.org/wiki/NCCH/Extended_Header#Flag1 2020-05-29 23:31:05 +02:00
Aurora Wright 1899bf377b loader: replace NS N3DS CPU patch with exheader override, fix overriding exheader with homebrew 2020-05-29 20:57:05 +02:00
TuxSH 92da214066 loader: add dsp patch for safe_firm 2020-05-02 23:50:04 +01:00
TuxSH 166bdbeb7d Add option to run rosalina on N3DS SAFE_FIRM.
Also enables a qtm error bypass
2020-05-02 23:32:21 +01:00
TuxSH 85cfa5cba6 loader: enable secureinfo patch on safe_firm 2020-05-02 18:26:58 +01:00
TuxSH c7a3a0278c add quick luma detection getinfo 2020-04-28 10:42:30 +01:00
TuxSH ced78cb072 use -wrap for exit 2020-04-27 01:07:57 +01:00
TuxSH f334e3b951 loader/pm: move "force init SD" code to pm. Greatly reduces the number of Arm9 svcBreak with 0xC8804465 2020-04-27 00:47:16 +01:00
TuxSH eb37ac4142 redefine exit methods for sysmodules. Partially fixes the shutdown issue 2020-04-26 01:50:47 +01:00
TuxSH 31891efbca Current year is 2020 2020-04-25 13:42:10 +01:00
TuxSH 0543c208fd Fix #1375 properly this time
Thanks @muhmuhten
2020-04-24 22:52:05 +01:00
TuxSH 26454dc832 loader/patcher.c: make gcc stop sometimes complaining 2020-04-19 18:03:45 +01:00
TuxSH 5a83a46423 Merge pull request #1349 from leoetlino/bps
loader: Add support for BPS patches
2020-04-16 23:35:14 +02:00
TuxSH 55d51217d8 Fix hex parsing in patcher.c (langemu). Fixes #1375
Thanks @Lizardon1
2020-04-15 22:28:38 +01:00
Léo Lam 8233d4e226 loader: Add support for BPS patches
The BPS format allows distributing patches that are smaller and that do
not contain copyrighted content if data is relocated
(unlike non-trivial IPS patches).

This is essential for games such as Majora's Mask 3D that have three
barely different code revisions. Supporting all three versions would
demand an unreasonable amount of work; with BPS patches only one
version has to be supported.

The patcher is written in C++ in order to make it possible to share the
implementation with Citra and because a C version would be a lot more
ugly and tedious to write. The patcher is non-intrusive for the rest of
the codebase and self-contained so hopefully that isn't an issue.

This adds roughly ~0x500 bytes of code to the loader sysmodule.
Code looks reasonably optimised (in IDA). Tested and works on an o3DS.
2019-12-21 18:32:18 +01:00
Léo Lam c3b97999f5 loader: Fix boolean logic error 2019-07-07 15:06:15 +02:00
TuxSH c913de1e67 Fix layeredfs, fix #1280 #1275 #1262 & others 2019-07-03 22:19:38 +02:00
TuxSH 4285736286 fix layeredfs regression 2019-04-21 12:15:50 +02:00
TuxSH 687dfddd9f HBLDR_DebugNextApplicationByForce changes 2019-04-19 00:37:20 +02:00
TuxSH 0b33134f6c Loader services refactor 2019-04-18 19:48:01 +02:00
TuxSH ef034a87d4 revert fsldr change, fix null deref in pm 2019-03-29 22:40:54 +01:00
TuxSH e688ec9257 move patches to pm 2019-03-29 19:07:24 +01:00
TuxSH e57abad52f ctrulib changes 2019-03-29 00:09:59 +01:00
TuxSH d28e961adc Use <string.h> & <3ds/exheader.h>, fix some bugs, etc.
also fix all warnings and use -Werror
2019-03-15 23:03:23 +01:00
TuxSH 4b40dd52f4 Give a proper build system for each sysmodule, k11ext, arm11.
Previously, these Makefiles didn't correctly track header changes.
The project doesn't build as a whole, future commits will fix it.
2019-03-15 23:03:19 +01:00
TuxSH 6bd7070d38 Do the same for romfs redit => get rid of armips; update README.md 2019-03-15 23:03:18 +01:00
Aurora Wright 53622d777b Fix https://github.com/AuroraWright/Luma3DS/issues/1095 and https://github.com/AuroraWright/Luma3DS/issues/1118 2018-08-21 18:57:45 +02:00
Mikaela RJ Szekely 93561003e8 Implement #989: Add configurable splash duration 2017-12-28 21:50:06 -05:00
TuxSH 22a8661fe1 Always patch FS and P9, remove SM service checks 2017-11-02 21:52:14 +01:00
Aurora Wright 76f057dafb Remove friends patch as it's useless 2017-10-05 18:45:06 +02:00
Aurora Wright f46773ba64 Stub isTitleAllowed 2017-09-20 01:36:02 +02:00
Aurora Wright f67d333457 Update fpdver 2017-09-19 14:46:42 +02:00
Aurora Wright 13317b9548 Change ntrboot behavior, turn Luma into a chainloader when used as ntrboot FIRM as it can not be functional, disable FIRM protection when ran from ntrboot B9S 2017-08-20 16:08:54 +02:00
Aurora Wright 36c1da1d61 Add mention of exheaders in the Enable game patching description 2017-08-07 21:20:08 +02:00
Aurora Wright a0c2b43b34 Implement loading of exheaders from SD/CTRNAND (must be called luma/titles/TITLEID/exheader.bin), thanks to @HiddenRambler! 2017-08-01 17:38:23 +02:00
Aurora Wright b88dc9ac6a Only check in .text 2017-06-28 18:14:05 +02:00
Aurora Wright 9f78d7f62b Add region-free manuals patch 2017-06-28 17:37:12 +02:00
Aurora Wright e67c6ed3ee Change pattern 2017-06-26 23:42:41 +02:00
Aurora Wright 2e111ca91b Revert "Revert "Merge pull request #662 from MerryMage/dsp-sig""
This reverts commit 62d51fd99d.
2017-06-26 23:39:28 +02:00
Aurora Wright 62d51fd99d Revert "Merge pull request #662 from MerryMage/dsp-sig"
This reverts commit a9289b1f21, reversing
changes made to d42e938232.
2017-06-26 22:06:10 +02:00
MerryMage 3d3dcb1f28 Add DSP signature check patch 2017-06-26 17:34:43 +01:00
TuxSH 31ff6a1da8 Clarify option 2017-06-20 17:39:11 +02:00
TuxSH 17828273a5 Revamp config format, add saving of Rosalina opt.
(menu combo & 3dsx title ID)
2017-06-18 22:31:21 +02:00
TuxSH b71dedccfc Full support for fw >= 6.x (tested)
Virtually full support for 5.x except that svcUnmapProcessMemoryEx will be forwarded to svcUnmapProcessMemory (both are equivalent for up to 64MB chunks)
2017-06-16 04:21:48 +02:00
TuxSH cc41003e1c Fix exheader.h 2017-06-15 01:53:34 +02:00
TuxSH 005684d865 Fix loader bugs
new-hbmenu now works with H&S, etc.
2017-06-13 02:37:27 +02:00
TuxSH e1d0602f25 Move the kext outside Rosalina
- Stability (tm)
- Boots 1s faster on N3DS
- (∩ ͡° ͜ʖ ͡°)⊃━☆゚
2017-06-13 02:00:41 +02:00
Michael Scire 0694ea8367 Add config option to disable exception vectors. 2017-06-07 17:48:30 -07:00
TuxSH a5b638ae7b Fix uninitialized variable bugs 2017-06-06 21:04:13 +02:00