Hello everyone, and welcome to another Switch Hax Weekly. This is a bumper homebrew issue with not less than twelve different projects to report on! This week we have:
- New Switch firmware
- RetroArch Switch
- SX OS 2.1/2.0.1
- Homebrew Bounty Round 1 begins
- New homebrew roundup
- 3DS news
The Switch firmware got an update yesterday, with the release of 6.0.1. To date it seems like it only includes some bugfixes, and no damage to hax has been reported. The qlaunch module was replaced, which means custom themes will not work in 6.0.1 at time of writing.
Thank you to @Naked_Snake for the screenshot.
There is a discussion thread here.
RetroArch, by the libretro team, is a popular emulator frontend available for a wide variety of consoles and computers. Until this week the Switch version was only able to be played through Lakka.
There was a bit of a hiccup the day before RetroArch's Switch release. On the 30th September Libretro made a tweet teasing the soon-to-come release, stating that there would be 42+ cores.
There will be 42+ cores at launch for RetroArch Switch! Our biggest platform launch yet! pic.twitter.com/HtJ3ERt1IH— libretro (@libretro) September 30, 2018
An hour later, Jonathan Downey, who has a YouTube channel called Spawn Wave, made a tweet saying that RetroArch had been released. He didn't have any inside knowledge (as nothing had been released at that time), and given the time difference between Libretro's tweet and his, probably just misunderstood it. With 27K followers it quickly got retweeted out of control.
Retroarch has an official release on Switch now. Those who hacked their Switch can now play all types of emulators including PS1 with online play.— Spawn Wave (@SpawnWaveMedia) September 30, 2018
Many news outlets reported on the release using this tweet as source. These outlets include Nintendo Enthusiast, My Nintendo News, Gaming Alarm, and 1st Gamers.
Adding to the confusion was the fact that Libretro retweeted Spawn Wave's tweet, making it seem like they approved or agreed. It turned out that they just thought it was cool, and they weren't meaning to convey any particular message with the retweet.
RetroArch Switch was released the next day to much fanfare, with two more cores than promised, plus lots of other amazing features. Check out the official blog post by Libretro for details, and talk about it on the official GBAtemp discussion thread here.
TX accused of bribing main developer
SX OS is accused of asking m4xw to develop RetroArch solely for SX OS in exchange for $6,000.
The details here are a little murky, as the sum total of the evidence is m4xw showing a snippet of the conversation between him and the SX OS team.
Great to know you are associated with them. Not surprised.
Yet we are here and I never accepted any payment whatsoever.
If you want to blame me for trying to gain their trust, go ahead.
I don't mind it, I wanted to see where this goes and I didn't like the destination.
Can you maybe expand a bit on what the current status of your retroARCH port is?
I understand you are ambitious to write a custom UI for reotroARCH from scratch,
but from a time-efficiency point of view this would set us back quite some months.
This also goes for porting Qt etc. to switch. They would be nice *future* goals
but for now we are mostly interested in getting an emulator frontend integrated ASAP.
You can either provide us with source code or an NRO and we will take care of the
actual integration into TX menu. Right now it seems easiest to me if we have some
button or menu inside our TX menu that will bring up the retroARCH frontend, and a
way to go back to TX menu from the retroARCH frontend.
The user interface, user experience and rom folder structure should be consistent.
Everything needs to be branded with Team Xecuter of course, please let us know
what graphics assets you need. (type of asset, limitations, dimensions, mockup UI screenshots)
A member of the SX team (@xiaNaix) states that he was asked to contact the team to begin a discussion because of his existing ties, and much of what SX are accused of isn't true.
Not right at all.
In the chatlogs I saw, they never asked him to stop open-source development. In fact, they talked about things they could do, like integrating the romlist into the SX OS menu, that would differentiate the two builds. There was also discussion of whether or not RetroNX access would be locked to the paid version of SX OS or free for everyone and it was agreed to be free. m4xw liked that idea and agreed to lower his price for coding work since it would not be behind a paywall, so to speak.
I don't want to get into too much detail since the chatlogs aren't mine to release, but I didn't see anything "nefarious" about this arrangement from what I read. It's unfortunate that it's been portrayed as a "bribe" when it seems like nothing of the sort actually transpired.
If you are brave, the discussion thread is here.
A new SX version dropped yesterday. The TX team has decided to have two simultaneous branches of SX, 2.1 beta and 2.0.1. The 2.0.1 branch will be the stable, working branch but not including all of the possible new features. 2.1 beta will introduce the new features the team has been working on, and allow the public to test it, hopefully allowing for a shorter time before the features make it into the stable branch.
2.0.1, the stable branch, introduces some stability fixes. SX OS 2.0 had a few issues with games not working - some of the affected games include NBA2K19, Doom, Xenoblade Chronicles, and The Messenger. These should be fixed. If you are still having issues with games please comment on here and I will update this column, or comment on this thread.
2.1 beta introduces the cheat engine and cheat finder. These operate similarly to the Gateway 3DS cheat engine - to find the memory area to edit a number in the game (for example the number of a particular item in your inventory), you first search for that number and find many results, then change the number (by, for example, dropping some of those items) and search again for the new number, and so on, until the memory location has been determined. The value at that memory location can then be edited. There are some complications due to the Switch implementing ASLR everywhere. TX has produced a guide which you can read here. If you have created a cheat code to share, or you would like to request one, please do so in this thread.
Thank you to @DiscoDaz for the screenshot.
The first round of the Homebrew Bounty began on the 6th of October. Developers will have one month to produce their entries (computer tools in this round), before judging begins in November. We already have some entries!
PySwitch by @Rikikoo: As you can guess from the name, this is a Python script. It extracts & parses various file formats for the Switch.
The result after dragging an NCA file over the print_control.py script
The result after dragging the same NCA file over the print_nca.py script
HacPac GUI by @XorTroll: By the author of PlayerNX, this is a GUI written in Dot Net for the legal NSP builder, HacPac, written by @The-4n. This was released a few days before round 1 began, so hopefully it is a valid entry.
NES Online Injector by @bodyXY: By the author of the similar-looking Another HacPac GUI written in C#, this tool allows you to inject more games into the NES Online app that comes with your Nintendo Online subscription. Like XorTroll's HacPac GUI mentioned above, it was released a few days before the round began.
Here is some new homebrew that hasn't been entered into Round 1 of the Bounty.
Doom 64 Ex by @fgsfds: This is a port of the reverse engineering project of Doom 64. By the accomplished author of many other ports. Thanks @Cyan for reporting this one.
Dedbae xci2nsp by @roothorick and the 2168-0002 team: This is a script that converts XCI files to NSP, in a more efficient and faster way than 4NXCI.
dOPUS by @HiD: An NSP/XCI manager for Switch. You can use this to install or delete XCI/NSP format games. Based on 4NXCI and Tinfoil. Sadly, somebody came to the thread claiming to have a trademark on the name, and the author deleted the original post and his github repository, rather than either rename the project or ignore the person. Hopefully it will come back in the future with a new name.
Pixel Shuffle NX by @Cid2mizard: Cid2mizard looks to be a regular here, as this is his third appearance in the Weekly. Pixel Shuffle NX is a port of the original Flash game, with all the same levels.
Does anyone else find it amusing that the thumbnail is of a thumb?
SwitchExplorer by @SimonMKWii: A utility with a GUI for exploring NSP, XCI and NCA files. Looks to have similar functions to PySwitch mentioned above, but have fewer supported file formats. On the other hand, it is GUI-based,which is very nice.
Libdedbae & dbcli by @roothorick and the 2168-0002 team: A C library for manipulating Switch file formats. Seems similar to SwitchExplorer and PySwitch mentioned previously. If anyone knows the differences between these three tools, please comment and I'll add the information to the column.
NRO2NSP Builder by @re.lax: Builds NRO files (homebrew launcher executables) into installable NSPs. You can either build the NSP to launch the NRO from the SD card (meaning that to update the homebrew application, you only need to replace the NRO file) or built into the NSP itself (meaning you don't need a file on the SD card, but updating involves building and installing a new NSP).
Boop by @elementalcode: An application for sending NSP files to Tinfoil to install, which has the functionality for network installation built in, similarly to FBI for the 3DS.
Legal NSP Splitter for FAT32: by @AnalogMan: The Nintendo SDK contains a script for splitting NSPs to be able to install games larger than 4GB on FAT32 SD cards. AnalogMan has rewritten the logic into a Python script, so everyone can do the same thing, but legally.
From now on I will endeavour to keep an eye on the 3DS scene as well as the Switch scene. This week we see the release of a free way to install CFW on the 3DS on the latest firmware. It involves DSiWare, and is by @zoogie, who has released multiple other DSiWare-based hacks.
The official discussion thread and support is here.
Thanks for tuning into another issue. If you would like some more reading, our previous issue can be found here.