Homebrew RetroArch Switch

  • Thread starter Thread starter ShadowOne333
  • Start date Start date
  • Views Views 2,167,670
  • Replies Replies 9,226
  • Likes Likes 100
Alright, alright, alright.

I've compiled a fair amount of cores with the new libtransistor! I haven't tested them, though, because I'm on 3.0.2 and 4.1.0! Let me know how they work :)

https://drive.google.com/drive/folders/1DCHTvqaFKfYq-XM6knN7GJ4gIo2DrUAe?usp=sharing

Here's what I compiled for y'all:
  • fbalpha_retroarch.nro
  • fceumm_retroarch.nro
  • gambatte_retroarch.nro
  • genesis_retroarch.nro
  • gpsp_retroarch.nro
  • handy_retroarch.nro
  • mame2003_retroarch.nro
  • mgba_retroarch.nro
  • picodrive_retroarch.nro
  • prosystem_retroarch.nro
  • snes9x2010_retroarch.nro
  • tgbdual_retroarch.nro
  • vba_next_retroarch.nro
  • vecx_retroarch.nro
  • virtualjaguar_retroarch.nro
  • yabause_retroarch.nro
Lemme know! :) Happy Friday night/Saturday morning!

Edit: I'm testing on my 3.0.2 Switch and I've noticed that the nros play loud garbage audio for like half a sec when loading roms? lemme know if that's also happening in 5.0.2
Thanks! Happy to see handy on the list.
Ask this guy how he fixed the noise? https://gbatemp.net/threads/5-0-2-compatible-snes9x2010-and-vba-next-ports.505299/
 
Alright, alright, alright.

I've compiled a fair amount of cores with the new libtransistor! I haven't tested them, though, because I'm on 3.0.2 and 4.1.0! Let me know how they work :)

https://drive.google.com/drive/folders/1DCHTvqaFKfYq-XM6knN7GJ4gIo2DrUAe?usp=sharing

Here's what I compiled for y'all:
  • fbalpha_retroarch.nro
  • fceumm_retroarch.nro
  • gambatte_retroarch.nro
  • genesis_retroarch.nro
  • gpsp_retroarch.nro
  • handy_retroarch.nro
  • mame2003_retroarch.nro
  • mgba_retroarch.nro
  • picodrive_retroarch.nro
  • prosystem_retroarch.nro
  • snes9x2010_retroarch.nro
  • tgbdual_retroarch.nro
  • vba_next_retroarch.nro
  • vecx_retroarch.nro
  • virtualjaguar_retroarch.nro
  • yabause_retroarch.nro
Lemme know! :) Happy Friday night/Saturday morning!

Edit: I'm testing on my 3.0.2 Switch and I've noticed that the nros play loud garbage audio for like half a sec when loading roms? lemme know if that's also happening in 5.0.2
Awesome work, doesn't work on 4.1.0 sadly.
 
Couldn't get this running on 4.1

Thank you for the sick release dude

I don't see the desire to stay on 4.1.0 anymore considering the method to boot straight into CFW was allegedly patched in on the firmware you're on and staying on it has no actual benefit compared to the latest FW. It's worth to mention that most users will be on 5.0.2 as well, so a larger majority get updates quicker.
 
  • Like
Reactions: Centergaming
I don't see the desire to stay on 4.1.0 anymore considering the method to boot straight into CFW was allegedly patched in on the firmware you're on and staying on it has no actual benefit compared to the latest FW. It's worth to mention that most users will be on 5.0.2 as well, so a larger majority get updates quicker.

Don't wanna burn the fuses* on my switch if* I don't have to

And one day I'll have softwarehax. I haven't updated in months, so why would I update now? Everything is so bare bones right now. It's all a matter of being patient.

Edit: hella typos from swype
 
Last edited by Samus20XX,
  • Like
Reactions: Hondyn
Alright, alright, alright.

I've compiled a fair amount of cores with the new libtransistor! I haven't tested them, though, because I'm on 3.0.2 and 4.1.0! Let me know how they work :)

https://drive.google.com/drive/folders/1DCHTvqaFKfYq-XM6knN7GJ4gIo2DrUAe?usp=sharing

Here's what I compiled for y'all:
  • fbalpha_retroarch.nro
  • fceumm_retroarch.nro
  • gambatte_retroarch.nro
  • genesis_retroarch.nro
  • gpsp_retroarch.nro
  • handy_retroarch.nro
  • mame2003_retroarch.nro
  • mgba_retroarch.nro
  • picodrive_retroarch.nro
  • prosystem_retroarch.nro
  • snes9x2010_retroarch.nro
  • tgbdual_retroarch.nro
  • vba_next_retroarch.nro
  • vecx_retroarch.nro
  • virtualjaguar_retroarch.nro
  • yabause_retroarch.nro
