Final Burn Neo 1.0.0.02 release

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 than on accuracy/preservation. The team is composed of dink, iq_132, JacKc, kev and me. It supports most libretro features (netplay, runahead, retroachievements, …).

Some words about accuracy & FBNeo

Regularly, I see misunderstandings about our playability focus. It doesn’t actually mean we don’t care about accuracy, when we add a new system we usually make it as accurate as possible, and we also revisit old systems for accuracy improvement purpose. In some edge cases we even end up being more accurate than MAME, it’s always a bit funny when someone comes reporting that “something is different from MAME, so that must be a bug”, and after investigating about the actual cabinet, we learn that FBNeo is actually the one emulating the game properly (in those cases, we let the MAMEdevs know, so I believe the inaccuracies are fixed shortly after on their side).

I can only remember of a few occurrences where we are intentionally inaccurate:

  • Samples vs Netlist emulation : we prefer keeping samples for now, netlist is a nice feature, but ultimately we don’t think samples sound bad (we even have some systems where we offer alternative sound emulation through samples while the actual sound device is also emulated), so enforcing the emulation to be twice slower for this didn’t seem right to us. From time to time I see people saying “yeah but I’m missing sounds because of those samples” : that shouldn’t be the case, most likely they are just using the wrong samples pack.
  • CPS3 emulation : Around 2 years ago, we noticed a frame on SF3-1’s VS screen had wrong colors, after more investigation & tests we learnt that the fix would involve making the emulation twice slower on every CPS3 games, so since there was no evidence that fixing this single frame would improve anything else on CPS3, we decided to leave things like this for now.
  • ZX Spectrum emulation : We didn’t like the original sound from the buzzer, so we re-made it to our liking.
  • Garbage noise : Sometimes, we notice garbage noise that actually happens on real hardware, since we consider this noise as an unpleasant game bug, we filter it out, i remember “Burger Time” and “Narc” being in that list.

New supported games and other emulation improvements

Midway

Our tms340x0 cpu core got rewritten, which allowed to add support for pretty much any midway game that was missing and not running on 3D hardware, the more recent additions include “2 on 2 Open Ice Challenge”, “Judge Dredd”, “NBA Hangtime”, “NBA Jam”, “NBA Jam TE”, “NBA Maximum HT”, “WWF: Wrestlemania”, “High Impact Football”, “Super High Impact”, “Narc”, “Smash TV”, “Strike Force”, “Terminator 2 – Judgment Day”, “Total Carnage”, “Trog”, “Revolution X”, and the recently dumped “Power-up baseball”.

Sega

Support for Sega System 32 was added : “Air Rescue”,  “Arabian Fight”, “Golden Axe: The Revenge of Death Adder”, “Dark Edge”, “Spider-Man: The Videogame”, “Dragon Ball Z V.R.V.S.”, “Holosseum”, “SegaSonic The Hedgehog”, “Alien3: The Gun”, “Burning Rival”, “F1 Super Lap”, “F1 Exhaust Note”, “Jurassic Park”, “Rad Mobile”, “Rad Rally”, “Slip Stream”, “Super Visual Football: European Sega Cup”, “Soreike Kokology”, “Soreike Kokology Vol. 2 – Kokoro no Tanteikyoku”, “Hard Dunk”, “OutRunners”, “Stadium Cross” and “Title Fight”. One of the hightlights of our emulation is the controls on racing games like “Rad Mobile”, they are very playable (apparently, the controls are a bit tricky on MAME).

Jaleco

Support for Jaleco Mega System 32 was added : “Tetris Plus”, “Tetris Plus 2”, “P-47 Aces”, “Best Bout Boxing”, “Desert War”, “The Game Paradise – Master of Shooting!”, “Gratia – Second Earth”, “World PK Soccer V2”, “Hayaoshi Quiz Grand Champion Taikai”, “Hayaoshi Quiz Nettou Namahousou”, “Idol Janshi Suchie-Pai II”, “Ryuusei Janshi Kirara Star”, “Mahjong Angel Kiss”, “Vs. Janshi Brandnew Stars”.

Namco

