Commit Graph

767 Commits

Author SHA1 Message Date
hexkyz
5accc43671 ams: add enum recognition for 22.5.0 2026-06-17 00:59:16 +02:00
hexkyz
3446630692 Merge pull request #2811 from ZachyCatGames/patch-1
pgl: GetHostContentMetaInfo returns a ncm::ContentMetaType
2026-06-17 00:59:05 +02:00
hexkyz
1d550bc2cd Merge pull request #2786 from alula/alula
ams: add enum recognition for 22.1.0
2026-04-08 16:57:24 +02:00
Alula
18151d354b erpt: Fix rare aborts caused by ResultInvalidPowerState 2026-04-04 21:38:54 +02:00
hexkyz
aa2df9b753 Merge pull request #2763 from masagrator/patch-1
Fix off by 1 bug + allocation error + missing initialize in PGL
2026-04-04 21:38:41 +02:00
hexkyz
6ed1413b23 loader/util: fully implement zstd bic variant
Implement both compression and decompression utilities and simplify loader logic
2026-04-04 21:38:18 +02:00
Alula
9d11621f1a erpt: use official name for erpt::IManager cmd 7 2026-04-04 21:37:56 +02:00
Alula
9c4159cc2d erpt: revert GetReportSizeMax to not potentially break old firmwares 2026-04-04 21:37:56 +02:00
Alula
44d1ffc5b7 loader: update for 22.0.0 2026-04-04 21:37:40 +02:00
Alula
f452642e71 loader/strat: Add amalgamated zstd 1.5.7 with ZBIC patches 2026-04-04 21:37:40 +02:00
Alula
63409d8a13 erpt: rename old ControllerStyleList field 2026-04-04 21:30:19 +02:00
Alula
82018c0004 erpt: Implement 22.0.0 commands and changes
Co-authored-by: nvnprogram <97150065+nvnprogram@users.noreply.github.com>
2026-04-04 21:30:19 +02:00
Alula
424a32bc7a erpt: make FieldType u8 to match Nintendo 2026-04-04 21:30:19 +02:00
Alula
7ff6ac0399 pinmux: add a build time option to configure JC rail uart 2026-04-04 21:30:18 +02:00
Alula
250cdc5d2e fs: DisableAutoSaveDataCreation was removed in 22 2026-04-04 21:30:18 +02:00
Alula
db41e33507 fusee/exo/ams: update with new keydata/version enums 2026-04-04 21:30:18 +02:00
hexkyz
b794d96c2c erpt: style fix 2026-04-04 21:30:18 +02:00
hexkyz
872d91deaf erpt: add new IDs for 22.0.0 2026-04-04 21:30:18 +02:00
hexkyz
aae3ccf581 Merge pull request #2726 from ndeadly/svc-shim-compat
libstrat: update GetDebugEvent svc shim for compatibility with libnx changes
2026-04-04 21:30:01 +02:00
Michael Scire
ad04b2215d ams/emummc: update for 21.2.0 2026-01-15 03:46:49 +01:00
Michael Scire
39925c3802 ams: add enum recognition for 21.1.0 2025-12-09 06:42:13 +01:00
Michael Scire
80edcb3f69 loader: update for 20.0.0/21.0.0 2025-12-04 03:13:19 +01:00
Michael Scire
0b2a14ae99 pgl/pm: add GetProcessId command 2025-12-04 03:13:08 +01:00
Michael Scire
a878a6bbb2 erpt: implement new 21.0.0 commands 2025-12-04 03:13:08 +01:00
Michael Scire
9cdc2c22f6 erpt: fix ids, failed to copy the new categories 2025-12-04 03:13:08 +01:00
Michael Scire
f123104774 fatal: add new HashedTraceContext command 2025-12-04 03:13:08 +01:00
Michael Scire
5eef055d74 erpt: add new IDs for 21.0.0 2025-12-04 03:13:07 +01:00
Michael Scire
59f3fc70a5 ams: mark ams::Result [[nodiscard]] (partially complete).
NOTE: This work is not yet fully complete; kernel is done, but
it was taking an exceedingly long time to get through libstratosphere.
Thus, I've temporarily added -Wno-error=unused-result for libstratosphere/stratosphere.

All warnings should be fixed to do the same thing Nintendo does as relevant, but this
is taking a phenomenally long time and is not actually the most important work to do,
so it can be put off for some time to prioritize other tasks for 21.0.0 support.
2025-12-04 03:12:52 +01:00
Michael Scire
689e25ccb0 fusee/exo/ams: update with new keydata/version enums 2025-12-04 03:09:41 +01:00
Michael Scire
86fd8d66e1 fssystem: fix support for parsing newer-format BKTR NCAs
Apparently, at some point they started allowing maxlayers=3, which caused this code to not work.

Looking at latest FS, they always reference DataStorage instead of level+2 for the final level.

