[RELEASE] CtrBootManager/CtrBootManager9

Discussion in '3DS - Homebrew Development and Emulators' started by OperationNT, Jun 20, 2016.

  1. OperationNT
    OP

    OperationNT GBAtemp Regular

    Member
    121
    132
    May 1, 2016
    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!
     

    Attached Files:

    Last edited by OperationNT, Jun 9, 2017
    DarthDub, zeldaism, Conan179 and 27 others like this.


  2. proflayton123

    proflayton123 Undeclared Shitposter 2.1

    Member
    5,811
    2,164
    Jan 11, 2016
    Japan
    日本
    Very nice! :3
     
    leerz likes this.
  3. Billy Acuña

    Billy Acuña GBAtemp Addict

    Member
    2,245
    1,337
    Oct 10, 2015
    Mexico
    Amazing!!!
    Keep it alive :D
     
  4. DrkBeam

    DrkBeam GBAtemp Fan

    Member
    355
    124
    Jun 12, 2016
    Spain
    I don't know if there is an option that let you put a fade in effect on the top and bottom images
     
  5. OperationNT
    OP

    OperationNT GBAtemp Regular

    Member
    121
    132
    May 1, 2016
    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, Jun 20, 2016
    DrkBeam likes this.
  6. DrkBeam

    DrkBeam GBAtemp Fan

    Member
    355
    124
    Jun 12, 2016
    Spain
    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, Jun 20, 2016
  7. Biff627

    Biff627 GBAtemp Maniac

    Member
    1,068
    386
    Aug 15, 2015
    United States
    nvm
     
    Last edited by Biff627, Jun 21, 2016
  8. OperationNT
    OP

    OperationNT GBAtemp Regular

    Member
    121
    132
    May 1, 2016
    France
    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, Jun 21, 2016
    DrkBeam likes this.
  9. Shadowfied

    Shadowfied GBAtemp Advanced Maniac

    Member
    1,707
    1,589
    Dec 6, 2014
    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.
     
  10. DjoeN

    DjoeN Captain Haddock!

    Member
    5,169
    1,486
    Oct 21, 2005
    Belgium
    Somewhere in this potatoland!
    @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, Jun 21, 2016
  11. prototech

    prototech GBAtemp Fan

    Member
    448
    176
    Jan 3, 2015
    United States
    I'm happy to see this continue in it's own thread. Thanks again for your continued efforts @OperationNT
     
    Gil_PL likes this.
  12. OperationNT
    OP

    OperationNT GBAtemp Regular

    Member
    121
    132
    May 1, 2016
    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, Jun 21, 2016
  13. DjoeN

    DjoeN Captain Haddock!

    Member
    5,169
    1,486
    Oct 21, 2005
    Belgium
    Somewhere in this potatoland!
    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, Jun 21, 2016
  14. OperationNT
    OP

    OperationNT GBAtemp Regular

    Member
    121
    132
    May 1, 2016
    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 ;)
     
    DjoeN likes this.
  15. cvskid

    cvskid GBAtemp Addict

    Member
    2,237
    822
    Apr 13, 2014
    United States
    If using menuhax/lesshax, is it worth switching from the older ctrbootmanager to this one?
     
  16. Dracari

    Dracari GBAtemp Maniac

    Member
    1,426
    389
    Apr 5, 2009
    United States
    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.
     
    cvskid likes this.
  17. OperationNT
    OP

    OperationNT GBAtemp Regular

    Member
    121
    132
    May 1, 2016
    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.
     
    cvskid likes this.
  18. Kirtai

    Kirtai GBAtemp Regular

    Member
    236
    117
    May 6, 2016
    Oh noes! But how then will we a9lh users maintain our sense of smug superiority? ;)
     
    DrkBeam likes this.
  19. OperationNT
    OP

    OperationNT GBAtemp Regular

    Member
    121
    132
    May 1, 2016
    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, Jun 22, 2016
  20. Tombomb

    Tombomb Newbie

    Newcomer
    7
    5
    Oct 17, 2014
    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;