Hacking 3DS CFW Install Speed Run Proposal

DocKlokMan

Plugin Dev
OP
Member
Joined
Apr 20, 2007
Messages
3,009
Trophies
2
Age
36
XP
4,571
Country
United States
Seeing as speed run videos are making their way out there with the improvements to GodMode9’s scripting capabilities and the easy of use with NTRBootHax, I’ve decided to try and lay some foundations on the speed run rules in order to make competition among speed runners equal and fair.

The main points that need to be touched on are:

  • When does the speed run start?
  • What needs to be included?
  • When does it end?
  • What prep work can be done beforehand?
  • Are there any restrictions or categories?

When does the speed run start?
The speed run should start when you reach for the stock 3DS or SD card with the intent to start hacking. This could mean reaching for the screw driver to remove the back panel, reaching for the 3DS, reaching for the NDS flash cart or whatever your first step in the speed run is.

What needs to be included?
This was a bit tricky as everyone has their own definition of when a hack is completed. I figured to narrow it down to just the bare essentials to get a system that can be customized with homebrew and games for the average user. This led me to these basic requirements:
  • Boot9Strap installed to FIRM0 and FIRM1
  • Luma3DS (or other CFW) installed to both the SD card and the CTRNAND.
  • Homebrew Launcher
  • FBI
From that point forward, the user can use FBI > TitleDB to download and install any other homebrew they wish and customize their installation. So I find that from stock to launching of FBI to be the bare minimum to consider as a speed run hack and have it be sporting.

When does it end?
The speed run should end as soon as the main FBI menu is displayed when launched **from the homebrew launcher**. Seeing as homebrew launcher is a part of the requirements above, running FBI from that menu would satisfy displaying the final two requirements and end the speed run.

What prep work can be done beforehand?
Prep work that would be common to hacking multiple 3DS’s can be done prior to the speed run’s start. This means downloading the appropriate files and homebrew, injecting software into the NDS flash cart, collecting the tools such as screw driver and magnet, etc. This also includes going through the initial setup on the 3DS so that you are at the home menu.

Are there any restrictions or categories?
First, all 3DS speed runs are automatically considered to be part of the software TAS category as installing B9S or CFW can not be done without the use of third party software on the SD card or in the cartridge slot. So by default, software TAS is assumed with all speed runs.

