Final Burn Neo Progress Report – September 2020

Final Burn Neo (FBN/FBNeo) is the follow-up of Final Burn Alpha (FBA/FBAlpha), an alternative to MAME for arcade emulation. It’s more focused on playability and less on accuracy/preservation. The team is composed of dink, iq_132, JacKc, kev and me. It supports most libretro features (netplay, runahead, retroachievements, …) and is part of the libretro steam launch lineup.

New supported games and other improvements

Konami

We added support for “WEC Le mans” and “Hot Chase”, 2 racing games from 1986 & 1988, you could see those games as Konami’s response to Sega’s “Out Run” and “Hang On”.
We also added support for the 6-player version of “X-Men”, which is playable from start to end without any glitch for the first time in an arcade emulator (our fixes were also ported to current MAME and MAME2003+).

We also improved emulation for the K054539 sound chip which is used in lots of konami games (including X-Men), this board had an echo effect that wasn’t emulated in any arcade emulator previously.

PGM

“Photo Y2K 2”, a game dumped nearly 20 years ago, finally got his protection passed thanks to the efforts of iq_132 and dink, i wouldn’t call it a must-play but it’s always nice to make breakthrough after so long. Various pgm hacks and bootlegs were also added along the way.

Sega

“Opa Opa”, a Sega System E game from 1987, is now playable, the game is some kind of mix between pacman and a shoot’em’up, with upgrades and playable in co-op.
Our Sega System 18 driver also had a nice overhaul after being on the todo list for a long time, games like “Michael Jackson’s Moonwalker” now plays without any gfx issues.
2 megadrive arcade bootlegs were also added : “Super Bubble Bobble” and “Top Shooter”.

Midway

For years there was a nasty issue with our Midway W/T Unit emulation (Mortal Kombat 1/2/3 and Rampage World Tour), more precisely only half of the frames were properly displayed, it has now been fixed thanks to the efforts of Marcos Medeiros (Romhack/zxmarcos) !

Taito

We added support for “Galactic Storm”, a third person shoot’em’up from 1992, this one was quite the unusual addition since it involves some polygon rendering, it’s quite rare for FBNeo to do 3D-ish things.

DataEast

“Gondomania”, a shoot’em’up from 1987, is now playable. “Super Shanghai Dragon’s Eye”, a puzzle/mahjong game from 1992, was also added.

Capcom

There was another batch of gfx fixes for CPS3 (Street Fighter 3, JoJo, Warzard), our emulation should now be on par with MAME’s apart from DMA status emulation, and there is a good reason for that : it would critically increase the hardware requirements for something that doesn’t seem to affect any phase of gameplay, that’s just not worth it on an emulator which is more focused on playability than accuracy/preservation. SF3-1 and SF3-2 from that driver also have a new dipswitch to enable wide screen mode (previously, only SF3-2 had that wide screen mode available, and only through its service menu), don’t ask about SF3-3.
CPS1’s (olders Street Fighter 2 and dozens of other games) MSM6295 sound chip also got nice improvements that make the bgm sound clearer, i’m mentioning it for CPS1 but it’s also used in quite a lot of other arcade systems. About that, i’ve seen some messed up comparisons on internet so i’ll say it : it’ll never reach the quality of cd/vinyl soundtracks of those CPS1 games, because it operates at a 7.5khz samplerate and the bgms were recorded for that samplerate.

SNK

Support for Neo-Geo Pocket and Pocket Color was added.

Nintendo

More NES mappers, more NES games, and reduced input lag ! If your favorite NES game isn’t emulated yet, feel free to ask here !

Miscellaneous

Pre 90s

Added support for missing games running on the same hardware as “Q-Bert”, it includes “Insector”, “Argus”, “Krull”, “Curve Ball”, “Tylz”, “Knightmare”, “Reactor”, “Screw Loose”, “Wiz Warz”, “Video Vince and the Game Factory”, and “The Three Stooges In Brides Is Brides”.
We finally completed our support for Nichibutsu games : “Tube Panic” and “Mag Max”, 2 shoot’em’up from 1984 and 1985, are now supported.

Post 90s

Support for “Hyper Duel”, a really nice Technosoft shoot’em’up from 1993, was added.

A “Cisco Heat” driver was added, it includes the eponym racing game from Jaleco, and other games like “Big Run”, “Grand Prix Star”, “Wild Pilot”, and “Scud Hammer”.
Support for the Hyperstone cpu family, high-spec cpus from the late 90s, was added, and along with it support for most arcade systems using them, it includes games like “Vamf x1/2”, “X2222”, “Crazy War”, and dozens of other games. I’ll be honest though, technically those games don’t live up to the specs of their cpus.

Better savestates support

Over the last months, savestate issues that could cause glitches, mostly with runahead (single instance) and netplay, were fixed, it includes neogeo, cps1, pgm, irem m92, sega system 1, and last but not least, pretty much any game using yamaha sound boards, and i can tell you those boards were quite popular in the 90s.

