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

3DS:BAX: Difference between revisions

From Hacks Guide Wiki
(→‎Installation: {{Tree icon}})
m (Update WIP header)
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Page WIP|notes=
* {{WIP}} Needs installation instructions
* {{Done}} Needs subpage for instructions on makebax
* Needs configuration info
* Needs usage info
* Make important notes flashier
}}
{{Infobox homebrew
{{Infobox homebrew
| developers = Wolfvak
| developers = Wolfvak
| for3ds = 1
| for3ds = 1
| version = 3
| version = 3
| releasedate = 2018-03-19
| website = https://gbatemp.net/threads/497717/ gbatemp.net/threads/497717
| website = https://gbatemp.net/threads/497717/ gbatemp.net/threads/497717
| gitlab = Wolfvak/BAX
| gitlab = Wolfvak/BAX
| gitlabtag = third_release
}}
}}
'''BAX''' is a homebrew program for the Nintendo 3DS (compatible with all models) that allows you to display video streams on load. Thanks to boot-time entrypoints, this can be done on boot, giving a similar impression to the loading animation of a PC or a mobile smartphone.  
'''BAX''' is a homebrew program for the Nintendo 3DS (compatible with all models) that allows you to display video streams on load. Thanks to boot-time entrypoints, this can be done on boot, giving a similar impression to the loading animation of a PC or a mobile smartphone. Please note that while it's designed to boot another program, it does not allow both itself and the other to run concurrently, but rather sequentially. Therefore, any time that is "taken" by loading/playing the animation file will not be somehow "given" to the next program (f.e. independently of the time taken by the animation, the FIRM will take the same amount of time to load).


Please note that while it's designed to boot into another payload (usually Luma3DS) after running, per design it will not load the second payload alongside itself, but rather sequentially - the time to boot will always be extended by exactly the length of the video. It is also not feasible (though it is possible in theory) to have BAX start loading the HOME Menu while playing the video due to how NATIVE_FIRM handles GPU initialization.
== Important Notes ==
* BAX can not be booted from a FIRM partition or an NTRboot cart. Don't even try.
* Due to how Horizon/NATIVE_FIRM works, if you reboot from AGB_FIRM (GBA Virtual Console) the save game will not be saved until you reboot back into it again.
* BAX performs no GPU initialization, only register tweaks and assumes the GPU has already been initialized by the time it boots. Any B9S-compatible loaders should do this, given the proper bit is set in the FIRM (it certainly is in BAX), but it can not realistically provide support for every existing loader out there.


