Tesla - The Nintendo Switch Overlay Menu

fhwyjbd.png

Hey all.
I'd like to introduce to you, Tesla: My answer to the growing need for proper ingame front ends for sysmodules.


What is this?

  • Tesla consists of three individual parts. nx-ovlloader, the Tesla menu and libtesla.
    • nx-ovlloader is basically nx-hbloader ported to run as a sysmodule. It runs in the background and loads overlay NROs (.ovl files) given to it.
    • Tesla Menu is the equivalent to the hbmenu. It's the initial thing loaded by nx-ovlloader and acts as a hub for you to select all other overlays.
    • libtesla is where it becomes interesting for developers. It's an easy to use library that handles layer creation, UI drawing and all the overlay UX. It makes it very easy to create a new overlay for anything
  • A frontend for sysmodules that before required either a homebrew or a config file to change settings or used sounds or the LED to give the user feedback.

What is this not?

  • A tool that lets you create overlays that are always visible. Overlays can get unloaded way to easily for this.
  • An excuse to port absolutely everything to a overlay. Nobody's going to need a title manager overlay. If you consider making a overlay, keep it simple. You don't have a whole lot of memory to work with.


How do I use this?

First of all, download the latest release of nx-ovlloader and the Tesla Menu from the GitHub Release page and extract it onto your SD card.
After a reboot, hold down L and DPad Down and push on the right joy stick to bring up Tesla at any time. Navigation works as you imagine it.
Similar to normal homebrews, you place your .ovl files in the /switch/.overlays folder on your SD card.


Screenshots

W8yN2M6.jpg

fdfWAXw.jpg


Notice

Make sure to use the latest Atmosphere release when trying this as older versions ( as the one SX OS uses too ) probably won't have enough memory available for this to run. Overlays do take a lot of space so nx-ovlloader reserves 6MB. 2MB for framebuffers and around 4MB for overlay developers to use in their overlays.


GitHub

nx-ovlloader: https://github.com/WerWolv/nx-ovlloader
Tesla Menu: https://github.com/WerWolv/Tesla-Menu


For Developers

libtesla: https://github.com/WerWolv/libtesla
Tesla build template: https://github.com/WerWolv/Tesla-Template


Download

nx-ovlloader: https://github.com/WerWolv/nx-ovlloader/releases/latest
Tesla-Menu: https://github.com/WerWolv/Tesla-Menu/releases/latest
EdiZon Overlay: http://werwolv.net/downloads/EdiZonOverlay.zip ( As a little preview for what this is capable of and what EdiZon 4.0.0 will have even more of soon :) )

Special thank especially to averne without him, this would not have been possible!


Obligatory Donation links

GitHub Sponsors https://github.com/sponsors/WerWolv
PayPal https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=KP7XRJAND9KWU&source=url
Patreon https://www.patreon.com/werwolv



Thanks a lot and have fun using and extending it :)
 
Last edited by WerWolv,

Moquedami

Well-Known Member
Member
Joined
Nov 16, 2006
Messages
418
Trophies
0
XP
1,262
Country
Argentina
I got Tesla overlay working fine on my Sx Os switch, but for some reason it brakes my Witcher 3 xci from loading. It just crashes when Tesla is activated.
Other games seem to work just fine.
Any idea why this could be happening?
 

Maupiti

Hacking is so « Nice »
Member
Joined
Sep 16, 2018
Messages
688
Trophies
0
XP
1,376
Country
France
I got Tesla overlay working fine on my Sx Os switch, but for some reason it brakes my Witcher 3 xci from loading. It just crashes when Tesla is activated.
Other games seem to work just fine.
Any idea why this could be happening?
It happens with some games when some sysmodules are running (that’s why you can desactivate them, could be not Tesla, but another sysmodule running, you have to find which). And Sxos doesn’t like at all sysmodules, better to use Atmosphere for that.
 
Last edited by Maupiti,
  • Like
Reactions: ELY_M

Moquedami

Well-Known Member
Member
Joined
Nov 16, 2006
Messages
418
Trophies
0
XP
1,262
Country
Argentina
It happens with some games when some sysmodules are running (that’s why you can desactivate them, could be not Tesla, but another sysmodule running, you have to find which). And Sxos doesn’t like at all sysmodules, better to use Atmosphere for that.
Thanks for answering.
You were right, i fixed it removing the emuiibo, systune and Edizon sysmodules.
I only needed the sys-clk and monitor and those are working fine
 
Last edited by Moquedami,
  • Like
Reactions: Maupiti

Maupiti

Hacking is so « Nice »
Member
Joined
Sep 16, 2018
Messages
688
Trophies
0
XP
1,376
Country
France
Thanks for answering.
You were right, i fixed it removing the emuiibo, systune and Edizon sysmodules.
I only needed the sys-clk and monitor and those are working fine
Yeah, the sysmodules you removed are known to cause issues under Sxos.
 