Categories can include Basic installs, which follow the minimum requirements listed above or a 100% run which would give you the end result (for both 3DS and SD card) that you would accomplish by following every step of the official guide (http://3ds.guide/). You may also have a No Scripts category, which means while you can use GodMode9, you cannot use it’s scripting capabilities.

As for restrictions, the 3DS must be completely stock, no currently installed CFW, Boot9Strap, A9LH, Homebrew access or cartridge in the game slot. This includes the SD card, it cannot have anything homebrew or CFW related on it. When you start the run the SD card must be inserted into the 3DS and have the back plate on and the 3DS must be powered off.

Any software you use in the process of the speed run must be publicly available for anyone to use in their speed runs. While custom made software could complete the process in a single step, to be fair only software available to all will be considered.

Example
Following the guide lines below I have included a video of my own speed run, which starts by showing that the 3DS is indeed stock (as is the SD card), followed by the actual timed portion of the speed run beginning when I reach for the NDS flash cart and ends when FBI’s main menu appears on screen.

3DS software that was used:
  • GodMode9 v1.4.3 w/ autorun script, preloaded VRAM0 & built-in AESKeys
  • ZIP3DSFX v0.6
  • NTRBoot_Flasher v0.3.0
  • FBI
  • Homebrew Launcher

Video:
https://streamable.com/cbtq2
 

DocKlokMan

Plugin Dev
OP
Member
Joined
Apr 20, 2007
Messages
3,009
Trophies
2
Age
36
XP
4,571
Country
United States
You need a more definitive starting point to actually time a speedrun. For any actual speedrun you need definitive starting and ending points to get comparable times.

Also technically it does not fall within a TOS. That would be like saying someone running a speedrun on an emulator is a TOS. Theres more to it than that.
Speed runs with physical challenges, such as Rubik's cubes, also have similar starting conditions. Since hacking a 3DS requires physically handling it, we cannot use the same standard starting markers as a video game speed run would, which is entirely software based.

As for this being TAS, it most certainly is, speed running a game on an emulator is not comparable as you're only speed running the game itself, self-contained and without outside interference or code. Thus the platform it's played on does not play a part, but with the 3DS it largely relies on the amount of automation and accuracy your third party software uses, variances that are not present in traditional video game speed runs but which are present in TAS speed runs.
 

TheCyberQuake

Certified Geek
Member
Joined
Dec 2, 2014
Messages
5,012
Trophies
1
Age
28
Location
Las Vegas, Nevada
XP
4,432
Country
United States
Speed runs with physical challenges, such as Rubik's cubes, also have similar starting conditions. Since hacking a 3DS requires physically handling it, we cannot use the same standard starting markers as a video game speed run would, which is entirely software based.

As for this being TAS, it most certainly is, speed running a game on an emulator is not comparable as you're only speed running the game itself, self-contained and without outside interference or code. Thus the platform it's played on does not play a part, but with the 3DS it largely relies on the amount of automation and accuracy your third party software uses, variances that are not present in traditional video game speed runs but which are present in TAS speed runs.
Rubix cube is fairly definitive with its starting point. The time is started as soon as the person begins. You have to have a reasonable way to time a speedrun. Your current proposed start isn't explicit enough unless no one cares about comparing times. You have to have a fairly standard start to make only skill the determining factor. Your start is to arbitrary for anyone to want to bother timing. It should be where tools are set on the table, 3ds off and closed (if clamshell), and then once timer starts the runner can touch the 3ds and tools. Any speedrunner knows you need video proof of times for official record, and no one will record themselves frantically running around their house grabbing tools.
It doesn't have to be an exact setup, but your proposed start isn't specific enough for comparable times. Watch any rubiks cube run and you will see them all start in a similar fashion for their category.
 
  • Like
Reactions: dimmidice

Uumas

Well-Known Member
Member
Joined
Sep 17, 2016
Messages
2,004
Trophies
0
Age
21
XP
1,147
Country
Finland
Suggestion: Starting point is exactly when your hand touches the flashcart, screwdriver or sd card
 

aos10

Yuuki chan
Member
Joined
Apr 10, 2012
Messages
4,756
Trophies
2
Age
38
XP
4,029
Country
Saudi Arabia
this speed hax test should begin the moment you remove the SD from 3DS to put the files and put them back in, you don't need to close the back cover, and keep the NTRboot card close or inside the system.
 

TheFIrstAv3nger

Well-Known Member
Member
Joined
Apr 2, 2017
Messages
122
Trophies
0
Age
32
Location
Michigan
XP
235
Country
United States
Nice run man. Though about the prep work, think it should be acceptable to have the flashcart and/or SD already inserted?

--------------------- MERGED ---------------------------

this speed hax test should begin the moment you remove the SD from 3DS to put the files and put them back in, you don't need to close the back cover, and keep the NTRboot card close or inside the system.

He doesn't use a sd card for the files. They are baked right into godmode9.
 

Slattz

Easygoing Fairy
Member
Joined
Nov 21, 2015
Messages
1,259
Trophies
1
XP
1,787
Country
Ireland
this speed hax test should begin the moment you remove the SD from 3DS to put the files and put them back in, you don't need to close the back cover, and keep the NTRboot card close or inside the system.
I disagree with this as a starting point as it adds another variable, which is your sd readers R/W speed and the general speed of the pc or whatever device you use to put the files on the SD card. I believe for a speedrun like this, there should be as less variables as possible for things other than the 3ds, SD and flashcart.
 
  • Like
Reactions: TheFIrstAv3nger

aos10

Yuuki chan
Member
Joined
Apr 10, 2012
Messages
4,756
Trophies
2
Age
38
XP
4,029
Country
Saudi Arabia
Nice run man. Though about the prep work, think it should be acceptable to have the flashcart and/or SD already inserted?

--------------------- MERGED ---------------------------



He doesn't use a sd card for the files. They are baked right into godmode9.
isn't the b9s installer and luma and other files needed to on the 3DS SD card to use godmod9 script?
I disagree with this as a starting point as it adds another variable, which is your sd readers R/W speed and the general speed of the pc or whatever device you use to put the files on the SD card. I believe for a speedrun like this, there should be as less variables as possible for things other than the 3ds, SD and flashcart.
fair point, but the point of every speed run is to start from A to Z with clean save, unless there is rules for that.
for example, you can't speed run RE4 and you have unlimited rocket launcher in normal speed run unless the speed run rules allow it.
 

urherenow

Well-Known Member
Member
Joined
Mar 8, 2009
Messages
4,777
Trophies
2
Age
48
Location
Japan
XP
3,677
Country
United States
Godmode9 has absolutely nothing to do with this. I hacked an N2DS in less than 2 minutes not 2 hours ago, and all said requirements were met.

1)remove microSD card from N2DS (much faster than N3DS)
2)pop in my laptop and copy all files I prepared in a folder (bunch of .3dsx homebrew, FBI, CIAngel, VirtuaNES, luma updater, Luma, extra .firm files like Godmode9 and Decrypt9WIP, etc...)
3) put card back in 2DS, along with my ak2i (ntrboot)
4) Place magnet, install b9s
5) enable rom patching (optional) and let it boot into menu
6) Launch download play, set HBL with Rosalina, close download play
7) Reopen download play (launching HBL)
8) Launch FBI.3dsx, and install all the .cia files I had copied.

