Hacking Custom Boot Logo for Switch

SylverReZ

Dat one with the Rez
Member
GBAtemp Patron
Joined
Sep 13, 2022
Messages
7,171
Trophies
3
Location
The Wired
Website
m4x1mumrez87.neocities.org
XP
22,016
Country
United Kingdom
Here's one for the GBAtempers
gbatemp.png
 

BeckysFootSlave

Well-Known Member
Newcomer
Joined
Jan 4, 2022
Messages
52
Trophies
0
Age
50
XP
668
Country
Germany
Hi, fidgeting with the boot_splash_screen_notext.inc file I have a semi-manual proccess to get the values:
  • Start with a graphic file (Atmosphere.bmp on this case, can be PNG or JPG).
  • Create a "framebuffer" binary file, using the python script "convertfb.py" (https://github.com/zqb-all/convertfb), you need to have installed the python-imaging module (pillow) use command: pip install pillow. An example of the command:
    • convertfb.py -i Atmosphere.bmp -o Atmosphere.fb -f ARGB

Could you explain me HOW to convert my "splashscreen.bmp" (or splashscreen.png) to framebuffer?
First on that site is no convertfb.py just a convertfb without filetype!
I put ".py" to the filename and no matter what I do the script is giving an error telling me:

Python:
File "/d/SplashMakerSwitch/convertfb.py", line 46
    print 'Image:',args.img_in,' ',w,'X',h,im.mode
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?

Have to say that I use Python 3.11 (only one on my system (win 11) = no older python)

PIP, Pillow and other modules are newest!
 

impeeza

¡Kabito!
Member
Joined
Apr 5, 2011
Messages
6,361
Trophies
3
Age
46
Location
At my chair.
XP
18,717
Country
Colombia
Could you explain me HOW to convert my "splashscreen.bmp" (or splashscreen.png) to framebuffer?
First on that site is no convertfb.py just a convertfb without filetype!
I put ".py" to the filename and no matter wahtt I do the script is giving an error telling me:

Python:
File "/d/SplashMakerSwitch/convertfb.py", line 46
    print 'Image:',args.img_in,' ',w,'X',h,im.mode
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?

Have to say that I use Python 3.11 (only one on my system (win 11) = no older python)
wuaw, literally in this moment I am editing my local notes about this matter.

You first start with a image, says Atmosphere.png (the name doesn't matters) and the easiest way is to use GIMP, then Export the image as raw DATA with the parameters:
Sorry guys, the file generated by GIMP do not have the correct format, my bad, sorry if I confused you more than needed.


THE ONLY SOLUTION BY NOW TO GENERATE THE RAW FILE IS USING THE PYTHON SCRIPT, (https://github.com/zqb-all/convertfb) (full New instructions -better I hope-) are on https://gbatemp.net/threads/custom-boot-logo-for-switch.569031/post-9941051 in summary, you can run convertfb.py -i Atmosphere.bmp -o Atmosphere.DATA -f ARGB

So you have a file Atmosphere.bmp.data which is on framebuffer format

Then you can use bin2header.exe (https://github.com/AntumDeluge/bin2header/releases/) to generate the code, running the command:

bin2header.exe -p 32 Atmosphere.data

Last copy the contents of Atmosphere.data.h on to \stratosphere\boot\source\boot_splash_screen_notext.inc

Please do not to forget edit the variables
C++:
constexpr size_t SplashScreenX = 535; 
constexpr size_t SplashScreenY = 274; 
constexpr size_t SplashScreenW = 210;
constexpr size_t SplashScreenH = 172;

to match the properties and the location of you image.
 
Last edited by impeeza,

binkinator

Garfield’s Fitness Coach
Member
GBAtemp Patron
Joined
Mar 29, 2021
Messages
6,511
Trophies
2
XP
6,155
Country
United States
Could you explain me HOW to convert my "splashscreen.bmp" (or splashscreen.png) to framebuffer?
First on that site is no convertfb.py just a convertfb without filetype!
I put ".py" to the filename and no matter what I do the script is giving an error telling me:

Python:
File "/d/SplashMakerSwitch/convertfb.py", line 46
    print 'Image:',args.img_in,' ',w,'X',h,im.mode
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?

Have to say that I use Python 3.11 (only one on my system (win 11) = no older python)

PIP, Pillow and other modules are newest!
Complete side note: the reason convertfb doesn’t work is the first line requires python2

#!/usr/bin/env python2
 

BeckysFootSlave

Well-Known Member
Newcomer
Joined
Jan 4, 2022
Messages
52
Trophies
0
Age
50
XP
668
Country
Germany
@impeeza @binkinator (Sorry for ping)

This is the short Image that is shown after the splashscreen, right?
I think Binki called it "Sept-Logo"?

hekate > launch > emuMMC > custom splashscreen (32 bmp 90 degree) > splashscreen injected to package3 > THIS IMAGE (short showing up ams logo)

BTW Is it normal that the new "boot_splash_screen_notext.inc" is 10MB :O:O:O in filesize instead of 424KB?
I used a 1280x720 image!
Maybe I should just insert our Logo inside it with 256x256 so it ends up with:
constexpr size_t SplashScreenX = 512;
constexpr size_t SplashScreenY = 232;
constexpr size_t SplashScreenW = 256;
constexpr size_t SplashScreenH = 256;

EDIT: Now it is MUCH better :D
Image is just the Logo with 256x180
constexpr size_t SplashScreenX = 512;
constexpr size_t SplashScreenY = 270;
constexpr size_t SplashScreenW = 256;
constexpr size_t SplashScreenH = 180;

File is 540KB instead of 10MB!

Now I just have to compile ams again and... whish me luck :wub:

Another question; what is the "boot_splash_screen_text.inc" for? What is the difference?
 
Last edited by BeckysFootSlave,
  • Love
Reactions: impeeza

BeckysFootSlave

Well-Known Member
Newcomer
Joined
Jan 4, 2022
Messages
52
Trophies
0
Age
50
XP
668
Country
Germany
1. Well it works (good to know)
2.... But,

Little problem!
Instead of this logo it shows a purple one 😭😭😭

What can I change in gimp export or somewhere else 🤷 to get original colors!

EDIT = I will try to use gimp again!
But before export to "*.data" I will use the channel mixer and set:
Red to blue, green to green and blue to red channel!

I'll give feedback later when I get home!
 

Attachments

  • SB Schriftzug gross.png
    SB Schriftzug gross.png
    117.9 KB · Views: 60
  • IMG_2917.mov
    1.2 MB
Last edited by BeckysFootSlave,

binkinator

Garfield’s Fitness Coach
Member
GBAtemp Patron
Joined
Mar 29, 2021
Messages
6,511
Trophies
2
XP
6,155
Country
United States
@impeeza @binkinator (Sorry for ping)

This is the short Image that is shown after the splashscreen, right?
I think Binki called it "Sept-Logo"?
Correct, the “Sept-Logo” is the white triangle logo of Atmosphere that’s built in.
hekate > launch > emuMMC > custom splashscreen (32 bmp 90 degree) > splashscreen injected to package3 > THIS IMAGE (short showing up ams logo)

BTW Is it normal that the new "boot_splash_screen_notext.inc" is 10MB :O:O:O in filesize instead of 424KB?
I used a 1280x720 image!
Maybe I should just insert our Logo inside it with 256x256 so it ends up with:
constexpr size_t SplashScreenX = 512;
constexpr size_t SplashScreenY = 232;
constexpr size_t SplashScreenW = 256;
constexpr size_t SplashScreenH = 256;

EDIT: Now it is MUCH better :D
Image is just the Logo with 256x180
constexpr size_t SplashScreenX = 512;
constexpr size_t SplashScreenY = 270;
constexpr size_t SplashScreenW = 256;
constexpr size_t SplashScreenH = 180;

File is 540KB instead of 10MB!

Now I just have to compile ams again and... whish me luck :wub:

Another question; what is the "boot_splash_screen_text.inc" for? What is the difference?
Sorry I missed these!

Here is the line that pulls in boot_splash_screen_notext.inc

https://github.com/Atmosphere-NX/At...sphere/boot/source/boot_splash_screen.cpp#L27

I’ve not tried it with the other one. Might play with it tonight since I haven’t recompiled mine for 15.0.1. Will let you know what I find out…

Update 1:

@BeckysFootSlave here you go!

This is the difference between compiling with:

  • boot_splash_screen_notext.inc
image.jpg
  • boot_splash_screen_text.inc
image.jpg

1. Well it works (good to know)
2.... But,

Little problem!
Instead of this logo it shows a purple one 😭😭😭

What can I change in gimp export or somewhere else 🤷 to get original colors!

EDIT = I will try to use gimp again!
But before export to "*.data" I will use the channel mixer and set:
Red to blue, green to green and blue to red channel!

I'll give feedback later when I get home!
Depends upon the format of original pic. Unfortunately I’m just a hack w/ gimp and kinda flail around until things work and then try to remember and document what I did with mixed results.

Update 2: the issue with the purple is because of the difference between ARGB and RGBA. See @impeeza ’s note about Gimp screwing things up. Also try his convertfb3 as it’s using python3 natively. Should work better for you.

Update 3: I followed @impeeza ’s instructions using convertfb3 and bin2header and WOW, it’s SO easy! Literally paint by number now. (No Gimp required!)

Here’s the “Fullscreen” I put inside boot_splash_screen_notext.inc and recompiled:

image.jpg
 
Last edited by binkinator,

binkinator

Garfield’s Fitness Coach
Member
GBAtemp Patron
Joined
Mar 29, 2021
Messages
6,511
Trophies
2
XP
6,155
Country
United States
I edited the original DATA logo with GIMP and I wrote a power shell script to convert the c: output format from winhex. But it only works with B/W images...
Whew. I was picturing you going in and changing one bit at a time with a hex editor and I threw up a little in my mouth. LOL 😂
 
  • Like
Reactions: josete2k

CYANure

New Member
Newbie
Joined
Dec 12, 2021
Messages
3
Trophies
0
Age
123
XP
35
Country
United States
Does someone have the original red/white Nintendo logo already made by any chance? I'd like to replace the Atmosphere logo with it. Thanks!
 

binkinator

Garfield’s Fitness Coach
Member
GBAtemp Patron
Joined
Mar 29, 2021
Messages
6,511
Trophies
2
XP
6,155
Country
United States
Does someone have the original red/white Nintendo logo already made by any chance? I'd like to replace the Atmosphere logo with it. Thanks!
It would be a black screen with a small red rectangle and small Nintendo logo. That’s why a lot of logos here have black backgrounds by default. Would look kinda off to be honest. If your heart is set on it though, it’s pretty simple to grab a logo you like off of Google images, chop it to the right size and save it in the right format and make one using the scripts provided earlier in the thread.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Psionic Roshambo @ Psionic Roshambo: I did use a bot for Diablo III though but no ban there lol