espiox.net

How to combine openFPGA cores

Before doing this, you should be familiar with the folder layout of the Analogue Pocket SD card and where core files are placed. You don't need much technical knowledge to do this, but cores have to be set up precisely or they won't boot. Make sure you back up your files first!

Combine Core Files

First, decide which core will be your "base." Then, place the .rbf_r files from the other cores into that core's folder in Cores, making sure each one has a unique filename.

Open up the core.json file and add the new .rbf_r files to the "cores" section, giving each one a unique name and ID number.

	"cores": [
		{
			"name": "jts16",
			"id": 0,
			"filename": "jts16.rbf_r"
		},
		{
			"name": "jts16b",
			"id": 1,
			"filename": "jts16b.rbf_r"
		}
	]

Platform ID

To differentiate from original cores, you should give your core a unique platform ID/shortname. I tend to just add "_c" to the end of the original, but you can make this anything you like. You'll need to change it in the core.json file:

		"platform_ids": [
			"jts16_c"
		],
		"shortname": "jts16_c",

You'll also need to update the platform ID/shortname in all the folder names where it appears:

Finally, make sure you have a platform info file and image with the new ID/shortname:

(You can also edit the "category" value in your [platform].json if you'd like it to be sorted under a different category in the openFPGA menu on Pocket.)

Instance Files

Next, open up the .json file for each game in Assets\jts16b\jotego.jts16b (for example) and change this section:

	"variant_select": {
		"id": 0,
		"select": false
	},

To this, making sure that the ID number matches the core it needs, as listed in core.json:

	"core_select": {
		"id": 1,
		"select": true
	},

Once you've done this for every game, move all the files over to the correct Assets folder for your multi-core. You also need to combine each core's Presets folders, making sure that the folders under Input and Interact match the layout of your folders in Assets.

Notes