Homebrew [RELEASE] CtrBootManager/CtrBootManager9

OperationNT

Well-Known Member
OP
Member
Joined
May 1, 2016
Messages
347
Trophies
0
Age
36
XP
1,579
Country
France
Version 2.5.2

A9LH and B9S v1.0 crash at load fix (due to changes to support B9S v1.2)

Previous version changes

Version 2.5.1

Boot9Strap v1.2 support

Version 2.5.0

SysNAND support for A9LH/B9S versions:
- Press Select key in "File Browser" to switch drive
- CtrBootManager can be installed on SysNAND at your own risks: please read carefully the documention!

Version 2.4.0

FIRM file loading support for A9LH/B9S versions (binary patches supported/offset unsupported)

Version 2.3.2

Bug fix for feature added in version 2.3.1

Version 2.3.1


Screen initialization can be disabled for direct chainloading (avoid a corrupted display when CtrBootManager9 should be "silent"): add "screeninit=0;" in "[general]" category (for A9LH users only)

Version 2.3.0

Password can be set on CtrBootManager start (see in "More/Settings" for configuration)
Splash screen support

Version 2.2.0

More than 11 entries can be inserted in the menu
Thumbnails can be added for each entry
Support of transparent images (background and thumbnails)
Fade-in effect can be set for background images
Different font color can be set for bottom screen texts

Version 2.1.1

Fix CFW boot issue with 3DSX version since 2.0.0 (for MenuHax in 9.2 users)

Version 2.1.0

Several fixes for movie feature
Support for 3D images and 3D movies on 3DSX version of CtrBootManager

Version 2.0.0

BootAnim9 movies support as background!
Animation support on menu items and background color
Dynamic binary patch for A9LH version
A lot of crashes fix for A9LH version


Releases

Last release can be found on attached file or on this page:
https://github.com/OperationNT414C/CtrBootManager/releases/tag/2.5.2

Older releases can be downloaded on this page:
https://github.com/OperationNT414C/CtrBootManager/releases


Documentation

CtrBootManager offers a lot of customization parameters, here is the detailed documentation about its configuration:
https://github.com/OperationNT414C/CtrBootManager/wiki/CtrBootManager-setup


Themes

Movies sample

"Street Fighters - Ryu" theme
https://mega.nz/#!AEY2DILS!xuTIkoyyMKAlN2wwRgwupiP_D4kCWyQcDIEATNvn5Gw

"League Of Legends - Tresh" theme
https://mega.nz/#!gVR1xCAa!YPKpS4dIjJF91GoIxZ8rAGpZzkMtD3ScIp0DmifSA7g

"Zelda - A Link to the Past" theme
https://mega.nz/#!YRBFmZbD!W8cLyvEqx6JBJ8XUU3sxiL0JH8_Uu0M1VIFdkUAN-tQ

3D samples

Remember that 3D feature is only available for 3DSX version!

"Light Cube" theme (static 3D background image)
https://mega.nz/#!8IpQCAQT!upruB39NQKnco-l3fRhKL0193XZGBkqdz1GnPvcb2vE

"Quiet Garden" theme (3D movie)
https://mega.nz/#!NNIxFARL!FBdF58zrmwlAIZmXxBsP4vuhvIq96Cr9LKmysjdUKgk

You can of course create and publish your own theme, I would be happy to add it in this list!


Known issues/limitations

Issues can be reported here: https://github.com/OperationNT414C/CtrBootManager/issues

About crashes from A9LH version for Gateway "arm9loaderhax.bin" chainloading, it seems that a user manage to by-pass the issue using this Gateway loader:
https://gbatemp.net/threads/tutorial-using-luma3ds-with-gateway-on-v2-a9lh.431691/
For more details, you can consult the following closed issue:
https://github.com/OperationNT414C/CtrBootManager/issues/3


Future works

Binary configuration save/load (would improve CtrBootManager load time)
Merge 3DSX/A9LH versions compilation process


Credits/thanks

@cpasjuste and all CtrBootManager initial contributors
@prototech for his A9LH version fix and repository
@Aurora Wright for screeninit support and all other contributors
@TuxSH for FIRM support code and repository
@Wolfvak for movie support code and repository
@d0k3 for movie compression support

If you see any other people I forgot, don't hesitate to remind me!
 

Attachments

  • Release_2.5.2.zip
    537.9 KB · Views: 371
  • CtrBootManager_2.5.2src.zip
    628.8 KB · Views: 402
Last edited by OperationNT,

DrkBeam

Well-Known Member
Member
Joined
Jun 12, 2016
Messages
414
Trophies
0
Age
28
XP
367
Country
Spain
I don't know if there is an option that let you put a fade in effect on the top and bottom images
 

OperationNT

Well-Known Member
OP
Member
Joined
May 1, 2016
Messages
347
Trophies
0
Age
36
XP
1,579
Country
France
Hello @DrkBeam,
Currently, the only way to do it would be to create a movie with your image which fade in it without any movie loop. Then, once the movie is over, it will fall back on the true background image. It is a little bit tedious so maybe I will add a more simple feature to fade in background image (with background color blend). What would you think about a property like this?

