Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

3DS:Luma3DS/Rosalina and 3DS:Ctrcheck: Difference between pages

From Hacks Guide Wiki
(Difference between pages)
ItsCrocoSwine (talk | contribs)
 
3.0.1
 
Line 1: Line 1:
{{hatnote|1=This article is about Rosalina, accessible when booted into the HOME Menu. For information about the Luma3DS configuration menu (accessible by holding SELECT on boot), see [[3DS:Luma3DS/Configuration|this page]].}}
{{Lowercase title}}{{Infobox homebrew
| title = ctrcheck
| for3ds = 1
| developers = StarlitSkies, FrozenFire
| version = 3.0.1
| releasedate = 2024-09-17
| website = https://gist.github.com/StarlitSkies/f417c1ded9de8fceffdb532f92823377/ gist.github.com
}}


Rosalina is a system module for Luma3DS that can be accessed while your 3DS is powered on and in 3DS mode by pressing a keycombo specified in the file <code>sd:/luma/config.ini</code>. By default, the keycombo is {{B|L}} + {{B|Down}} + {{B|Select}}.
'''ctrcheck''' is a custom GodMode9 script that does a large number of [[wikipedia:Sanity check|sanity checks]] and [[wikipedia:Checksum|checksums]] on a 3DS' firmware and SD card to make troubleshooting easier through [[wikipedia:Fault isolation|fault isolation]], though it can also automatically fix certain issues.


Rosalina is ''not'' accessible from within payloads (such as GodMode9), from DS/DSi mode (such as when using a DS cartridge or when using TWiLightMenu++), or from GBA mode (such as when using GBA virtual console).
== Required Reading ==


This menu offers many options for real-time configuration of the system, including but not limited to the following:
ctrcheck does not fix the majority of issues by itself, and instead only informs the user that they exist. Some of the issues it checks for may still require large amounts of knowledge to fix - this script is not a 'miracle cure' and should not be treated as such.
* Take screenshots
* Change system settings such as brightness, active cheats, wireless status, and (on New 3DS/2DS only) clock speed & L2 cache
* Activate a blue light filter


[[3dsguide:index|Our custom firmware installation guide]] uses the Rosalina menu for multiple functions. This page will contain explanations for all the options and information present in the Rosalina menu to enable easier navigation and usage.
Additionally, ctrcheck cannot check whether the SD is damaged, only certain specific issues with reading its data. If you have an issue that might be caused by an SD being corrupted or formatted badly, the pages [[Formatting an SD card]] and/or [[Checking SD card integrity]] will be far more useful.


==Opening and navigating the Rosalina Menu==
== Instructions ==
{{info|If your {{B|L}}, {{B|D-Pad Down}}, or {{B|Select}} keys are broken, you will not be able to open the Rosalina menu by default. To fix this, modify the <code>sd:/luma/config.ini</code> file by editing the variable <code>rosalina_menu_keycombo</code> to two or more keys that work for you, such as <code>X+Y</code>. If you do not see the <code>config.ini</code>, [[3dsguide:checking-for-cfw|update Luma3DS to version 11.0 or newer]].}}


