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.