Homebrew RELEASE Development Thread - RetroArch libnx

  • Thread starter m4xw
  • Start date
  • Views 678,563
  • Replies 4,272
  • Likes 69
Status
Not open for further replies.

m4xw

Ancient Deity
OP
Developer
Joined
May 25, 2018
Messages
2,442
Trophies
1
Age
119
XP
6,960
Country
Germany
Seems like I'm confused what Salamander even is.
I thought it's that you have one homebrew (RetroNX) which then launches the cores from within itself while "non Salamander" was the old way of having a separate NRO for each core which must be launched from hbmenu.

Its essentially the same as before. I just added a hbmenu with auto launch if you wanna simplify it. Its a RA thing for "autoloading" static builds.

On Desktop they use *shared* builds, each core gives the Launcher informations. I am missing these.
 
  • Like
Reactions: lordelan

lordelan

Well-Known Member
Member
Joined
Jan 4, 2015
Messages
5,840
Trophies
1
Age
44
XP
6,639
Country
Germany
Its essentially the same as before. I just added a hbmenu with auto launch if you wanna simplify it. Its a RA thing for "autoloading" static builds.

On Desktop they use *shared* builds, each core gives the Launcher informations. I am missing these.
Gotcha. Thx for clearing that up. And because you love this little guy so much => ¯\_(ツ)_/¯
:)
 
  • Like
Reactions: m4xw

lordelan

Well-Known Member
Member
Joined
Jan 4, 2015
Messages
5,840
Trophies
1
Age
44
XP
6,639
Country
Germany
Its essentially the same as before. I just added a hbmenu with auto launch if you wanna simplify it. Its a RA thing for "autoloading" static builds.
Coming to think of that again ... would it even be possible to directly launch a content with a specific core through the "main RetroNX.nro" right now by using a playlist?
Because if I got you right, RetroNX is really some kind of modified hbmenu and I would have to start a core from there first regardless of what I want to do then (e.g. launch a content).
As you surely know an entry in a playlist consists of these 6 lines and forces to directly launch a content with a core:
Code:
sd:/roms/Nintendo - Super Nintendo Entertainment System/Lion King, The (PAL).zip
The Lion King
sd:/path/to/core/core.file_extension
Snes9x
DETECT
Nintendo - Super Nintendo Entertainment System.lpl
 

m4xw

Ancient Deity
OP
Developer
Joined
May 25, 2018
Messages
2,442
Trophies
1
Age
119
XP
6,960
Country
Germany
Coming to think of that again ... would it even be possible to directly launch a content with a specific core through the "main RetroNX.nro" right now by using a playlist?
Because if I got you right, RetroNX is really some kind of modified hbmenu and I would have to start a core from there first regardless of what I want to do then (e.g. launch a content).
As you surely know an entry in a playlist consists of these 6 lines and forces to directly launch a content with a core:
Code:
sd:/roms/Nintendo - Super Nintendo Entertainment System/Lion King, The (PAL).zip
The Lion King
sd:/path/to/core/core.file_extension
Snes9x
DETECT
Nintendo - Super Nintendo Entertainment System.lpl

"RetroNX is really some kind of modified hbmenu" no its not. That was just a simplified explanation. No code was needed from hbmenu itself.

We dont have content scanning, meaning no playlist, meaning no core launch. The RA devs seem to be against extending salamander functionality.

Load recent works like that tho.
 

lordelan

Well-Known Member
Member
Joined
Jan 4, 2015
Messages
5,840
Trophies
1
Age
44
XP
6,639
Country
Germany
We dont have content scanning, meaning no playlist, meaning no core launch. The RA devs seem to be against extending salamander functionality.
We don't need content scanning at all for playlists. I won't even recommend it if it would work. Creating the playlists by yourself on a PC (and with playlist buddy for the most cases) is the best way to do it.

