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,

urherenow

Well-Known Member
Member
Joined
Mar 8, 2009
Messages
4,810
Trophies
2
Age
48
Location
Japan
XP
3,717
Country
United States
That's strange... I have it working with 16.0.0 but with an own compilation of atmosphere...
So in the last couple of hours, I've triple-checked that

1)1600_support branch of libnx from Atmosphere-nx is built and installed
2) cargo-nx was --force installed to latest
3) built from scratch: emuiibo, Tesla menu, ovlloader, emutool (and created 1 single amiibo with it), Atmosphere, and Hekate. This includes emummc.kipm.
4) even generated new loader patches for my own-built package3, and tested by installing latest tinfoil

Still get the "emuiibo doesn't seem to be present". You're going to have to get more specific about your "own compilation". I've even tried your own build of emuiibo.

Edit: to rule out anything *really silly, are your emuiibo/amiibo/overlay folders all in lower case? And is there any type of emuiibo file in your /switch folder, other than in .overlays? (on your switch sd, of course, don't just check your computer)
 
Last edited by urherenow,

JeepX87

Well-Known Member
Member
Joined
Aug 17, 2016
Messages
1,761
Trophies
0
Age
36
XP
3,302
Country
United States
This "fix" was found by SciresM who applied it to JKSV and then Ely copied it to overlay without testing if it breaks compability with other FWs because it didn't with NRO homebrew (and as SciresM said they should not have used system session in the first place). So in their mind it wasn't temporary, they believed it will work fine as with NRO (even though libtesla explicitly stated at this place to not use anything else otherwise it will crash). Thus why it did not occur to me you were talking with them in mind
Finally, I can understand now and thank you for detailed information.

SciresM deserves to get a full credit for find a method to fix the JKSV and use his method on different tools.
 
  • Like
Reactions: ELY_M

TheRaptor

Well-Known Member
Newcomer
Joined
Oct 16, 2019
Messages
89
Trophies
0
Age
39
XP
369
Country
Netherlands
I updated Edizon-Overlay. Since I updated, cheats will not show up. It's says it's empty when I play a game. All my cheats are saved in the content folder. What can I do to fix it?
 

JeepX87

Well-Known Member
Member
Joined
Aug 17, 2016
Messages
1,761
Trophies
0
Age
36
XP
3,302
Country
United States
I updated Edizon-Overlay. Since I updated, cheats will not show up. It's says it's empty when I play a game. All my cheats are saved in the content folder. What can I do to fix it?
Does tesla overlay show up? If not, you may missing 420000000007E51A folder and necessary files.

Otherwise, check in atmosphere > contents (sometime, PC may delete all folders by accident).

Lastly, clean reinstallation of tesla overlay and ensure that you have 420000000007E51A folder.
 

TheRaptor

Well-Known Member
Newcomer
Joined
Oct 16, 2019
Messages
89
Trophies
0
Age
39
XP
369
Country
Netherlands
Does tesla overlay show up? If not, you may missing 420000000007E51A folder and necessary files.

Otherwise, check in atmosphere > contents (sometime, PC may delete all folders by accident).

Lastly, clean reinstallation of tesla overlay and ensure that you have 420000000007E51A folder.
The cheats for Hyrule Warriors Age of Calamity are working. Somehow cheats for Pokemon Brilliant Diamond are not working. I dowloaded the cheats from cheatslips.
Post automatically merged:

Cheats are in de content folder. The Program ID for Pokemon Brilliant Diamond is 0100000011D90000.
 
Last edited by TheRaptor,

JeepX87

Well-Known Member
Member
Joined
Aug 17, 2016
Messages
1,761
Trophies
0
Age
36
XP
3,302
Country
United States
The cheats for Hyrule Warriors Age of Calamity are working. Somehow cheats for Pokemon Brilliant Diamond are not working. I dowloaded the cheats from cheatslips.
If one game works, it means tesla overlay isn't broken.

I believe that has with BID.

You can use tesla overlay to find a BID for Pokemon Brilliant Diamond and go to thread to find an appropriate cheat for game version.
https://gbatemp.net/threads/pokemon-brilliant-diamond-shining-pearl-cheat-database.602559/
 
  • Like
Reactions: TheRaptor

TheRaptor

Well-Known Member
Newcomer
Joined
Oct 16, 2019
Messages
89
Trophies
0
Age
39
XP
369
Country
Netherlands
If one game works, it means tesla overlay isn't broken.

I believe that has with BID.

You can use tesla overlay to find a BID for Pokemon Brilliant Diamond and go to thread to find an appropriate cheat for game version.
https://gbatemp.net/threads/pokemon-brilliant-diamond-shining-pearl-cheat-database.602559/
Thank you. The codes in this thread works:)
Post automatically merged:

I cannot open the Tesla Menu in TV mode with my Switch Pro Controller. It works fine in tablet mode. Works it only in tablet mode?
 
Last edited by TheRaptor,
  • Like
Reactions: JeepX87

Chrisssj2

Well-Known Member
Member
Joined
Feb 12, 2008
Messages
2,715
Trophies
1
XP
4,413
Country
Netherlands
Buddys, Can we get a list of the needed software to update in order to get all working. As far I know, you need to update:
  • Tesla Menu (ovlmenu), https://github.com/WerWolv/Tesla-Menu, there is no a 16.0.0 support release, but the Pull Request 51 adds it, that PR has been committed on 2632ce2a0c0c5d29f8a06728c0e0e3e50742c3b8 so the actual code will compile it without problems.
Then you need to update your Overlays, like:
Please correct me if I am wrong and help us by adding URLs for updated overlays.

by the way which is better to use? the OVLMenu build from WerWolv repo or the one included on one of the Edizon Overlays?
Status monitor is 0.80. Good list. Id like to see such list for all homebrew games&apps. like gzdoom, moonlight, half life, quake etc.
 

ELY_M

Developer
Developer
Joined
Dec 6, 2007
Messages
710
Trophies
1
XP
1,694
Country
United States
Yes, I stripped out anything not needed for cheats. I will apply a code fix to my fork so it will work on both pre-16.0.0 FW and 16.0.0 FW.
to be honest, I was in hurry when I was fixing the libtesla and tesla overlay.
I will credit to both @masagrator and @SciresM

I agree about malicious code thing.
 

binkinator

Garfield’s Fitness Coach
Member
GBAtemp Patron
Joined
Mar 29, 2021
Messages
6,511
Trophies
2
XP
6,157
Country
United States
Last edited by binkinator,
  • Like
  • Love
Reactions: ELY_M and impeeza

SharAlakid

Member
Newcomer
Joined
Nov 12, 2021
Messages
6
Trophies
0
Age
23
XP
49
Country
Poland
Thanks for the advice, i tried to do it, unfortunately i get an error while installing DevKitPro:
Pacman -Sy --noconfirm devkitA64 devkitARM devkitarm-rules hactool mingw-w64-x86_64-python mingw-64-x86_64- :: Synchronizing package databases... clangarm64 is up to date mingw32 is up to date mingw64 is up to date ucrt64 is up to date clang32 is up to date clang64 is up to date msys is up to date dkp-libs is up to date dkp-windows is up to date warning: devkitA64-r20-1 is up to date -- reinstalling error: target not found: mingw-w64-x86_64-
and when i try to just move on commands such as python-lz4 are not being found
 

binkinator