Done.

Even starting the timer before taking my laptop out of the box, it takes less than 2 minutes. Granted, My ak2i launches ntrboot.firm as Safeb9sInstaller while luma is there as boot.firm, so no swapping around of files is needed at all. And definitely not Godmode9 scripts.

EDIT: and to be fair (after reading through the OP again) Custom builds that boot safeb9sinstaller as ntrboot.firm HAVE been posted in threads and are therefore available to all.

EDIT2: Just (sort of) saw the OP video. That was pretty damn fast! To be fair, my < 2 minutes does include installing a few .cia files :P, and copying files from my PC. I don't see the point in hacking a system for anybody without giving them homebrew to play with along with it. Also, with ntrboot, the firmware currently on the system has no relevance whatsoever. Saw no point in showing 11.6. The system I just did was on 11.4. So what?
 
Last edited by urherenow,

tunip3

[debugger active]
Banned
Joined
Oct 31, 2016
Messages
1,675
Trophies
0
XP
1,661
Country
United Kingdom
It needs to start once the files are copied to the SD and install times need to be deducted or else people with slower SD cards will end up with slower times
 

DocKlokMan

Plugin Dev
OP
Member
Joined
Apr 20, 2007
Messages
3,009
Trophies
2
Age
36
XP
4,571
Country
United States
Suggestion: Starting point is exactly when your hand touches the flashcart, screwdriver or sd card
That's not a bad idea, I just didn't have the space on my video to have all the tools within viewing, but maybe some kind of touch based start point could be used as long as it's captured on video.

Could you share your scripts PC-Less and SD-Less?

Beautifull your seed run, please share your script...
I plan to share them, along with a few different variations, likely tomorrow.

isn't the b9s installer and luma and other files needed to on the 3DS SD card to use godmod9 script?

fair point, but the point of every speed run is to start from A to Z with clean save, unless there is rules for that.
for example, you can't speed run RE4 and you have unlimited rocket launcher in normal speed run unless the speed run rules allow it.
No, in the beginning of the video I show there's no other files present on the SD card, only the Nintendo 3DS folder. Every file used for this speed run is pre-compiled into the actual flash card.
Godmode9 has absolutely nothing to do with this. I hacked an N2DS in less than 2 minutes not 2 hours ago, and all said requirements were met.

1)remove microSD card from N2DS (much faster than N3DS)
2)pop in my laptop and copy all files I prepared in a folder (bunch of .3dsx homebrew, FBI, CIAngel, VirtuaNES, luma updater, Luma, extra .firm files like Godmode9 and Decrypt9WIP, etc...)
3) put card back in 2DS, along with my ak2i (ntrboot)
4) Place magnet, install b9s
5) enable rom patching (optional) and let it boot into menu
6) Launch download play, set HBL with Rosalina, close download play
7) Reopen download play (launching HBL)
8) Launch FBI.3dsx, and install all the .cia files I had copied.