If load recent directly boots into a game without asking for a core (as it's in the history.lpl which in fact is the "recent playlist") then playlists should work as well. I'll test them once I'm home and do a guide eventually.
 
Last edited by lordelan,
  • Like
Reactions: m4xw

m4xw

Ancient Deity
OP
Developer
Joined
May 25, 2018
Messages
2,442
Trophies
1
Age
119
XP
6,960
Country
Germany
We don't need content scanning at all for playlists. I won't even recommend it if it would work. Creating the playlists by yourself on a PC (and with playlist buddy for the most cases) is the best way to do it.

If load recent directly boots into a game without asking for a core (as it's in the history.lpl which in fact is the "recent playlist") then playlists should work as well. I'll test them once I'm home and do a guide eventually.

Well it works kinda, but they wont get generated from content scanning (playlists), that even seems to work *to some extend*, but is borked.

I could do it with the dummy core too, or just save infos on first core load. Anyway if you come up with a "solution", I'd take that
 
Last edited by m4xw,
  • Like
Reactions: lordelan

snoofly

Well-Known Member
Member
Joined
Aug 18, 2015
Messages
1,012
Trophies
0
Age
54
XP
2,133
Country
United Kingdom
:P I will update it sooner or later, but we are using a pretty recent build of libnx anyway (that already includes the error reporting changes)
fair enough. I tried to update using pacman switch-dev but it still tried to reinstall 1.2.1-1..
anyway, ignore me, you're already on top of it (as I expected)..
 

lordelan

Well-Known Member
Member
Joined
Jan 4, 2015
Messages
5,840
Trophies
1
Age
44
XP
6,639
Country
Germany
Well it works kinda, but they wont get generated from content scanning (playlists), that even seems to work *to some extend*, but is borked.

I could do it with the dummy core too, or just save infos on first core load. Anyway if you come up with a "solution", I'd take that
There you go:


This is showcasing me using playlists which include my roms (and the cores for the roms) and switching between them "seemlessly" without having to pick a core first.
As you can see I'm launching the bare RetroNX app from the hbmenu, launching a SNES game (without picking any core) and launching a GB game afterwards (again without picking a core).
Of course it is strongly recommended to hit close content before running another rom.

I attached my playlists for GB, GBC, GBA, NES and SNES here. You most likely won't have the exact same roms (with the same names) but it gives you an idea on how those files have to look like.
The playlists go to sd:\retroarch\cores\playlists obviously (or wherever you adjust that in your directory settings inside RetroArch). Hope that helps someone.
In some cases it freezes on launching a game at the RetroNX boot screen. It's not a real freeze though as you can still kill the app with the home button and try again.
Oddly enough I was fine most of the cases if I started off with a SNES game and played a GB game afterwards instead of vice versa.
 

Attachments

  • playlists.zip
    166.3 KB · Views: 320
Last edited by lordelan,

snoofly

Well-Known Member
Member
Joined
Aug 18, 2015
Messages
1,012
Trophies
0
Age
54
XP
2,133
Country
United Kingdom
Crap.
I was going to just select all, remove and copy-paste but for some reason GitHub thought I was selecting only the part of the code currently displayed, not all of the code itself.
https://github.com/CatmanFan/vice-libretro/commit/89d6b70bcdb1f376681f6079edc14263fd4fd717
Don't be lazy kids!!
Wondering if anyone got anywhere with fixing the menu entry text in the vice core build?
Seems so close to being usable and I'd love a bit of C64 goodness on the Switch!
In fact I'd probably use that core more than any other.
 

Chipidy

Well-Known Member
Member
Joined
May 14, 2018
Messages
280
Trophies
0
Age
33
Location
Ontario, Canada
Website
www.chipidychipgaming.com
XP
335
Country
Canada
Status:
DISCORD:
https://discord.gg/jTmfAEx
So this is independent from Lakka right?
Finished:
Before you post issues on this thread or in the Discord server,
PLEASE READ THE ENCLOSED INSTRUCTION BOOKLET (README) BEFORE ANYTHING ELSE.

Recommended: All-In-One Package (Updates with each Master commit!)
Currently Included: SNES9x(Mainline & 2010), mGBA, VBA-Next, FCEUmm, Beetle (Wonderswan, PCE-Fast, Supergrafx, Virtual Boy), MAME 2003, FinalBurn Alpha, BlueMSX, Handy, Gambatte, Genesis GX+, Stella, Prosystem, Vectrex, NXengine, O2em, VirtualJaguar (SLOW!).


Individual Stable Build Downloads:
  • build.svg
    o2em (Odyssey 2): Download Link
  • build.svg
    Stella (Atari 2600): Download Link
  • build.svg
    Prosystem (Atari 7800): Download Link
  • build.svg
    FCEUmm (NES/FDS): Download Link
  • build.svg
    Snes9x (Upstream): Download Link (Currently not accessible)
  • build.svg
    Snes9x2010 (Older Snes9x build): Download Link
  • Genesis GX Plus (Sega Master System/Genesis/Mega Drive/CD): Download Link
  • build.svg
    Beetle-PCE-Fast (PC-Engine/(Super-)CD): Download Link
  • build.svg
    Beetle-Supergrafx (PC-Engine/(Super-)CD + Supergrafx): Download Link
  • build.svg
    VirtualJaguar (Atari Jaguar (SLOW)): Download Link
  • 4do (3DO): Download Link
  • Gambatte (Game Boy (Color)): Download Link
  • build.svg
    VBA-Next (GBA): Download Link Thanks to @TheKrane, @Leonidas87
  • mGBA (Improved GBA emulator): N/A (No CI/CD available yet)
  • build.svg
    Beetle-virtualboy (Virtual Boy): Download Link
  • build.svg
    Beetle-NGP (Neo-Geo Pocket (Color)): Download Link
  • build.svg
    Beetle-Wonderswan (Bandai Wonderswan (Color)): Download Link
  • build.svg
    Handy (Atari Lynx): Download Link
  • build.svg
    VecX (Vectrex): Download Link
  • build.svg
    BlueMSX (MSX1/2/etc.): Download Link
  • MAME 2003 (Multiple Arcade Machine Emulator 0.78): Download Link
  • FinalBurn Alpha: N/A (No Master build available yet)
  • build.svg
    NXengine (Douketsu Monogatari/Cave Story): Download Link
Stuff that anyone can work on:
  • Test ROMs
  • Port more Cores (it's easy AF for most!)

Changelog (Possibly out of date, there are more smaller changes than listed!):

Code:
Added Overlay (bugged right now)
Added default config (same folder)
Analog dpad by default!
Audio fixes (feedback pls)
Tearing is known, try setting vsync in the .cfg to true!
Added HID Input drop fixes
Added GFX Improvements
Added Multiplayer Support
Added Threading Support
Added Aspectratio/Fullscreen Support




Little F.A.Q. (thanks to @CatmanFan)
  • Can we run Nintendo 64 games?/Where's the Nintendo 64 core?
    No. Mupen64Plus/Parallel_N64/GLupeN64 needs hardware acceleration (JIT/GPU), OpenGL and Vulkan implemented before it can be available to the end-user.
  • Can we run PlayStation games?/Where's the PlayStation (PSX) core?
    There will be a release of PCSX ReARMed at some point in the future. Please refrain from asking in the thread; it won't make it come faster.
  • Does this cause the battery issue?
    No, this runs on Horizon. You're probably talking about Lakka, which runs on Linux.
Github Mirror (recommended for forking):
https://github.com/m4xw/RetroArch_LibNX

Private Git Repo (most updated, r/o):
https://git.m4xw.net/Switch/RetroArch

Anyone who want write access, write me a PM.


Credits: Reswitched, Libretro

Thanks to @Proto-Propski (Art), @Melon__Bread (Art, Core Ports), @Starcarr (CI/CD), @DogParty (general stuff), @Kevoot (general stuff), All the Testers (@Phenj, @reminon, @Leonidas87, @SeongGino, @Twistedziefer)

Hope I didn't miss anyone!

So this is Independent from Lakka right ?
 
Last edited by Chipidy,
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    BigOnYa @ BigOnYa: I played the intro to far cry 5, that is like some crazy Jim Jones cult shit. Still its petty...