I Compiled Some Split Cores

Some people have requested a way to split up some of the cores that cover more than one system so they can easily assign different options (shaders, etc.) using per-core config overrides instead of making a per-game override for each game. I compiled some split Gambatte-gbc, Genesis Plus GX - SMS, Genesis Plus GX - SegaCD and Genesis Plus GX - Game Gear cores. (those should be the names you would use for creating overrides but you should probably load them in RetroArch first to make sure)

Download: http://www.mediafire.com/download/994lqh45ql501dm/separate-cores.zip

I don’t plan to do this with any other cores and I won’t be updating these (in fact, you can consider them unsupported). However, it’s easy to make your own if you find you need such a thing: just open the core’s libretro.c/pp file and change the stuff in this block:

void retro_get_system_info(struct retro_system_info *info)
{
   info->library_name = "Genesis Plus GX";
   info->library_version = "v1.7.4";
   info->valid_extensions = "mdx|md|smd|gen|bin|cue|iso|sms|gg|sg";
   info->block_extract = false;
   info->need_fullpath = true;
}

And then compile. Rename the resulting library to whatever you want and then duplicate, rename and edit the original core’s *.info file to match (they’re just plaintext files, so you can change the name, supported file extensions, etc. as necessary).

3 Likes

Really useful, great job! any word on the overclock patches?

This looks just the ticket for me. Where can I find details on how to decompile the cores and recompile them? Not sure what I need for that or the steps required (Android cores is what I would be using if they are different)

Thanks, I’ll use it for the Game Gear and handled borders.

Tatsuya79 How do you do it please?

[QUOTE=Thatman84;53637]Tatsuya79 How do you do it please?[/QUOTE]

Copy the genesis_plus_gx_gg_libretro files in your core and info folders.

Make a playlist for your GG games that will use this core. (or load manually if you don’t use playlists)

In the config folder create a ā€œGenesis Plus GX - Game Gearā€ folder. In this folder create a text file named ā€œGenesis Plus GX - Game Gear.cfgā€ with:

video_shader = ā€œ:\shaders\handheld\console-border\gg-4x.cgpā€ (put your own path) aspect_ratio_index = ā€œ1ā€

It should get applied on start if you’ve got ā€œLoad overrides files automatically = ONā€ in Retroarch Settings->Configuration.

Sorry misunderstanding I meant creating the custom cores instead of using Hunterks supplied ones.

Thanks for the tip though

You don’t need to decompile them, since the source is already available on github. If you have an android toolchain set up, you should be able to just go into the source tree and build it with the changes described in the OP.

Thanks for the info,

Right now it seems a bit out of reach but I will try to learn what’s needed in time. I did install Android Studio a while back so hopefully I won’t need much more than setting that up right with any additional files/tools needed.

Dude OMG that is awesome! I hate having multiple systems on the same core. Game Gear specifically.

THANK YOU!!!

Thought you may like those skyhigh!

I hold out hope someone will do some for droid. As I failed miserably, I have much more respect for what devs do and the knowledge they have.

I hate to ask this, as this was quite generous to begin with, but do you think I could talk you into making a split Genesis Plus GX - SG-1000 core? It would really make my day. :slight_smile:

I tried using the Sega CD core (as I just double up Sega CD and Sega Genesis anyways) to load the SG games but it won’t work - only the main Genesis Plus GX core is listed as an option.

Taking advantage of Typhon’s post, and also hating to ask, it seems the separate cores were created over a year ago, I believe some major updates happened to the GPGX core, I never compiled anything, so, how do I begin, what do I need to compile the separate cores?

1 Like

Hey Hunterk you make it happen, I’ll put up a $25 donation to RetroArch as a ā€˜thank you.’ :slight_smile:

2 Likes

Guys I’m going to attempt this. I have a feeling it’s going to suck and I’m going to fail (how’s that for a winner’s attitude :slight_smile: ), but I’m going to give it my best attempt.

If I can figure it out, I’ll share the results - and if someone else wants to try along with me, maybe we can compare notes on what we’re doing wrong until we figure it out.

2 Likes

Ok so I’m stuck already lol. I’m following the guide here: https://buildbot.libretro.com/docs/compilation/windows/

and I’m stuck updating the NVIDIA CG toolkit package. I’m using the ā€˜alternatively…’ method, as I have no idea how to install anything with this interface. I’m getting the error in the command prompt for the MSYS2 Shell program ā€œbash: wget: command not foundā€

Also, for anyone wanting to attempt this, Ctrl+insert will copy (from the webpage) and shift+insert will paste (into the command prompt). You do not want to try to attempt to type all that crap out, it’s too easy to make a typo.

If someone can help me get past this step, I’d appreciate it. I’ll keep working on it in the meantime. :slight_smile:

sounds like your environment is missing wget, so you’ll need to install that or you may be able to substitute curl. Pretty much any environment has one or the other.

1 Like

I skipped that step, thinking it may not even be necessary for what I’m trying to do here.

Edit: It wasn’t.

I’m at the step: ā€œFetching Coresā€, and I tried entering ./libretro-fetch.sh Genesis Plus GX, but it gave me an error. So, I instead used ./libretro-fetch.sh to fetch all cores. It’s currently downloading.

You probably need to put the name in quotes. Either that or it’s looking for some other name, like genesis-plus-gx or something. Dunno. I never use those scripts for building locally (though they certainly work fine for that). I typically just git clone whichever repo I want and then ā€˜make’ or ā€˜make -f Makefile.libretro’ as the case may be.

1 Like

I’ve successfully cloned the repo (using your suggestion to git clone the repo, instructions on how to do so are in the guide linked above), and I have the libretro-super\Genesis-Plus-GX\libretro.c file open in notepad++, as per your original instructions.

What exactly do I need to change, just the library name, and then it will work? (I was going to name it ā€œGenesis Plus GX - SG1000ā€)

Edit: The answer is yes

Edit 2: In order for the split cores to not cause conflicts with each other when adjusting quick menu/options, further edits must be made - read further on to learn how.