Garfield’s Fitness Coach
Member
GBAtemp Patron
Joined
Mar 29, 2021
Messages
6,511
Trophies
2
XP
6,157
Country
United States
Thanks for the advice, i tried to do it, unfortunately i get an error while installing DevKitPro:
Pacman -Sy --noconfirm devkitA64 devkitARM devkitarm-rules hactool mingw-w64-x86_64-python mingw-64-x86_64- :: Synchronizing package databases... clangarm64 is up to date mingw32 is up to date mingw64 is up to date ucrt64 is up to date clang32 is up to date clang64 is up to date msys is up to date dkp-libs is up to date dkp-windows is up to date warning: devkitA64-r20-1 is up to date -- reinstalling error: target not found: mingw-w64-x86_64-
and when i try to just move on commands such as python-lz4 are not being found
You cut off the error being displayed. You cannot proceed forward until all errors are resolved.
 

ShadowOne333

QVID PRO QVO
Editorial Team
Joined
Jan 17, 2013
Messages
12,230
Trophies
2
XP
34,609
Country
Mexico
Thanks for the advice, i tried to do it, unfortunately i get an error while installing DevKitPro:
Pacman -Sy --noconfirm devkitA64 devkitARM devkitarm-rules hactool mingw-w64-x86_64-python mingw-64-x86_64- :: Synchronizing package databases... clangarm64 is up to date mingw32 is up to date mingw64 is up to date ucrt64 is up to date clang32 is up to date clang64 is up to date msys is up to date dkp-libs is up to date dkp-windows is up to date warning: devkitA64-r20-1 is up to date -- reinstalling error: target not found: mingw-w64-x86_64-
and when i try to just move on commands such as python-lz4 are not being found
You cut off the error being displayed. You cannot proceed forward until all errors are resolved.

He didn't cut off the error, the command itself is cutoff
Code:
Pacman -Sy --noconfirm devkitA64 devkitARM devkitarm-rules hactool mingw-w64-x86_64-python mingw-w64-x86_64-python-lz4 mingw-w64-x86_64-python-pycryptodome switch-dev switch-glm switch-libjpeg-turbo mingw-w64-x86_64-python-pip

This is the full command, it should install everything from there.
 

binkinator

Garfield’s Fitness Coach
Member
GBAtemp Patron
Joined
Mar 29, 2021
Messages
6,511
Trophies
2
XP
6,157
Country
United States
He didn't cut off the error, the command itself is cutoff
Code:
Pacman -Sy --noconfirm devkitA64 devkitARM devkitarm-rules hactool mingw-w64-x86_64-python mingw-w64-x86_64-python-lz4 mingw-w64-x86_64-python-pycryptodome switch-dev switch-glm switch-libjpeg-turbo mingw-w64-x86_64-python-pip

This is the full command, it should install everything from there.
I’ll be damned…there it is!

080A9A63-8083-4720-A600-6C6223DE48F1.jpeg


nice catch!
 

silien3

Well-Known Member
Member
Joined
Jun 7, 2017
Messages
336
Trophies
0
Age
29
XP
753
Country
France
the folder 420000000007E51 atmosphere crashes randomly when you go to cheat with tesla I specify that it works and sometimes it crashes and that everything is up to date so I think that the folder itself must be updated to work with firmware 16.0 .0 or a bug fix of the ovl must see the light of day but I think rather that the folder is problem I could be wrong I leave it to the proffessional

I tried the 2 versions for 16.0 its the same
it's a random crash related to the tesla cheat selection I don't know where the problem comes from
 
  • Like
Reactions: impeeza

dsrules

Well-Known Member
Member
Joined
Sep 20, 2005
Messages
8,747
Trophies
2
XP
6,317
Country
the folder 420000000007E51 atmosphere crashes randomly when you go to cheat with tesla I specify that it works and sometimes it crashes and that everything is up to date so I think that the folder itself must be updated to work with firmware 16.0 .0 or a bug fix of the ovl must see the light of day but I think rather that the folder is problem I could be wrong I leave it to the proffessional

I tried the 2 versions for 16.0 its the same
it's a random crash related to the tesla cheat selection I don't know where the problem comes from
crashes in docked or tablet mode?
all tesla menu versions always has a random chance of crashing in docked mode when using cheasts
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: https://youtu.be/ALcfGYLXcjQ?si=ePdtM6b0p5sWaxof