Tutorial  Updated

a9lh Boot Animations

image.jpg

Welcome to another kick-ass guide by cots. In this guide we're going to cover creating animating and static boot animations for the custom firmware loader that's all the rage - arm9loaderhax (a9lh). a9lh hijacks the arm9 chip during boot which allows 100% boot rate of the CFW Luma3DS, but you already knew that. Well, did you know you that you can create a custom boot animation that will load when you boot your console? It's also pretty easy to create and configure. So let's dive into it.

Requirements

Static Image(s) and/or Video(s)
Arm9LoaderHax Installed on your Nintendo 3DS (screeninit version)
BootAnim9 - https://github.com/Wolfvak/BootAnim9
makeanim - https://github.com/Docmudkipz/makeanim
ffmpeg - https://ffmpeg.org
imagemagick - http://www.imagemagick.org
Optional: ban9comp - https://github.com/d0k3/ban9comp

In this guide we'll be using 'C:\anim9' as the main folder where we'll work our magic. So extract makeanim and ffmpeg into this directory and then install imagemagick. If you're planning on building ban9comp to compress the output animations (if you're using a small sd card you might want to do this) then also copy ban9comp.exe into the folder.

Once this is done it's time to prepare the image/video file(s). The image/video file(s) will be automatically reduced in size (dimensions), but if you're creating them from scratch you'll want to keep the sizes listed below in mind. The color depth and number of colors are not limited in any fashion. Also note that both videos must have the same frame rate.

Top Screen - 400x240
Bottom Screen - 320x240

One major problem I ran into with creating boot animations using the included batch file was that it would not handle single images without first using ffmpeg to make them a video. In theory it should ask you how many seconds you want the single image to appear for, but it fails to do so. The workaround is to use ffmpeg to create an animation/video file out of your single image. So drop to a CMD prompt and run the following;

ffmpeg -framerate 1/5 -i image.png -c:v libx264 -r 30 -pix_fmt yuv420p output.mp4

This will convert 'image.png' into a video (framerate of 30 frame per second).

Once you have your video file(s) you'll want to drag them (one at a time) onto the 'makeanim.bat' in the 'C:\anim9' folder.

image.jpg

The first thing it will ask is the frame rate of the video. If you have no idea what the frame rate is you can use mediainfo (link - https://mediaarea.net/en/MediaInfo) to find out. So type in your videos frame rate and then press enter.

The next thing it will prompt you to press 'A' for the top screen or 'B' for the bottom. The script will then ask you if this is an animation or not. In theory it should then prompt you for how many seconds to display the static image for (if you pressed N), but it fails to do so.

The script will then process the video and then finally will ask you if you want to compress it using 'ban9comp.exe'.

If you selected the top screen you will now have a file with no extension named 'anim' in the 'C:\anim9' folder and if you selected the bottom screen you will find a file with also no extension named 'bottom_anim ' in the 'C:\anim9' folder. There will also be a 'config' file with no extension. You can create a boot animation(s) for the top, bottom or both screens.

The first thing you're going to need to do to use the animation(s) is to rename your 'arm9loaderhax.bin' (yes, we're working with the Nintendo 3DS sd card now) to 'arm9payload.bin' and then copy the contents of the BootAnim9 archive into the root of your card.

You should now have a folder on the root of your card named 'anim'. Move 'arm9payload.bin' into the '\anim' folder. Inside of the '\anim' folder create a folder named '0' and place the 'anim', 'bottom_anim' and 'config' files (from 'C:\anim9') in the '0' folder (it's okay if you don't use both 'anim' and 'bottom_anim'). You can also create nine more folders named 1, 2, 3, 4, 5, 6, 7, 8 and 9 and place separate boot animations in each, but don't skip numbers (that means don't create a folder named 2 before creating a folder named 1).

image.jpg

Now you can boot your Nintendo 3DS and if all went well you'll be welcomed by your boot animation(s)! Enjoy!

pitt.gif
 
Last edited by cots,

Redferne

Well-Known Member
Member
Joined
Oct 28, 2015
Messages
845
Trophies
0
XP
1,855
Country
United Kingdom
So I tried again without the aspect ratio fix and it works fine beside of course the aspect ratio being broken.
I guess the "fix" doesn't work as I think.
I replaced set res=400:240 with set res=-1:240

