Final Burn Alpha

[h]Final Burn Alpha - libretro[/h]

How to compile the library (for libretro)


git clone https://github.com/libretro/fba-libretro.git
cd fba-next-slim/src-0.2.97.27/
make -f makefile.libretro

Screenshots

I’ve been having trouble getting certain titles to work under FBA, namely Third Strike. Is there any specific ROM or setting requirements to get certain games to run? Do I need to also have the game’s CHD for it to run?

The CHD shouldn’t be required.

Third Strike works if you have recent ROMs. FBA is basically compatible with the latest MAME romsets - so try to go for those.

OK, got around to updating FBA libretro to 0.2.97.27 today and (FINALLY) added the ‘Use’ button binding for Dungeons & Dragons Shadow over Mysteria and Thunder of Doom.

Are there any more games with improperly bound controls? Let me know so I can get to them all before the next impending point release.

Hi there Squarepusher,

Thank you very much for the update.

I have compiled it (you might want to update the compile_libretro script as it still points to the 0.26 source folder) and tried the batch of games I had reported about in this thread.

The problem still persists: 2P buttons in CPS1/CPS2/Cave/System16 are in the reverse order of Player 1.

I don’t know about D&D or Konami brawlers as I’m not home and won’t have enough input peripherals to test 4P games until the end of next week.

Umm, I just tested RetroArch on PC with FBA 0.2.97.27 and the controls for Street Fighter Alpha 3 P2 (CPS2 game) are definitely correct - they are not in reverse order at all.

However, for ddsom it does appear in the reverse order - I think this only affects non-Street Fighter CPS1/CPS2 games hence why I might not have noticed this before.

BTW, the compile script is something I want to get rid of as it serves no more purpose.

True, 6 button CPS2 have always been correct - strangely enough.

The problem only seems to affect 2 buttons only games. Player 2,3,4 need to press Y,X to do what Player 1 does with B,A

OK, I’ve spent quite some time today reimplementing all the controls - I try to do it ‘right’ this time by iterating over the controls of each game, seeing what the button descriptor is, and then assigning a key to it. This way, the vast majority of games should be properly configured - it should save ages of time having to pre-configure specific games / game types which would be close to impossible to maintain given the vast amount of games FBA supports.

Anyway, analog controls (which were previously ‘simulated’ as digital) are not in right now - so games like Power Drift, Outrun and so on don’t control right now. I’ll have to think of a way to properly implement analog this time instead of ‘faking it’ - perhaps use the ANALOG features provided by Libretro.

However, it would mean I would have to start properly implementing analog support in the input drivers for the console port - right now it’s just digital only.

Hello again,

I’ve had some time to play test a few games (most of CPS-2, all of CPS-1, Cave 68000, Konami TMNT and Simpsons)

The good: The underlying problem, that is P2/P3/P4 having slightly different controls than P1, seems fixed in all drivers. Cheers much and great job!

The less good: There are still some strange behaviors with CPS1 and Sega System 16. See below.

In more details:

CPS2: Everything looks good, including D&D. Players are set with B and A in 2 button games. Cave 68000: Fixed, both players are set with Y and B (and A for 3 button games). Konami 4P games (TMNT, The Simpsons): All players are set with Y and B.

SEGA System 16: (Alien Syndrome, Altered Beast, E-Swat, Golden Axe etc…): P2 can insert coins but not press start to join the game.

CPS1: Depends on the game (!?) 2 button games / 2 player games: All games are set up with Y and B (Punisher/Captain Commando/Final Fight/Three Wonders/Megaman Power Battle/Magic Sword/Nemo etc…) except Carrier Air Wing, Area 88,1941 and Varth where both players are set with B and A.

3 players / 2 button games: Knights of the Round, King of Dragons,Cadillac and Dinosaurs: all players are set with Y and B. Mercs: players are set with B and A but third player can only move (action buttons don’t work)

2 players / 3 buttons: Chiki Boys works as expected (Y,B,A).

