

- #Bootntr troubleshooting pcalc install#
- #Bootntr troubleshooting pcalc Patch#
- #Bootntr troubleshooting pcalc code#

It uses debug sessions to have read/write access to the game.
#Bootntr troubleshooting pcalc Patch#
PokeReader doesn't patch system modules, so it's more resiliant to updates and less prone to patching incorrectly. This also prevents locks between PokeReader, the game, and the home menu. The pkrd:game session handle is given to PokeReader so games don't need to open a session, which means smaller patches.ĭebug sessions are closed after they're used so other tools (like Rosalina) can freely open debug sessions as well, provided the sessions are cleaned up after use.
#Bootntr troubleshooting pcalc code#
PokeReader receives the stack pointer as an argument, opens a debug session with the game, and runs whatever code we want for that game.The game runs the patched function and behaves the same as normal, except it also runs pkrd:game's game hook command.The patch runs pkrd:game's game hook command with a copy of the pkrd:game session handle When a game launches, PokeReader checks to see if it's a known game and patches the same function NTR patches.The launcher runs the setup command, which moves pkrd:game's session handle to PokeReader.The launcher opens a session to pkrd:game.

#Bootntr troubleshooting pcalc install#
Install out/release/pkrd.cia to your console.Install launcher/out/pkrd-launcher.cia or copy launcher/out/pkrd-launcher.3dsx to your console's /3ds directory.Run make in the launcher directory to build the launcher.Run make to build the debug and release builds.Install make, rust, makerom, ctrtool, devkitarm, and devkitpro's 3ds libs.You most likely shouldn't install it right now. PokeReader is a 3ds sysmodule that currently doesn't do anything, and is just a fun test. This is an experiment to replace ntr + pcalc with something more stable using modern Luma features.
