Michael Scire
733f2b3cdd
ams_mitm: implement layeredfs
2019-12-07 12:41:28 -08:00
Michael Scire
f4ca2c02a7
fs.mitm: Implement bis protection
2019-12-07 12:41:28 -08:00
Michael Scire
8d9c51f204
set_mitm: embed defaults in code, allow for missing ini
2019-12-07 12:41:28 -08:00
Michael Scire
c10ba67973
ams_mitm: Implement system settings mitm
2019-12-07 12:41:28 -08:00
Michael Scire
55610694c8
ams_mitm: Implement set:sys firmwareversion mitm
2019-12-07 12:41:28 -08:00
Michael Scire
8764d94fd9
Implement set_mitm
2019-12-07 12:41:28 -08:00
Michael Scire
5228768841
ams_mitm: implement hid mitm
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
37e065fa2d
ams_mitm: implement bpc:mitm
2019-12-07 12:41:28 -08:00
Michael Scire
393596ef9a
ams_mitm: begin skeleton refactor
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
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
e07011be32
mitm: fix long-standing C descriptor issue.
2019-12-07 12:41:28 -08:00
Michael Scire
bb223eb5ae
libstrat: namespace hossynch.hpp
2019-12-07 12:41:28 -08:00
Michael Scire
a750e55f75
tmp-hid-mitm: less aggressively enable controllers
...
This fixes a crash in SSBU and possibly other games.
2019-09-14 13:37:31 -07:00
Michael Scire
6613fda4b1
ams_mitm: add temporary hid mitm on 9.x for compat
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
600d68bd1a
ams_mitm: fix bis key generation for newer hardware
2019-08-29 00:14:23 -07:00
Michael Scire
362ee3cdb0
autobackup: dump bis keys ( closes #583 ).
2019-08-05 19:35:04 -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
Michael Scire
c916a7db88
strat: remove sizeof() / sizeof([0])
2019-07-11 22:24:59 -07:00
suppai
bfc987abcd
Fix for libnx commit 4f441a4/latest master at time of writing
2019-07-07 23:56:21 -04:00
Michael Scire
2225b86eea
Adjust version string based on ReSwitched vote.
2019-07-02 11:49:24 -07:00
hexkyz
09ab3efddd
Fix argument type for isspace
2019-07-01 20:29:43 +01: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
61fcf5e0f4
loader: completely rewrite.
2019-06-26 15:46:19 -07:00
Michael Scire
1671c04e24
stratosphere: prefer static waitable managers
2019-06-20 13:15:39 -07:00
Michael Scire
d3d6c552b7
stratosphere: remove trailing whitespace
2019-06-20 13:00:32 -07:00
Michael Scire
60b831f369
ams_mitm: refactor for R_TRY
2019-06-20 04:04:33 -07:00
Michael Scire
aad02cd751
ams_mitm: update write handle persist path
2019-06-15 07:57:50 -07:00
Michael Scire
0dcb496522
Fix emummc nintendo dir redirection
2019-06-14 21:20:53 -07:00
hexkyz
4c4f037361
Merge branch 'master' into emunand_dev
2019-06-09 19:23:51 +01:00
SciresM
df3c8f4c94
Merge pull request #555 from lioncash/header
...
bpcmitm_main: Add missing header guard
2019-06-04 12:23:37 -07:00
Lioncash
89a83b0e5a
bpcmitm_main: Remove unnecessary includes
...
Quite a few headers are unused in this header, so we can remove them to
make compilation a tiny bit faster.
2019-06-04 06:29:14 -04:00
Lioncash
7bdd4bb2d1
bpcmitm_main: Add missing header guard
...
Prevents potential inclusion issues.
2019-06-04 06:28:34 -04:00
Lioncash
dd10547ac2
setsys_settings_items: Less resource churn with combined key/value construction
...
The previous string construction discards two temporary std::string
instances (operator+ returns by value, not by reference), and creates a
std::string that it doesn't need to (the one around key). Instead we can
just append to the end of the initial std::string itself, saving on two
unnecessary created strings.
append() has a const char* overload as well (as does operator+), so we
can just append the key string as is without creating an entire new
string.
2019-06-03 21:37:53 -04:00
Lioncash
452c61db7a
setsys_settings_items: Simplify buffer management in LoadConfiguration()
...
We can use a std::string here instead of setting up a scope guard and
manual allocations. We also don't need to care about null-termination,
as c_str() will automatically ensure this is done when passing it into
ini_parse_string().
2019-06-03 21:37:12 -04:00
Michael Scire
837b30d075
Merge branch 'master' into emunand_dev
2019-06-03 12:22:01 -07:00
Michael Scire
50e307b4b7
Update for latest libnx
2019-06-03 12:19:05 -07:00
Michael Scire
4dac80df75
fs.mitm: add Nintendo directory redirection code
2019-05-27 11:48:17 -07:00
Michael Scire
6f25e92892
set.mitm: language emulation ( closes #489 )
2019-05-22 12:13:10 -07:00
SciresM
6cc29185d2
Merge pull request #545 from Kronos2308/simple-sd-save-flag
...
simple sd_save flag
2019-05-17 07:34:07 -07:00
Kronos2308
bbb658a7e5
orthography
2019-05-17 10:03:53 +01:00
Kronos2308
ad812c8125
use configuration of system_settings.ini
...
prioritize the configuration of system_settings.ini
2019-05-17 09:28:46 +01:00
Kronos2308
a64fdce505
flag is now "redirect_save"
2019-05-17 08:44:41 +01:00
Kronos2308
7e950c3bcc
Revert "Add files via upload"
...
This reverts commit d0d7772f98
.
2019-05-17 08:38:21 +01:00
Kronos2308
d0d7772f98
Add files via upload
2019-05-17 08:29:38 +01:00
Kronos2308
674175e1c6
simple sd_save flag
...
something that allows you to decide which title to redirect games saves and which does not
2019-05-17 03:28:24 +01:00
leo60228
56d7473451
Do same in ams_mitm
2019-05-12 09:04:58 -04:00
Michael Scire
03a425a579
stratosphere: TODO: panic -> std::abort()
2019-05-10 03:28:18 -07:00
Michael Scire
348345340d
fs.mitm: Implement FileStorage
2019-04-29 12:55:02 -07:00
Michael Scire
7fef83885f
ams: improve fatal error context
2019-04-26 07:25:38 -07:00
Michael Scire
b09adb6a34
stratosphere: only hold sm sessions open when needed
2019-04-22 12:59:49 -07:00
Michael Scire
9f972831cc
fs.mitm: fix data abort
2019-04-22 03:42:37 -07:00
Michael Scire
908de31a0e
pm: on 7.0.0+, npns is launched in maintenance boot ( closes #511 )
2019-04-20 10:36:38 -07:00
Michael Scire
ac07971211
stratosphere: custom exception handlers (reboot to fusee)
2019-04-12 15:28:46 -07:00
Michael Scire
03e176d7f1
atmosphere: current year is 2019
2019-04-07 19:00:49 -07:00
Michael Scire
05c4dfd8f8
Merge remote-tracking branch 'origin/master'
2019-04-05 13:42:17 -07:00
Michael Scire
938169cd3c
fs.mitm: experimental support for save redirection to sd.
2019-04-05 13:42:09 -07:00
Mat M
753958de28
fs_mitm/fs_dir_utils: Amend logic error within IterateDirectoryRecursivelyInternal() ( #498 )
...
This likely intended to get the size of the string and then subtract the
null terminator byte. Instead, this would always result in a sizeof of
8.
2019-04-04 20:04:26 -07:00
Michael Scire
fb5e02050b
fs.mitm: fix logic error in CopyFile
2019-04-04 15:41:41 -07:00
Michael Scire
a0f3183c79
strat: sha256 s/linux/libnx/g
2019-04-04 12:02:00 -07:00
Michael Scire
262d6af519
bis_protect: guard against autorcm on rcm-patched units
2019-04-01 17:24:15 -07:00
Michael Scire
81aa5c7ec7
set_mitm: result defs instead of magics
2019-03-28 23:04:13 -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
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
2678735f73
stratosphere: migrate result headers to libstrat
2019-03-28 14:23:34 -07:00
Michael Scire
f2433824ba
fs.mitm: fix missing include in fs_shim.c
2019-03-28 10:51:51 -07:00
Michael Scire
d00b183f92
fs.mitm: Implement DirectorySaveDataFileSystem.
2019-03-28 10:43:33 -07:00
Michael Scire
325c71b1b4
ams_mitm: fix erroneous comment due to copy-paste.
2019-03-26 12:03:55 -07:00
Michael Scire
f9c9c1048e
fs.mitm: prefer official web content to hbl_html
2019-03-26 11:53:30 -07:00
Michael Scire
4ccb39a228
ams_mitm: add ns:web mitm for HBL web support
2019-03-26 11:35:50 -07:00
Michael Scire
ad8acaefec
fs.mitm: fix some filesystem issues
2019-03-26 09:05:19 -07:00
Michael Scire
20ba6432b9
set.mitm: fix 1.0.0 compat ( closes #459 )
2019-03-24 19:27:37 -07:00
Michael Scire
047f3b653e
fs.mitm: also give choinx access to boot1 ( closes #485 )
2019-03-23 16:33:49 -07:00
Michael Scire
79244078a6
fs.mitm: make HBL web content work (verified on hw)
2019-03-22 16:54:37 -08:00
Michael Scire
fce2099d7d
fs.mitm: fix error in FsPathUtils::VerifyPath
2019-03-22 15:06:50 -07:00
Michael Scire
22d4de27f1
fs.mitm: fix null deref
2019-03-22 14:49:07 -07:00
Michael Scire
9d5ca47ac8
fs.mitm: Add Hbl Web override support, also support choinx"
2019-03-22 12:41:51 -07:00
Michael Scire
c1588d0300
fs.mitm: Implement path normalization
2019-03-22 11:52:03 -07:00
Michael Scire
b62014554c
fs.mitm: Implement SubDirectoryFileSystem
2019-03-22 11:28:09 -07:00
Michael Scire
afcaf20020
fs.mitm: ProxyFile, ProxyDirectory, ProxyFileSystem
2019-03-22 10:20:36 -07:00
Michael Scire
bcf20b4441
fs.mitm: implement ifilesystem wrapper
2019-03-22 09:51:47 -07:00
Michael Scire
c8a4a6dc58
fs.mitm: fix inverted ifile condition
2019-03-22 08:58:08 -07:00
Michael Scire
634ce933be
fs.mitm: start implementation of IFileSystem api.
2019-03-22 08:49:10 -07:00
Michael Scire
ca42a9daec
hbl: change default to every_app=true, change default override key
2019-03-22 07:13:49 -07:00
Michael Scire
9e1e9ff8c0
loader: separate override_any_app (deprecate =app)
2019-03-22 06:59:28 -07:00
Michael Scire
51fa778fb2
loader/ams_mitm: Change Down -> Held in API
2019-03-15 21:28:38 -07:00
Michael Scire
83626923cf
loader/ams_mitm: hidKeysHeld, not hidKeysDown (and remove workaround)
2019-03-15 18:34:55 -07:00
Léo Lam
b6d3df3335
fs_mitm: Fix mismatched new[] / delete ( #389 )
...
* fs.mitm: Fix mismatched new[] / delete
Using delete instead of delete[] on a pointer given by new[] is
undefined behaviour.
For memory sources, malloc/free are used because cleaning up is tricky
when data can be either allocated with new (RomfsHeader) or new[]
(metadata).
* set.mitm: Fix mismatched new[] / delete
2019-03-08 07:25:33 -08:00
Michael Scire
66560d0a7b
fs.mitm: fix two cases of inverted logic
2019-03-07 19:53:21 -08:00
Michael Scire
b4b1208222
stratosphere: fix svcExitThread usage
2019-03-05 07:50:27 -08:00
Michael Scire
5ef3ca9364
fs.mitm: make prodinfo backups actually work
2019-03-04 19:05:52 -08:00