Lemme know! :) Happy Friday night/Saturday morning!

Edit: I'm testing on my 3.0.2 Switch and I've noticed that the nros play loud garbage audio for like half a sec when loading roms? lemme know if that's also happening in 5.0.2
Thanks a lot for taking the time! Also did you do something to fix the screenshot function? I noticed it's working specifically with your builds.
 
Okay so on 5.0.2 (tested at least 2 games each):

Gambette loads, does the screeching noise, appears to load a game but then crashes (the whole core/emu) almost immediately

Genesis Plus loads, but crashes to the white screen (showing the controller in the bottom left) whenever a game is loaded. No screeching noise.

mGBA, same as Genesis Plus

PicoDrive is a weird one. Usual screeching issues on startup. Master System games loads but have a weird screen tearing (like it's vertical instead of horizontal). Genesis have the usual thing of running well but starting with a screeching noise, though Aqautic Games (which I tried out of sheer coincidence of it starting with an "A") crashed the whole emu/core. Other Genesis games seem fine though and don't have the screen tearing issue the master system games do.

Snes9x - Usual screeching. Deliberately tried Star Fox which worked well, although it crashed the whole emu/core when I tried to pull up the Retroarch menu and then go back to the game (other games didn't do this).

TGB Dual - Usual screeching. Games have the same same weird screen tearing as playing master system games in PicoDrive

VBA Next - Usual screeching though games are fine. Tested out some GB games I'd converted to work with GBA and they also work on it (Super Mario Land 1 had a weird flickering right around the time/coins etc display, Super Mario Land 2 was fine)
 
I don't see the desire to stay on 4.1.0 anymore considering the method to boot straight into CFW was allegedly patched in on the firmware you're on and staying on it has no actual benefit compared to the latest FW. It's worth to mention that most users will be on 5.0.2 as well, so a larger majority get updates quicker.
The only thing 4.1 cant run so far is snes if you compare both the fw. So the only benefit to updating your device would be having the snes emulator and thats it. I dont think its worth it since you also can play some of the best snes games on gba emulator. So if i were you, i d just sit down, chill out and wait for a snes emulator for 4.1 . And to be fair, those enulators are just in its beggining. Anyways, Just relax and wait
 
@DogParty The audio spike might be related to the uninitialized write of the sample_data buffer when it set ups the audio in RetroArch\audio\drivers\switch_audio.c

for (i = 0; i < 3; i++)
{
.........
if (swa->buffers.sample_data == NULL)
goto cleanExit;

if (audio_ipc_output_append_buffer(&swa->output, &swa->buffers) != RESULT_OK)
goto fail_audio_output;
}

Just noticed that on my port, maybe you could do a test and see if it fixes it? I don't wanna swap around my branches.

Edit: Seems to be a ROM related issue as well, but this still looks odd to me tbh and the avaiable fix still has a little spike.

Well the that line needs to be called to initialize the audio output but I think you're really onto something. I'll try memsetting each buffer to 0 before calling audio_ipc_output_append_buffer :) Good idea! I'll also try asking the other user what they did to fix the audio/tearing issue. Hopefully they'll share the fix.
 
Well the that line needs to be called to initialize the audio output but I think you're really onto something. I'll try memsetting each buffer to 0 before calling audio_ipc_output_append_buffer :) Good idea! I'll also try asking the other user what they did to fix the audio/tearing issue. Hopefully they'll share the fix.

Yea because it later queries a released buffer, it doesn't need it existing at that point I think.

I think the buffer should just be created if it doesn't exist yet (when its actually needed and initialized with real-world data and not just unexpected behaviour) and then just be re-used

Man I really get tired of this libtransistor code, like seriously, libnx is so much cleaner !!
 
Last edited by m4xw,
Yea because it later queries a released buffer, it doesn't need it existing at that point I think.

I think the buffer should just be created if it doesn't exist yet (when its actually needed and initialized with real-world data and not just unexpected behaviour) and then just be re-used

Man I really get tired of this libtransistor code, like seriously, libnx is so much cleaner !!
Yeah, a port to libnx would be amazing.
 
Yea because it later queries a released buffer, it doesn't need it existing at that point I think.

I think the buffer should just be created if it doesn't exist yet (when its actually needed and initialized with real-world data and not just unexpected behaviour) and then just be re-used

Man I really get tired of this libtransistor code, like seriously, libnx is so much cleaner !!

I actually like libtransistor more :X It's more low-level so I have more of an understanding of what's going on.

Anyway, I tried both memsetting the buffers to 0 after they're created with alloc_pages and commenting out the lines you highlighted and neither worked. Memsetting lead to more garbage being played and commenting them out lead to the nro failing to launch :( I'll keep looking into it, though. Thanks for the suggestion!
 

Site & Scene News

Popular threads in this forum