Tutorial  Updated

How to mod CTCater's Hekate (custom colours and text)

Hello everyone,

Today I'll be showing you how to make your own Hekate mods. These are the kind of mods I'll be showing off today:

vLkFbN.jpg

39gVtS.jpg

(unlike in the picture I'll be showing you how to modify the title on the top as well.)

Requirements:
DevkitPro: https://github.com/devkitPro/installer/releases
Git: https://git-scm.com/downloads
Notepad++: https://notepad-plus-plus.org/

Being able to use command prompt properly,
Knowing how to look up and use hex values,
Have about 15-20 minutes to spare,
And be a master coder and have a 300iq.



NOTE: I will not be going through how to get these programs installed and working in this tutorial. In order to follow this you must already have them installed and verify they're working properly. I will also be changing some things from the example photos (nothing major just a few minor text edits.)


You shouldn't worry too much about the requirements (the ones that don't require you to download stuff anyway) as I'll try to make it as "noob" friendly as possible. But if (for whatever reason) you can't meet the requirements/lost interest then I suggest to leave now. Otherwise buckle up as this is going to be a fun ride. :)



STEP 1: Getting the source code:

Launch up Git Bash and you should see a screen like this:
3AhiM2.png

(the tab will be much bigger for you obviously)

Then simply copy and paste this command into the terminal and hit enter:

git clone --recurse-submodules -j8 https://github.com/CTCaer/hekate


If you've done it correctly you should end up with something like this:
XDnfG2.png

We now have the Hekate source code installed to wherever we directed it to. (The default directory is the "Users" folder). We can now close out of Git Bash! This is the boring stuff over with. Time to move to the more exciting parts now.




STEP 2: Editing the Source Code:

Navigate to where you stored the source code. In my case (and probably yours too) it will be in the C:/User/Users directory. Go there and you should find a "hekate" folder inside of there.
2ex7Xx.png

If it isn't in the "Users" directory then you simply have to check the top of the Git Bash tab to tell you where it's directed at.

Anyway go inside the folder and you should see all the source code inside of it. (If not then I highly recommend redownloading it just so none of it is missing/corrupt.)

Search for main.c inside that folder and you should get this result:

mmW4v5.png

You can simply ignore config.c as it's not what we need for this. Right click on main.c and click on "Edit with Notepad++".

You should then be able to see this:

nAe0VG.png

Then hit ctrl+f then search
(with quotations) and press "Find Next".


7RGqXJ.png

You should be able to see this:


VkmO0b.png


You will probably recognise this from the menu you see when you boot Hekate. You can change the text (in between the quotes) to whatever you want.

You'll also notice that there are dashes separating the text and an hex value next to it. We'll come back to that as for now we're only interested in the text.

Once you've done editing the menu text. We can move on to the about section.

Hit Ctrl+F again, this time click on "backward direction" and search for
(yes without quotations.)


TDtcrq.png

You should end up somewhere around here:

DVYPnh.png

One of the things you can do here is add your own text into the credits. I feel like this is a good time to mention this:

PLEASE DON'T REMOVE THE CREDITS, PUT YOUR OWN NAME ON AND RE-RELEASE IT TO THE PUBLIC AND CLAIM IT AS YOUR OWN CODE/WORK.

This will only get you into legal trouble (as it violates the GNU 2.0 licence Hekate uses). And it makes you look scummy.

However feel free to remove the credits entirely and put your own in as long as it's for PRIVATE USE ONLY!!!

With that warning out of the way:

Simply press enter to make another line in the code, put a quotation mark on it, add a few spaces to align with the credits (or don't if you don't like being organised,) add your own text, then add
right next to it. Then repeat this if you want to add multiple lines of text.


This is what you should end up with:

mUDqrK.png

We're almost done with the text (for now). We'll get to editing hex values/colours in just a moment. But for now.

Scroll down a few lines and you should see this:


nL0OKd.png

