Tutorial  Updated

Custom Boot Logo Tutorial

(Putting this in it’s own thread for posterity…)

In case folks want to roll their own custom boot logo, here are detailed instructions for how to set it up.

Good article on getting python and pip (you need both) installed on Windows: https://www.liquidweb.com/kb/install-pip-windows/

Download the script by going here: https://github.com/friedkeenan/switch-logo-patcher

Click the blue Code button and select Download ZIP and then unzip the directory somewhere easy to get to.

FCB2EA81-CD2D-4CFC-B918-795FB6639E2A.jpeg


Open a cmd.exe window and cd to the easy to get to directory and type the following:

Code:
python -m pip install -r requirements.txt

Once that’s successful your are ready to patch!

I’ve attached my 308x350 png file again for you to copy into the same directory as a proof of concept.

here’s the command:

Code:
python gen_patches.py patches_dir new_logo

new_logo=the name of the 308x350 .png file you copied into this directory that you want patched into files. If you download the attached proof of concept file it would be F44C1AC8-3310-4EA5-BFFB-1F682120F3B8.png

patches_dir=use whatever directory name makes sense to you. You will copy this entire directory over to /atmosphere/exefs_patches/ when you are done.



Here’s the readme again.

# Switch Logo Patcher

Creates the IPS patches needed to replace the Switch logo on boot.

The logo you want to change the Switch logo to must be the same size as the original logo, which is 308x350. Anything else and the program won't let you progress.

You don't need to dump the original logo to use this, but if you don't specify the original logo, each patch will be 400+ KiB.

### Usage