Better support for other archs/platforms (arm, PS3 and Wii U)

Final Burn Neo is written for x86 cpus, and while we try to keep the code compatible with other archs, we don’t always have the time nor means to properly test them. Lots of work was done on that front lately, it includes a few fixes for arm cpus (i.e smartphones, tablets and small computers like the raspberry pi), and tons of fixes for big-endian ppc cpus (i.e PS3 and Wii U). I’m not saying the ~15000 romsets we support are all ok, with an emulator which is basically a conglomerate of hundreds of smaller emulators it probably wouldn’t be even after working for years on it, but hundreds of games were fixed, including popular systems like pgm or neogeo CD. A special thanks to CrystalCT, author of FBNeoRLPlus (an alternative libretro frontend specialized in FBNeo for PS3), for his dedication on this.

And much more ! This article is far from being exhaustive.
If you want to help FBNeo, keep sending us bug reports when you see something wrong.
Our forum : https://neo-source.com/
Our github : https://github.com/finalburnneo/FBNeo
Our discord : https://discord.gg/8EGVd9v

Final Burn Neo Progress Report

A lot happened since my last progress report, so it might be a good time to keep you updated about FBNeo progress.

NES/FDS support

I see most of you saying “Isn’t FBNeo an arcade emulator ?”. Well, not exactly, we do some console emulation too, i already mentioned it in my last post. You might think there is nothing exciting about having a new NES/FDS emulator, but here is the deal : it’s probably one of the best ones available, we have yet to find glitches, even on games known for glitching on pretty much every other NES/FDS emulators. The downside is that, since it’s accuracy oriented, it won’t run that well on low-end devices. The emulator was written from scratch, mainly by reading nesdev, dink worked on it for 7 months, getting tons of help/testing/code/imagery from team 🙂

If you try to find another emulator that will render the following screen without any kind of glitch, you might be in a pinch, codemasters games are generally the bane of nes emulation.

As usual, usage of specific romsets is required (dat files are available at the usual place), it’s mostly based on No-Intro dumps. If your favorite NES/FDS game (even hacks or unofficial translations) is missing, you can request support on our forum. Currently we support around 1300 games.

New arcade games

I’ll probably forget some :

  • Rabbit : a fighting game from 1997, one of the only Electronic Arts arcade games
  • Express Raider : a beat’em’up from 1987
  • Super Dodge Ball : a dodgeball game from 1987
  • Tom Tom Magic : a flipper game from 1997
  • Thief : a maze game from 1982
  • Shark Attack : a game where you are a great white shark who attacks divers, from 1981
  • NATO Defense : another maze game from 1982
  • Victory : a shooter game where you defend an island, from 1982
  • Sega System 24 : a Sega arcade hardware from early 90s, you can see the list of games here
  • Akka Arrh : a space shooter from 1982
  • Alien Rescue : a homebrew from monstersgoboom.itch.io, running on pacman hardware
  • Magic Purple : a platform game from 1996
  • King of Boxer : a boxing game from 1985
  • Dead Angle : a shooter game from 1988
  • Buggy Challenge : a racing game from 1985
  • Denjin Makai : a beat’em’up from 1995
  • Godzilla : a fighting game from 1993
  • Heated Barrel : a run’n’gun from 1992
  • Legionnaire : a beat’em’up from 1992
  • SD Gundam Sangokushi Rainbow Tairiku Senki : a run’n’gun from 1993
  • Pitpat Puzzle : a puzzle game from 1997
  • Berzerk : a maze/shooter game from 1980
  • Frenzy : follow up of berzerk, from 1982

Here is a screenshot of rabbit

New hacks

  • Final Fight 30th Anniversary Edition : an advanced hack of Final Fight, among other features/improvements it supports 3 players
  • Otto Project PZ : do you know about crazy otto ? if not you might want to read this. This hack is an attempt to reproduce this game which was a prototype of ms pacman.
  • Lots and lots of hacks of many popular games and systems, including neogeo, cps, donkey kong and mortal kombat

Here is a screenshot of Otto Project PZ

Improvements and fixes

There are hundreds of them so i’ll just mention the latest improvement i did : i added a Hires 1080p mode to every vector games, you can enable it through dipswitches (in core options)

You can find more about what was fixed by looking at our issue tracker

Improvements and fixes specific to the libretro port

  • fixed a crash that would happen when switching neogeo bios while using readahead
  • prevent user from using incompatible neogeo bios with specific games
  • improved default mapping for many games, including the usage of analog triggers as default to accelerate and brake in many racing games
  • added an alternative way to load subsystems, more friendly with devices using static linking like android (more details in my FAQ)
  • improved & sanitized core options, one thing worth mentioning is the CPU clock feature that got fixed (previously the values displayed were different from what was actually applied) and now allows to underclock too (which can be useful to reproduce slowdowns from original hardware, or to lower hardware requirements)