You can access Rosalina by pressing your chosen keycombo while in most areas of the system, excluding the following:
=== What You Need ===
* Safe Mode (can be bypassed, read [[3DS:Luma3DS/Configuration|Luma3DS Configuration]] for more details)
* DS and GBA games, and homebrew that enters these modes ([[3DS:DS games#TwilightMenu++|TWiLightMenu++]] being a notable example)


Once in the Rosalina menu, use {{B|D-Pad Up}} and {{B|D-Pad Down}} to navigate the options. Press {{B|A}} to choose/enable/disable an option or view a submenu. Once in a submenu, press B to return to the main menu. The currently highlighted option is denoted by a <code>></code> to the left of its text - the option highlighted when you first open the menu is <code>Take screenshot</code>.
* The latest release of [https://gist.github.com/StarlitSkies/f417c1ded9de8fceffdb532f92823377/raw/ctrcheck.gm9 ctrcheck.gm9]
** To download, right-click/long-press the page and select <code>Save page as...</code> or similar, then rename the downloaded file to <code>ctrcheck.gm9</code> if it is not already named that
* A device that you can use to transfer files to your 3DS, either via an SD slot or via [[3DS:FTP|FTP]]


While the Rosalina menu is launched, whatever is actively will pause until you exit the Rosalina menu. If you are playing a game online, this will cause your session to disconnect.


Once you are done changing options, press B until you exit Rosalina and return to the system, unpausing what is currently running.
=== Section I - Prep Work ===


==Rosalina Options==
# Power off your console and insert the SD card into your device
# Copy the downloaded <code>ctrcheck.gm9</code> into <code>sd:/gm9/scripts</code> on the SD card
# If GodMode9 either is not installed or is outdated (the latest version is v2.1.1), [[3DS:GodMode9#Installation|install the latest version now]]
# Reinsert the SD card into your console


===Take Screenshot===
=== Section II - ctrcheck ===
Takes a screenshot of both screens' content and saves it to <code>sd:/luma/screenshots</code> as two <code>.bmp</code> files. Activates immediately after being pressed.


===Change screen brightness===
# Hold {{B|START}}, and while holding {{B|START}}, power on your console. This will launch GodMode9
Shows the current luminance of the screen and allows you to change it with the D-Pad - {{B|D-Pad Up}} and {{B|D-Pad Down}} increment by 1, {{B|D-Pad Left}} and {{B|D-Pad Right}} increment by 10. The change in luminance takes effect instantly, including inside Rosalina. Note that any action that restarts the system or enters a place where Rosalina cannot function will reset brightness to the last chosen preset.
# Press the {{B|HOME}} button, then go into '''Scripts...''' -> '''ctrcheck'''
#* If ctrcheck does not appear here, [[FILEXT|enable file extensions]] and then make sure the name of the script is exactly <code>ctrcheck.gm9</code>
# Based on the type of issue you're having, select one of the top four options
#* If you are even slightly unsure about what type of issue it is, pick '''Full'''
# Accept any prompts to fix issues and unlock sysNAND write permissions that appear, then read the results on the top screen once the script finishes
# If you are following this guide at someone else's request, send a picture of the results to that person. Otherwise, if the results include any of the following, do the matching instructions:
#* <code>______ installed to firm0/firm1</code>: If the result type is <code>Information</code>, you may ignore this line. If the type is <code>Warning</code> or <code>Critical</code>, follow either [[3dsguide:updating-b9s|Updating B9S]] (if using boot9strap) or [[3DS:Fastboot3DS/Usage#Updating_fastboot3DS|Updating fastboot3DS]] (if using fastboot3DS) to get the latest version of a known good bootloader. If the type is <code>Error</code>, ask for help in the [[Get support|Nintendo Homebrew Discord]]
#* <code>Critical: NVRAM is inaccessible</code>: If your console is an old model (no ZL/ZR shoulder buttons and no C-Stick), try reseating the Wi-Fi module on the motherboard. If this does not fix it or you have a new model, download [[Media:Luma_v13.0.2_ignore-cfgnor.firm|the]] special build of Luma linked in the fourteenth word of this sentence, rename it to <code>boot.firm</code>, and put it on the root of your SD card
#** This build does not fix the issue, only stop it from causing system crashes. You will still be unable to play DS games, and if you were unable to use Wi-Fi it will also stay broken - fixing these entirely requires a hardware replacement
#* <code>Warning: The SD title database needs to be reset</code>: Using [[3dsguide:images/screenshots/database-reset.jpg|this picture]] as a guide, reset the title database. After you reset, follow [[3dsguide:finalizing-setup|Finalizing Setup]] to reacquire the homebrew apps
#* <code>Warning: There is no boot.firm/boot.3dsx in the SD card root</code>: Follow [[3dsguide:restoring-updating-cfw|Restoring / Updating CFW]] to reacquire the file(s)
#* <code>Critical: NAND is unreadable at _______...?</code>: Your console's internal storage is damaged in a way that may require advanced troubleshooting to fix. Ask for help in the [[Get support|Nintendo Homebrew Discord]]
#* <code>Bruh Moment: movable.sed is from Seedminer</code>: You have made a mistake. [[3DS:Recover_movable.sed|Find your original movable]] and restore it to the folder <code>1:/private</code>, or else uninstalling CFW will be guaranteed to brick your console. If you cannot find your original movable, ask for help in the [[Get support|Nintendo Homebrew Discord]] and provide every piece of context you know about this issue
#* If any other result(s) of the type <code>Warning</code>, <code>Critical</code>, or <code>Error</code> appear, you may want to ask for help in the [[Get support|Nintendo Homebrew Discord]] and provide the full output of ctrcheck there
{{info|text=The results of this ctrcheck can also be found on the SD card in <code>sd:/gm9/ctrcheck_latest.txt</code> - however, if you run ctrcheck again, this file will be overwritten with the new results. If permanent logging was enabled, it will also be appended to the file <code>sd:/gm9/ctrcheck_log.txt</code>.}}


===Cheats...===
[[Category:Unbricking]]
When inside a title where cheats have been selected for use (either through [[Checkpoint]] or through {{GitHub|LumaTeam/Luma3DS/wiki/Cheat-Engine|manually adding them to Luma}}, this menu shows the selected cheats. Press A on a cheat to change the <code>( )</code> to a <code>(x)</code>, at which point they will be activated when you leave Rosalina.
[[Category:Nintendo 3DS troubleshooting]]
If the title you are currently in has no cheats selected for it, the menu will instead display <code>No suitable title found</code>.
 
===Plugin Loader===
When enabled, this option will [[3DS:Game plugins/3GX|allow for the use of .3GX plugins in games.]]
 
===Process list===
{{warning|Be very careful when editing system memory, as unintended consequences may happen.}}
Shows a list of all system processes currently running, and allows you to view & edit their memory by pressing A on a process name.
 
===Debugger options...===
{{Section WIP|notes=Information on how the debugger works.}}
{{warning|This option can potentially cause system instability or even crashes - don't use it unless you know what you're doing and why.}}
Allows you to enable/disable a debugger for apps, including forcibly debugging the next application launched. Also shows the system's local IP address in Rosalina while enabled.
 
===System configuration...===
Allows you to control various elements of the system's hardware.
 
====Control volume====
Allows you to set the volume of the console, overriding the physical volume slider. Because Luma3DS only directly affects NATIVE_FIRM, this will not work in DS games, GBA games, payloads such as GodMode9, or [[3DS:Safe Mode|Safe Mode]].
 
====Control Wireless connection====
Forcibly enables a connection to a chosen WiFi slot - once active, this connection will not drop unless the signal becomes unavailable until manually disabled.
 
====Toggle LEDs====
{{Section WIP|notes=Make sure the list of disabled LEDs is accurate, and verify if the info regarding closing the system is actually erroneous or just bugged on one system.}}
When first pressed, disables the power LED and wireless LED until re-enabled manually or the system is closed while in the POWER button menu. The menu states that entering sleep mode by closing the system will always reset the LED state, but this is erroneous.
 
====Toggle Wireless====
Toggles the 3DS' ability to connect to WiFi networks. While toggled off, this stops <code>Control Wireless connection</code> from connecting to a slot. This setting's chosen option is saved and reapplied on next boot automatically.
 
====Toggle power button====
Toggles the power button's ability to enter the power-off menu. While toggled off, the power button can still be held for ~7 seconds to forcibly power off the system.
 
====Toggle power to card slot====
Toggles the 3DS' ability to read cartridges while active. This prevents the passive power drain from having a cartridge inserted, but requires you re-enable this setting or remove and reinsert the cartridge to be able to play it again.
 
===Screen filters===
Allows you to enable a blue-light filter with settings at certain degrees Kelvin, the default setting being 6500K and the range being from 1200K-10000K - if edited through <code>config.ini</code> instead, the range is 1000K-25100K. This setting's chosen option will be saved and applied on boot if you choose <code>Save settings</code> under <code>Miscellaneous options...</code> or edit it via the <code>config.ini</code>.
 
===New 3DS Menu...===
{{info|This option can only be used on a New 3DS/2DS.}}
Allows you to manually change how much CPU and L2 cache is given to the active title - this can also be changed in Luma3DS Configuration for all games. Enabling both extra clock speed and L2 cache may reveal hidden bugs in games, to unknown effect.
 
===Miscellaneous options...===
Allows for various system tweaks. Three of these, which will be noted as they appear for reference, are used on our custom firmware installation guide.
 
====Switch the hb. title to the current app.====
When inside a title, changes the active title's HOME Menu icon to open the Homebrew Launcher instead until another title is chosen or the system reboots. This is used in our custom firmware guide as a part of [[3dsguide:finalizing-setup|Finalizing Setup]] to access the Homebrew Launcher, though most system apps will work for this purpose and it is unneeded after the Homebrew Launcher Wrapper is installed.
 
====Change the menu combo====
Changes the keycombo used to access Rosalina. The change will not be preserved across a reboot unless you use the <code>Save settings</code> button.
 
====Start InputRedirection====
Starts the InputRedirection service to [[3DS:Input_redirection|allow for the use of external controllers.]]
 
====Update date and time via NTP====
Connects to a time server to remotely sync the 3DS' date and time, after a UTC offset in the form of<code>+0000</code> is chosen. The chosen time zone can be saved to Luma3DS Configuration via the <code>Save settings</code> option.
 
====Nullify user time offset====
Changes the embedded RTC clock to match the 3DS' current date and time (RTC + user time offset), then sets the offset to 0. This is done in our custom firmware guide as a part of [[3dsguide:finalizing-setup|Finalizing Setup]].
 
====Dump DSP firmware====
Copies the file <code>dspfirm.cdc</code> to <code>sd:/3ds</code> to allow homebrew apps to use the 3ds' audio. This is done in our custom firmware guide as a part of [[3dsguide:finalizing-setup|Finalizing Setup]].
 
===Save settings===
Saves the current NTP time zone, the active screen filter, and any changes to the Rosalina keycombo to <code>sd:/luma/config.ini</code>.
 
===Power off===
After a confirmation, powers off your console. Note that the console takes longer to fully shut down this way compared to doing it from the POWER button menu.
 
===Reboot===
After a confirmation, reboots your console. Notably, this takes far less time than both the <code>Power off</code> Rosalina option and manually rebooting via the POWER button.
 
===Credits===
Displays a credits page for the creation of Luma3DS and all its contributors.
 
==Rosalina Info==
In addition to system functionality, Rosalina also displays multiple pieces of system information.
At the bottom of the Rosalina menu, in order from left-to-right, the following are displayed:
* The Luma3DS version number
:* Unlike the Luma3DS configuration menu, this will not display the full commit name for [[3DS:Luma3DS forks|Luma3DS forks]]
* The current battery temperature, in °C
* The current battery voltage
* The current charge percentage, displayed to the nearest 0.1%
[[Category:Nintendo 3DS information]]

Revision as of 22:09, 17 September 2024


ctrcheck is a custom GodMode9 script that does a large number of sanity checks and checksums on a 3DS' firmware and SD card to make troubleshooting easier through fault isolation, though it can also automatically fix certain issues.

Required Reading

ctrcheck does not fix the majority of issues by itself, and instead only informs the user that they exist. Some of the issues it checks for may still require large amounts of knowledge to fix - this script is not a 'miracle cure' and should not be treated as such.

Additionally, ctrcheck cannot check whether the SD is damaged, only certain specific issues with reading its data. If you have an issue that might be caused by an SD being corrupted or formatted badly, the pages Formatting an SD card and/or Checking SD card integrity will be far more useful.

Instructions

What You Need

  • The latest release of ctrcheck.gm9
    • To download, right-click/long-press the page and select Save page as... or similar, then rename the downloaded file to ctrcheck.gm9 if it is not already named that
  • A device that you can use to transfer files to your 3DS, either via an SD slot or via FTP


Section I - Prep Work

  1. Power off your console and insert the SD card into your device
  2. Copy the downloaded ctrcheck.gm9 into sd:/gm9/scripts on the SD card
  3. If GodMode9 either is not installed or is outdated (the latest version is v2.1.1), install the latest version now
  4. Reinsert the SD card into your console

Section II - ctrcheck

  1. Hold START, and while holding START, power on your console. This will launch GodMode9
  2. Press the HOME button, then go into Scripts... -> ctrcheck
    • If ctrcheck does not appear here, enable file extensions and then make sure the name of the script is exactly ctrcheck.gm9
  3. Based on the type of issue you're having, select one of the top four options
    • If you are even slightly unsure about what type of issue it is, pick Full
  4. Accept any prompts to fix issues and unlock sysNAND write permissions that appear, then read the results on the top screen once the script finishes
  5. If you are following this guide at someone else's request, send a picture of the results to that person. Otherwise, if the results include any of the following, do the matching instructions:
    • ______ installed to firm0/firm1: If the result type is Information, you may ignore this line. If the type is Warning or Critical, follow either Updating B9S (if using boot9strap) or Updating fastboot3DS (if using fastboot3DS) to get the latest version of a known good bootloader. If the type is Error, ask for help in the Nintendo Homebrew Discord
    • Critical: NVRAM is inaccessible: If your console is an old model (no ZL/ZR shoulder buttons and no C-Stick), try reseating the Wi-Fi module on the motherboard. If this does not fix it or you have a new model, download the special build of Luma linked in the fourteenth word of this sentence, rename it to boot.firm, and put it on the root of your SD card
      • This build does not fix the issue, only stop it from causing system crashes. You will still be unable to play DS games, and if you were unable to use Wi-Fi it will also stay broken - fixing these entirely requires a hardware replacement
    • Warning: The SD title database needs to be reset: Using this picture as a guide, reset the title database. After you reset, follow Finalizing Setup to reacquire the homebrew apps
    • Warning: There is no boot.firm/boot.3dsx in the SD card root: Follow Restoring / Updating CFW to reacquire the file(s)
    • Critical: NAND is unreadable at _______...?: Your console's internal storage is damaged in a way that may require advanced troubleshooting to fix. Ask for help in the Nintendo Homebrew Discord
    • Bruh Moment: movable.sed is from Seedminer: You have made a mistake. Find your original movable and restore it to the folder 1:/private, or else uninstalling CFW will be guaranteed to brick your console. If you cannot find your original movable, ask for help in the Nintendo Homebrew Discord and provide every piece of context you know about this issue
    • If any other result(s) of the type Warning, Critical, or Error appear, you may want to ask for help in the Nintendo Homebrew Discord and provide the full output of ctrcheck there
Info icon The results of this ctrcheck can also be found on the SD card in sd:/gm9/ctrcheck_latest.txt - however, if you run ctrcheck again, this file will be overwritten with the new results. If permanent logging was enabled, it will also be appended to the file sd:/gm9/ctrcheck_log.txt.