Last edited by Maupiti,

Chrisssj2

Well-Known Member
Member
Joined
Feb 12, 2008
Messages
2,374
Trophies
0
XP
3,319
Country
Netherlands
I tried the suggestion of a user here saying:
"Alright I'll teach you guys haha. After installing Tesla, you can use "L + D-Pad Down + Click Right Joystick" And that's there you can toggle things, at first, it will not show up in that menu. You will need to plug your SD Card into your pc and navigate to "X:\atmosphere\contents\4200000000001312" That should be your sys-hidplus path. Once there, create a new text document called "toolbox.json". If it does not confirm you to change the extension, go to "File > Change folder and search options > View" And uncheck Hide extensions for known file types. Then you can change the extension to .json. Once you have the "toolbox.json" file, open it up and paste the following:

"
{
"name" : "sys-hidplus",
"tid" : "4200000000001312",
"requires_reboot": false
}
"

Once that is done, save the file and plug back into your switch. There should be a sys-hidplus option in your Tesla overlay now!"

But after trying there is NO sys-hidplus in my sysmodules on tesla overlay. I have toolbox.jsion in the 1312 folder. What gives?
 

Attachments

  • toolbox.rar
    166 bytes · Views: 128

Snap00

Member
Newcomer
Joined
Jun 12, 2017
Messages
24
Trophies
0
Age
42
XP
95
Country
Swaziland
Hello together

I‘m using Tesla to run emuiibo. Because the Tesla-Menu is just a chainloader and emuiibo is the only app which i use, i renamed the emuiibo.ovl to ovlmenu.ovl, so nx-ovlloader would directly load the emuiibo menu. That worked so far, but when this was started once, it’s no longer possible to access the album / hbmenu which requires the right trigger / R-Button to be pressed. There must be some issues with the override-config in Atmosphere. When using the normal Tesla-Menu to be loaded first, everything works fine. If only one app will be used, it would be nice to bypass the menu and get direct access to this.

Best regards and greetings, Snap.
 

hippy dave

BBMB
Member
Joined
Apr 30, 2012
Messages
7,807
Trophies
1
XP
11,538
Country
United Kingdom
Hello together

I‘m using Tesla to run emuiibo. Because the Tesla-Menu is just a chainloader and emuiibo is the only app which i use, i renamed the emuiibo.ovl to ovlmenu.ovl, so nx-ovlloader would directly load the emuiibo menu. That worked so far, but when this was started once, it’s no longer possible to access the album / hbmenu which requires the right trigger / R-Button to be pressed. There must be some issues with the override-config in Atmosphere. When using the normal Tesla-Menu to be loaded first, everything works fine. If only one app will be used, it would be nice to bypass the menu and get direct access to this.

Best regards and greetings, Snap.
You might find that the menu ovl performs extra functions related to it being called by the loader directly, and closing when done, that regular overlay modules don't do because they're not designed to. You could compare the sources for anything like that and try to tweak emuiibo, if you're feeling adventurous.
 
  • Like
Reactions: Snap00

Snap00

Member
Newcomer
Joined
Jun 12, 2017
Messages
24
Trophies
0
Age
42
XP
95
Country
Swaziland
Hippy Dave, thank you for your answer. So, when i understand correctly, teslas ovlmenu.ovl uses some functions to open, close and handle the app correctly. And the issue which i have, occurs while those required functions are missing in the regular overlays, for example in the one from emuiibo. So it’s better and saver to use the tesla menu to avoid some further problems.

Ah, at the moment i‘m not adventurous enough to check and implement those functions for the emuiibo.ovl. But maybe it would be easier to modify the loader. For example, if there is only one regular overlay in the folder, it would start this automatically. And if there are more of them, it prompts the menu to choose. But maybe im the only one guy, which use this for only one app. ;-) Until i also need some more apps and need to choose between them. ;-)

Thanks a lot, Snap.
 

enderer

Well-Known Member
Member
Joined
Jul 19, 2015
Messages
371
Trophies
0
Age
32
XP
1,250
Country
United States
i'm still struggling to balance my background processes because i don't know how much memory is being used by each.

is there some way to check? can this be added to tesla? or does each programmer have to post memory allotment for each background process?
 
  • Like
Reactions: Amirgh

MrWhosHacking

Well-Known Member
Member
Joined
May 3, 2018
Messages
266
Trophies
0
Age
32
XP
394
Country
United States
You don't understand how overlay keyboard works. Showing it will do nothing if app isn't programmed to accept input from it. And if you will show keyboard, only app that showed this keyboard can accept input.


I wanted to use it in gta 3 and vice cheats I thought why not a overlay if possible I seen one but for retro arch.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
    KenniesNewName @ KenniesNewName: Saw a bles in folder so figured they go there but not showing under games