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

3DS:Remove Shiny Lock and User:ItsCrocoSwine/sandbox2: Difference between pages

From Hacks Guide Wiki
(Difference between pages)
Naecker (talk | contribs)
 
ItsCrocoSwine (talk | contribs)
Copy of MMM
 
Line 1: Line 1:
==Remove Shiny- Locks in Pokémon games==
{{hatnote|This page is a guide to transferring data between systems without doing a System Transfer, and usually should only be done if the '''source console''' you are transferring from is nonfunctional or you only have its SD.
This guide will show you how to remove shiny locks and edit shiny chance from the generation 6 and 7 Pokémon games on the 3DS using LayeredFS and pk3DS
<br>If you do not have a specific reason to follow this guide (i.e. both consoles are usable), do [[3DS:System Transfer|a System Transfer]] instead.}}
{{shortcut|3DS:MMM}}


==Compatibility Notes==
= Required Reading (Do NOT ignore) =


{{info|This guide requires you have [[Custom firmware|CFW]] with [[3DS:Luma3DS|Luma3DS]] 8.0+ (preferably latest).}}
This guide can potentially cause unexpected results if done wrong. Please ensure you read the steps carefully to prevent these unexpected results from happening.
{{info|This guide requires a computer running Windows.}}
<br>Additionally, ensure you have read the following three warnings to have a full understanding of the potential risks of this guide.


==What You Need==
{{critical|text=Do '''NOT''' use a <code>movable.sed</code> from Bruteforce Movable as your system movable (in general, but especially not for this guide). Doing so may cause other issues with the system, and '''WILL''' result in a guaranteed brick if you uninstall CFW while using that movable. Always keep a backup of your original <code>movable.sed</code> if you do so.}}