You can see the text "switchbrew" written next to the octopus. You can edit this to whatever you like. (I personally don't want to make a flame war against TX fanboys on this thread at least). So I'll put "This is why you make code open source" on there.

We're done for text for now. Now we can get to editing hex values!

You can completely ignore the code that's on line 3200 and 3201. Leave that as the default. What we're interested in is the "credits" and "octopus" words and the hex values next to them.



Let's start with the credits:

you'll notice that they're two hex values on the credits.

The first one represents "Thanks to" (by default which is blue)

And the second values represents "Greetings to" and "Open source and free packages used" (which by default is grey)

I'd recommend looking for which colours that you'll want to use at this point.

For the purposes of this tutorial I'll go with Green and Cyan.



I'd recommend going to this website:

As it's a great way of picking out colours.

BUT REMEMBER ALWAYS ADD FF TO THE BEGINNING OF EACH HEX VALUE AND REMOVE THE HASHTAG! (Also make all the letters capitals just to be safe.)

Otherwise it'll be too short and Hekate won't recognise it.

So for example (since I'm picking green and cyan) these are the values by default:

Green: #00ff00

Cyan: #00ffff


You'd want to make them something like this:

Green: FF00FF00

Cyan: FF00FFFF

Then simply paste them in. (DO NOT PASTE IT OVER THE 0x.)

Now we'll move on to the octopus:

since we already know what we're doing this will be quicker.

However now instead of two they're 4 values. And I'll need to explain to you what they are and what they do.

The 1st and 3rd values represent the octopus (as they're the same value,)

The 2nd value represents the grey outline of the octopus

and the 4th value represents the text right next to the octopus that we edited earlier.


So I'll want the 1st and 3rd values to be red,

i'll leave 2nd value as default

and leave the 4th value as default (as I like the colour.)

So following the same rules as last time (and yes before you ask red needs two f's as well despite already having two f's.)

And if you've done everything correctly you should of done this:

VumkwU.png

Almost finished now.

Go to ctrl+f and type in the edited text you put for "Launch" (so for me it's "Launch CFW".)

Remember the dashes I mentioned earlier? Well we're going to be editing that now.

As long as you've understood the examples I've put for what to do you can easily skim through this.


These are the colours I'll be putting for the dashes:

First dash will be red,

second dash will be cyan

third dash will be white.

(Use the example above for reference of what to do for what colour that you want to put.)

Then scroll down until you hit line 3326.

There you'll see the title and a value that you can ignore.

For the title you can simply edit it to what you want (in between quotations obviously).


You should end up with something like this:

Tjp5LG.png

(You can edit other hex values in the submenus but I won't be going through that as that'll be unnecessary and make the tutorial even longer.)

You're now done editing the text! Simply click file and save and exit out of Notepad++!



STEP 3: Compiling:

Now open up Command Prompt and type in:

cd insert your hekate directory here

(or you can open up Powershell in the directory by holding shift and right clicking if you went into the Registry to set that up.)

And simply type. Get this.


I know. So simple but yet so effective.

Anyway hit enter and you should see all the code compile.

Give it about 30 seconds to compile and once it's done you should see this.

gmUpip.png

If you get any errors in between check what you've put. (I'll be happy to help in the comments).

Now close Command Prompt/Powershell and navigate to the hekate folder.

You should see a new folder called output and inside that our compiled hekate.bin file.

52N7Ja.png


STEP 4: Testing and Final Results:

Simply inject the payload using any method you want and you can see the results for yourself:

zdwJGf.jpg

xLSvJi.jpg

So this is the end of the tutorial.

Just a few notes before I sign off.

#1: There's probably a way to edit the octopus to be a different image but I haven't tested that out yet and frankly I've spent enough time on this tutorial already and it's long enough.
#2: You can use the compilation method to compile other things as well (like modules for Atmosphere so you can run the latest version without any problems.)
and #3: I would like some constructive feedback on the tutorial. Because despite spending hours on it I'd like people to point out what I can improve on for next time.

Thanks for following this tutorial.

This is Essasetic signing off.

Have a good one =)
 
Last edited by Essasetic, , Reason: For the people who use the white theme. You should be able to see the tutorial now.

Enkuler

Well-Known Member
Newcomer
Joined
Jan 25, 2017
Messages
97
Trophies
0
XP
456
Country
France
I actually use a dark theme. Just used the white text because I thought it looked nicer.
I'm sure it does look nicer on the dark theme. But since that color also applies to users with the light theme, some people can't read your tutorial.
Here's what it looks like on the light theme:
Capture d’écran de 2018-11-18 11-19-13.png
 

Essasetic

General Spectator
OP
Member
Joined
Jun 16, 2018
Messages
1,573
Trophies
1
XP
3,304
Country
United Kingdom
I'm sure it does look nicer on the dark theme. But since that color also applies to users with the light theme, some people can't read your tutorial.
Here's what it looks like on the light theme:
Oh... Let me change that then. My apologies.

--------------------- MERGED ---------------------------

I'm sure it does look nicer on the dark theme. But since that color also applies to users with the light theme, some people can't read your tutorial.
Here's what it looks like on the light theme:
Changed! Apologies for editing it so late.

--------------------- MERGED ---------------------------

Nice tutorial for white gbatemp theme user
Should be fixed now.

--------------------- MERGED ---------------------------

I do think gbatemp should've optimised the themes so if you changed to white for example you'll have darker text. (It could be a feature in the future who knows.)
 
  • Like
Reactions: Enkuler

numbr0ne

New Member
Newbie
Joined
May 21, 2021
Messages
1
Trophies
0
Age
43
XP
60
Country
United Kingdom
Oh... Let me change that then. My apologies.

--------------------- MERGED ---------------------------


Changed! Apologies for editing it so late.

--------------------- MERGED ---------------------------


Should be fixed now.

--------------------- MERGED ---------------------------

I do think gbatemp should've optimised the themes so if you changed to white for example you'll have darker text. (It could be a feature in the future who knows.)

--------------------- MERGED ---------------------------

--------------------- MERGED ---------------------------

--------------------- MERGED ---------------------------

Hello I follow this guide but I don't succeed to create hekate.bin
I have these mistakes :
./bootloader/frontend/fe_emmc_tools.c:920:9: warning: #pragma GCC target is not supported for this machine [-Wpragmas]
#pragma GCC pop_options
^
cc1.exe: warning: unrecognized command line option '-Wno-stringop-overflow'
cc1.exe: warning: unrecognized command line option '-Wno-stringop-overread'
Building build/hekate/fe_info.o
./bootloader/frontend/fe_info.c:665:9: warning: #pragma GCC target is not supported for this machine [-Wpragmas]
#pragma GCC pop_options
^
cc1.exe: warning: unrecognized command line option '-Wno-stringop-overflow'
cc1.exe: warning: unrecognized command line option '-Wno-stringop-overread'
Building build/hekate/fe_tools.o
./bootloader/frontend/fe_tools.c:609:9: warning: #pragma GCC target is not supported for this machine [-Wpragmas]
#pragma GCC pop_options
^
cc1.exe: warning: unrecognized command line option '-Wno-stringop-overflow'
cc1.exe: warning: unrecognized command line option '-Wno-stringop-overread'
Building build/hekate/ccplex.o
Building build/hekate/clock.o
Building build/hekate/di.o
Building build/hekate/gpio.o
Building build/hekate/irq.o
./bdk/soc/irq.c:238:1: warning: target attribute is not supported on this machine [-Wattributes]
{
^
./bdk/soc/irq.c:261:1: warning: target attribute is not supported on this machine [-Wattributes]
{
^
./bdk/soc/irq.c: In function 'fiq_handler':
./bdk/soc/irq.c:273:1: error: interrupt Service Routines cannot be coded in Thumb mode
}
^
./bdk/soc/irq.c: At top level:
cc1.exe: warning: unrecognized command line option '-Wno-stringop-overflow'
cc1.exe: warning: unrecognized command line option '-Wno-stringop-overread'
make: *** [Makefile:143: build/hekate/irq.o] Error 1
PS F:\Games\SWitch\hack perso\hekate-5.5.6>

What is the problem in my windows 10 configuration ?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Veho @ Veho:
    Illinois is working to ban toxic food additives that have been banned for decades in other countries; additives that can be replaced and all those countries still have Skittles and Mountain Dew. Title of the piece: GUBMINT WANTS TO TAKE AWAY YOUR CANDY
  • Veho @ Veho:
    Gee, I wonder if the author is biased?
  • SylverReZ @ SylverReZ:
    @Veho, Sounds and smells like bullshit. They don't give you cancer, and California should know that. I don't get why they stick labels that say "may or may not cause reproductive harm or cancer".
  • Veho @ Veho:
    Arsenic doesn't give you cancer either.
    +2
  • Veho @ Veho:
    California has already banned those additives BTW.
    +2
  • Veho @ Veho:
    Psi has been banned in the state of California.
    +2
  • Psionic Roshambo @ Psionic Roshambo:
    I am the cancer!!! lol
  • Psionic Roshambo @ Psionic Roshambo:
    Yayyy got arcade games on the Pi working lol
  • Veho @ Veho:
    Cool.
  • Psionic Roshambo @ Psionic Roshambo:
    Now to spend 6 months deleting all the garbage lol
  • Psionic Roshambo @ Psionic Roshambo:
    Mame should be two sets one for preservation of everything and one set for people who just want to play and enjoy the old old ganes
  • SylverReZ @ SylverReZ:
    @Psionic Roshambo, Shouldn't preservation be legal tho?
    +1
  • SylverReZ @ SylverReZ:
    @Psionic Roshambo, I always see this dude's shorts, he sounds pretty annoying.
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Preservation yeah it absolutely should be legal
    +1
  • SylverReZ @ SylverReZ:
    @Psionic Roshambo, Believe Japan was going to make it legal at some point, according to a Kotaku story.
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    I swear like 99% of arcade games wouldn't even exist these days outside of MAME the arcade machines are old and busted very few ever saw any sort of home conversion
  • Psionic Roshambo @ Psionic Roshambo:
    We get 37 versions of Super Mario Bros but 0 of Beast Busters
    +1
  • SylverReZ @ SylverReZ:
    @Psionic Roshambo, There's a lot of obscure Japanese arcade titles that are either lost to time or dumped.
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    It's so unfair, maybe AI can save us lol
  • Psionic Roshambo @ Psionic Roshambo:
    I mean if a company could use AI to do the work of a home conversion for essentially free why not? The rights for some games are completely lost though
  • SylverReZ @ SylverReZ:
    @Psionic Roshambo, AI is taking our jobs!
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Just tried the Master System version.... Ugghh
    Psionic Roshambo @ Psionic Roshambo: Just tried the Master System version.... Ugghh