[Scene Switch] Sys-patch v1.4.0 released

Published a quick update for sys-patch , the sysmodule developed by the developer  ITotalJustice allows us to fix all the startup problems of fsldrand within the Switches console firmware .

 

The sysmodule has the same effect as sigpatches, but with some advantages, they only need to be updated when a major problem occurs, while sigpatches require more frequent updates. Also, patching ldrshould not require updates.

The sysmodule also generates a log showing all applied patches and any failed patches, providing several useful information.

This new version of sys-patch includes a patch for the nifm system module, which allows a connection test to be performed, so it can continue to function even when Nintendo’s servers are blocked.

This patch allows users to test their console’s network connectivity despite restrictions imposed by Nintendo. In addition, the functionality to disable patches individually has been introduced.

This means that users can choose to enable or disable specific patches based on their needs or preferences. For example, if a patch causes problems or incompatibilities with a particular game or application, the user has the ability to disable it without disabling the entire patching feature.

This offers greater flexibility and control for sys-patch users , allowing them to customize the system experience on their Nintendo Switch console.

Configuration

The sys-patch sysmodule has a simple configuration. This can be edited or updated manually using the overlay.

The configuration file can be found at /config/sys-patch/config.ini, if the file does not exist, the file will be created when the sys-patch sysmodule is run.

[options]
patch_sysmmc=1 ; 1=(default) patch sysmmc, 0=don't patch sysmmc
patch_emummc=1 ; 1=(default) patch emummc, 0=don't patch emummc
logging=1 ; 1=(default) output /config/sys-patch/log.inim 0=no log
version_skip=1 ; 1=(default) skips out of date patterns, 0=search all patterns

Overlays

The overlay can be used to change configuration options and to see which patches are being applied (if any).

  • Unpatched – Means the patch has not been applied (probably not found).
  • Patched (green) – Means it has been patched by sys-patch.
  • Patched (yellow) – Means it has already been patched, probably by sigpatches or a custom atmosphere creation.

What gets patched?

Here’s a quick summary of what’s been patched:

  • fs
  • eg
  • ldr

fsand esneed new patches after each new firmware release. ldron the other hand it needs new patches after each release of a new version of Atmosphère , this is due to the fact that the service ldrhas been reimplemented by Atmosphère .

In particular, in firmware 10.0.0 a new check was added in the original firmware that required an immediate fix. Atmosphère then introduced this same control, necessitating a new patch for that specific firmware.

This need to apply new patches specifically for after each Atmosphèreldr update is due to the tight integration between Atmosphère and the original firmware, ensuring compatibility and proper functioning of the module .ldr

How does it work?

Sys-patch uses a collection of patterns to locate the piece of code that needs to be fixed. This approach allows you to pinpoint problem areas without having to rely on offsets alone, which would be inefficient and require frequent updates after each new firmware update. Using templates helps you locate and correct problems more accurately.

When patches are applied on boot, the sysmod stops working, which is normal since the changes are made to fix problems.

Despite this, the sysmod’s memory footprint is extremely small, using only 16kib in total. The size of the binary file itself is only ~50 kib which is a remarkable achievement and demonstrates the efficiency of the code.

Does this mean I should stop downloading/using sigpatches?

It is understandable that the user would prefer to continue using the current sigpatches instead of switching to sys-patches. The reason for this choice is the concern that, should the sysmodule sys-patch experience problems, it may not be fixed promptly.

If I’m already using sigpatch, does it make sense to use that too?

Yes, in 2 niche cases.

  1. A new patch ldrmust be created after each Atmosphère update. Sometimes a new silent Atmosphere update is released. This tool will always fix ldrwithout having to update patches.
  2. Building Atmosphère from srcwill require you to generate a new patch ldrfor that customized version of Atmosphère. This is easy enough thanks to the public scripts/tools that exist out there, however it will always be possible.

Also, if you forget to update your patches when you update the firmware or the Atmosphère, this sysmod should be able to fix everything just fine! so it’s nice to have it as a fallback.

Changelog

  • Added patch ctest.
  • Addition for toggle patches.
  • Overlay made more organized.

Download: sys-patch v1.4.0

Download: Source code sys-patch v1.4.0

Source: gbatemp.net