Edit: So i finally managed to get the result I wanted.
I replace line 86 with those two:
Code:
    IF %s%==-t ffmpeg -y -i %input% -vf fps=%fps%,scale="'if(gt(a,5/3),400,-2)':'if(gt(a,5/3),-2,240)'",pad=400:240:'if(gt(a,5/3),0,trunc((400-240*a)/2))':'if(gt(a,5/3),trunc((240-400/a)/2),0)':black,transpose=1 -pix_fmt bgr24 output.rgb
    IF %s%==-b ffmpeg -y -i %input% -vf fps=%fps%,scale="'if(gt(a,4/3),320,-2)':'if(gt(a,4/3),-2,240)'",pad=320:240:'if(gt(a,4/3),0,trunc((320-240*a)/2))':'if(gt(a,4/3),trunc((240-320/a)/2),0)':black,transpose=1 -pix_fmt bgr24 output.rgb
That way the input will be resized while keeping its aspect ratio and black bars will be added on left/right or up/down depending on what's missing to fit 400x240 if the animation is for the top screen or 320x240 if the animation is for bottom screen.
I had to remove the flag parameter because I couldn't figured how to put it back :)

I added my modified makeanim.bat
 

Attachments

  • makeanim.7z
    1.6 KB · Views: 191
Last edited by Redferne,

Redferne

Well-Known Member
Member
Joined
Oct 28, 2015
Messages
845
Trophies
0
XP
1,855
Country
United Kingdom
I modified the batch again for people who don't want to keep the aspect ratio. You now have the choice.
I fixed the static image part. It will launch the proper part of the batch if you answered no to "Is this an animation?"
 

Attachments

  • makeanim_v0.1.2.rar
    1.6 KB · Views: 203
  • Like
Reactions: cots

Xanthe

Costco Executive Member
Member
Joined
Dec 23, 2015
Messages
930
Trophies
0
XP
1,531
Country
United States
Can you upload your version with out the new please? This looks awesome
I can make you one, if you'd like.
fx25TmN


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

For anyone interested in having an OLD 3DS boot animation picture, here you go:
fx25TmN.png
 
  • Like
Reactions: cots

Skyshadow101

The Sky Is The Limit!
Member
Joined
May 22, 2016
Messages
941
Trophies
0
Location
The Underground
XP
417
Country
United States
I have a question, If I wanna store animations on my sdcard, how would I switch a9lh to a bigger sd? Do I just move all the files to the bigger one? Or do I have to do something specific with it?
 

hudhair

Well-Known Member
Member
Joined
Apr 23, 2013
Messages
691
Trophies
1
XP
369
Country
United States
I tried to do this: "ffmpeg -framerate 1/5 -i hyrule-grass.gif -c:v libx264 -r 30 -pix_fmt yuv420p output.mp4"
it gave me the error "hyrule-grass.gif: No such file or directory" Any ideas?
 

cots

Banned!
OP
Banned
Joined
Dec 29, 2014
Messages
1,533
Trophies
0
XP
1,952
Country
United States
still gives me the same error.

After you open up the CMD prompt you have to change the directory to "c:\anim9" by doing this.

Code:
cd\anim9

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

I have a question, If I wanna store animations on my sdcard, how would I switch a9lh to a bigger sd? Do I just move all the files to the bigger one? Or do I have to do something specific with it?

To move to a bigger sd card all you have to do is copy all of the files from your smaller one to the larger one.
 

Docmudkipz

Novice
Member
Joined
Mar 16, 2016
Messages
327
Trophies
0
Location
Staring at my computer case's window
XP
297
Country
United States
By the way @Docmudkipz , do you intent to add the modifications I made to the batch?
I've been thinking about it and just read over what you changed. As of current the entire script was rewritten so I can make room for it if I do

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

Why was the lanczos flag removed?
 

Docmudkipz

Novice
Member
Joined
Mar 16, 2016
Messages
327
Trophies
0
Location
Staring at my computer case's window
XP
297
Country
United States
Ah I see. Indeed it might not be necessary with the keep ratio line.
I've got version of the script, one for keeping AR now using what you edited to the batch script and one that worked like the original unedited scripts. Honestly, there may be some quality loss without the use of lanczos as that itself gave a big boost in quality when zes suggested it
 

Redferne

Well-Known Member
Member
Joined
Oct 28, 2015
Messages
845
Trophies
0
XP
1,855
Country
United Kingdom
I've got version of the script, one for keeping AR now using what you edited to the batch script and one that worked like the original unedited scripts. Honestly, there may be some quality loss without the use of lanczos as that itself gave a big boost in quality when zes suggested it
You could merge both scripts like I did so you don't have to maintain both.
For the quality loss, I don't know. I haven't see much of a difference on the files I used but they were gif so... :)
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: https://www.youtube.com/watch?v=qyBmc3-J5AM