```
usage: gen_patches.py [-h] [-o OLD_LOGO] patches_dir new_logo

positional arguments:
patches_dir The directory where the generated patches will be
dumped
new_logo The new logo image

optional arguments:
-h, --help show this help message and exit
-o OLD_LOGO, --old_logo OLD_LOGO
The original logo image
 

Attachments

  • F44C1AC8-3310-4EA5-BFFB-1F682120F3B8.png
    F44C1AC8-3310-4EA5-BFFB-1F682120F3B8.png
    21.9 KB · Views: 224
Last edited by binkinator,

impeeza

¡Kabito!
Member
Joined
Apr 5, 2011
Messages
6,419
Trophies
3
Age
46
Location
At my chair.
XP
19,047
Country
Colombia
For the Firmware 15 the script needs to be updated, it's easy:

the section:

Python:
patch_info = {
    # AM patches
    "C79F22F18169FCD3B3698A881394F6240385CDB1": 1668164,
    "01890C643E9D6E17B2CDA77A9749ECB9A4F676D6": 1962240,
    "C088ADC91417EBAE6ADBDF3E47946858CAFE1A82": 1962240,
    "3EC573CB22744A993DFE281701E9CBFE66C03ABD": 1716480,

    # Vi patches
    "7B4123290DE2A6F52DE4AB72BEA1A83D11214C71": 1831168,
    "723DF02F6955D903DF7134105A16D48F06012DB1": 1835264,
    "967F4C3DFC7B165E4F7981373EC1798ACA234A45": 1573120,
    "98446A07BC664573F1578F3745C928D05AB73349": 1589504,
    "0767302E1881700608344A3859BC57013150A375": 1593600,
    "7C5894688EDA24907BC9CE7013630F365B366E4A": 1593600,
    "7421EC6021AC73DD60A635BC2B3AD6FCAE2A6481": 1536256,
    "96529C3226BEE906EE651754C33FE3E24ECAE832": 1544448,
    "D689E9FAE7CAA4EC30B0CD9B419779F73ED3F88B": 1655040,
    "65A23B52FCF971400CAA4198656D73867D7F1F1D": 1655040,
    "B295D3A8F8ACF88CB0C5CE7C0488CC5511B9C389": 1696000,
    "82EE58BEAB54C1A9D4B3D9ED414E84E31502FAC6": 1708288,
    "AFEAACF3E88AB539574689D1458060657E81E088": 1716480,
}


add "7E9BB552AAEFF82363D1E8C97B5C6B95E3989E1A": 1704192, at end so now is:


Python:
patch_info = {
    # AM patches
    "C79F22F18169FCD3B3698A881394F6240385CDB1": 1668164,
    "01890C643E9D6E17B2CDA77A9749ECB9A4F676D6": 1962240,
    "C088ADC91417EBAE6ADBDF3E47946858CAFE1A82": 1962240,
    "3EC573CB22744A993DFE281701E9CBFE66C03ABD": 1716480,

    # Vi patches
    "7B4123290DE2A6F52DE4AB72BEA1A83D11214C71": 1831168,
    "723DF02F6955D903DF7134105A16D48F06012DB1": 1835264,
    "967F4C3DFC7B165E4F7981373EC1798ACA234A45": 1573120,
    "98446A07BC664573F1578F3745C928D05AB73349": 1589504,
    "0767302E1881700608344A3859BC57013150A375": 1593600,
    "7C5894688EDA24907BC9CE7013630F365B366E4A": 1593600,
    "7421EC6021AC73DD60A635BC2B3AD6FCAE2A6481": 1536256,
    "96529C3226BEE906EE651754C33FE3E24ECAE832": 1544448,
    "D689E9FAE7CAA4EC30B0CD9B419779F73ED3F88B": 1655040,
    "65A23B52FCF971400CAA4198656D73867D7F1F1D": 1655040,
    "B295D3A8F8ACF88CB0C5CE7C0488CC5511B9C389": 1696000,
    "82EE58BEAB54C1A9D4B3D9ED414E84E31502FAC6": 1708288,
    "AFEAACF3E88AB539574689D1458060657E81E088": 1716480,
    "7E9BB552AAEFF82363D1E8C97B5C6B95E3989E1A": 1704192,
}

and tadaaa now the script can generate IPS files for Firmware 15 too.
 

binkinator

Garfield’s Fitness Coach
OP
Member
GBAtemp Patron
Joined
Mar 29, 2021
Messages
6,511
Trophies
2
XP
6,156
Country
United States
For the Firmware 15 the script needs to be updated, it's easy:

the section:

Python:
patch_info = {
    # AM patches
    "C79F22F18169FCD3B3698A881394F6240385CDB1": 1668164,
    "01890C643E9D6E17B2CDA77A9749ECB9A4F676D6": 1962240,
    "C088ADC91417EBAE6ADBDF3E47946858CAFE1A82": 1962240,
    "3EC573CB22744A993DFE281701E9CBFE66C03ABD": 1716480,

    # Vi patches
    "7B4123290DE2A6F52DE4AB72BEA1A83D11214C71": 1831168,
    "723DF02F6955D903DF7134105A16D48F06012DB1": 1835264,
    "967F4C3DFC7B165E4F7981373EC1798ACA234A45": 1573120,
    "98446A07BC664573F1578F3745C928D05AB73349": 1589504,
    "0767302E1881700608344A3859BC57013150A375": 1593600,
    "7C5894688EDA24907BC9CE7013630F365B366E4A": 1593600,
    "7421EC6021AC73DD60A635BC2B3AD6FCAE2A6481": 1536256,
    "96529C3226BEE906EE651754C33FE3E24ECAE832": 1544448,
    "D689E9FAE7CAA4EC30B0CD9B419779F73ED3F88B": 1655040,
    "65A23B52FCF971400CAA4198656D73867D7F1F1D": 1655040,
    "B295D3A8F8ACF88CB0C5CE7C0488CC5511B9C389": 1696000,
    "82EE58BEAB54C1A9D4B3D9ED414E84E31502FAC6": 1708288,
    "AFEAACF3E88AB539574689D1458060657E81E088": 1716480,
}


add "7E9BB552AAEFF82363D1E8C97B5C6B95E3989E1A": 1704192, at end so now is:


Python:
patch_info = {
    # AM patches
    "C79F22F18169FCD3B3698A881394F6240385CDB1": 1668164,
    "01890C643E9D6E17B2CDA77A9749ECB9A4F676D6": 1962240,
    "C088ADC91417EBAE6ADBDF3E47946858CAFE1A82": 1962240,
    "3EC573CB22744A993DFE281701E9CBFE66C03ABD": 1716480,

    # Vi patches
    "7B4123290DE2A6F52DE4AB72BEA1A83D11214C71": 1831168,
    "723DF02F6955D903DF7134105A16D48F06012DB1": 1835264,
    "967F4C3DFC7B165E4F7981373EC1798ACA234A45": 1573120,
    "98446A07BC664573F1578F3745C928D05AB73349": 1589504,
    "0767302E1881700608344A3859BC57013150A375": 1593600,
    "7C5894688EDA24907BC9CE7013630F365B366E4A": 1593600,
    "7421EC6021AC73DD60A635BC2B3AD6FCAE2A6481": 1536256,
    "96529C3226BEE906EE651754C33FE3E24ECAE832": 1544448,
    "D689E9FAE7CAA4EC30B0CD9B419779F73ED3F88B": 1655040,
    "65A23B52FCF971400CAA4198656D73867D7F1F1D": 1655040,
    "B295D3A8F8ACF88CB0C5CE7C0488CC5511B9C389": 1696000,
    "82EE58BEAB54C1A9D4B3D9ED414E84E31502FAC6": 1708288,
    "AFEAACF3E88AB539574689D1458060657E81E088": 1716480,
    "7E9BB552AAEFF82363D1E8C97B5C6B95E3989E1A": 1704192,
}

and tadaaa now the script can generate IPS files for Firmware 15 too.

You really got deep into those patch numbers man. Impressive.
 

krasjoel

New Member
Newbie
Joined
Oct 13, 2022
Messages
1
Trophies
0
Age
33
XP
146
Country
Italy
For the Firmware 15 the script needs to be updated, it's easy:

the section:

Python:
patch_info = {
    # AM patches
    "C79F22F18169FCD3B3698A881394F6240385CDB1": 1668164,
    "01890C643E9D6E17B2CDA77A9749ECB9A4F676D6": 1962240,
    "C088ADC91417EBAE6ADBDF3E47946858CAFE1A82": 1962240,
    "3EC573CB22744A993DFE281701E9CBFE66C03ABD": 1716480,

    # Vi patches
    "7B4123290DE2A6F52DE4AB72BEA1A83D11214C71": 1831168,
    "723DF02F6955D903DF7134105A16D48F06012DB1": 1835264,
    "967F4C3DFC7B165E4F7981373EC1798ACA234A45": 1573120,
    "98446A07BC664573F1578F3745C928D05AB73349": 1589504,
    "0767302E1881700608344A3859BC57013150A375": 1593600,
    "7C5894688EDA24907BC9CE7013630F365B366E4A": 1593600,
    "7421EC6021AC73DD60A635BC2B3AD6FCAE2A6481": 1536256,
    "96529C3226BEE906EE651754C33FE3E24ECAE832": 1544448,
    "D689E9FAE7CAA4EC30B0CD9B419779F73ED3F88B": 1655040,
    "65A23B52FCF971400CAA4198656D73867D7F1F1D": 1655040,
    "B295D3A8F8ACF88CB0C5CE7C0488CC5511B9C389": 1696000,
    "82EE58BEAB54C1A9D4B3D9ED414E84E31502FAC6": 1708288,
    "AFEAACF3E88AB539574689D1458060657E81E088": 1716480,
}


add "7E9BB552AAEFF82363D1E8C97B5C6B95E3989E1A": 1704192, at end so now is:


Python:
patch_info = {
    # AM patches
    "C79F22F18169FCD3B3698A881394F6240385CDB1": 1668164,
    "01890C643E9D6E17B2CDA77A9749ECB9A4F676D6": 1962240,
    "C088ADC91417EBAE6ADBDF3E47946858CAFE1A82": 1962240,
    "3EC573CB22744A993DFE281701E9CBFE66C03ABD": 1716480,

    # Vi patches
    "7B4123290DE2A6F52DE4AB72BEA1A83D11214C71": 1831168,
    "723DF02F6955D903DF7134105A16D48F06012DB1": 1835264,
    "967F4C3DFC7B165E4F7981373EC1798ACA234A45": 1573120,
    "98446A07BC664573F1578F3745C928D05AB73349": 1589504,
    "0767302E1881700608344A3859BC57013150A375": 1593600,
    "7C5894688EDA24907BC9CE7013630F365B366E4A": 1593600,
    "7421EC6021AC73DD60A635BC2B3AD6FCAE2A6481": 1536256,
    "96529C3226BEE906EE651754C33FE3E24ECAE832": 1544448,
    "D689E9FAE7CAA4EC30B0CD9B419779F73ED3F88B": 1655040,
    "65A23B52FCF971400CAA4198656D73867D7F1F1D": 1655040,
    "B295D3A8F8ACF88CB0C5CE7C0488CC5511B9C389": 1696000,
    "82EE58BEAB54C1A9D4B3D9ED414E84E31502FAC6": 1708288,
    "AFEAACF3E88AB539574689D1458060657E81E088": 1716480,
    "7E9BB552AAEFF82363D1E8C97B5C6B95E3989E1A": 1704192,
}

and tadaaa now the script can generate IPS files for Firmware 15 too.
really amazing! but how do you update to always have the new script?
 

impeeza

¡Kabito!
Member
Joined
Apr 5, 2011
Messages
6,419
Trophies
3
Age
46
Location
At my chair.
XP
19,047
Country
Colombia
really amazing! but how do you update to always have the new script?

It's easy but no so simple :D

The boot logo patches alter the binary information on the file what shows the image at HOS start.

So when following the guide https://gbatemp.net/threads/origina...ware-switch-logo-patcher.613041/#post-9840002 we discover what the file responsible for show that picture it's the title 010000000000002D, so using Hactool you can list all the NCA files what made a firmware and find the one what have the title 010000000000002D on it.

Then also using hactool you can extract the files on the NCA archive and inflate them. Hactool provide the SHA1 of the program file (MAIN) what is executed, that is the first number on the array of values on the script, and needed as the name of the patch file.

Then when you open the inflated file you can search for the original picture on it and the offset where the picture is stored is the second value of the array.

The script uses both values to create a patch file in order to change the file of the title ID 010000000000002D starting on the offset .

The patch file can be created on two ways:
  • A file containing all the values of the new image you want, the biggest file possible.
  • A file containing only the values what are different between the original logo and the new image you want, a smaller file, but you need the original logo what is copyrighted asset of big N so you need to provide yours and can not be legally downloaded.
So you can wait for the creator of the script publish the new version, come here and find if someone give the new values or use the instructions above to find it yourself.
Post automatically merged:

You really got deep into those patch numbers man. Impressive.
Yesterday I feel like "the most great hacker of all the time" :rofl2: after I found a set of OLD bootlogo patches on my archives but I haven't the original picture, and put my shelf (I am not furniture) self on the quest of convert that patches on the original picture in order to generate patches for the new firmwares.

Using your instructions on how to get the original bootlogo, used a "main" executable of one of the firmwares for what I have a ips file, then using IPS Lunar apply the IPS patch to original main file and then using the process to extract bootlogo extracted the resultant image on the patched main file and voilà the image shows on gimp. Thank you very much :grog:
 
Last edited by impeeza,
  • Love
Reactions: binkinator

binkinator

Garfield’s Fitness Coach
OP
Member
GBAtemp Patron
Joined
Mar 29, 2021
Messages
6,511
Trophies
2
XP
6,156
Country
United States
  • Love
Reactions: impeeza

Pauljr456

Member
Newcomer
Joined
Nov 14, 2020
Messages
23
Trophies
0
Age
29
XP
230
Country
United States

binkinator

Garfield’s Fitness Coach
OP
Member
GBAtemp Patron
Joined
Mar 29, 2021
Messages
6,511
Trophies
2
XP
6,156
Country
United States
Do you know how to fix boot sound when it cuts out
I've had this issue before. It's manifested in a couple of ways:

1) other sys-modules (try removing all sys-mods and then adding them back one at a time until the issue appears again.)
2) corrupted boot sound (I know it sounds weird but it happened one time...try rewriting the boot sound to your card)
3) long boot sounds (try shortening the time by speeding it up slightly...it will still sound the same to a human)
4) slow sdcard. I had a card slow down over time and copying the exact files over to a new card provided a HUGE improvement.
 

Pauljr456

Member
Newcomer
Joined
Nov 14, 2020
Messages
23
Trophies
0
Age
29
XP
230
Country
United States
I've had this issue before. It's manifested in a couple of ways:

1) other sys-modules (try removing all sys-mods and then adding them back one at a time until the issue appears again.)
2) corrupted boot sound (I know it sounds weird but it happened one time...try rewriting the boot sound to your card)
3) long boot sounds (try shortening the time by speeding it up slightly...it will still sound the same to a human)
4) slow sdcard. I had a card slow down over time and copying the exact files over to a new card provided a HUGE improvement.
I have sped it up have a good sd card also I know My sound isn't corrupt how do I delete all sys modules and add them back?
 

binkinator

Garfield’s Fitness Coach
OP
Member
GBAtemp Patron
Joined
Mar 29, 2021
Messages
6,511
Trophies
2
XP
6,156
Country
United States
I have sped it up have a good sd card also I know My sound isn't corrupt how do I delete all sys modules and add them back?

All sysmods are under /atmosphere/contents/
They will each have their own 16 digit number. BootsoundNX uses 00FF0000000002AA
To disable everything else but bootsoundNX, make a new directory called /atmosphere/contents.bk/ and move all the 16 digit directories there EXCEPT 00FF0000000002AA.
If it plays perfectly, move the numbered directories back to /atmosphere/contents one at a time until you hear the issue again. That will be the one that’s causing delays during playback.


e:
5) make sure you’re using this version off bootsoundNX:
https://github.com/KranKRival/BootSoundNX <—-NOT THIS ONE

https://github.com/TheModdersDen/BootSoundNX <—Use this one

(there is a fix for pauses in the sound)
 
Last edited by binkinator,

Pauljr456

Member
Newcomer
Joined
Nov 14, 2020
Messages
23
Trophies
0
Age
29
XP
230
Country
United States
All sysmods are under /atmosphere/contents/
They will each have their own 16 digit number. BootsoundNX uses 00FF0000000002AA
To disable everything else but bootsoundNX, make a new directory called /atmosphere/contents.bk/ and move all the 16 digit directories there EXCEPT 00FF0000000002AA.
If it plays perfectly, move the numbered directories back to /atmosphere/contents one at a time until you hear the issue again. That will be the one that’s causing delays during playback.


e:
5) make sure you’re using this version off bootsoundNX:
https://github.com/KranKRival/BootSoundNX
(there is a fix for pauses in the sound)
So use the old one not the new one?
 
  • Like
Reactions: impeeza

binkinator

Garfield’s Fitness Coach
OP
Member
GBAtemp Patron
Joined
Mar 29, 2021
Messages
6,511
Trophies
2
XP
6,156
Country
United States
I tried everything I cannot figure out why it has a pause in the bootsound I have checked all my sysmodules

add another bootsound and repoint to the new one and see if it still does it.

It could be the SDCard. do you have another one handy we could test with?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • Quincy @ Quincy:
    Usually when such a big title leaks the Temp will be the first to report about it (going off of historical reports here, Pokemon SV being the latest one I can recall seeing pop up here)
  • K3Nv2 @ K3Nv2:
    I still like how a freaking mp3 file hacks webos all that security defeated by text yet again
  • BigOnYa @ BigOnYa:
    They have simulators for everything nowdays, cray cray. How about a sim that shows you playing the Switch.
  • K3Nv2 @ K3Nv2:
    That's called yuzu
    +1
  • BigOnYa @ BigOnYa:
    I want a 120hz 4k tv but crazy how more expensive the 120hz over the 60hz are. Or even more crazy is the price of 8k's.
  • K3Nv2 @ K3Nv2:
    No real point since movies are 30fps
  • BigOnYa @ BigOnYa:
    Not a big movie buff, more of a gamer tbh. And Series X is 120hz 8k ready, but yea only 120hz 4k games out right now, but thinking of in the future.
  • K3Nv2 @ K3Nv2:
    Mostly why you never see TV manufacturers going post 60hz
  • BigOnYa @ BigOnYa:
    I only watch tv when i goto bed, it puts me to sleep, and I have a nas drive filled w my fav shows so i can watch them in order, commercial free. I usually watch Married w Children, or South Park
  • K3Nv2 @ K3Nv2:
    Stremio ruined my need for nas
  • BigOnYa @ BigOnYa:
    I stream from Nas to firestick, one on every tv, and use Kodi. I'm happy w it, plays everything. (I pirate/torrent shows/movies on pc, and put on nas)
  • K3Nv2 @ K3Nv2:
    Kodi repost are still pretty popular
  • BigOnYa @ BigOnYa:
    What the hell is Kodi reposts? what do you mean, or "Wut?" -xdqwerty
  • K3Nv2 @ K3Nv2:
    Google them basically web crawlers to movie sites
  • BigOnYa @ BigOnYa:
    oh you mean the 3rd party apps on Kodi, yea i know what you mean, yea there are still a few cool ones, in fact watched the new planet of the apes movie other night w wifey thru one, was good pic surprisingly, not a cam
  • BigOnYa @ BigOnYa:
    Damn, only $2.06 and free shipping. Gotta cost more for them to ship than $2.06
    +1
  • BigOnYa @ BigOnYa:
    I got my Dad a firestick for Xmas and showed him those 3rd party sites on Kodi, he loves it, all he watches anymore. He said he has got 3 letters from AT&T already about pirating, but he says f them, let them shut my internet off (He wants out of his AT&T contract anyways)
  • K3Nv2 @ K3Nv2:
    That's where stremio comes to play never got a letter about it
  • BigOnYa @ BigOnYa:
    I just use a VPN, even give him my login and password so can use it also, and he refuses, he's funny.
  • BigOnYa @ BigOnYa:
    I had to find and get him an old style flip phone even without text, cause thats what he wanted. No text, no internet, only phone calls. Old, old school.
  • Psionic Roshambo @ Psionic Roshambo:
    @BigOnYa, Lol I bought a new USB card reader thing on AliExpress last month for I think like 87 cents. Free shipping from China... It arrived it works and honestly I don't understand how it was so cheap.
    +1
    Psionic Roshambo @ Psionic Roshambo: @BigOnYa, Lol I bought a new USB card reader thing on AliExpress last month for I think like 87... +1