More actions
(Created page with "{{Infobox Switch Homebrews |title=ReverseNX-RT |image=reversenxrtswitch.png |description=Alternative version of ReverseNX that can switch between handheld and docked mode in Real Time. |author=masagrator |lastupdated=2023/04/02 |type=Other Apps |version=1.1.1 |license=MIT |download=https://dlhb.gamebrew.org/switchhomebrews/reversenxrtswitch.7z |website=https://gbatemp.net/threads/reversenx-rt-reversenx-in-real-time.566868/ |source=https://github.com/masagrator/ReverseNX-...") |
No edit summary |
||
(10 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
|description=Alternative version of ReverseNX that can switch between handheld and docked mode in Real Time. | |description=Alternative version of ReverseNX that can switch between handheld and docked mode in Real Time. | ||
|author=masagrator | |author=masagrator | ||
|lastupdated=2023/ | |lastupdated=2023/10/01 | ||
|type= | |type=Overlays | ||
|version= | |version=2.0.0 | ||
|license=MIT | |license=MIT | ||
|download=https://dlhb.gamebrew.org/switchhomebrews/ | |download=https://dlhb.gamebrew.org/switchhomebrews/reversenxrt.7z | ||
|website=https://gbatemp.net/threads/reversenx-rt-reversenx-in-real-time.566868/ | |website=https://gbatemp.net/threads/reversenx-rt-reversenx-in-real-time.566868/ | ||
|source=https://github.com/masagrator/ReverseNX-RT | |source=https://github.com/masagrator/ReverseNX-RT | ||
|donation=https://ko-fi.com/masagrator | |donation=https://ko-fi.com/masagrator | ||
}} | }} | ||
ReverseNX-RT is an alternative version of [https://github.com/masagrator/ReverseNX ReverseNX] that enables you to switch between handheld and docked mode in Real Time. | |||
Requires SaltyNX 0.7.0+ and Tesla environment installed. | |||
Overlay contains multiple modes, from which 2 are main ones, other are error notifications. | |||
ReverseNX-RT is an alternative version of ReverseNX that enables you to switch between handheld and docked mode in | ==Installation== | ||
Requirements: | |||
*[[SaltyNX Switch|SaltyNX 0.7.0+]] installed. | |||
*[[NX-ovlloader Switch|nx-ovlloader]] installed. | |||
*[[Tesla Menu Switch|Tesla Menu]] installed. | |||
Patch/Plugin compatibility: | |||
*It's compatible with ReverseNX patches/[[ReverseNX-Tool Switch|ReverseNX-Tool 2.0.0+]]. | |||
*It's not compatible with deprecated ReverseNX plugin. | |||
*Do not use ReverseNX-RT next to [[Status_Monitor_Overlay_Switch|Status Monitor 0.6.0]] or older (Tesla can crash on Atmosphere if you are using NX-FPS). | |||
To install, download the [https://github.com/masagrator/ReverseNX-RT/releases latest release] and place ReverseNX-RT-ovl.ovl in the /switch/.overlays/ directory. | |||
'''Note:''' If you have a previous version installed, make sure you delete ReverseNX-RT.elf from SaltySD/plugins folder. | |||
== Main modes == | ==User guide== | ||
=== Main modes === | |||
When running game and everything works as should: | |||
https://dlhb.gamebrew.org/switchhomebrews/ | https://dlhb.gamebrew.org/switchhomebrews/reversenxrt4.png | ||
You have only two options here: | You have only two options here: | ||
* Change system control (It also refers to ReverseNX-Tool flags - f.e. if you have docked flag set for this game in ReverseNX-Tool, when system control is enabled, it will force docked mode) | * Change system control (It also refers to ReverseNX-Tool flags - f.e. if you have docked flag set for this game in ReverseNX-Tool, when system control is enabled, it will force docked mode). | ||
* Change mode (disabled if system control is enabled) | * Change mode (disabled if system control is enabled). | ||
Game stays in current configuration until you will close game. | Game stays in current configuration until you will close game. | ||
---- | When game is not running, SaltyNX is working and plugin is detected: | ||
https://dlhb.gamebrew.org/switchhomebrews/reversenxrt5.png | |||
You have option to (de)activate plugin from this menu. Deactivating it will result in renaming file so it will not be loaded by SaltyNX. Activating plugin renames to original filename. | |||
=== Error notifications === | |||
'''SaltyNX is not working!''' - SaltyNX crashed or is not installed correctly. | |||
'''Can't detect ReverseNX-RT plugin!''' - ReverseNX-RT plugin is not detected in sdcard SaltySD/plugins. Put plugin to correct folder without renaming it. | |||
'''Game was closed! Overlay disabled! Exit from overlay and run game first!''' - If you were using overlay in last running game and closed game without closing overlay, you need to close overlay to use it again. | |||
'''ReverseNX-RT is not running!''' - Plugin was not injected. It's either 32-bit game or is in SaltyNX exceptions list. | |||
'''Game doesn't support changing modes!''' - Plugin was injected and is working, but function for checking modes was not used. Either game doesn't have one (which means there is no difference between handheld and docked) or game just checks it later than when you wanted to check (for example game may not use it for few seconds after booting was finished). You need to exit from overlay and run it again later to check if error still occurs... | |||
'''WRONG MAGIC!''' - Something went horribly wrong and overlay is reading value from wrong memory position. It should not happen if you are opening overlay after game boot process will finish. It may also happen if you will close overlay before closing game and open it after running next game, this time not compatible with SaltyNX. | |||
== Troubleshooting | === Troubleshooting === | ||
List of titles having compability issues with ReverseNX-RT: | '''List of titles having compability issues with ReverseNX-RT:''' | ||
{| class="wikitable" | {| class="wikitable" | ||
! Title | !style="width: 15%;"| Title | ||
! Versions | !style="width: 25%;"| Versions | ||
! Why? | !style="width: 60%;"| Why? | ||
|- | |- | ||
| Monster Hunter Rise | | Monster Hunter Rise | ||
| 1.0.0-1.1.1 + possible later version | | 1.0.0-1.1.1 + possible later version | ||
| MessageEvent is used, to recognize plugin and apply changes you need to go back to qlaunch and back to game | | MessageEvent is used, to recognize plugin and apply changes you need to go back to qlaunch and back to game. | ||
|- | |- | ||
| Robotics;Notes Elite | | Robotics;Notes Elite | ||
| 1.0.1 | | 1.0.1 | ||
| Broken PopNotificationMessage() thread, not working at all | | Broken PopNotificationMessage() thread, not working at all. | ||
|} | |} | ||
'''Often when I'm closing game, Atmosphere crashes with error 0x41001. Why?''' | |||
Atmosphere 0.12.0 with new options for cheat engine bringed bug that causes showing this error in random instances. For some reason this overlay makes this bug occur more frequently. Either go back to 0.11.1 or update to newer version. | |||
==Changelog== | ==Changelog== | ||
''' | '''v2.0''' | ||
*Added support for SaltyNX 0.7.0+. | |||
'''v1.1.1-update 2''' | |||
* Updated plugin to add proper support for Monster Hunter Rise so now there is no need to go back to home menu. | |||
* To achieve this 4 functions were hooked: | |||
** nn::oe::GetNotificationMessageEvent() | |||
** nn::os::InitializeMultiWaitHolder(nn::os::MultiWaitHolderType*, nn::os::SystemEventType*) | |||
** nn::os::LinkMultiWaitHolder(nn::os::MultiWaitType*, nn::os::MultiWaitHolderType*) | |||
** nn::os::WaitAny(nn::os::MultiWaitType*) - in case of detecting NotificationMessageEvent included in MultiWaitType argument it redirects call to nn::os::TimedWaitAny(nn::os::MultiWaitType*, nn::TimeSpan timeout) with timeout set to 1ms. | |||
* Overlay was not updated. | |||
'''v1.1.1''' | |||
*Overlay: update libtesla to newest version that fixes random crashes in docked mode related to freeing framebuffer. | *Overlay: update libtesla to newest version that fixes random crashes in docked mode related to freeing framebuffer. | ||
''' | '''v1.1''' | ||
* Read/Write data from SharedMemory instead of using dmnt:cht. | * Read/Write data from SharedMemory instead of using dmnt:cht. | ||
* Requires SaltyNX 0.5.0+ | * Requires SaltyNX 0.5.0+. | ||
* Edit: Accidentally put old files. | * Edit: Accidentally put old files. | ||
''' | '''v1.0.2''' | ||
*Added support for FW 16.0.0 | *Added support for FW 16.0.0. | ||
''' | '''v1.0.1''' | ||
*Fixed svc magic reading in overlay. | *Fixed svc magic reading in overlay. | ||
''' | '''v1.0''' | ||
* First Release. | * First Release. | ||
== External links == | == External links == | ||
* | * Twitter - https://twitter.com/masagratordev/status/1268598214988632066 | ||
* GitHub - https://github.com/masagrator/ReverseNX-RT | |||
* GBAtemp - https://gbatemp.net/threads/reversenx-rt-reversenx-in-real-time.566868/ |
Latest revision as of 06:51, 18 February 2024
ReverseNX-RT | |
---|---|
General | |
Author | masagrator |
Type | Overlays |
Version | 2.0.0 |
License | MIT License |
Last Updated | 2023/10/01 |
Links | |
Download | |
Website | |
Source | |
Support Author | |
ReverseNX-RT is an alternative version of ReverseNX that enables you to switch between handheld and docked mode in Real Time.
Requires SaltyNX 0.7.0+ and Tesla environment installed.
Overlay contains multiple modes, from which 2 are main ones, other are error notifications.
Installation
Requirements:
- SaltyNX 0.7.0+ installed.
- nx-ovlloader installed.
- Tesla Menu installed.
Patch/Plugin compatibility:
- It's compatible with ReverseNX patches/ReverseNX-Tool 2.0.0+.
- It's not compatible with deprecated ReverseNX plugin.
- Do not use ReverseNX-RT next to Status Monitor 0.6.0 or older (Tesla can crash on Atmosphere if you are using NX-FPS).
To install, download the latest release and place ReverseNX-RT-ovl.ovl in the /switch/.overlays/ directory.
Note: If you have a previous version installed, make sure you delete ReverseNX-RT.elf from SaltySD/plugins folder.
User guide
Main modes
When running game and everything works as should:
You have only two options here:
- Change system control (It also refers to ReverseNX-Tool flags - f.e. if you have docked flag set for this game in ReverseNX-Tool, when system control is enabled, it will force docked mode).
- Change mode (disabled if system control is enabled).
Game stays in current configuration until you will close game.
When game is not running, SaltyNX is working and plugin is detected:
You have option to (de)activate plugin from this menu. Deactivating it will result in renaming file so it will not be loaded by SaltyNX. Activating plugin renames to original filename.
Error notifications
SaltyNX is not working! - SaltyNX crashed or is not installed correctly.
Can't detect ReverseNX-RT plugin! - ReverseNX-RT plugin is not detected in sdcard SaltySD/plugins. Put plugin to correct folder without renaming it.
Game was closed! Overlay disabled! Exit from overlay and run game first! - If you were using overlay in last running game and closed game without closing overlay, you need to close overlay to use it again.
ReverseNX-RT is not running! - Plugin was not injected. It's either 32-bit game or is in SaltyNX exceptions list.
Game doesn't support changing modes! - Plugin was injected and is working, but function for checking modes was not used. Either game doesn't have one (which means there is no difference between handheld and docked) or game just checks it later than when you wanted to check (for example game may not use it for few seconds after booting was finished). You need to exit from overlay and run it again later to check if error still occurs...
WRONG MAGIC! - Something went horribly wrong and overlay is reading value from wrong memory position. It should not happen if you are opening overlay after game boot process will finish. It may also happen if you will close overlay before closing game and open it after running next game, this time not compatible with SaltyNX.
Troubleshooting
List of titles having compability issues with ReverseNX-RT:
Title | Versions | Why? |
---|---|---|
Monster Hunter Rise | 1.0.0-1.1.1 + possible later version | MessageEvent is used, to recognize plugin and apply changes you need to go back to qlaunch and back to game. |
Robotics;Notes Elite | 1.0.1 | Broken PopNotificationMessage() thread, not working at all. |
Often when I'm closing game, Atmosphere crashes with error 0x41001. Why?
Atmosphere 0.12.0 with new options for cheat engine bringed bug that causes showing this error in random instances. For some reason this overlay makes this bug occur more frequently. Either go back to 0.11.1 or update to newer version.
Changelog
v2.0
- Added support for SaltyNX 0.7.0+.
v1.1.1-update 2
- Updated plugin to add proper support for Monster Hunter Rise so now there is no need to go back to home menu.
- To achieve this 4 functions were hooked:
- nn::oe::GetNotificationMessageEvent()
- nn::os::InitializeMultiWaitHolder(nn::os::MultiWaitHolderType*, nn::os::SystemEventType*)
- nn::os::LinkMultiWaitHolder(nn::os::MultiWaitType*, nn::os::MultiWaitHolderType*)
- nn::os::WaitAny(nn::os::MultiWaitType*) - in case of detecting NotificationMessageEvent included in MultiWaitType argument it redirects call to nn::os::TimedWaitAny(nn::os::MultiWaitType*, nn::TimeSpan timeout) with timeout set to 1ms.
- Overlay was not updated.
v1.1.1
- Overlay: update libtesla to newest version that fixes random crashes in docked mode related to freeing framebuffer.
v1.1
- Read/Write data from SharedMemory instead of using dmnt:cht.
- Requires SaltyNX 0.5.0+.
- Edit: Accidentally put old files.
v1.0.2
- Added support for FW 16.0.0.
v1.0.1
- Fixed svc magic reading in overlay.
v1.0
- First Release.