[animation]
bgTopImgFadeIn=X:Y;
bgBotImgFadeIn=X:Y;

It would work like "menuFadeIn" property: X would be the time in frames where CtrBootManager displays the background color (no image), Y would be the time in frames to display the image with full opacity once X is over.
 
Last edited by OperationNT,
  • Like
Reactions: DrkBeam

DrkBeam

Well-Known Member
Member
Joined
Jun 12, 2016
Messages
414
Trophies
0
Age
28
XP
367
Country
Spain
Hello @DrkBeam,
Currently, the only way to do it would be to create a movie with your image which fade in it without any movie loop. Then, once the movie is over, it will fall back on the true background image. It is a little bit tedious so maybe I will add a more simple feature to fade in background image (with background color blend). What would you think about a property like this?

[animation]
bgTopImgFadeIn=X:Y;
bgBotImgFadeIn=X:Y;

It would work like "menuFadeIn" property: X would be the time in frames where CtrBootManager displays the background color (no image), Y would be the time in frames to display the image with full opacity once X is over.
I really love the idea, but I was thinking more about the image not disappearing completely. I don't know if that is viable, but I would like you to add the option you were commenting
 
Last edited by DrkBeam,

OperationNT

Well-Known Member
OP
Member
Joined
May 1, 2016
Messages
347
Trophies
0
Age
36
XP
1,579
Country
France
I really love the idea, but I was thinking more about the image not disappearing completely. I don't know if that is viable, but I would like you to add the option you were commenting

Ok, I add this idea in the future work list, I will work on it when I have some time.

Thank you for your suggestion!
 
Last edited by OperationNT,
  • Like
Reactions: DrkBeam

Shadowfied

Well-Known Member
Member
Joined
Dec 6, 2014
Messages
2,403
Trophies
1
Age
26
XP
3,520
Country
Can this load the Gateway payload like BootCtr9 can?
inb4 hate I'm not using Gateway A9LH, I just like their in-game cheat thing.
 

DjoeN

Captain Haddock!
Member
Joined
Oct 21, 2005
Messages
5,489
Trophies
0
Age
51
Location
Somewhere in this potatoland!
Website
djoen.dommel.be
XP
2,779
Country
Belgium
@OperationNT

Since i build most things myself instead of using the prebuild releases:

Output warnings:
(I do not know if those matter or not, so i can ignore them (or not))

Code:
-- Looking for 3ds tools...
-- 3dsxtool: C:/devkitPro/devkitARM/bin/3dsxtool.exe - found
-- smdhtool: C:/devkitPro/devkitARM/bin/smdhtool.exe - found
CMake Warning at cmake/Tools3DS.cmake:136 (message):
  bannertool - not found
Call Stack (most recent call first):
  CMakeLists.txt:10 (include)

Code:
-- Generating done
-- Build files have been written to: D:/Z_Testing/CtrBootManager/build
-- Looking for 3ds tools...
CMake Warning at cmake/Tools3DS.cmake:136 (message):
  bannertool - not found
Call Stack (most recent call first):
  CMakeLists.txt:10 (include)

Code:
-- nihstro - not found
-- setting CTRULIB to C:/devkitPro/libctru/include/..
-- No smdh file will be generated
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_TOOLCHAIN_FILE

I do have a cfg/bin output, don't know yet if it works or not ;)
 
Last edited by DjoeN,

OperationNT

Well-Known Member
OP
Member
Joined
May 1, 2016
Messages
347
Trophies
0
Age
36
XP
1,579
Country
France
@Shadowfied : As I said in "know issues/limitations", people reported me that it doesn't work with Gateway "arm9loaderhax.bin". I was curious about one thing: is there only BootCtr9 which currently support Gateway "arm9loaderhax.bin" or CtrBootManager is the only which cannot load it properly? Did you try with BootAnim9 or Luma3DS (in "/luma/payloads")?

@DjoeN : I must confess, I am not a very good in project generation process :wacko:. Once I was able to compile A9LH version with @prototech project, I stick on this process and start coding. To compile 3DSX version, I even made a copy of original CtrBootManager master repository and copy/paste all the newer files inside... This is why, in the attachment CtrBootManager_2.0.0src.zip, you will find 2 different directories.

I can confirm you that I have the same issues as you:

upload_2016-6-21_19-14-28.png


@prototech : Thank you for your support and your previous help! ;)
 
Last edited by OperationNT,

DjoeN

Captain Haddock!
Member
Joined
Oct 21, 2005
Messages
5,489
Trophies
0
Age
51
Location
Somewhere in this potatoland!
Website
djoen.dommel.be
XP
2,779
Country
Belgium
@Shadowfied : As I said in "know issues/limitations", people reported me that it doesn't work with Gateway "arm9loaderhax.bin". I was curious about one thing: is there only BootCtr9 which currently support Gateway "arm9loaderhax.bin" or CtrBootManager is the only which cannot load it properly? Did you try with BootAnim9 or Luma3DS (in "/luma/payloads")?

