FBA core - 3P & 4P?

I’m testing but I find unable to enable 4 players in fba core, is this a core limitation or probably a bug in retroarch? I don’t do anything different than I do for 2 players which works without issues.

I would also like to take the chance to ask if auto-save and auto-load is going to be fixed, the mame core got it a few months ago but for mame games I use MAME.

edit: and a third question, any way to define path for nvram files? currently they save in the rom directory which is dirty

Never had any issue playing libretro-fba/fba-libretro with 3/4 players game like armored warriors and some other beat’them’all. What games did you try ? What’s your system ? Are you using autoconfig or static config for your gamepads ? Are you able to play 4 player games on other cores ?

: / What a bummer. I don’t know what to say. I tested captain commando and Battle Circuit. If you mean joypad_autoconfig_dir, no I didn’t use that, I simply let retroarch do the bindings, also tried defining my own. I never played 4 players because I don’t know what systems allow it.

out of despair I tested also with latest nightly without success. My config is nothing out of the norm:

input_driver = "dinput"
input_joypad_driver = "winxinput"
input_keyboard_layout = ""
input_device_p1 = "0"
input_player1_joypad_index = "0"
input_libretro_device_p1 = "1"
input_player1_analog_dpad_mode = "1"
input_device_p2 = "0"
input_player2_joypad_index = "1"
input_libretro_device_p2 = "1"
input_player2_analog_dpad_mode = "1"
input_device_p3 = "0"
input_player3_joypad_index = "2"
input_libretro_device_p3 = "1"
input_player3_analog_dpad_mode = "1"
input_device_p4 = "0"
input_player4_joypad_index = "3"
input_libretro_device_p4 = "1"
input_player4_analog_dpad_mode = "1"

edit: and yes armored warriors works for me too.

I remember being unable to play 4 players on captain commando, but actually i thought it was an issue with the rom (iirc the title screen said 2 players only), never tried battle circuit. I’ll give a look to both those game to see if bindings are correct in libretro.cpp. You should try armored warrior (since i’m 100% sure multi works on this one) to make sure there is no issue with your setup.

Edit : my bad, seems like everything is ok for both games in the source code, i’ll check if i’m able to play them with 4 players myself.

Yes, as I said in the edit armored warriors works for me too (3 players only) so it’s a hint my setup is not bad. These are other games with 4 player support: ddsom, ddtod

Same issue here, i’m thinking it could be something to enable in service menu (since captcomm says 1 or 2 players on title screen), but i don’t remember how to access this service menu…

I know, I also looked for the key in the configs lol. A google after: link F3 or hold START + SELECT + L + R.

edit: I fail to make it work. By the way I see you are building new fba cores from scratch here, it would be a good idea to fix the service menu hotkey and to give it some meaning probably fix the auto-load issue. I like to have arcade auto-loading saves to keep rankings and preserve service menu settings, like attract sound, etc.

I did not build it from scratch, i just merged libretro implementation from old fba repo with current fba stand-alone source and fixed obvious things, i also try to fix some compatibility issues (with the help of upstream) and add some speedhack for low cost hardware (like the raspberry pi). But rewriting the libretro implementation is beyond my skill at the moment (i studied C/C++ almost 20 years ago but never really used this knowledge since), and i don’t have that much time to spend on it.

Ok no worries, thanks for the help. Hopefully some developer can shed some light on this, the fba core has been crippled for a very long time.

Tried to play 4 players on batcir on fba stand-alone today, i wasn’t able at first. But i can confirm changing settings in diagnostic menu (F2 on fba stand alone) > configuration > system > chute type allowed me to play 4 players.

Sure, this is a limitation on retroarch (no keys for service menus).

I’m wondering if that’s all is needed to keep the settings, I mean will this info be stored in the .nv file created in the ROM folder (another thing to fix by the way) and retroarch reading from it? or maybe we should need the auto-load function (which isn’t working either at the moment).

I did a few more test, seems like this behavior is inconsistent, on battle circuit you select it through diagnostic menu, on captain commando you select it through dipswitch. Seems to me like the only efficient way to set those games would be to set them up in fba stand-alone, then copy the nv file to your retroarch setup. But the auto-load function is broken at the moment. I’ll give a try to fixing it.

In nv files then, good to know, that’s a good idea to copy the files over, once auto-load gets fixed, more things like difficulty, attract sound, coins, etc can be tweaked and used, not to forget high-scores. Looking forward this. Do dipswitches get stored in nvram files too?

Found out how auto-load works => fixed (only nv files at the moment).

Your’re doing the new core right? Since the core is not implementing the SRAM interface it would be good to implement the ENVIRONMENT_GET_SAVE_DIRECTORY env so you can tell the core to store data there. I’m not really familiar with the core but I could give you a hand if you are willing to add this.

I took a look at how mame implement retroarch environment variables yesterday and was planning to work on it this week-end while fixing hiscores, samples and such.

I added that to MAME libretro :3 good luck with that

If you want to help on libretro-fba anyway, i still don’t know how i should handle the colecovision to retropad mapping. Seems to me that retropad controls are too restrictive to handle the mapping of colecovision controllers.

The alternative is to enable retrokb for the core. I’ve never seen or used a coleco I’ll Google a it to see if I get an idea.