Support for Namco NA-1/NA-2/NB-1/NB-2 systems was added : “Bakuretsu Quiz Ma-Q Dai Bouken”, “Cosmo Gang the Puzzle”, “Emeraldia”, “Exvania”, “Fighter & Attacker”, “Super World Court”, “Tinkle Pit”, “Knuckle Heads”, “Numan Athletics”, “Nettou! Gekitou! Quiztou!!”, “X-Day 2”, “Nebulas Ray”, “Point Blank / Gun Bullet”, “Great Sluggers”, “Great Sluggers 94”, “Super World Stadium”, “Super World Stadium ’96”, “Super World Stadium ’97”, “J-League Soccer V-Shoot”, “The Outfoxies” and “Mach Breakers”

Seibu

Support for Seibu SPI system was added : “Senkyu / Battle Balls”, “E Jong High School”, “Viper Phase 1”, “Raiden Fighters”, “Raiden Fighters 2 – Operation Hell Dive”, “Raiden Fighters Jet” and “E-Jan Sakurasou”

Sinclair ZX Spectrum

While the driver had been there since 2018, because of how bad it was (a parting gift from a certain person…) it was basically rewritten from scratch, nowadays I believe it’s a very nice alternative to FUSE. Also, I mentioned it above, we intentionally decided to be inaccurate on buzzer emulation.

Fairchild ChannelF

Another home console gets emulated.

PGM

Thanks to the efforts of an external contributor (eziochiu), the last 2 unplayable pgm games (and their clones) finally became playable : “Dragon World 3” and “Photo Y2K 2 (3-in-1)”.

Taito

We now support “Gladiator”, “LSA Squad” and “Daikaiju no Gyakushu”

Electronic Arts / Rare

“Battletoads” is now supported, this game is actually the main reason our tms340x0 cpu core was rewritten.

Gottlieb

“Exterminator” is now supported, that’s yet another game using tms340x0 (actually, 2 of them !), this is an odd game to say the least.

Art & Magic

Yet another system using tms340x0, their games – “Cheese Chase”, “Stone Ball” and “Ultimate Tennis” – are actually pretty cool.

Improvements to the Libretro port

Some features that were left over from standalone until now got implemented in the Libretro port :

  • LowPass Filter : It’s available from the core options, I know something similar is available from RetroArch’s DSP plugins but you might want to check out this one too. Technically it’s a 2x resonant lowpass filter which is set-up to mimic the amp section found on most PCB’s. For a good 95% of games, it makes the sound a bit more rich/bassy, and for the remaining 5% let us know so that we can fix them. You’ll probably never want to turn this option off after getting used to how nice it sounds.
  • Cheats : They have been supported through the Libretro API for some time, but now you can also directly use a cheat.dat from MAME, more information about this here.
  • Macros : First, some words about macros, the reason macros from standalone aren’t supported is because there can be dozens of them for a single player on a single game, however you currently can’t map that many actions with the Libretro API (and this is not only a problem for macros, handling service menu when it involves several buttons can be tricky too) because all inputs need to be assigned to a button from the get go. In the past, there was some workaround for this through core options, but it had its own share of issues so it was removed later. I recently decided to re-implement support for a select few macros, for now it only includes 3xPunchs and 3xKicks on SF-like games but implementing a few more could be done if I can get some help sorting out the ones that’ll be the most useful so that they’ll fit within the RetroPad model.

 

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

Changing behavior of “gl” and “glcore” video drivers

What are they ?

“gl” and “glcore” are 2 video drivers available on desktop computer :

  • “gl” is an OpenGL 2.0+ driver, when used with a version above 3.0 it’s called OpenGL Compatibility and can support up to OpenGL 4.6, but some GPU drivers don’t have that OpenGL Compatibility mode.
  • “glcore” is an OpenGL 3.1+ driver, it’s also called OpenGL Core, it supports up to OpenGL 4.6.

OpenGL is one of graphics API that can be used to draw 3D with you GPU, it is the most widely supported by devices and emulators.

What changed ?

Until now, when launching a core with an OpenGL renderer, RetroArch would consider both “gl” and “glcore” video drivers as valid choices, meaning you could launch a core internally using OpenGL Compatibility with the “glcore” video driver, and a core internally using OpenGL Core with the “gl” video driver. It’s not possible anymore, now cores will try to force the video driver matching what they want. This change only concerns platforms with OpenGL Core support, meaning platforms like android and many others aren’t concerned. Here is a list of cores using OpenGL and how they will be affected.