This fixes parsing update romfs for newer games, e.g. Super Mario Galaxy 2.
2025-12-04 03:07:59 +01:00
Michael Scire
a1a88e5c42 ams: bump version, add enum support for 20.5.0 2025-10-07 21:21:17 +02:00
Michael Scire
93e73a3c36 ams: bump version, add enum support for 20.4.0 2025-09-12 19:13:09 +02:00
comex
7c54aff4d4 build: portability fixes
- Invoke Python scripts with `python3` if `python` is not available.

  Despite SciresM preferring Python 2, the scripts used in the build all
  worked in Python 3 already, so this is just a Makefile change.

- Export `MAKE` to work around a GNU bug.

  See the comment for details.

- `rmdir --ignore-fail-on-non-empty` -> `rmdir 2>/dev/null`

  macOS `rmdir` doesn't support `--ignore-fail-on-non-empty`.

  This is a slight downgrade in functionality, because now we ignore all
  errors from `rmdir` rather than just 'Directory not empty'.  I could
  have avoided this with a more complicated fix, but the benefit strikes
  me as not worth the complexity.  Let me know if you disagree.

- Append `$(DEVKITPRO)/tools/bin/` to `$PATH` when invoking
  `build_romfs`.

  This avoids the need to add devkitPro directories to `$PATH` when
  building Atmosphere.

  If you already have `build_romfs` in your PATH, then that will still
  take precedence.  (This seemed like the nicer option, though I don't
  have strong opinions.)
2025-09-12 19:10:47 +02:00
Michael Scire
412b11451d ams: bump version, support 20.3.0 2025-09-12 19:09:13 +02:00
Michael Scire
9cde2f57fa ams: add enum version support for 20.1.x/20.2.0 2025-09-12 19:09:12 +02:00
Michael Scire
ad92c908c4 erpt: update IDs for 20.1.0 2025-06-14 21:06:09 +02:00
Michael Scire
99136146dd Add version enums for 20.1.0 2025-06-14 21:06:09 +02:00
Michael Scire
d305d48a7e ams: basic support for compiling with gcc 15 2025-05-09 11:55:21 -07:00
Michael Scire
b7ec64ea16 fs.mitm: add and use memlet module to temporarily steal applet memory while building romfs images.
Starting in 20.0.0, the browser needs more applet memory to function, so we can't steal as much any more.
Thus, we now steal 14 MB on 20.0.0+ instead of 40MB.

However, since this reduces memory available for custom system modules, we are adjusting to compensate.
ams.mitm's heap size has been reduced from 32MB to 12MB (recovering 20MB).
In addition, fs.mitm now uses a new mechanism for stealing memory from the applet pool while romfs is being built.

On net, we are compromising:
    * Custom sysmodules lose memory available to them.
        On 19.0.0/AMS 1.8.0, there was 30 MB available for custom sysmodules.
        Stealing 14 MB instead of 40 MB, we lose 26 MB of that. Reducing ams.mitm's usage will gain us back 20.
        Nintendo also appears to...use 4 extra MB, in 20.0.0, from my test homebrew.
        So on 20.0.0/AMS 1.9.0, there should be 20 MB available for custom sysmodules.
        On the bright side, on <20.0.0/AMS 1.9.0, I guess there will be 50 MB available for custom sysmodules now?
    * totk mods will lose the ability to...put every file in the romfs on sd card. There will be some unknown maximum filecount for totk mods.
        On the bright side, implementing the transient memory stealing should improve compatibility for some mods which strictly add files?
2025-05-09 11:55:21 -07:00
Michael Scire
a6847ca70e ams: add enum support for 20.0.1/18.0.1 2025-05-09 11:55:21 -07:00
Michael Scire
3af8757c3b erpt: initial support (incomplete) for 20.0.0 2025-05-09 11:55:21 -07:00
Michael Scire
f55cf42433 ldr/pm: update for 20.0.0 abi changes 2025-05-09 11:55:21 -07:00
Michael Scire
07df13e2a0 strat: update for fsp-ldr 20.0.0 changes 2025-05-09 11:55:21 -07:00
Michael Scire
791edf87a0 ncm: update to implement new ContentMetaDatabase function for 20.0.0 2025-05-09 11:55:21 -07:00
Michael Scire
d147f6f93b erpt: update ids for 20.0.0 2025-05-09 11:55:21 -07:00
Michael Scire
ef5334c3ca fusee/exo/ams: update with new keydata/version enums 2025-05-09 11:55:21 -07:00
Michael Scire
6125f40bdb ams: various fixes to support booting debug configuration 2025-04-08 13:43:29 -07:00
Michael Scire
3a5f70dceb fs: fix uninit warnings on windows localfilesystem 2024-10-29 20:00:08 -07:00
Michael Scire
e51e11a71c libstrat: re-nolto files when compiling for windows-audit 2024-10-29 19:30:30 -07:00
Michael Scire
57e15f3622 strat: ldr::PlatformId -> ncm::ContentMetaPlatform 2024-10-29 19:24:52 -07:00