misson20000
f1a9dd8a98
loader: fix ECS after new-ipc rewrite
...
The call to serviceCreate(...) tries to query pointer buffer size, but
since we haven't had a chance to return the server side of the session
yet, this deadlocks. Instead, we defer creating the session and
mounting the filesystem until the first time the ECS object is
used. If mounting the filesystem fails, the ECS is silently discarded.
2019-12-13 13:45:52 -08:00
Michael Scire
de1e6c9705
loader: update anti-downgrade tables for 9.1.0
2019-12-11 13:35:22 -08:00
Michael Scire
1556a92a38
random: use TinyMT instead of XorShift
2019-12-09 23:50:47 -08:00
Michael Scire
746dbfe018
ams_mitm: Implement emummc Nintendo folder redirection
2019-12-07 12:41:28 -08:00
Michael Scire
421324b498
mitm/cfg: pass around override status for decision-making
2019-12-07 12:41:28 -08:00
Michael Scire
b758e3fc55
strat: update for latest libnx.
2019-12-07 12:41:28 -08:00
Michael Scire
ea3ebbaa7d
strat: TitleId -> ProgramId, titles->contents
2019-12-07 12:41:28 -08:00
Michael Scire
d7a06057eb
strat: split out common functionality for future meso use
2019-12-07 12:41:28 -08:00
Michael Scire
8cb77ac136
namespace sts -> namespace ams
...
namespace sts::ams -> ams::exosphere, ams::.
This is to facilitate future use of ams:: namespace code in
mesosphere, as we'll want to include ams::util, ams::result, ams::svc...
2019-12-07 12:41:28 -08:00
Michael Scire
4059dc6187
Results: Implement namespaced, type-safe results.
...
Because I was working on multiple things at once, this commit also:
- Adds wrappers for/linker flags to wrap CXX exceptions to make them
abort. This saves ~0x8000 of memory in every system module.
- Broadly replaces lines of the pattern if (cond) { return ResultX; }
with R_UNLESS(!cond, ResultX());.
- Reworks the R_TRY_CATCH macros (and the result macros in general).
2019-12-07 12:41:28 -08:00
Michael Scire
0b22af1206
libstrat: namespace remaining non-namespaced code. more new-ipc updates
2019-12-07 12:41:28 -08:00
Michael Scire
535e49a38d
strat: statically allocate additional threads
2019-12-07 12:41:28 -08:00
Michael Scire
8bd2a9a23b
ldr: fix copy/paste, only 1 ldr:pm session needed
2019-12-07 12:41:28 -08:00
Michael Scire
2f959785e1
loader: update for new-ipc
2019-12-07 12:41:28 -08:00
Michael Scire
add18d868f
sts: add STS_UNREACHABLE_DEFAULT_CASE()
2019-12-07 12:41:28 -08:00
Michael Scire
609a302e16
os: implement waitable management.
...
This implements waitable management for Events (and
implements Events). It also refactors PM to use new
Event/Waitable semantics, and also adds STS_ASSERT
as a macro for asserting a boolean expression. The
rest of stratosphere has been refactored to use
STS_ASSERT whenever possible.
2019-12-07 12:41:28 -08:00
Michael Scire
a6e405c988
ldr: fix hbl_html redirection invocation
2019-09-14 10:43:39 -07:00
Michael Scire
93d83c5bb9
ams: initial support for 9.0.0
2019-09-14 10:43:39 -07:00
Michael Scire
227a1d938d
creport: refactor to use sts:: namespace.
2019-07-15 14:35:48 -07:00
Michael Scire
6777dd9b38
pm: inform sm of title ids. remove inconsistent mitm association.
2019-07-11 22:24:59 -07:00
Michael Scire
2d0c881ffe
strat: go all in on ncm::TitleId
2019-07-11 22:24:59 -07:00
hexkyz
e561919a52
Fix logic in ldr_ro_manager
...
Fix argument type for isdigit/isxdigit
2019-06-30 18:48:16 +01:00
Michael Scire
18ca8aaf5b
stratosphere: all in on enum class CommandId
2019-06-27 23:34:53 -07:00
Michael Scire
e5c5101e8a
Add missing extension cleanup.
2019-06-27 20:51:57 -07:00
Michael Scire
934ff7bbde
<int> -> <s32>
2019-06-27 20:16:56 -07:00
Michael Scire
014f08f6b4
ldr: fix mount check mistake
2019-06-27 18:01:44 -07:00
Michael Scire
6ba2090c01
ldr: address review commentary.
2019-06-27 17:37:33 -07:00
Michael Scire
61fcf5e0f4
loader: completely rewrite.
2019-06-26 15:46:19 -07:00
Michael Scire
9217e4c5f9
sm: add HasService/HasMitm, refactor into sts::
2019-06-24 17:57:49 -07:00
Michael Scire
cead8a36ea
stratosphere: more result cleanup
2019-06-20 02:00:59 -07:00
Michael Scire
6699fda8c9
loader: implement 8.1.0 changes
2019-06-19 11:51:30 -07:00
Michael Scire
f9bf8923b1
loader: refactor for R_TRY
2019-06-17 16:29:09 -07:00
leo60228
defee07625
Allow pressing buttons on all controllers in loader ( closes #541 )
2019-05-11 15:15:17 -04:00
Michael Scire
03a425a579
stratosphere: TODO: panic -> std::abort()
2019-05-10 03:28:18 -07:00
Michael Scire
41f5b39f6b
stratosphere: stop using kernelAbove
2019-05-10 03:25:07 -07:00
Michael Scire
7945a921ca
Merge branch 'ro_dev'
2019-04-22 13:07:11 -07:00
Michael Scire
b09adb6a34
stratosphere: only hold sm sessions open when needed
2019-04-22 12:59:49 -07:00
Michael Scire
bfd04cfe92
loader: remove more unused ro functionality
2019-04-22 00:40:19 -07:00
Michael Scire
253afc90a4
loader: remove ldr:ro (moved into ro sysmodule)
2019-04-21 09:08:08 -07:00
Michael Scire
4ba6d8b24c
ro: implement rest of LoadNrr/LoadNrrEx
2019-04-21 05:28:57 -07:00
Michael Scire
ed86c44a49
loader: refactor to use LoaderModuleInfo
2019-04-20 18:15:39 -07:00
Michael Scire
5c9d0f05b1
loader: use libstratosphere randomness
2019-04-20 16:53:56 -07:00
Michael Scire
ac07971211
stratosphere: custom exception handlers (reboot to fusee)
2019-04-12 15:28:46 -07:00
Michael Scire
67891954ec
loader: fix support for 7.0.0+ games with NPDM flag bit 4 set.
2019-04-11 16:39:59 -07:00
Michael Scire
03e176d7f1
atmosphere: current year is 2019
2019-04-07 19:00:49 -07:00
Mat M
7a4d1e786c
ldr_map: Silence lingering initializer warning ( #500 )
...
One initializer warning case that I seem to have missed (my bad).
2019-04-04 23:13:46 -07:00
Mat M
b237168ec7
loader: Silence Wmissing-field-initializers warnings ( #499 )
...
Specifying 0 as the initial entry of a structure is a C-ism. C++ permits
using an empty set of braces to signify the same behavior, silencing
missing initializer warnings.
2019-04-04 21:05:41 -07:00
Michael Scire
a0f3183c79
strat: sha256 s/linux/libnx/g
2019-04-04 12:02:00 -07:00
Michael Scire
c6d67eab6a
strat: 0 -> ResultSuccess
2019-03-28 22:39:39 -07:00
Michael Scire
9427a5cf46
strat: use TitleId defs instead of magics.
2019-03-28 21:49:14 -07:00
Michael Scire
c50cb83ec1
strat: use lr results instead of magics
2019-03-28 20:31:48 -07:00
Michael Scire
0001e93810
strat: use atmosphere results instead of magics
2019-03-28 20:19:38 -07:00
Michael Scire
29be429d2f
strat: fix remaining FS result magic numbers
2019-03-28 19:45:41 -07:00
Michael Scire
acffae6643
strat: replace kernel/dbg magic numbers with result defs
2019-03-28 16:57:18 -07:00
Michael Scire
db19fa0f7f
loader: Use result definitions instead of magic numbers
2019-03-28 15:06:50 -07:00
Michael Scire
994d7d5429
loader: same heap size change for gcc 8.3.0 compat
2019-03-26 20:56:04 -07:00
Michael Scire
dc1db0dc72
loader: Ensure code:/ unmounts if mounted.
2019-03-23 18:27:53 -07:00
Michael Scire
9e1e9ff8c0
loader: separate override_any_app (deprecate =app)
2019-03-22 06:59:28 -07:00
Michael Scire
48e4688c13
loader: begin needed support for HBL to use web browser commands
2019-03-20 07:53:56 -07:00
TuxSH
7ddaad615b
loader; suppress gcc warning
2019-03-19 21:29:31 +01:00
Michael Scire
db3c5cf20f
loader: fix ldr:ro unmap semantics for < 3.0.0
2019-03-16 19:16:19 -07:00
Michael Scire
51fa778fb2
loader/ams_mitm: Change Down -> Held in API
2019-03-15 21:28:38 -07:00
Michael Scire
35167da6dd
loader: Actually use hidKeysHeld
2019-03-15 19:51:00 -07:00
Michael Scire
83626923cf
loader/ams_mitm: hidKeysHeld, not hidKeysDown (and remove workaround)
2019-03-15 18:34:55 -07:00
Michael Scire
60776e8111
loader: fix ldr:ro mapping error on < 3.0.0
2019-03-15 00:25:09 -07:00
Michael Scire
37d3577028
dmnt: allow disabling cheats via title-specific button combo
2019-03-04 06:55:37 -08:00
Michael Scire
eefee8c7a8
loader: add support for title-specific override keys
2019-02-23 07:18:24 -08:00
Michael Scire
f00dd05f82
Make stratosphere use new libnx HosVersion API
2019-02-20 14:17:51 -08:00
Michael Scire
6027ff243d
Enforce upper bound on application tid range
2019-02-12 02:53:31 -08:00
Michael Scire
5f836aca6d
Loader: set 7.0.0+ process bit when relevant
2019-01-31 04:46:20 -08:00
Michael Scire
bdfd7946e3
ldr:ro: Correct LoadNrrEx definition, unimpl'd for now
2019-01-30 21:55:04 -08:00
Michael Scire
f78fd29e38
Add basic support to fusee for multiple tsec_root_keys.
2019-01-30 21:53:37 -08:00
natinusala
da0d22f05a
loader: add 'override any app' feature
2019-01-22 05:38:27 -08:00
misson20000
35cf3b65a3
loader/ECS: don't clear ECS on failure, add ClearExternalContentSource command
2019-01-22 05:38:27 -08:00
Michael Scire
ac391d9c5e
Loader: always redirect sysmodules.
2018-11-15 14:48:18 -08:00
Michael Scire
ce1a6a68bf
fs.mitm/loader: Fix crashes when launching too many processes.
2018-11-08 16:02:04 -08:00
Michael Scire
54a22797a7
Make libstratosphere a submodule
2018-11-08 01:24:40 -08:00
Michael Scire
6ef34d80a0
libstrat: automatically detect+format rawdata structs correctly.
2018-10-31 05:04:00 +09:00
Michael Scire
c49cfbd6af
loader: update for libstratosphere refactor
2018-10-31 05:04:00 +09:00
misson20000
5c147e5188
loader: add SetExternalContentSource extension
2018-10-29 07:11:16 +09:00
misson20000
18f51e9b2e
loader: add NpdmUtils function for invalidating the cache for a specific title
2018-10-29 07:11:16 +09:00
misson20000
376feb63bd
loader: make ShouldOverrideContents take a tid argument
2018-10-29 07:11:16 +09:00
Michael Scire
db97dd8d75
Loader: clean up orphaned function prototype
2018-10-22 22:56:26 -07:00
Michael Scire
f96e1d5074
loader/fs.mitm: Support override config changes at runtime
2018-10-22 22:53:40 -07:00
Michael Scire
55ad57a02d
fs.mitm: Use same override button semantics as loader.
2018-10-16 19:01:41 -07:00
Michael Scire
6711cd93a8
atmosphere: extract API version management to common folder
2018-10-16 17:54:50 -07:00
Michael Scire
20faa7f00b
Loader: fix automatic apptype patching.
2018-10-05 09:13:00 -07:00
Michael Scire
532b4f4de2
Loader: Fix HBL pool partition ID copy
2018-09-19 16:30:11 -07:00
Michael Scire
6afbcd12d9
Loader: Button override + first-class HBL support
2018-09-19 16:21:46 -07:00
hexkyz
28e4d4411d
Add and fix copyright notices for better GPL compliance (thanks @naehrwert and @CTCaer).
2018-09-07 16:00:13 +01:00
SciresM
bb0f3ac024
loader: Add support for 6.0.0.
2018-09-06 11:57:57 +09:00
Michael Scire
cb4089e49c
Stratosphere: use isxdigit to check if char is hex.
2018-07-29 17:27:30 -07:00
Michael Scire
c547ed50aa
Loader: Fix exefs nsp support. Works on hardware.
2018-07-29 16:45:29 -07:00
Michael Scire
3a2520a3b7
Loader: Add support for exefs redirection to code nsp on SD.
2018-07-29 16:35:43 -07:00
Michael Scire
44e2412ae6
Loader: Change ips patch location to ease patch distribution
2018-07-29 11:27:19 -07:00
Michael Scire
674a91db8c
Loader/ips: Fix more bugs, now works with simple test on hw.
2018-07-28 21:06:50 -07:00
Michael Scire
08275240c6
Loader/ips: fix compile error
2018-07-28 20:41:13 -07:00
Michael Scire
75916001a2
Loader: Fix IPS edge condition, change ips location
2018-07-28 20:36:30 -07:00
Michael Scire
0f5f3c2ad0
Loader: Implement IPS/IPS32 patching.
2018-07-28 20:28:17 -07:00
Michael Scire
c1fd2eda20
Loader: Skeleton IPS/IPS32 patching support.
2018-07-28 20:01:09 -07:00