Does it mean the boot time will be extended by the whole duration of the animation? Or does it only take the time to load the animation and the system loads other things while the animation is playing?
However long the animation is, that's how long your boot time is. So it's best to stick with shorter onesDoes it mean the boot time will be extended by the whole duration of the animation? Or does it only take the time to load the animation and the system loads other things while the animation is playing?
Yes, it increases it by about 250ms + the length of the animation. There's simply no way around this.Does this increase the boot time?
Honestly, I don't plan to support plain binaries, ELF or FIRM is a far superior container for them as it allows relocation and other fancy stuff.I guess you could duel boot this with ctrboot9 if you really need a bottom screen animation if you want to run this with a older cfw that supports .bin
Probably a stupid question but what is BAX?Small progress update: I've been sick for a couple of days now and haven't been able to really focus on the main project, so instead I made a simple .NET application that takes in framebuffer dumps and converts them to a BAX animation. I chose .NET because despite my dislike for bytecode interpreters/recompilers, it's portable and thanks to the Mono project, works on all main platforms (Windows, *nix, OSX(?)). It can work both as a GUI application and a console app, in case anyone decides to do batch processing with it. The GUI version supports drag and drop operations, with screen autodetection.
I've tested it under Windows XP Professional 32-bit, Windows 7 Ultimate 64-bit, Debian buster amd64 and Debian stretch mipsel, so it *should* work fine on anything that's somewhat modern.
This brings me to the second issue, the good ol' screen initialization procedure. Now, I haven't been following the scene too closely but from what people told me the framebuffers are passed through R2 to the payload, which severely limits flexibility. For example, BAX uses RGB565 framebuffers to shrink down the IO load (2 bytes per pixel instead of 3, simple math would tell you this is 1.5x faster but realistically the number is more like 1.2-1.3x), but, without writing my own screen init, I'm kinda fucked.
Considering there's already a perfectly good screen initialization being performed already, I think it'd be a better idea to select certain initialization parameters (screen init, N3DS extra RAM, caches, etc) to be selected through the FIRM reserved bytes in a way that b9s can understand them and act accordingly. Of course, this is not currently a thing, which sucks.
Another issue lays in the chainloading: having every application have it's own FIRM loader, probably with some inconsistencies between them is a terrible idea, and I think it'd be better to leave b9s handle those and call it somehow whenever an application requires to chainload (pretty much all current ARM9 applications have to chainload sooner or later, only alternative is to reboot). A clear way to do it would be using the Software Interrupt feature or maybe just having a "kernel function entrypoint".
Overall, BAX is already finished, the only issues remaining are screen init and the chainloading thing. It would be really simple to just add my own, but personally I think it'd be better for everyone to have something similar to what I just described. Until these are fixed/worked around, I don't think I'll be able to release anything - at least not the way I intended.
I know no one likes when people ask these kind of questions, but it has been quite a few months since we've heard anything. Any new news on this yet?Small progress update: I've been sick for a couple of days now and haven't been able to really focus on the main project, so instead I made a simple .NET application that takes in framebuffer dumps and converts them to a BAX animation. I chose .NET because despite my dislike for bytecode interpreters/recompilers, it's portable and thanks to the Mono project, works on all main platforms (Windows, *nix, OSX(?)). It can work both as a GUI application and a console app, in case anyone decides to do batch processing with it. The GUI version supports drag and drop operations, with screen autodetection.
I've tested it under Windows XP Professional 32-bit, Windows 7 Ultimate 64-bit, Debian buster amd64 and Debian stretch mipsel, so it *should* work fine on anything that's somewhat modern.
This brings me to the second issue, the good ol' screen initialization procedure. Now, I haven't been following the scene too closely but from what people told me the framebuffers are passed through R2 to the payload, which severely limits flexibility. For example, BAX uses RGB565 framebuffers to shrink down the IO load (2 bytes per pixel instead of 3, simple math would tell you this is 1.5x faster but realistically the number is more like 1.2-1.3x), but, without writing my own screen init, I'm kinda fucked.
Considering there's already a perfectly good screen initialization being performed already, I think it'd be a better idea to select certain initialization parameters (screen init, N3DS extra RAM, caches, etc) to be selected through the FIRM reserved bytes in a way that b9s can understand them and act accordingly. Of course, this is not currently a thing, which sucks.
Another issue lays in the chainloading: having every application have it's own FIRM loader, probably with some inconsistencies between them is a terrible idea, and I think it'd be better to leave b9s handle those and call it somehow whenever an application requires to chainload (pretty much all current ARM9 applications have to chainload sooner or later, only alternative is to reboot). A clear way to do it would be using the Software Interrupt feature or maybe just having a "kernel function entrypoint".
Overall, BAX is already finished, the only issues remaining are screen init and the chainloading thing. It would be really simple to just add my own, but personally I think it'd be better for everyone to have something similar to what I just described. Until these are fixed/worked around, I don't think I'll be able to release anything - at least not the way I intended.
You could use this, it supports animations on boot: https://gbatemp.net/threads/release-ctrbootmanager-ctrbootmanager9.431647/Any news for multi anim with B9S ?
How did you go about updating Luma? If you used Luma3DS Updater (aka the updater you should have installed with the guide) and didn't have Luma as your default boot.firm payload beforehand, then it simply replaced your old payload with the newest version of Luma.Yeah i was wondering if this ever got an update boot.firm since Luma got the 9.0 update it removed my animation
Ah I see something simple I overlooked just had to rename Luma 9.0's boot.firm into bootluma.firmHow did you go about updating Luma? If you used Luma3DS Updater (aka the updater you should have installed with the guide) and didn't have Luma as your default boot.firm payload beforehand, then it simply replaced your old payload with the newest version of Luma.
Complete rewrite of BootAnim9.Probably a stupid question but what is BAX?
'Complete rewrite of BootAnim9.
Speaking of which... it's kinda done already, I'll probably upload some videos tomorrow or the day after, but I've hit a block with the animation transcoder.
Basically, libav is a bit of a mess to work with so unless I find an alternative library to decode video frames to raw RGB data I'll have to rely on scripts that use ffmpeg and other utils rather than a full self-contained utility that can do everything (video decompression, delta encoding, transposing, compression, BAX file creation).
So, I'm mostly just posting here asking for suggestions - whether they are about better video libraries or whatever else. Thanks for reading, I guess. Good to see some people are still interested in a concept like this.
The repo will eventually be made public @ gitlab.com/Wolfvak/BAX
Common sense would denote "yes".'
Will this work with B9S and Luma 9.0?
Depends on your definition of "future". If you meant some time before the end of the universe, then yeah, probably.can there be boot sounds in the future?