[RELEASE] BAX - Boot animations for your 3DS!

Discussion in '3DS - Homebrew Development and Emulators' started by Wolfvak, Feb 28, 2018.

  1. Wolfvak
    OP

    Wolfvak nyaa~

    Member
    7
    Oct 25, 2015
    Uruguay
    I've always been disatisfied with the original BA9, it was kinda weird with specific environments, etc... so I did the only logical thing.
    I rewrote it from scratch (more than once!).

    The new BAX uses lossless compression (LZ4) and delta encoding to work around some of the issues like the low resolution of the 3DS screens and fundamental problems like MJPEG size.

    It uses a 16 bit color space (RGB565) and lossless compression, which leads to (IMHO) great visual quality when the video source is properly encoded. This also allows the use of up to both screens running at 60fps, the target I aimed for with the original BA9.

    Warning: Spoilers inside!

    Also included in the source is makebax, an utilty that can convert IVF files to a format usable by BAX. It can accept videos that are 400x240, 320x240 or 720x240, each corresponding to a different variation - top screen only, bottom screen only or both screens at the same time. Read this for more information.

    I know at this point in time the 3DS is quickly dying and nobody cares too much about anything other than CFWs when it comes to baremetal development, but I thought it'd be better to make a proper thread for this thing rather than let it rot in some hidden repo. Sorry about the lack of flair or any premade content on this thread, but I just don't know how to write attractive text, I guess.

    If you make any animations, feel free to post them as replies to this thread, and as always, feedback is very appreciated.

    Latest release
    Source
     
    Last edited by Wolfvak, Mar 19, 2018
  2. ManuelKoegler

    ManuelKoegler GBAtemp Fan

    Member
    3
    Nov 5, 2015
    Netherlands
    First of all just let me say that I appreciate this, as focus shifts to newer/different platforms, it’s nice to see the 3DS still receiving some love.
    Second, I have a question.
    I only made of Bootanim9 for a short time.
    This was because once the animation finished I’d still have to wait out the regular time of the 3DS booting up as opposed to getting an animation while it’s booting up, basically ending the animation with the 3ds immediately in the home menu.
    Just wanted to ask if that has changed, and if not, whether that will/could be possible?


    Sent from my iPhone using Tapatalk
     
    KeoniAzugon likes this.
  3. Wolfvak
    OP

    Wolfvak nyaa~

    Member
    7
    Oct 25, 2015
    Uruguay
    No, it hasn't changed at all, the problem is that the home menu (and all it's dependencies/children) are handled by NATIVE_FIRM, nothing can be done about it. The only thing that could mildly (and I mean **very** mildly) speed it up would be to load NATIVE_FIRM while the animation is still playing, rather than when it's finished, but since most users have CFWs in the middle it's unfeasible. Besides, the speedup would be negligible (in the order of hundreds of miliseconds).

    To form a better mental picture of the problem, imagine you have a regular PC with GRUB and some Linux distro installed. Now imagine trying to load some program that's meant to run on Linux from GRUB itself, without loading the Linux kernel.

    The only real fix for the problem would involve some pretty deep kernel modifications, and some interfacing between the several required sysmodules (gsp, fs) which may or may not be ready to accept data and BAX. Overall, it's too much effort for little payout.

    You can always skip it by holding the X button anyway, I guess.

    EDIT: By the way, this is explained (maybe not in-depth enough) in the README.
     
    Last edited by Wolfvak, Feb 28, 2018
    ManuelKoegler likes this.
  4. gnmmarechal

    gnmmarechal GBAtemp Guru

    Member
    12
    GBAtemp Patron
    gnmmarechal is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Jul 13, 2014
    Portugal
    https://gs2012.xyz
    Noice! I might play with it for a bit I guess. Once I find my 3DS. Which is.... somewhere?
     
    CallmeBerto and Jacklack3 like this.
  5. Giodude

    Giodude GBAtemp's official rock

    Member
    9
    GBAtemp Patron
    Giodude is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    May 17, 2015
    United States
    New York
    Cant wait to try this when i get home. Is there a way to make it so that if you hit a button it skips it? I think if you could implement a looping gif feature where you could set different buttons to different .firm files, this could really set itself apart.
     
  6. Wolfvak
    OP

    Wolfvak nyaa~

    Member
    7
    Oct 25, 2015
    Uruguay
    There already is, the X button.

    I wanted it to be really simple to set up, both the animation files and BAX itself, so there is absolutely no configuration. Therefore, this isn't possible, and I don't think it's a good idea either. If you want to, feel free to code it yourself, I'd definitely be interested in seeing the results.
     
    julialy, gnmmarechal and Giodude like this.
  7. Megakuma

    Megakuma Member

    Newcomer
    1
    Feb 1, 2018
    United States
    Down there a bit
    This looks interesting, I'll go try it out
     
  8. huntertron1

    huntertron1 a simple youtuber that is trying to survive

    Member
    2
    Oct 28, 2017
    United States
    does this work with N3ds
     
  9. Giodude

    Giodude GBAtemp's official rock

    Member
    9
    GBAtemp Patron
    Giodude is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    May 17, 2015
    United States
    New York
    Im unfamiliar with coding for the 3ds, but the X button helps though, thanks. Ive been looking to start developing for the 3ds but i dont know any good programming courses i could take in my area to help get kickstarted.
     
  10. 98otiss

    98otiss thot destroyer

    Member
    3
    Aug 22, 2015
    Canada
    despacito
    a little to much work to convert .mp4 to .ivf to .bax
    can you simplify this process by making a gui or converting .mp4 to .bax?
     
  11. Wolfvak
    OP

    Wolfvak nyaa~

    Member
    7
    Oct 25, 2015
    Uruguay
    Definitely no GUI, I want to keep makebax portable and runnable in servers.

    Maybe I could spend the weekend trying to figure out libav, allowing support for a lot more input formats but that doesn't really solve other problems, like resolution (if you give the program a 1280x720 source, what should it convert it to? A top screen anims, bottom screen anim or dual screen anim?)
    There's also a lot of formats with VBR (variable bit rate) which is just not doable from BAX, so it's easier to convert your source to a simpler intermediate format.
     
    gnmmarechal likes this.
  12. aos10

    aos10 ❤ Zelda ❤\(^o^)/

    Member
    7
    Apr 10, 2012
    Saudi Arabia
    oh wow, i can't wait to port my old gif to this

    [​IMG]

    [​IMG]

    and let's not forget the GateBomb version :rofl2:

    [​IMG]
     
    hurrz, 8BitWonder and Wolfvak like this.
  13. Spectral Blizzard

    Spectral Blizzard GBATemp's Only Racist Stereotypical Feminist

    Banned
    3
    Jun 17, 2017
    United States
    Everywhere
    Holy shiiiiiiiiiiiiiiiiiiiiiiiiiiit, this it iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiit, what my life has been waiting foooooooooooooooooooooooooooor!
     
    MrMcTiller likes this.
  14. gnmmarechal

    gnmmarechal GBAtemp Guru

    Member
    12
    GBAtemp Patron
    gnmmarechal is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Jul 13, 2014
    Portugal
    https://gs2012.xyz
    Excuuuse me, princess!
     
    aos10 likes this.
  15. RosaliinaDaHacker64

    RosaliinaDaHacker64 3DS hacker.

    Member
    3
    Oct 7, 2015
    Ireland
    /dev/null
    I have .gif's for BootCTR9 and I wanna switch to BAX one cuz latest B9S broke it. Will that filetype work?
     
  16. DualBladedKirito

    DualBladedKirito The Black Swordsman

    Member
    2
    Sep 9, 2015
    United States
    United States
    I noticed the note on the README on gba vc saving. To clarify : i have to boot my gba vc again just for the save to stick? A little bit confused haha.
     
  17. Wolfvak
    OP

    Wolfvak nyaa~

    Member
    7
    Oct 25, 2015
    Uruguay
    No, you only need to boot NATIVE_FIRM/"Home Menu".

    I suppose in most setups it should happen automatically (reboot from agb -> bootrom -> some bootloader -> bax, although it skips the anim -> cfw -> native firm), but I said it in the readme just in case people have weirder stuff between "bootloader" and "bax".

    Say, for example, you *always* boot to GM9 for some reason and then you boot bax, but instead of doing that after an agb reboot you decide to power off your system... Well, the agb save is as good as lost iirc.
     
    Last edited by Wolfvak, Mar 7, 2018
  18. MitsukiUchiwa

    MitsukiUchiwa Member

    Newcomer
    1
    Jun 29, 2017
    France
    Okay so I have my *.ivf file, but I don't get this part :

    HTML:
    B9S:
    boot9strap installed on FIRM0.
    BAX in sdmc:/boot.firm.
    Luma3DS in sdmc:/bax/boot.firm.
    Other FIRMs in sdmc:/luma/payloads
    There's a BAX.firm, so, do I need to rename it and replace it with the original boot.firm on my sdcard?
    Which boot.firm should I put in /bax ?
     
  19. Wolfvak
    OP

    Wolfvak nyaa~

    Member
    7
    Oct 25, 2015
    Uruguay
    That's just an example setup... and yeah, you're right about the first part. As for sdmc:/bax/boot.firm, the previous boot.firm should go there.
     
  20. MitsukiUchiwa

    MitsukiUchiwa Member

    Newcomer
    1
    Jun 29, 2017
    France
    Maybe I've done something wrong, here's what I get

    https://imgur.com/a/sP8R9

    [​IMG]
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice