I Compiled Some Split Cores

I believe I’ve figured it out, although it is more of a pain.

For someone trying to do this from scratch, open a retroarch game with the Genesis Plus GX core, and go into the quick menu/options, and find the names of the labels.

Edit: I’ve already done all of the legwork, here are the names of the labels:

System hardware

System region

System lockups

System bootrom

CD System BRAM

68k address error

Cartridge lock-on

Master System FM

YM2612 DAC quantization

YM2612/YM3438 core

Sound output

Audio filter

Low-pass filter %

Blargg NTSC filter

LCD Ghosting filter

Borders

Game Gear extended screen

Core-provide aspect ratio

Interlaced mode 2 output

Show Lightgun crosshair

Invert Mouse Y-axis

CPU speed

Remove per-line sprite limit

For example, System hardware. Open the libretro.c file in notepad++, and do a search for System hardware. (maybe do a ‘count’ also to make sure there’s only one). Once you’re where the label is, you should see something like this:

{ “genesis_plus_gx_system_hw”, "System hardware;

All I did was alter it to this:

{ “genesis_plus_gx_system_hw__gg”, "System hardware;

The reason I chose to use two underscores is, I specifically did a ‘count’ of _gg, and it came up 12 other times. So I wanted to change it to something unique, that way later on, I can do a find and replace all and only affect the altered fields. This will be a huge time saver.

But you’re still not done yet. the “genesis_plus_gx_system_hw” links to another part of the file, and you need to now do a search for genesis_plus_gx_system_hw and find where it links. You should see a string of text that looks like this:

var.key = “genesis_plus_gx_system_hw”;

I simply renamed it to this (to match the other one)

var.key = “genesis_plus_gx_system_hw__gg”;

You will need to do this for all of the option labels, if you don’t want them to conflict with each other on each split core.

The good news is, since I’m having you use a unique edit (the __gg, that we previously made sure did not already exist in the file anywhere), all you will have to do is find and replace all instances of __gg with __sms for Sega Master System for example, when you go to compile the Sega Master System split core.

Again, always double check and make sure there are no instances of __sms before you do it (again, double underscore and not just single).

I’ll try to get this working on my end for all cores. I will not be testing it extensively, as I have better things to do. I’m doing this as a courtesy - if someone else wants to test them for me that would be much appreciated, and if I did manage to screw something up, I’ll fix it, this one time. :slight_smile:

Nice seeing you figuring it all out by yourself, great achievements. For launcher users, like me, RocketLauncher will load the config files specifically for the split cores you created, provided you have created a new config file specifically for that core, it also creates a specific config folder once you save a game config file inside Quick Menu/Options.

Inside the folder for GPGX - SMS core you split for us, I have config for the Japanese titles, it will load the Mark III overlays only for those games, while the SMS for other regions will load the respective overlays for SMS.

Screenshots:

GG

SMS

MIII

Inside config folder, the retroarch-core options is set to auto in genesis_plus_gx_system_hw = “auto” line.

It shows bios for all the supported systems I tested, I didn’t test SG-1000 though and I don’t know if this system has bios.

Genesis Bios screen:

3 Likes

Nice… I am actually an RL user myself, I’m SupraKarma from the HyperSpin/RocketLauncher forums. :slight_smile:

Won’t setting the ‘region’ or ‘hardware’ to ‘auto’ in the quickmenu/options automatically set it to the correct bios though?

3 Likes

Hey SupraKarma, I didn’t know that, nice! Yeah, I didn’t know it would load automatically, for some reason, in my first attempts, it wouldn’t load, but I updated the previous post so it’s more accurate now.

Thanks again!

1 Like

Alright guys, here are the updated (11-1-17) split cores (again, for win64 only), with the quick menu/options bug sorted out. Any options you set on a split core should no longer interfere with another.

https://drive.google.com/open?id=0BwsItKU19h3lWWhBOS1rVFhSY0E

@SkyHighGam3r, this one is specifically for you - I’m not sure how useful it will be (I think setting “Hardware” and “Region” to “auto” in quick menu/options will resolve your previously discussed issue), but if you can use it, I went ahead and made a Genesis Plus GX - SM3 (Sega Mark III) core for you to use. The link for that is here:

https://drive.google.com/open?id=0BwsItKU19h3lNlFTUThKVmZoRzA

3 Likes

The more fast way is open the Notepad++, find genesis_plus_gx_ and replace all with genesis_plus_gx_gg_. That’s what I did for Sega CD (genesis_plus_gx_scd_). There’s no more option conflict.

Thanks!

2 Likes

:open_mouth: DUDE! That’s so awesome!These boot screens are like the creme of the crop in emulation for me hahaha! I’m gonna try playing with this in the next couple nights, see if I can’t get it running proper in my setup. You’re amazing man! lol

@aorin1 I’m like 99% sure the SG-1000 and the SG-1000 MKII didn’t have boot screens at all. :frowning:

Hopefully there’s a way to quickly set alt-game options in RocketLauncher 'cause I think I’ll have to set the core for each M3 game since they are in the same wheel as my SMS stuff in HyperSpin.

2 Likes

@Typhon/Supra! I just scrolled down this topic to find out you made a new version of these!

I was pulling my hear for months trying to understand why the settings kept changing in my Sega cores.

Can you repost the cores (or PM them) as the link is broken for me?

Thanks :slight_smile:

1 Like

PM sent. :slight_smile:

For anyone who wants the cores I uploaded previously, @lordmonkus went ahead and uploaded them to the LaunchBox forums, you can grab them here:

Hi

Sorry to bring this old topic back to life

Do we have latest split cores available or updated script to split the cores? I need it for PC engine , wonderswan and some others which share the same cores. I am using Hyperspin/RL

Thank you