[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
    8
    Oct 25, 2015
    Uruguay
    I honestly don't know what the obsession with NSFW boot anims is, I had the same problem back with BA9 and my opinion is the same - don't do it, and if you do it, definitely don't upload it here.

    Just remove it then? It's a pretty bad idea to put something like this on a completely open forum where absolutely ANYONE can read it.

    In any case, I'm looking into getting a server to host all of these and I have enough storage but my bandwidth sucks way too hard (2/.5 Mbps) to make it feasible. I don't like VPSes since most are hosted in the US and I simply don't trust them, and the non-US ones either have ridiculous limitations (CPU usage, really low bandwidth) or are insanely priced.
     
  2. MikaDubbz

    MikaDubbz GBAtemp Fan

    Member
    3
    Dec 12, 2017
    United States
    Does this support sound? If not, will it?
     
  3. gamesgod

    gamesgod Member

    Newcomer
    1
    Aug 20, 2017
    China
    The animation plays, then load luma, after luma display splash.bin+splashbottom.bin, I'm getting a blank screen.
    It boots normally when I move the boot.firm out of bax directory back to the root.

    B9S 1.3+ Luma 9.0 on n3DS
     
  4. Wolfvak
    OP

    Wolfvak nyaa~

    Member
    8
    Oct 25, 2015
    Uruguay
    https://gbatemp.net/threads/release-bax-boot-animations-for-your-3ds.497717/page-2#post-7868276

    Hmm, that's a weird one, can't reproduce. Could you try this FIRM? And if that doesn't work, temporarily remove the splashes, just to rule it out as a probable cause.
     
  5. gamesgod

    gamesgod Member

    Newcomer
    1
    Aug 20, 2017
    China
    This firm has the same problem. removed the splashes too.
     
  6. Leafgreen26

    Leafgreen26 GBAtemp Regular

    Member
    2
    Jul 17, 2017
    United States
    [deleted]
     
    Last edited by Leafgreen26, Mar 14, 2018
  7. unipablojorge

    unipablojorge Totally not an FBI agent.

    Member
    1
    May 25, 2017
    Spain
    Navarre
    Ok thank you for that. I've been all week trying to get this to build on windows, but it didn't work. I should just use Linux lol (probably my devkitARM install, nothing serious)
     
  8. unipablojorge

    unipablojorge Totally not an FBI agent.

    Member
    1
    May 25, 2017
    Spain
    Navarre
    I don't know If I'm too late for this, but I wanted to contribute so I made this

    It is a simple program in C++ (my very first one!) that executes ffmpeg and MakeBAX (both not included) to create a .bax from a mp4 or a gif*, directly. It lets you choose various options like the screen or the frame rate.

    *In fact Gifs need two steps as I am too lazy to do it in one, maybe in the future.

    The only thing about the program is that it only works in Windows, as it uses cmd commands. There's also the problem that it is a .exe, if you want to try on linux feel free.

    Requirements and instructions are in the readme.

    Enjoy!
     
  9. Wolfvak
    OP

    Wolfvak nyaa~

    Member
    8
    Oct 25, 2015
    Uruguay
    Hmm, then I don't know. I haven't extensively tested this, but in a worst case scenario you could just remove it, there's no brick risk or anything similar.

    I'd be very interested in knowing what the error is.

    Actually, the original BA9 had bash and cmd scripts that did basically this. That's why I went with a simple format this time, it relieves me of having to support multiple platforms, I can write one _very_ simple program and leave it up to the user to provide correct input (which can be obtained through ffmpeg, etc).

    I suppose if you're gonna make it Windows-specific you might as well ignore C(++) and go straight for batch/PowerShell. Good effort nonetheless, especially for a first program.

    For the record, I also had doubts about writing it in C++, and wanted to do something in C#, but it turns out Mono isn't as portable as I expected.
     
  10. unipablojorge

    unipablojorge Totally not an FBI agent.

    Member
    1
    May 25, 2017
    Spain
    Navarre
    Yeah, I was totally going to go for that one. The only problem is that I don't know a lot about Batch and PowerShell (I can do a Hello World!), but I was experienced with programming languages similar to C. So I heard that c++ was the hot thing now so I decided to give it a try. Well actually, I tried using C and gave up because it was too complicated for me to make some things, then thought about Java, when I realized that better don't use Java.

    I think though it may be cross-platform, if system(); works in linux too and you have everything necessary the only piece of code that won't work is one "cls" that I could easily remove. As I said, I don't have Linux so I can't try, and I would have to build it again but with a Linux extension (and I know nothing about Linux file formats)
    Can't help you with that, haven't even touched it yet lol


    Yeah, the only problem I was the first one to post a premade animation (iirc) here so I had users bombing me about doing (a lot!) of animations. I decided that this was the best approach as it would only take a few hours, help me learn how to code and save me a lot of work.
    I'm going to post the error since I couldn't get it to work.
    What I did was:
    1. Went to /mpcore/ (more on why this later)
    2. Made make clean (everything fine here)
    3. And then made Make. Here is the problem: the makefile should take the header files from ../common/, but it doesn't recognize it. The error just tells me the first #include and just tells me that is not a correct file.
    Now, if on the other hand, I do make from the main directory, this happens:

    Code:
    Building oldarm/oldarm.elf
    C:\devkitPro\msys\bin\make.exe[1]: Nothing to be done for `all'.
    Building mpcore/mpcore.elf
    C:\MinGW\bin\gcc.exe -c -O2 -std=c11 -pipe -fomit-frame-pointer -ffunction-sections -ffast-math -Wall -Wextra -Wno-unused-variable -Wno-unused-parameter -Wno-unused-function -Wno-main -ggdb -DARM11 -marm -mno-thumb-interwork -I"/c/Users/pablo/BAX/source/common" -Isrc -o bin/anim.c.o src/anim.c
    /bin/sh: C:MinGWbingcc.exe: command not found
    C:\devkitPro\msys\bin\make.exe[1]: *** [bin/anim.c.o] Error 127
    make: *** [mpcore/mpcore.elf] Error 2
    I think it's a problem with my MinGW, as it is taking "C:MinGWbingcc.exe" and executing it (when in fact it should be without the C: ), or maybe the makefile. I have 0 experience with makefiles so I have no idea what can be wrong. Hopefully you can help me figure out that one.
     
  11. Wolfvak
    OP

    Wolfvak nyaa~

    Member
    8
    Oct 25, 2015
    Uruguay
    system() is a pretty unsafe function - something like execve might be marginally better.

    As I said a while ago I'm actually planning on setting up a server so people could just upload a regular video file and get a BAX file back, so the entire system would be automated (another reason why I picked C++ and simple libs for makebax - it's easily adaptable).

    That's weird, this line should include the devkitARM tools (sets up CC, CXX, AS, etc env vars) and yet it's trying to use the native toolchain for some reason. I'd love to call it a make bug (I've seen a couple of them while writing the build system) but I don't know.

    And yes, it's meant to be built from the root directory, not inside mpcore or oldarm, unlike makebax, since the ARM9 and ARM11 binaries share some code (PXI, interrupt enumeration, etc)
     
  12. Leafgreen26

    Leafgreen26 GBAtemp Regular

    Member
    2
    Jul 17, 2017
    United States
    @Wolfvak Can you make 32x version of makebax for windows please?
     
  13. unipablojorge

    unipablojorge Totally not an FBI agent.

    Member
    1
    May 25, 2017
    Spain
    Navarre
    Yeah, while looking through the c++ docs and other things I saw that, but I didn't want to make it too complicated and also it was my first program. I wanted to make it so that ffmpeg's path wouldn't matter as long as you had it in your PATH variable. Now that I'm writing this, maybe there's a way to check PATH but instead of executing system(); use PATH to get the ffmpeg binaries. I will take a look at that.
    Don't worry about that, windows can be unpredictable sometimes... just wanted to do it for fun and learning mostly, so it's totally ok.

    That's awesome! Totally looking forwards into that.


    I didn't know what else to write here so it wouldn't seem like I was being cold or something, so I'm just going to say thank you again- for BootAnim9, which opened new doors to 3DS customization, for BAX, which is even better, and for making a guy like me learn a new programming language! I had a Luma Splash before, But actually I always wanted to have BootAnim9 in a9lh. When I saw this a few days ago, I though the planets aligned!
     
  14. AyanamiRei0

    AyanamiRei0 GBATemp's Resident Evangelion fanboy.

    Member
    6
    GBAtemp Patron
    AyanamiRei0 is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Jan 4, 2016
    United Kingdom
    England I guess
    Now this is something I've been waiting for I wasn't happy with the results the old animated boot screens gave
     
  15. Wolfvak
    OP

    Wolfvak nyaa~

    Member
    8
    Oct 25, 2015
    Uruguay
    Sorry about the delay, had to set up a Win7 VM with msys2 and other stuff, but you can find an i686 build in the attachments.
    I still recommend using a 64 bit OS, even if you have <= 4GB of RAM because the higher register count and width, plus SSE2 and other extras really speed up processing (especially with such a CPU demanding program like makebax on highest compression level).

    Eh, it's not a big deal anyway. Not a critical system component, so it's perfectly acceptable.

    It's still in a very early "idea" phase, juggling designs around my head, but it's definitely doable. However, if you take a look at the benchmarks you can quickly realize maximum compression would lead to massive CPU load on older hardware, so I'd have to either purchase a _very_ expensive Xeon server and allow max compression, or use off the shelf hardware and have animations be ~10% larger. Not a big deal.

    Thank you, it really means a lot to me to see people actually interested in this stuff, and it's especially heartwarming to know I actually had an impact on someone learning programming (I think you're the second or third already : D).

    Just remember to take it slowly : )
     

    Attached Files:

  16. Lilith Valentine

    Lilith Valentine GBATemp's Wolf-husky™ Melodramatic fool

    Member
    23
    Sep 13, 2009
    Antarctica
    ¯\_(ツ)_/¯
    So I've been trying to convert a gif on Linux and it's not going so good for me. Would anyone be so kind as convert this gif for me? It's my personal favorite boot animation.
     

    Attached Files:

    • kiss.gif
      kiss.gif
      File size:
      300.1 KB
      Views:
      114
    Last edited by Lilith Valentine, Mar 17, 2018
  17. Leafgreen26
    This message by Leafgreen26 has been removed from public view by porkiewpyne, Mar 17, 2018.
    Mar 17, 2018
  18. Lilith Valentine

    Lilith Valentine GBATemp's Wolf-husky™ Melodramatic fool

    Member
    23
    Sep 13, 2009
    Antarctica
    ¯\_(ツ)_/¯
    Ah, I just noticed that typo in there. I can understand how such a typo would be rather blaspheme.
    Edit: I actually figured out how to convert it myself ^-^ But I noticed that Rei-Six fails to boot and CakesFW gives me a quick flash of text, then fails to boot. GodMode9 boots just fine though.
    Actually Luma3DS doesn't work for me either :unsure:
    I tested on B9S, GM9, and FB3DS, none of them work for any CFW tested through BAX.
     
    Last edited by Lilith Valentine, Mar 17, 2018
  19. gamesgod

    gamesgod Member

    Newcomer
    1
    Aug 20, 2017
    China
    I noticed that after the animation was played, there were some confusion on the left side of the screen before luma was loaded.

    I changed the way to start the 3DS. After the animation played, press the "Start" key, load the Godmode9, and load luma.firm from Godmode9, It could start 3DS normally!

    I recorded the video (HEVC/H.265), and could you take a look when you are free? Thanks!
     

    Attached Files:

  20. Wolfvak
    OP

    Wolfvak nyaa~

    Member
    8
    Oct 25, 2015
    Uruguay
    Huh, that's odd. GodMode9 is sort of special in that it also does some ARM11 magic, which might help out. Could you try with fastboot3DS too? (as in, BAX -> luma chainloader -> fb3DS -> luma). If that works, then I might know what the problem is.
     
  21. Leafgreen26

    Leafgreen26 GBAtemp Regular

    Member
    2
    Jul 17, 2017
    United States
    Can you please upload that gif please (asks with no shame whatsoever)?
     
  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