*The latest release of [https://projectpokemon.org/home/forums/topic/34377-pk3ds-pok%C3%A9mon-3ds-rom-editor-and-randomizer/ pk3DS]
{{warning|text=If you have already done this guide at any time before the date 2024-08-11, then uninstalling CFW will brick your console, as FixupMovable is required to avoid crashing on stock firmware.
*The latest release of [https://github.com/d0k3/GodMode9/releases GodMode9]
<br>If this applies to you, you can fix stock firmware by booting into [[3DS:GodMode9|GodMode9]], copying your <code>movable.sed</code> from <code>1:/private</code> to the '''destination console''''s SD root, copying <code>FixupMovable.py</code> to the SD root, and then doing the instructions from Section IV onward on the '''destination console''' only.}}


==Section I - Dumping exefs and romfs from your game==
{{warning|text=Any games/savedata/themes/DSiWare that was already on the destination console's SD card will become inaccessible once the guide is completed - you will only be able to use the data transferred over from the source console. To access the destination console's data again, you must undo the moveover by replacing.
<br>This guide has you extract the original versions of those files so you are able to undo it if you need to - ''do not lose those files.''}}


#Press and hold {{B|Start}}, while still holding {{B|Start}}, power on your console to launch GodMode9
{{info|If the above warning will cause issues for you and you are willing to take extra steps to avoid it, you can instead use [[ninfs]] to merge the source console's encrypted files onto the destination console, then [[3DS:Rebuild Title Database|rebuild title.db]] to make any merged games/apps appear.<br>
#Navigate to <code>[C:] GAMECART</code>
However, note that even this method will '''not''' bypass the issues of using a Bruteforce Movable <code>movable.sed</code>.}}
#Press {{B|A}} on <code>[TitleID].trim.3ds</code>
#Select NCSD image options...
#Select Mount image to drive
#Press {{B|A}} to enter drive
#Press {{B|A}} on <code>content0.game</code>
#Hover over the folder <code>exefs</code> and press {{B|R}} + {{B|A}}
#Select <code>Copy to 0:/gm9/out</code>
#When done hover over the folder <code>romfs</code> and press {{B|R}} + {{B|A}}
#Select <code>Copy to 0:/gm9/out</code>
#When thats done press {{B|Start}}
#Your dumped <code>exefs</code> and <code>romfs</code> can be found in <code>/gm9/out/</code>


==Section II - Removing shiny lock==
If you are confused in any way, join [https://discord.gg/C29hYvh the Nintendo Homebrew Discord] and ask for help in the 3ds-assistance channels.


===Preperation===
== What You Need ==


#Power off your console
* Two 3DS consoles, both modded with [[3DS:Luma3DS|Luma3DS]]
#insert your SD Card into your Computer
** These will be referred to as the '''source console''' and '''destination console''' for this guide's purposes
#create a folder on your Computer named after the game you want to patch <code>[gamefolder]</code>
** If either console is not currently modded, stop and mod it with [[3dsguide:|our custom firmware installation guide]] first
#Move the <code>exefs</code> and <code>romfs</code> folders from your SD Card in the folder you just created <code>[gamefolder]</code>
* The '''source console''''s <code>essential.exefs</code>, such as the one created in [[3dsguide:finalizing-setup|our guide's Finalizing Setup]]
#go into the <code>exefs</code> folder
** If you already have the '''source console's''' <code>movable.sed</code> outside of a <code>.exefs</code> file, you can use that directly
#rename the <code>.code</code> file to <code>.code.bin</code>
* A version of [https://www.python.org/downloads/ Python 3]
#extract the pk3DS <code>.zip</code> on your Computer and double click on <code>pk3DS.WinForms.exe</code>
* The latest version of {{GitHub|/ihaveamac/faketik/releases/latest|faketik}} (the <code>.3dsx</code> file)
#click on <code>file</code>, <code>open</code>
* The latest version of {{GitHub|d0k3/GodMode9/releases/latest|GodMode9}} (the GodMode9 <code>.zip</code> file)
#now select the folder where the <code>exefs</code> and <code>romfs</code> folders are located
* The latest version of {{GitHub|fox8091/FixupMovable/releases/latest|FixupMovable}} (the <code>FixupMovable.py</code> file)


===Generation Specific===


<tabber>
== Instructions ==
|-|Generation 6=
<span>
#in pk3DS click on <code>ExeFS</code>, than on <code>Shiny Rate</code>
#here click on <code>EVERYTHING SHINY</code> and than on <code>SAVE</code>, this is to check, if everything is running correct
#Now click on <code>CRO</code>, than on <code>Static Encounters</code>
#Remove the checkmark on every pokemon in the list
#Click on <code>SAVE</code> and than on <code>Gift pokémon</code>
#Remove the checkmark on every pokemon in the list
#Click on <code>SAVE</code> and close pk3DS
#go into your <code>exefs</code> folder and copy <code>.code.bin</code>
#Paste the <code>.code.bin</code> folder in the Root of the game folder you created on step 3!!!!!!
#Rename the <code>.code.bin</code> file to <code>code.bin</code>
#go into your <code>romfs</code> folder and copy <code>DllField.cro</code>
#Paste the <code>DllField.cro</code> folder in the Root of the game folder you created on step 3!!!!!!
</span>
|-|Generation 7=
<span>
{{warning|unselecting everything in <code>Randomizer Options</code> except <code>Remove Shiny Locks</code>doesnt work}}
#in pk3DS click on <code>ExeFS</code>, than on <code>Shiny Rate</code>
#here click on <code>EVERYTHING SHINY</code> and than on <code>SAVE</code>, this is to check, if everything is running correct
#Now click on <code>RomFS</code>, than on <code>Static Encounters</code>
#in Section <code>Gifts</code> and <code>Encounters</code> remove the checkmark on <code>Shiny Locks</code> on every Pokemon
#Click on <code>SAVE</code> and close pk3DS
#go into your <code>exefs</code> folder and copy <code>.code.bin</code>
#Paste the <code>.code.bin</code> folder in the Root of the game folder you created on step 3!!!!!!!!!!
#Rename the <code>.code.bin</code> file to <code>code.bin</code>
#Copy the file called 9 in <code>[gamefolder]\romfs\a\1\5</code> to the root of the <code>[gamefolder]</code>
</span>
</tabber>


==Section IV - Preparing the SD Card==
=== Section I - Prep Work ===


<tabber>
{{info|Follow these instructions on the '''destination console''' only.}}
|-|Generation 6=
<span>
#test
#test
#test
#test
#test
#test
</span>
<span>
|-|Generation 7=
<span>
#On Your SD Card go to <code>/luma/titles/</code> and create a folder with the corresponding <code>TitleID</code> of the game you patched
#* Create a <code>titles</code> folder if you don't already have one
#Copy the <code>code.bin</code> in the <code>TitleID</code> folder
#in the <code>TitleID</code> folder create a folder called <code>romfs</code>
#in the <code>romfs</code> folder create a folder called <code>a</code>
#in the <code>a</code> folder create 4 folders called <code>0</code>, <code>1</code>, <code>2</code> and <code>3</code>
#in each of the 4 folders need to be 10 folders called <code>0</code>, <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code> and <code>9</code>
#copy the file called <code>9</code> of the root of the <code>[gamefolder]</code> and paste it in <code>[TitleID]\romfs\a\1\5</code>
</span>
</tabber>


==Section V - Patching the Game==
# Power off your console and insert your SD card into your computer
# Copy <code>GodMode9.firm</code> from the GodMode9 <code>.zip</code> to the <code>/luma/payloads/</code> folder on your SD card
# Copy the <code>gm9</code> folder from the GodMode9 <code>.zip</code> to the root of your SD card
# Copy <code>FixupMovable.py</code> to the root of your SD card
# Create a folder named <code>3ds</code> on the root of your SD card if it does not already exist
#* This folder stores homebrew applications and data; it is different from the <code>Nintendo 3DS</code> folder that the console automatically generates
# Copy <code>faketik.3dsx</code> to the <code>3ds</code> folder on the root of your SD card
# Copy the '''source console''''s <code>essential.exefs</code> to the root of your SD card and rename it to <code>old-essential.exefs</code>
#* If you have the '''source console''''s <code>movable.sed</code> already in raw form, you can copy that file to the root of the SD card instead
# Reinsert your SD card into your console


# Eject your SD Card from your Computer and reinsert it into your console
=== Section II - Backing up essential.exefs ===
# Press and hold {{B|Select}}, while still holding {{B|Select}}, power on your console to open the Luma configuration menu
# Select <code>Enable game patching</code> then press {{B|Start}} to save and exit


==Section VI - General Stuff==
{{warning|text=If you skip this section and do not have any other backups, then you will be unable to undo the moveover and the '''destination console''''s <code>movable.sed</code> will be permanently lost.}}


===Deinstaling gamepatches===
# Press and hold {{B|START}}, and while holding {{B|START}}, power on your console. This will launch GodMode9
#start <code>System Setting</code> on the 3DS
# Enter the <code>[S:] SYSNAND VIRTUAL</code> drive
#Click on <code>Data Management</code>, <code>Nintendo 3DS</code>, <code>Add-on content</code>
# Press {{B|A}} on <code>essential.exefs</code> to select it
#Click on the game you want to patch and than click <code>Delete</code>
# Press {{B|A}} on '''Copy to 0:/gm9/out'''
#* If you see '''Destination already exists''', press {{B|A}} on '''Overwrite file(s)'''
# Press {{B|A}} to continue
# Press {{B|B}} until you return to the drive list


===Editing shiny Chance===
{{info|text=The destination console's original <code>essential.exefs</code> file will be in <code>sd:/gm9/out</code> on its SD card. It is highly recommended to back up this file to a safe location.}}


<tabber>
=== Section III - Extracting movable.sed ===
|-|Generation 6=
 
<span>
# Navigate into the drive <code>[0:] SDCARD</code>
#test
# Press {{B|A}} on <code>old-essential.exefs</code>, and select '''Mount as EXEFS image'''
#test
#* If you instead copied <code>movable.sed</code> to the SD root, press {{B|Y}} on that file and skip to the next section
#test
# Find the file named <code>movable</code> inside the image mount, and press {{B|Y}} to copy it to the clipboard
#test
# Press {{B|B}} to exit from the image mount, then navigate back into the drive <code>[0:] SDCARD</code>
#test
# Press {{B|Y}} to paste <code>movable</code> in the root of the SD card
#test
# Press {{B|R|START}} to power off the console
</span>
 
|-|Generation 7=
=== Section IV - FixupMovable ===
<span>
 
#open pk3DS
{{info|If you are not on Windows, replace <code>py -3</code> with <code>python3</code> in all commands.}}
#ignore the next step, if the correct gamefolder is auto selected from pk3DS
 
#*if the correct folder isnt selected follow step 8 and 9 from <code>Section II</code>
{{warning|The commands in this section are case-sensitive. Enter them exactly as written, or there may be unintended consequences.}}
#in pk3DS click on <code>ExeFS</code>, than on <code>Shiny Rate</code>
 
#here you can now setup your wanted shiny chances with <code>Reroll Helper</code>
# Insert the console's SD card into your PC
#hit <code>SAVE</code> after you selected the wanted shiny chance
# Open a file explorer window and navigate to the SD card's root
#close pk3DS and go to <code>[gamefolder]/exefs</code> and copy <code>.code.bin</code> to the root of the <code>[gamefolder]</code>
# Rename <code>movable</code> to <code>movable.sed</code>
#*if the old code.bin file is here, delete the file first
# Hold {{B|SHIFT}} and right-click anywhere in the folder's empty space, then click the option that opens a terminal, PowerShell, or Command Prompt
#rename <code>.code.bin</code> to <code>code.bin</code>
# In this new window, enter the following commands one at a time:
#move <code>code.bin</code> to <code>/luma/titles/[TitleID]</code> on your SD Card and replace the old <code>code.bin</code> with the new <code>code.bin</code>
## <code>py -3 -V</code>
</span>
##* If this does not print the Python version, it is either not installed correctly, or the wrong command was used. Please read the note above.
</tabber>
## <code>py -3 FixupMovable.py movable.sed</code>
##* After this, <code>movable.sed</code> should be exactly 288 bytes in size. If it isn't, try the command again
# Eject the SD card and reinsert it into the console
 
=== Section V - Replacing movable.sed ===
 
# Press and hold {{B|START}}, and while holding {{B|START}}, power on your console. This will launch GodMode9
# Navigate into the drive <code>[0:] SDCARD</code>
# Press {{B|Y}} to copy <code>movable.sed</code> to the clipboard
# Press {{B|B}} to return to the drive list
# Navigate into the drive <code>[1:] SYSNAND CTRNAND</code>, then enter the <code>private</code> folder
# Press {{B|X}} on <code>movable.sed</code> and press {{B|A}} to confirm deletion
# Unlock '''Writing to SysNAND (lvl1)''' when prompted, then input the given key combo
# Press {{B|Y}} to paste the new <code>movable.sed</code> from the clipboard
# Press {{B|B}} until you have returned to the drive list
# Press {{B|R|A}} on the drive <code>[1:] SYSNAND CTRNAND</code> and select '''Fix CMACs for drive'''
# Once this finishes, press {{B|START}} to reboot your console
# Your console may act like it has just been formatted - this does not mean your data has been lost. If it does this, proceed normally through initial setup and get to the HOME Menu
 
=== Section VI - Reinstating Apps ===
 
# Launch the '''Download Play''' application
# Wait until you see the two buttons
#* Do not press either of the buttons
# Press {{B|L|DOWN|SELECT}} at the same time to open the Rosalina menu
# Select '''Miscellaneous options'''
# Select '''Switch the hb. title to the current app.'''
# Press {{B|B}} to continue
# Press {{B|B}} to return to the Rosalina main menu
# Press {{B|B}} to exit the Rosalina menu
# Press {{B|HOME}}, then close '''Download Play'''
# Relaunch the '''Download Play''' application
# Your console should load the '''Homebrew Launcher'''
# Launch '''faketik''' from the list of homebrew
# Wait until the process is completed
# Press {{B|START}} to exit
# Reboot your console
 
{{success|text=The moveover is complete. Congratulations for performing a complex procedure.}}
 
[[Category:Nintendo 3DS guides]]

Revision as of 02:20, 14 September 2024

Required Reading (Do NOT ignore)

This guide can potentially cause unexpected results if done wrong. Please ensure you read the steps carefully to prevent these unexpected results from happening.
Additionally, ensure you have read the following three warnings to have a full understanding of the potential risks of this guide.

Critical icon Do NOT use a movable.sed from Bruteforce Movable as your system movable (in general, but especially not for this guide). Doing so may cause other issues with the system, and WILL result in a guaranteed brick if you uninstall CFW while using that movable. Always keep a backup of your original movable.sed if you do so.
Warning icon If you have already done this guide at any time before the date 2024-08-11, then uninstalling CFW will brick your console, as FixupMovable is required to avoid crashing on stock firmware.
If this applies to you, you can fix stock firmware by booting into GodMode9, copying your movable.sed from 1:/private to the destination console's SD root, copying FixupMovable.py to the SD root, and then doing the instructions from Section IV onward on the destination console only.
Warning icon Any games/savedata/themes/DSiWare that was already on the destination console's SD card will become inaccessible once the guide is completed - you will only be able to use the data transferred over from the source console. To access the destination console's data again, you must undo the moveover by replacing.
This guide has you extract the original versions of those files so you are able to undo it if you need to - do not lose those files.
Info icon If the above warning will cause issues for you and you are willing to take extra steps to avoid it, you can instead use ninfs to merge the source console's encrypted files onto the destination console, then rebuild title.db to make any merged games/apps appear.
However, note that even this method will not bypass the issues of using a Bruteforce Movable movable.sed.

If you are confused in any way, join the Nintendo Homebrew Discord and ask for help in the 3ds-assistance channels.

What You Need

  • Two 3DS consoles, both modded with Luma3DS
    • These will be referred to as the source console and destination console for this guide's purposes
    • If either console is not currently modded, stop and mod it with our custom firmware installation guide first
  • The source console's essential.exefs, such as the one created in our guide's Finalizing Setup
    • If you already have the source console's movable.sed outside of a .exefs file, you can use that directly
  • A version of Python 3
  • The latest version of faketik (the .3dsx file)
  • The latest version of GodMode9 (the GodMode9 .zip file)
  • The latest version of FixupMovable (the FixupMovable.py file)


Instructions

Section I - Prep Work

Info icon Follow these instructions on the destination console only.
  1. Power off your console and insert your SD card into your computer
  2. Copy GodMode9.firm from the GodMode9 .zip to the /luma/payloads/ folder on your SD card
  3. Copy the gm9 folder from the GodMode9 .zip to the root of your SD card
  4. Copy FixupMovable.py to the root of your SD card
  5. Create a folder named 3ds on the root of your SD card if it does not already exist
    • This folder stores homebrew applications and data; it is different from the Nintendo 3DS folder that the console automatically generates
  6. Copy faketik.3dsx to the 3ds folder on the root of your SD card
  7. Copy the source console's essential.exefs to the root of your SD card and rename it to old-essential.exefs
    • If you have the source console's movable.sed already in raw form, you can copy that file to the root of the SD card instead
  8. Reinsert your SD card into your console

Section II - Backing up essential.exefs

Warning icon If you skip this section and do not have any other backups, then you will be unable to undo the moveover and the destination console's movable.sed will be permanently lost.
  1. Press and hold START, and while holding START, power on your console. This will launch GodMode9
  2. Enter the [S:] SYSNAND VIRTUAL drive
  3. Press A on essential.exefs to select it
  4. Press A on Copy to 0:/gm9/out
    • If you see Destination already exists, press A on Overwrite file(s)
  5. Press A to continue
  6. Press B until you return to the drive list
Info icon The destination console's original essential.exefs file will be in sd:/gm9/out on its SD card. It is highly recommended to back up this file to a safe location.

Section III - Extracting movable.sed

  1. Navigate into the drive [0:] SDCARD
  2. Press A on old-essential.exefs, and select Mount as EXEFS image
    • If you instead copied movable.sed to the SD root, press Y on that file and skip to the next section
  3. Find the file named movable inside the image mount, and press Y to copy it to the clipboard
  4. Press B to exit from the image mount, then navigate back into the drive [0:] SDCARD
  5. Press Y to paste movable in the root of the SD card
  6. Press R+START to power off the console

Section IV - FixupMovable

Info icon If you are not on Windows, replace py -3 with python3 in all commands.
Warning icon The commands in this section are case-sensitive. Enter them exactly as written, or there may be unintended consequences.
  1. Insert the console's SD card into your PC
  2. Open a file explorer window and navigate to the SD card's root
  3. Rename movable to movable.sed
  4. Hold ⇧ Shift and right-click anywhere in the folder's empty space, then click the option that opens a terminal, PowerShell, or Command Prompt
  5. In this new window, enter the following commands one at a time:
    1. py -3 -V
      • If this does not print the Python version, it is either not installed correctly, or the wrong command was used. Please read the note above.
    2. py -3 FixupMovable.py movable.sed
      • After this, movable.sed should be exactly 288 bytes in size. If it isn't, try the command again
  6. Eject the SD card and reinsert it into the console

Section V - Replacing movable.sed

  1. Press and hold START, and while holding START, power on your console. This will launch GodMode9
  2. Navigate into the drive [0:] SDCARD
  3. Press Y to copy movable.sed to the clipboard
  4. Press B to return to the drive list
  5. Navigate into the drive [1:] SYSNAND CTRNAND, then enter the private folder
  6. Press X on movable.sed and press A to confirm deletion
  7. Unlock Writing to SysNAND (lvl1) when prompted, then input the given key combo
  8. Press Y to paste the new movable.sed from the clipboard
  9. Press B until you have returned to the drive list
  10. Press R+A on the drive [1:] SYSNAND CTRNAND and select Fix CMACs for drive
  11. Once this finishes, press START to reboot your console
  12. Your console may act like it has just been formatted - this does not mean your data has been lost. If it does this, proceed normally through initial setup and get to the HOME Menu

Section VI - Reinstating Apps

  1. Launch the Download Play application
  2. Wait until you see the two buttons
    • Do not press either of the buttons
  3. Press L++SELECT at the same time to open the Rosalina menu
  4. Select Miscellaneous options
  5. Select Switch the hb. title to the current app.
  6. Press B to continue
  7. Press B to return to the Rosalina main menu
  8. Press B to exit the Rosalina menu
  9. Press HOME, then close Download Play
  10. Relaunch the Download Play application
  11. Your console should load the Homebrew Launcher
  12. Launch faketik from the list of homebrew
  13. Wait until the process is completed
  14. Press START to exit
  15. Reboot your console
Success icon The moveover is complete. Congratulations for performing a complex procedure.