@DjoeN : I must confess, I am not a very good in project generation process :wacko:. Once I was able to compile A9LH version with @prototech project, I stick on this process and start coding. To compile 3DSX version, I even made a copy of original CtrBootManager master repository and copy/paste all the newer files inside... This is why, in the attachment CtrBootManager_2.0.0src.zip, you will find 2 different directories.

I can confirm you that I have the same issues as you:

View attachment 53748

@prototech : Thank you for your support and your previous help! ;)
Thanks for your answer.
I assume i can ignore those errors then ;)

Will try it out later this evening.

@OperationNT

https://gbatemp.net/threads/does-someone-have-a-compiled-version-of-bannertool.386933/#post-5453571

Here's a compiled version of bannertool, place it in your devkitpro\devkitarm\bin folder (do not overwrite excisting files)

That gets you rid of the bannertool error

to get rid of the NIHSTRO error
http://4dsdev.org/thread.php?pid=342#342
Download your version for windows and place it in your devkitpro\devkitarm\bin folder, also rename nihstro-assemble.exe to nihstro.exe

I don't know if it's that, can't get it compiled (i'm not good with cmake stuff :P )
 
Last edited by DjoeN,

OperationNT

Well-Known Member
OP
Member
Joined
May 1, 2016
Messages
347
Trophies
0
Age
36
XP
1,579
Country
France
I put all the tools you told me and it removed all the project generation warnings. I added makerom too:
https://github.com/profi200/Project_CTR/releases

However, I don't think all those tools are useful for CtrBootManager:
- bannertool allows to create main 3DS OS banners
- NIHSTRO seems to be for 3DS GPU, more precisely, shaders so 3D accelereted graphics
- makerom allows to create CIA

CtrBootManager (3DSX and A9LH versions) has no 3D accelerated graphics and assembling it as a CIA would make no sense (I think the main usage of 3DSX version is often MenuHax autoboot so CIA version is pointless).

Thank you for the tips, it could help me for other projects ;)
 
  • Like
Reactions: DjoeN

cvskid

Well-Known Member
Member
Joined
Apr 13, 2014
Messages
2,656
Trophies
1
XP
2,325
Country
United States
I put all the tools you told me and it removed all the project generation warnings. I added makerom too:
https://github.com/profi200/Project_CTR/releases

However, I don't think all those tools are useful for CtrBootManager:
- bannertool allows to create main 3DS OS banners
- NIHSTRO seems to be for 3DS GPU, more precisely, shaders so 3D accelereted graphics
- makerom allows to create CIA

CtrBootManager (3DSX and A9LH versions) has no 3D accelerated graphics and assembling it as a CIA would make no sense (I think the main usage of 3DSX version is often MenuHax autoboot so CIA version is pointless).

Thank you for the tips, it could help me for other projects ;)
If using menuhax/lesshax, is it worth switching from the older ctrbootmanager to this one?
 

Dracari

Well-Known Member
Member
Joined
Apr 5, 2009
Messages
1,962
Trophies
0
XP
2,145
Country
United States
If using menuhax/lesshax, is it worth switching from the older ctrbootmanager to this one?
the real point is more less for A9LH users is some fixes not present in the older release. for menu/less haxx users unless you WANT the menu anims there's no point as the fixes in this, again is for A9LH users.
 
  • Like
Reactions: cvskid

OperationNT

Well-Known Member
OP
Member
Joined
May 1, 2016
Messages
347
Trophies
0
Age
36
XP
1,579
Country
France
Hello @cvskid,
As Dracari said, 3DSX version adds some cosmetic features: animations and movie (by the way, movies are incredibly faster in 3DSX version than in A9LH version). So you should try the latest version and some samples I gave to make your opinion. I also plan, in future works, to add 3D display support specificaly for 3DSX version.
 
  • Like
Reactions: cvskid

OperationNT

Well-Known Member
OP
Member
Joined
May 1, 2016
Messages
347
Trophies
0
Age
36
XP
1,579
Country
France
3DSX executables can benefit from 3DS firmware graphic driver. In A9LH version, you have absolutly no services, you must put in the executable:
- SD card access code and file read code
- Screen initialisation and use code
- Memory allocation management (often hardcoded pointers)

I think it would be very difficult to fully redevelop what Nintendo did to support 3D accelerated graphics in A9LH version. :)
 
Last edited by OperationNT,

Tombomb

Member
Newcomer
Joined
Oct 17, 2014
Messages
7
Trophies
0
Age
31
XP
99
Country
United States
looks like loop count is not working, using your zelda example the triforce keeps looping with

Code:
[topMovie]
path=/CtrBootManagerThemes/Zelda/TopMovieTriforce;
loopCount=0;
delayOnLoopStart=10;

also tried loopCount=1;
 
General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: https://i.imgur.com/MsROFe6.jpeg