3DS:BAX

From Hacks Guide Wiki
Revision as of 05:15, 14 October 2022 by StarlitSkies (talk | contribs) (add install info for fastboot3ds and style fixes)

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 - having BAX installed will always increase the boot time by the length of the video.

Important Notes

  • BAX can not be booted from NAND, a FIRM partition, or an NTRBoot flashcart. Trying will only cause problems.
  • 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.
  • To create animation files for BAX, see here.

Installation

  Following these instructions will move your Luma3DS firmware file to sdmc:/bax/boot.firm, with sdmc:/boot.firm being the BAX payload instead. Please keep this in mind when updating Luma3DS in the future so you don't accidentally overwrite BAX.
  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 SD root
  4. Move your existing boot.firm file into the bax folder
  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 sdmc:/bax/
  8. Your SD card should now look something like this:
  •   (root)
    •   bax
      •   boot.firm (Your existing Luma3DS file)
      •   my_animation_1.bax
      •   my_animation_2.bax
      •   my_animation_3.bax
    •   boot.3dsx
    •   boot.firm (Used to be named BAX.firm)
  BAX is now installed! It will randomly choose an animation to play at boot, then continue to Luma3DS.

  Following these instructions will move your Luma3DS firmware file to sdmc:/bax/boot.firm, and may move other files elsewhere depending on your setup. Please keep these new locations in mind when updating files in the future, or else the updated file may not be the one that's loaded into use.
  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 SD root
  4. Move your existing boot.firm into the bax folder
  5. Copy BAX.firm from the release.zip to a place of your choosing, such as inside a folder on the SD root named firm
  6. Copy your BAX animation files to sdmc:/bax/
  7. Boot into the fastboot3DS configuration menu by holding HOME while powering on
  8. Go to Boot setup... and select the first slot, then select Select [slot 1] firm and navigate to where you put BAX.firm on the SD card
  9. Once selected, ensure Set [slot 1] autoboot is checked and back out to the main menu
  10. To test, go into Boot menu... and select Boot [slot 1]; your animation should load, then the system should load normally
  11. Your SD card layout may vary, but if you followed the instructions' suggestion, it will look like this:
  •   (root)
    •   bax
      •   boot.firm (Your existing Luma3DS file)
      •   my_animation_1.bax
      •   my_animation_2.bax
      •   my_animation_3.bax
    •   firm
      •   BAX.firm (the file in the first boot slot of fastboot3DS)
    •   boot.3dsx

Configuration

If you create a text file, sdmc:/bax/boot.txt, that only contains a plaintext file path to a .firm file (such as sdmc:/firm/Luma3DS.firm, then when BAX.firm boots it will boot that file instead of sdmc:/bax/boot.firm.