The following cores will always try to force the “glcore” driver :

  • kronos
  • citra
  • beetle-psx-hw
  • mupen64plus_next (on linux)
  • melonDS

The following cores will always try to force the “gl” driver :

  • openlara
  • parallel-n64
  • yabasanshiro
  • mupen64plus_next (on windows)
  • boom3

The following cores are compatible with both (some of them might work better with a peculiar driver depending on your gpu though), so they’ll try to use your current driver :

  • duckstation
  • dolphin
  • ishiiruka
  • ppsspp
  • flycast
  • desmume

Why was this change needed ?

Maybe you are one of the lucky guys who didn’t encounter major issues with the previous behavior, but there are actually several reasons to change this :

  • some cores will glitch if the video driver doesn’t match the context they are requesting
  • cores will usually perform faster if you use the video driver they expect
  • OpenGL compatibility isn’t reliable for cores that require OpenGL versions above 3.0, because some GPU drivers don’t support this, so it’s safer to force OpenGL Core in those cases
  • to be honest, it makes more sense like this, it leverages user experience, and we shouldn’t ignore what is requested by the core

Should i change something on my setup ?

The first thing you should make sure, is that the setting “Allow cores to change video drivers” is turned on (that’s the default), as far as i know turning this setting off was used as a workaround for some of the issues fixed by those commits, so i don’t see a scenario anymore where it could be anything but harmful.

The second thing you should do, is update the cores mentioned above if you are using them, half of them were patched over the last few weeks, in preparation for those changes. Sadly our buildbot currently has troubles building some of those cores, so i recommend manually installing them from the newer builds available at https://github.com/hunterk/libretro_builds until the new buildbot is ready (for dolphin, you might have to install vc_redist from here).

The third thing you should do if those changes prevent a core from working on your setup, is to mention me (@barbudreadmon) on github or discord so that i can look into your issue.

Last but not least, there are 2 settings you might optionally consider changing :

  • if you are currently using the setting “shared hardware context”, you should probably consider turning it off, it adds rendering latency while it shouldn’t be necessary anymore with those changes (the cores that actually require this setting will force it).
  • if your GPU is less than 15 years old and your platform supports “glcore”, you should probably consider using “glcore” over “gl” as default OpenGL video driver, it generally produce better overall results.

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

Kronos 2.1.2 progress report (Sega Saturn emulator)

It has been some time since the last report, let’s try to go a bit more in-depth this time.

The OpenGL CS video renderer

The Saturn is a beast. It features 8 processors, among them are 2 custom graphics processors called VDP1 and VDP2. The VDP2 handled backgrounds, while the VDP1 handled sprites, textures and polygons.

The VDP1 was rendering “quads” line per line, the general idea was to interpolate endpoints along the horizontal edges, then to draw textured lines between those endpoints. It had to draw the lines with an extra pixel where the slope changed, so all of the pixels had a neighbor to the left, right, top, or bottom. They did this to prevent gaps between the lines.

A modern graphics APIs like OpenGL doesn’t know how to do that, because its rendering pipeline is based on triangle geometry, so basically it can’t reproduce VDP1 behavior. There are tricks like tesselation, but ultimately they are just workarounds for specific issues and not all-in-one solutions for this. Here is some good news though : with OpenGL 4.3, a new feature called compute shaders was introduced, you might have heard about it through Flycast’s order independent transparency, or N64’s parallel, this new component gives lots of flexibility to OpenGL, and allows the implementation of routines to render quads line per line. It is what this renderer is about : reproducing VDP1 behavior accurately.

Let’s do some comparison, from first to last, those images were shot from console, Mednafen/beetle, Kronos (OpenGL CS renderer), Kronos (the old OpenGL renderer, based on YabaSanshiro’s). There are 2 things noticeable related to this VDP1 behavior in those :

  • border of the road : on console, Mednafen and Kronos’s new renderer, if you zoom in, you’ll notice it’s not a smooth line, there are dots, this is the accurate behavior; the last screen, while the smooth line might look better, is actually inaccurate.
  • holes everywhere : if you zoom in on the last screenshot, you’ll notice some holes here and there, on the top of the hills, on the road in the back, those holes don’t exist on the other screenshots.