==Important Notes==
== Installation ==
* BAX can only be booted from the SD card. Attempting to boot from elsewhere (CTRNAND, FIRM0/1 or an NTRBoot cartridge) will only cause problems.
<tabber>
* Because of how NATIVE_FIRM works, if you reboot into the HOME Menu from AGB_FIRM (the GBA Virtual Console) while BAX is installed, the GBA save game will not be saved until you boot AGB_FIRM again.
* BAX performs no GPU initialization, only register tweaks, and assumes the GPU has already been initialized by the time it boots. As a result, only B9S-compatible bootloaders are guaranteed to support BAX - but you should only be using [[3DS:Boot9strap|boot9strap]] or [[3DS:fastboot3DS|fastboot3DS]] anyway, both of which are compatible.
* As BAX loads before [[3DS:Luma3DS|Luma3DS]], it creates an extra 'grace period' before the START/SELECT button menus can open, similar to placing a [[3DS:Splash_screens#Enabling_splash_screens|splash before payloads]].
* To create animation files for BAX, see [[3DS:BAX/makebax#Creating_.BAX_Animations|here.]]


==Installation==
|-|I use boot9strap=
{{info|As having BAX installed under boot9strap will allow programs like Universal Updater to overwrite BAX with Luma, it is recommended to use an alternate setup under [[3DS:fastboot3DS|fastboot3DS]] instead.}}
<tabber>


|-|I use fastboot3DS=
{{info|text=Following these instructions will move your Luma3DS firmware file to <code>SD:/bax/boot.firm</code>, instead of <code>SD:/boot.firm</code>. Please keep this in mind when updating Luma3DS in the future so you don't accidentally overwrite BAX's FIRM payload.}}


<ol>
# Download and the latest release of BAX from its {{GitLab|Wolfvak/BAX/-/releases|GitLab page}} (The <code>release.zip</code> file)
<li>Download the latest release of BAX from its {{GitLab|Wolfvak/BAX/-/releases|GitLab page}} (The <code>release.zip</code> file)</li>
# Insert your console's SD card into your computer
<li>Insert your console's SD card into your computer</li>
# Create a folder named <code>bax</code> on the root your SD card
<li>Create a folder named <code>bax</code> on the SD root</li>
# Move your existing <code>boot.firm</code> file into <code>SD:/bax/</code>
<li>Copy <code>BAX.firm</code> from the <code>release.zip</code> and your BAX animation files into the <code>bax</code> folder</li>
# Copy <code>BAX.firm</code> from <code>release.zip</code> into the root of your SD card
<li>Create a file named <code>boot.txt</code> inside the <code>bax</code> folder and put the text '''sdmc:/boot.firm''' inside of it</li>
# Rename the <code>BAX.firm</code> you copied to <code>boot.firm</code>
<li>Boot into the fastboot3DS configuration menu by holding {{B|HOME}} while powering on</li>
# Copy your BAX animation files to <code>SD:/bax/</code>
<li>Go to <code>Boot setup...</code> and select the first slot, then choose <code>Select [slot 1] firm</code> and pick the SD file <code>sd:/bax/BAX.firm</code></li>
#* For instructions on how to create BAX animations, see [[3DS:BAX/makebax#Creating_.BAX_Animations|here]]
<li>Once selected, ensure <code>Set [slot 1] autoboot</code> is checked and back out to the main menu</li>
# Your SD card should now look something like this:
<li>To test, go into <code>Boot menu...</code> and select <code>Boot [slot 1]</code>; your animation should load, then the system should load normally</li>
<li>Your SD card layout should now include this:</li>
</ol>
{{Tree list}}
{{Tree list}}
* {{Tree icon|sd}} (root)
* [[File:Gnome-media-flash.svg|20px|link=]] (root)
** {{Tree icon|d}} bax
** [[File:Icons8 flat opened folder.svg|20px|link=]] bax
*** {{Tree icon|f}} '''BAX.firm''' (the file in the first boot slot of fastboot3DS)
*** [[File:Icons8 flat file.svg|20px|link=]] '''boot.firm''' (Your existing Luma3DS file)
*** {{Tree icon|f}} '''my_animation_1.bax'''
*** [[File:Icons8 flat file.svg|20px|link=]] '''my_animation_1.bax'''
*** {{Tree icon|f}} '''my_animation_2.bax'''
*** [[File:Icons8 flat file.svg|20px|link=]] '''my_animation_2.bax'''
*** {{Tree icon|f}} '''my_animation_3.bax'''
*** [[File:Icons8 flat file.svg|20px|link=]] '''my_animation_3.bax'''
** {{Tree icon|f}} '''boot.firm''' (Your existing Luma3DS file)
** [[File:Icons8 flat file.svg|20px|link=]] '''boot.3dsx'''
** {{Tree icon|f}} '''boot.3dsx'''
** [[File:Icons8 flat file.svg|20px|link=]] '''boot.firm''' (Used to be named BAX.firm)
{{Tree list/end}}
{{Tree list/end}}


|-|I use boot9strap=
{{success|text=BAX is now installed! It will randomly choose an animation to play at boot, then continue to Luma3DS.}}


{{info|text=Following these instructions will move your Luma3DS firmware file to <code>sdmc:/bax/boot.firm</code>, with <code>sdmc:/boot.firm</code> being the BAX payload instead. Please keep this in mind when updating Luma3DS in the future so you don't accidentally overwrite BAX.}}
|-|I use fastboot3DS=
 
# Download and the latest release of BAX from its {{GitLab|Wolfvak/BAX/-/releases|GitLab page}} (The <code>release.zip</code> file)
<ol>
# Insert your console's SD card into your computer
<li>Download and the latest release of BAX from its {{GitLab|Wolfvak/BAX/-/releases|GitLab page}} (The <code>release.zip</code> file)</li>
WIP
<li>Insert your console's SD card into your computer</li>
<li>Create a folder named <code>bax</code> on the SD root</li>
<li>Move your existing <code>boot.firm</code> file into the <code>bax</code> folder</li>
<li>Copy <code>BAX.firm</code> from <code>release.zip</code> into the root of your SD card</li>
<li>Rename the <code>BAX.firm</code> you copied to <code>boot.firm</code></li>
<li>Copy your BAX animation files to <code>sdmc:/bax/</code></li>
<li>Your SD card layout should now include this:</li>
</ol>
{{Tree list}}
* {{Tree icon|sd}} (root)
** {{Tree icon|d}} bax
*** {{Tree icon|f}} '''boot.firm''' (Your existing Luma3DS file)
*** {{Tree icon|f}} '''my_animation_1.bax'''
*** {{Tree icon|f}} '''my_animation_2.bax'''
*** {{Tree icon|f}} '''my_animation_3.bax'''
** {{Tree icon|f}} '''boot.3dsx'''
** {{Tree icon|f}} '''boot.firm''' (Used to be named BAX.firm)
{{Tree list/end}}


</tabber>
</tabber>


{{success|text=BAX is now installed! It will choose a random animation to play at boot, then continue to Luma3DS.}}
== Configuration ==
 
WIP
==Configuration==
If you create a text file, <code>sdmc:/bax/boot.txt</code>, that only contains a plaintext file path to a <code>.firm</code> file (such as <code>sdmc:/firm/Luma3DS.firm</code>), then when <code>BAX.firm</code> boots it will boot that file instead of <code>sdmc:/bax/boot.firm</code>.

Revision as of 21:58, 28 September 2022

BAX is a homebrew program for the Nintendo 3DS (compatible with all models) that allows you to display video streams on load. Thanks to boot-time entrypoints, this can be done on boot, giving a similar impression to the loading animation of a PC or a mobile smartphone. Please note that while it's designed to boot another program, it does not allow both itself and the other to run concurrently, but rather sequentially. Therefore, any time that is "taken" by loading/playing the animation file will not be somehow "given" to the next program (f.e. independently of the time taken by the animation, the FIRM will take the same amount of time to load).

Important Notes

  • BAX can not be booted from a FIRM partition or an NTRboot cart. Don't even try.
  • Due to how Horizon/NATIVE_FIRM works, if you reboot from AGB_FIRM (GBA Virtual Console) the save game will not be saved until you reboot back into it again.
  • BAX performs no GPU initialization, only register tweaks and assumes the GPU has already been initialized by the time it boots. Any B9S-compatible loaders should do this, given the proper bit is set in the FIRM (it certainly is in BAX), but it can not realistically provide support for every existing loader out there.

Installation

OOjs UI icon information-progressive.svg Following these instructions will move your Luma3DS firmware file to SD:/bax/boot.firm, instead of SD:/boot.firm. Please keep this in mind when updating Luma3DS in the future so you don't accidentally overwrite BAX's FIRM payload.
  1. Download and the latest release of BAX from its GitLab page (The release.zip file)
  2. Insert your console's SD card into your computer
  3. Create a folder named bax on the root your SD card
  4. Move your existing boot.firm file into SD:/bax/
  5. Copy BAX.firm from release.zip into the root of your SD card
  6. Rename the BAX.firm you copied to boot.firm
  7. Copy your BAX animation files to SD:/bax/
    • For instructions on how to create BAX animations, see here
  8. Your SD card should now look something like this:
  • Gnome-media-flash.svg (root)
    • Icons8 flat opened folder.svg bax
      • Icons8 flat file.svg boot.firm (Your existing Luma3DS file)
      • Icons8 flat file.svg my_animation_1.bax
      • Icons8 flat file.svg my_animation_2.bax
      • Icons8 flat file.svg my_animation_3.bax
    • Icons8 flat file.svg boot.3dsx
    • Icons8 flat file.svg boot.firm (Used to be named BAX.firm)
OOjs UI icon information-constructive.svg BAX is now installed! It will randomly choose an animation to play at boot, then continue to Luma3DS.

# Download and the latest release of BAX from its GitLab page (The release.zip file)

  1. Insert your console's SD card into your computer
WIP

Configuration

WIP