Done.

Even starting the timer before taking my laptop out of the box, it takes less than 2 minutes. Granted, My ak2i launches ntrboot.firm as Safeb9sInstaller while luma is there as boot.firm, so no swapping around of files is needed at all. And definitely not Godmode9 scripts.

EDIT: and to be fair (after reading through the OP again) Custom builds that boot safeb9sinstaller as ntrboot.firm HAVE been posted in threads and are therefore available to all.

EDIT2: Just (sort of) saw the OP video. That was pretty damn fast! To be fair, my < 2 minutes does include installing a few .cia files :P, and copying files from my PC. I don't see the point in hacking a system for anybody without giving them homebrew to play with along with it. Also, with ntrboot, the firmware currently on the system has no relevance whatsoever. Saw no point in showing 11.6. The system I just did was on 11.4. So what?
Showing the version at the start is just to prove it was a stock console and to give a baseline firmware that everyone can compare with to ensure I wasn't using any shortcuts or other exploits to speed things up. And yes, you can do this completely without GM9, and we may even have a No GM9 speed run category. As for the lack of homebrew other than FBI, it's because what people consider "essential homebrew" differs from person to person, and those variances would greatly effect the speed run times, so I whittled it down to the bare needed files, with which you can get all the others, customized just how you like. I may do another alternate 100% guide run though which would have all the homebrew the guide suggests you should install.

It needs to start once the files are copied to the SD and install times need to be deducted or else people with slower SD cards will end up with slower times
Speed runs can be done without copying files from a PC (either by using SD card switching or by compiling them into the flash card) so if you choose to copy them over you choose to add time to your speed run for using a slower method.
 

aos10

Yuuki chan
Member
Joined
Apr 10, 2012
Messages
4,756
Trophies
2
Age
38
XP
4,029
Country
Saudi Arabia
That's not a bad idea, I just didn't have the space on my video to have all the tools within viewing, but maybe some kind of touch based start point could be used as long as it's captured on video.




I plan to share them, along with a few different variations, likely tomorrow.


No, in the beginning of the video I show there's no other files present on the SD card, only the Nintendo 3DS folder. Every file used for this speed run is pre-compiled into the actual flash card.
Showing the version at the start is just to prove it was a stock console and to give a baseline firmware that everyone can compare with to ensure I wasn't using any shortcuts or other exploits to speed things up. And yes, you can do this completely without GM9, and we may even have a No GM9 speed run category. As for the lack of homebrew other than FBI, it's because what people consider "essential homebrew" differs from person to person, and those variances would greatly effect the speed run times, so I whittled it down to the bare needed files, with which you can get all the others, customized just how you like. I may do another alternate 100% guide run though which would have all the homebrew the guide suggests you should install.

Speed runs can be done without copying files from a PC (either by using SD card switching or by compiling them into the flash card) so if you choose to copy them over you choose to add time to your speed run for using a slower method.
Pre compiled on the flashcart?
Can you show us how?
Will that works for every cart that support ntrboot?
 

DocKlokMan

Plugin Dev
OP
Member
Joined
Apr 20, 2007
Messages
3,009
Trophies
2
Age
36
XP
4,571
Country
United States
Pre compiled on the flashcart?
Can you show us how?
Will that works for every cart that support ntrboot?
Sure, it's the newest feature that was added to GodMode9 v1.4.3, the vram0.img option. You can create a vram0.img file (either FAT or ROMFS) which has the files you want inside of it, then add it to the 'data' folder when compiling GodMode9 from source. The resulting file can be injected to your flashcard and when you boot your flashcard via the magnet method, it'll start GodMode9 and the files you had in vram0.img will be found in M:/vram.mem after mounting it.

As for compatibility, the final size of GodMode9 when compiled with a custom vram is limited by how much space your flashcard can store in it's firm. For the R4i-GOLD 3DS RTS cart which I showed in the video, that limit is 1.4MiB. I hear the AK2i can hold more and the DSTT practically none.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Veho @ Veho: https://www.keepretro.com/products/miyoo-a30