It’s possible to workaround those holes with the OpenGL renderer, but at the end of the day you end up creating other issues in the process. Until recently we used such workaround but, in the case of Sega Rally, it was magnifying the dots on the border of the road.

The only known downside of this new renderer is that it will require a fairly good GPU!

ST-V support was improved

While still a bit preliminary, some major rework was done recently on ST-V support :

  • You can now set your favorite bios region (NB : it will be ignored if the game doesn’t support that region though)
  • The EEPROM is now properly saved and loaded
  • ROM loading mechanism was fixed, there should be no more messages of the ST-V bios telling you there is something wrong with the game you are trying to launch
  • Lots of input issues, going from the lack of kick harness (used for 5th & 6th buttons on some games) to the inputs not responding at all, were fixed

Improvements on the Libretro port

There were some long-term issues with the Libretro implementation, but a lot of improvements were done about them :

  • Resolution switching, which is something that happens every few seconds on saturn, was somehow wrong, one of the worst side effect was artifacts especially visible in “mesh” (if you don’t use the “improved mesh” core option), it was fixed
  • Toggling between fullscreen and windowed was causing issues from glitches to crashes, it has been mostly fixed
  • While the saturn framerate should be 50 or 60 fps depending on the region, sometimes it’s not rendering anything because the Saturn is actually shutting down its video output, kronos is trying to have an accurate behavior for this too, which is a bit of a headache for the libretro ecosystem which is expecting a more linear framerate. A better way of handling this was implemented.

Also, here is a summary of this core’s options :

  • Force HLE BIOS : it will ignore your bios file and use the old HLE bios from yabause instead, this function is unmaintained and is mainly there for debugging purpose (there is at least one known case where it’s unlocking the game though : Astal, for some reason the real bios is shutting down the video output), don’t report issues if you enabled this option.
  • Video format : will force format to PAL or NTSC, default is auto
  • Frameskip : will skip rendering at a fixed rate, it can improve playability dramatically on lower end devices
  • SH-2 cpu core : default is “kronos”, our cross-platform cached interpreter, the other one is the unmaintained yabause SH-2 interpreter, we got the same policy than the HLE bios about it.
  • OpenGL version : this option was introduced as a workaround for setups giving false positive when asking if a specific OpenGL version was supported (it happened…), set this to the highest version your gpu support.
  • Video renderer : to enable the new renderer, default is the old one for compatibility reasons
  • Share saves with beetle : will share save paths with beetle-saturn, allowing you to use the same savefiles.
  • Addon cartridge : to change cartridge, default is auto, it is recommended to let the default except if you intend to play heart of darkness, a prototype requiring the 16M extended RAM.
  • 6Player Adaptor on Port 1 : self explanatory
  • 6Player Adaptor on Port 2 : same, one word of warning though, enabling the second multitap is known for causing a weird autofire behavior.
  • Internal Resolution : self explanatory
  • Polygon Mode : works with the default OpenGL renderer, used to fix wobbling textures issues, OpenGL CS doesn’t need this, default is cpu tesselation but gpu tesselation is recommended if your gpu supports it (OpenGL 4.2), perspective correction is more cpu friendly but heavily glitched.
  • Improved mesh : will replace fake transparency (mesh) by real transparency, default is disabled
  • RBG Compute shaders : will use compute shaders to rotate background, it is recommended if your gpu supports it, default is disabled
  • Wireframe mode : self-explanatory ? It works only with OpenGL CS, mostly for debugging but can be a fun feature, give it a try for curiosity !
  • ST-V Service/Test Buttons : enable buttons to access service menu in ST-V game, default is disabled to avoid misspress
  • ST-V Favorite Region : select your region for ST-V, default is EU for censorship and language reasons.

On a sidenote, lots of other things were fixed/improved since my last report, but nothing seemed major so we decided to skip them. If you want to know more about this emulator, you can check the youtube channel, or join us on discord.

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)