6 button games / 2 player games: SF2 and al. work as expected

Pnickies: Can only insert coins, no way to start the game. Pang! (Buster Bros.): P1 set up with Y and B, P2 not working

I will post as I try more games and drivers.

A few more observations:

In Altered Beast, enemies are supposed to “come crash into the screen” when you kill them. This works well in the original FBA but the enemies sprites just stay there in RetroArch. (Win, Linux, Wii)

In Carrier Air Wing, the game freezes 30 sec into the game. Right before it crashes, some enemy planes appear as some black mosaic-like mess (Win, Linux, Wii)

By 'original FBA", what exactly do you mean? The FBA version on Windows or the older Final Burn versions by Dave?

In Carrier Air Wing, the game freezes 30 sec into the game. Right before it crashes, some enemy planes appear as some black mosaic-like mess (Win, Linux, Wii)

It could be a regression in the SVN trunk - anyway, I’ll look at that.

By 'original FBA", what exactly do you mean? The FBA version on Windows or the older Final Burn versions by Dave?

Sorry, I meant Final Burn Alpha on Windows.

Guys, what are the cps2 button assignments if my x, y, z (punch buttons - Sega Saturn pad) corresponds with 3, 4, 5 and my a, b, c (kick buttons) corresponds with 0, 1, 2?

Just trying to figure out how the heck I set these up correctly in “Input” settings.

Thanks Jim

All I can tell you is how the CPS2 controls are mapped to the fictional ‘RetroPad’-

Strong Punch - L1 Strong Kick - R1 Weak Punch - Y Medium Punch - X Weak Kick - B Medium Kick - A

Basically, the Street Fighter-style controls are laid out like how the Street Fighter II ports on the SNES were laid out (and PS1 too I suppose).

Since the 0.2.97.27 update, I’ve been having trouble compiling packages for Ubuntu/Debian and Mac OS X. Both choke on the linking due to duplicate symbols related to CtvDoX.

Ubuntu packages give this error:

LD libretro.so
src/burn/drv/capcom/ctv.o:(.bss+0x0): multiple definition of `CtvDoXB'
src/burn/drv/capcom/cpst.o:(.bss+0xa0): first defined here
src/burn/drv/capcom/ctv.o:(.bss+0x100): multiple definition of `CtvDoXM'
src/burn/drv/capcom/cpst.o:(.bss+0x1a0): first defined here
src/burn/drv/capcom/ctv.o:(.bss+0x200): multiple definition of `CtvDoX'
src/burn/drv/capcom/cpst.o:(.bss+0x2a0): first defined here
collect2: error: ld returned 1 exit status
make[1]: *** [libretro.so] Error 1
make[1]: Leaving directory `/build/buildd/libretro-fba-0.2.97.27~filthypants2/src-0.2.97.27'
make: *** [build-stamp] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2

and Macs fail with this:

LD libretro.dylib
ld: duplicate symbol _CtvDoX in src/burn/drv/capcom/ctv.o and src/burn/drv/capcom/cpst.o for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [libretro.dylib] Error 1

Let me know if you need any more info.

The current version (Github repo) is not recent.

I’ve pushed a new patch to the FBA devs. Once they have synced this (they told me they would look at it this weekend - as of yet it hasn’t been synced yet), I’ll upload the latest version of their repo to the Github fork repo.

You should try again then if you still experience these issues. If so, we’ll fix it and I’ll push a new patch upstream once again.

Sounds good, man. Thanks!

Hiyas! just reporting that CPS1 games are having issues on the PS3 implementation.

Here you have a screenshot that shows the problem:

SeeYa! :slight_smile:

Just made a new clean compile of the latest “fba-libretro” git and its working fine now :slight_smile:

Thanks Twinaphex / Squarepusher!

SeeYa! :slight_smile:

Hi there CaptainCPS-X,

thanks for packaging up those RetroArch versions earlier. I might need your help in the next coming days again when I release a new version of RetroArch for PS3 - a lot of bugfixes in the cores at least.