Homebrew [RELEASE] BootAnim9 - Custom boot animations for your 3DS!

Status
Not open for further replies.

zes

Well-Known Member
Newcomer
Joined
Mar 26, 2016
Messages
46
Trophies
0
Age
54
XP
112
Country
United States
LZ Compression works, used the ban9comp.exe I built from d0k3. Doesn't seem to really improve performance for my logos, though (like you said, some benefit, some get worse.)

i liked it better when it lasted the length of the longest anim (ex. short bottom, held out last frame until longer top finished), now it exits when the shortest anim finishes.

Delta screen updates would be smart, like someone mentioned before. The left-to-right look when clearing the screen at the end, it shows how slow setting all those pixels is (btw, why we seeing that? Isn't it possible to swap screen buffers and have that be a faster transition?)

Anyways, good job on bootanim9, I've used it since day 1, it's great.
 

usagirei

Well-Known Member
Member
Joined
Jan 26, 2016
Messages
164
Trophies
0
XP
255
Country
Brazil
LZ Compression works, used the ban9comp.exe I built from d0k3. Doesn't seem to really improve performance for my logos, though (like you said, some benefit, some get worse.)

i liked it better when it lasted the length of the longest anim (ex. short bottom, held out last frame until longer top finished), now it exits when the shortest anim finishes.

Delta screen updates would be smart, like someone mentioned before. The left-to-right look when clearing the screen at the end, it shows how slow setting all those pixels is (btw, why we seeing that? Isn't it possible to swap screen buffers and have that be a faster transition?)

Anyways, good job on bootanim9, I've used it since day 1, it's great.

If you meant my implementation, i left it there and will leave it there in case he ever wants to give it a shot and see how it works in comparison with the current method.
It should be faster for animations with localized animation areas, since you don't update the whole screen but just portions of it, but i'm not sure how fast the 3ds handles non-linear memory block write operations, since its writing like, 8 times per block 24 bytes at a time on the 8x8 block mode.
It should be less cpu intensive since it doesn't use compressing but rather just outright skips pieces of data that haven't changed.

But all said and done, it has to be tested on an actual device, and he's seemingly busy with the screen-init stuff for now.
 

Wolfvak

nyaa~
OP
Member
Joined
Oct 25, 2015
Messages
918
Trophies
1
XP
3,486
Country
Uruguay
LZ Compression works, used the ban9comp.exe I built from d0k3. Doesn't seem to really improve performance for my logos, though (like you said, some benefit, some get worse.)

i liked it better when it lasted the length of the longest anim (ex. short bottom, held out last frame until longer top finished), now it exits when the shortest anim finishes.

Delta screen updates would be smart, like someone mentioned before. The left-to-right look when clearing the screen at the end, it shows how slow setting all those pixels is (btw, why we seeing that? Isn't it possible to swap screen buffers and have that be a faster transition?)

Anyways, good job on bootanim9, I've used it since day 1, it's great.
Actually, that's not a bad idea at all: prior to displaying any animation whatsoever, set up a memory space (288000 bytes long to be precise) full of 0x00's and switch both fb addresses to point to that memory space; the change should be nearly instanatenous. Meanwhile, I just clear up the "real" fb addresses and switch back to that one. Good thing that it can be done within the ARM9, I'll give it a shot once I have some time.

And yes, the compressed animations will be slower. I've been discussing with @Docmudkipz and one of the solutions that came up was to actually call ffmpeg with half (or less) the framerate specified, effectively performing frameskipping (more that regular frameskipping) and making it as close as possible to an uncompressed one as far as speed goes, with the added benefit of compression.

Another one which came up while talking to d0k3 was not to allow animations above a certain size threshold to be played back (in my experiments, 35-40% of the original size appeared to be the limit for top screen).

Also, check this out, it's the version of animation_loop() that I currently use which plays both animations until *both* of them have finished (ofc, if both animations were found).
I guess you should be able to replace it in the current version that is in GitHub, I almost didn't realize it and can currently be considered a bug (a fixed one privately, but still a bug)

If you meant my implementation, i left it there and will leave it there in case he ever wants to give it a shot and see how it works in comparison with the current method.
It should be faster for animations with localized animation areas, since you don't update the whole screen but just portions of it, but i'm not sure how fast the 3ds handles non-linear memory block write operations, since its writing like, 8 times per block 24 bytes at a time on the 8x8 block mode.
It should be less cpu intensive since it doesn't use compressing but rather just outright skips pieces of data that haven't changed.

But all said and done, it has to be tested on an actual device, and he's seemingly busy with the screen-init stuff for now.

Sorry I haven't looked too much into your implementation, it's just that d0k3's came way earlier (over 20 days ago) and I had promised him to implement it, but real life got in the way. Once I was able to get back to my hobbies, yours came up but I had already studied d0k3's and decided to go with his.

Again, sorry :(

Also, I'm not really able to test screen init since I'm too much of a pussy when it comes to updating payloads, so I'm currently performing screen init over an already screen-init enabled stage2. It appears to work fine, but until I can test with a regular no screen-init stage2, I can't tell for sure.

If anyone wants to test and doesn't have a screen init a9lh stage2, please let me know.
It'd help inmensely, not only me but the whole project, since it's the biggest out of the few issues I still want to fix for v0.6.

Besides, it isn't really "testing", it's more like, copy a few files and tell me if it works or not, I don't need to test a huge amount of different scenarios.

EDIT: I'm also working on a "manager" of sorts, just a simple 3dsx that can display the animations. That's also one of the things I intend to release alongside v0.6
 
Last edited by Wolfvak,

usagirei

Well-Known Member
Member
Joined
Jan 26, 2016
Messages
164
Trophies
0
XP
255
Country
Brazil
Sorry I haven't looked too much into your implementation, it's just that d0k3's came way earlier (over 20 days ago) and I had promised him to implement it, but real life got in the way. Once I was able to get back to my hobbies, yours came up but I had already studied d0k3's and decided to go with his.

Again, sorry :(

Also, I'm not really able to test screen init since I'm too much of a pussy when it comes to updating payloads, so I'm currently performing screen init over an already screen-init enabled stage2. It appears to work fine, but until I can test with a regular no screen-init stage2, I can't tell for sure.

If anyone wants to test and doesn't have a screen init a9lh stage2, please let me know.
It'd help inmensely, not only me but the whole project, since it's the biggest out of the few issues I still want to fix for v0.6.

Besides, it isn't really "testing", it's more like, copy a few files and tell me if it works or not, I don't need to test a huge amount of different scenarios.

Can't really help you on the screen-init side of things, but no drama about the compression stuff, i'll leave it there either way.

Once you get more free time and stuff i'd appreciate if you gave it a shot though, you could even implement both (raw, quicklz, delta frames) , leaving the choice to whoever makes the animation deems it to be the more "balanced" one for said animation.
Or even Qucik LZ Compression on top of my implementation that skips unchanged data blocks if the hardware could handle it.

Mine should theoretically have better speeds, but quicklz has way better file sizes
 

Poa

New Member
Newbie
Joined
May 23, 2015
Messages
1
Trophies
0
XP
152
Country
Korea, South
Dstwo doesn't work when i changed the arm9loderhax.bin file from the BootAnim9.zip
 
Last edited by Poa,

Majickhat55

The Red Woman
Member
Joined
Mar 28, 2016
Messages
4,936
Trophies
1
Age
36
Location
Asshai
XP
2,961
Country
United States
So, I'm having trouble with this thing. It say's it's supposed to convert it to the right resolution but what about aspect ratio? Maybe I just missed that part on page 1. My bottom screen animation isn't large enough to fill the screen and the top one like, scrolls across the screen while it's playing....Like a marquee or something it's odd.. Any help would greatly be appreciated
 

Majickhat55

The Red Woman
Member
Joined
Mar 28, 2016
Messages
4,936
Trophies
1
Age
36
Location
Asshai
XP
2,961
Country
United States
Well I think I found the problem. When I run the .bat it never asks me if I want a top screen animation or a bottom screen one. It just automatically creates one for the bottom screen. When I try to just rename this to "anim" and use it for the top, I get that marquee effect thing. How do I make it create an "anim" file instead of a "bottom_anim" file?
 

Docmudkipz

Novice
Member
Joined
Mar 16, 2016
Messages
327
Trophies
0
Location
Staring at my computer case's window
XP
307
Country
United States
Well I think I found the problem. When I run the .bat it never asks me if I want a top screen animation or a bottom screen one. It just automatically creates one for the bottom screen. When I try to just rename this to "anim" and use it for the top, I get that marquee effect thing. How do I make it create an "anim" file instead of a "bottom_anim" file?
Redownload your scripts, it should be asking you.
 

Docmudkipz

Novice
Member
Joined
Mar 16, 2016
Messages
327
Trophies
0
Location
Staring at my computer case's window
XP
307
Country
United States
I have like 4 times Lol. I even tried to recompile the .bat file from the source scripts and it still doesn't ask me anything. It goes straight to converting to bootom_anim
These scripts don't compile. They are literally just that in the name: scripts. They're giving instructions to the native windows command line. I checked the code on master and there's nothing wrong with it.
Tl/dr: What version of Windows are you using
 

Majickhat55

The Red Woman
Member
Joined
Mar 28, 2016
Messages
4,936
Trophies
1
Age
36
Location
Asshai
XP
2,961
Country
United States
Have you restarted your computer and tried it?
Nope. I'll do that now and let you know.

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

Nope. No dice on restarting. Sometimes it hangs on the white cursor after inputting the framerate, but more often than not it goes right from framerate input to converting a bottom screen animation. No idea....
 

Docmudkipz

Novice
Member
Joined
Mar 16, 2016
Messages
327
Trophies
0
Location
Staring at my computer case's window
XP
307
Country
United States
Nope. I'll do that now and let you know.

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

Nope. No dice on restarting. Sometimes it hangs on the white cursor after inputting the framerate, but more often than not it goes right from framerate input to converting a bottom screen animation. No idea....
It sounds like a system problem tbh
Copy paste the contents of the batch file into a code box
 
Last edited by Docmudkipz,

Majickhat55

The Red Woman
Member
Joined
Mar 28, 2016
Messages
4,936
Trophies
1
Age
36
Location
Asshai
XP
2,961
Country
United States


This is what I was trying to do the whole time Lol. It's less than perfect but I'm pretty sure that's because the files are so big? Maybe? Any advice would be welcome to make it "smoother". I set the FPS to 12.5, do I have to tinker to find a "sweet spot"?
 
D

Deleted User

Guest
Well I think I found the problem. When I run the .bat it never asks me if I want a top screen animation or a bottom screen one. It just automatically creates one for the bottom screen. When I try to just rename this to "anim" and use it for the top, I get that marquee effect thing. How do I make it create an "anim" file instead of a "bottom_anim" file?

Had the same problem; I needed to do some manual trickery.

Finally got around to trying this today and it's pretty sweet. But I had a problem - using the tool you posted in the OP for conversion using ffmpeg, it never gave me the option to choose whether or not it was a top screen or bottom screen animation. It always defaulted to bottom; I had to set a GOTO command to force it for the top setting. I don't know if this is a bug or just me.
 
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    BigOnYa @ BigOnYa: I played the intro to far cry 5, that is like some crazy Jim Jones cult shit. Still its petty...