It’s been a pretty busy end of the year for the BeetleDC core. Most of the work consisted in finalizing and improving support for Naomi and Atomiswave arcade ROMs.
Naomi / Atomiswave
Naomi GD-ROMs are now supported and this adds more than 120 Naomi games to the list of supported arcade games.
ROMs archived with 7zip as well as parent/split ROMs are now supported as well.
Another new feature is the use of per-game input descriptors: so instead of binding “Button 1” or “Axis 1”, you’ll have descriptive names such as “JUMP” or “STEERING WHEEL”. Not all games have input descriptors but more will be added in the future (and pull requests are welcome.)
In addition, many bugs have been fixed allowing many arcade games to now be fully playable: 18 Wheeler, Airline Pilot, Cosmic Smash, House of the Dead 2, Jambo Safari, Ninja Assault, Shooting Love, Virtual Athlete, Virtual On Oratorio Tangram and probably more.
Dreamcast
On the Dreamcast front, a recent but notable improvement is the automatic setting of the BIOS date and time at boot. So you should never see the date/time setting screen again. In the same area, a new core option allows to choose the BIOS language, so you don’t have to boot the BIOS to change it.
Using the Libretro disk control interface, disk swapping has been implemented. When asked by the game, you can now virtually eject the current disk and select a new one without restarting. Some multi-disk games require this feature such as D2 or Pop’n Music 3 and 4 append disks.
Another new feature for both console and arcade is the Synchronous Rendering core option. This option is only active with Threaded Rendering. When activated, it will pause the emulation thread instead of dropping a frame, which results in less dropped frames and thus a better and smoother frame rate.
Finally, Restart has been implemented so one can reset a game without having to restart the front-end.
Thanks to flyinghead, BeetleDC Libretro has now gained Sammy Atomiswave support! Sammy Atomiswave was an arcade system board based on the Dreamcast/Sega NAOMI hardware. A lot of SNK Playmore’s flagship games transitioned from the ageing Neo-Geo hardware to the much more modern Naomi-based hardware, such as Samurai Shodown, King of Fighters, Metal Slug and so on.
Both MAME ROMs and Demul-compatible roms should work. Note that as of right now, only a limited selection of Atomiswave games work. More will be added later today/tomorrow.
Here is a sampling of some of the games that already work. Shown here are Guilty Gear Isuka, Guilty Gear X, and Metal Slug 6.
Flyinghead is adding MAME ROM support to the arcade side of BeetleDC Libretro.
Here is what has currently been implemented:
NAOMI M1 cartridge support
NAOMI M2 cartridge support
NAOMI M4 cartridge support
Things you need to know
Right now, only non-merged romsets work. A merged rom is a ROM without parent, it contains all the files needed.
NAOMI M4 cartridges require a special BIOS file to be put inside your System directory. The M4 bios should be in a “naomi.zip” file in the BIOS folder (/dc ). The file in specific which hsould be inside that zip file is called ‘epr-21576h.ic27’.
Other important additions/changes
in the past, NAOMI games would only work with BeetleDC Libretro if you loaded .lst files. .lst files are no longer necessary now. You should be able to run an arcade game with BeetleDC Libretro using the plain .bin/.dat file instead now. So theoretically it should now be capable of just loading Demul-compatible ROMs instead.
Ring Out 4×4 now allows for up to 4 player support due to adding dual I/O board support for this game.
What are the list of MAME ROMs that are compatible?
Keyboard support has now been implemented by flyinghead! In this video you see us testing the game Typing Of The Dead, which relies on a keyboard as its primary input device..
In order to play this game, make sure the keyboard is set to Port A of the Dreamcast. You can see us doing this in the video by going to the Quick Menu, selecting ‘Controls’, and setting the first port to ‘Keyboard’. Now restart the core and the game. You should now be able to play the game.
Game focus toggle
Quick tip: RetroArch by default binds a lot of keyboard keys to hotkeys. In order to be able to use the keyboard in full, try to bind ‘Game focus toggle’ to a key. You can do this by going to Settings – Input Hotkeys, and binding ‘Game focus toggle’ to any key you want.
How this will work is as follows: if you press the game focus toggle, you will be in ‘game focus’ mode. In this mode, none of the hotkeys will work, and you can use every key of the keyboard. When you want to go back to the RetroArch hotkey mode, you press the ‘game focus toggle’ key again in order to deactivate game focus mode.
The BeetleDC libretro core has seen several big improvements as of late, and we thought it would be remiss of us if we did not take this opportunity to talk about it.
There are two cores now
There are now two BeetleDC cores:
BeetleDC regular
BeetleDC OIT
BeetleDC regular: Contains an OpenGL renderer that requires OpenGL 2.x on the desktop and GLES 2.x on mobile.
BeetleDC OIT: Contains an OpenGL renderer that requires OpenGL 4.3, and as a result is only available for Windows and Linux. BeetleDC OIT might have significantly increased system requirements, but in return you get much more accurate graphics which tend to fix nearly all the issues that plague Dreamcast graphics with the regular version.
How to get it
In RetroArch, go to Online Updater -> Update Cores. From there, BeetleDC and BeetleDC OIT should be available for the following platforms:
Linux
Windows
Mac (Reicast OIT is not available for Mac due to no GL 4.3 support)
What is new/improved in both Reicast versions?
BeetleDC regular
BeetleDC regular’s OpenGL renderer has received many improvements that greatly increases the graphics accuracy and squashes many graphics bugs that plagued games in the past.
Here are some of the Dreamcast’s GPU features that are now implemented:
Tile clipping support.
Fogging support.
Volume modifier shadow support.
Multipass rendering.
Render to texture buffer.
Log 2 depth buffer.
Some additional enhancements include a log 2 depth buffer, fixing much of the polygon glitching that could happen in the distant background in many games.
All of these additions to the existing GL2 renderer in BeetleDC regular come courtesy of flyinghead.
BeetleDC OIT
BeetleDC OIT uses an entirely new graphics renderer written by flyinghead targeting OpenGL 4.3. In addition to boasting all the features that BeetleDC regular also enjoys as of this date, it also has the additional advantage of incorporating Order Independent Transparency, so that we don’t have to do hacky and error prone alpha sorting hacks, which is our main resort in BeetleDC regular.
Tile clipping support.
Fogging support.
Volume modifier shadow support.
Multipass rendering.
Render to texture buffer.
Log 2 depth buffer.
Order independent transparency.
Two-volume mode support.
NOTE: This requires a compatibility context for OpenGL 4.3. You might encounter issues with Intel/AMD GPUs right now on Linux using Mesa drivers since they require core context. Core context cannot currently be used because there are still graphic bugs to be solved when using this.
Showcase of new emulated features
Flyinghead has a terrific fork of Reicast that dramatically increased the rendering accuracy of BeetleDC’s OpenGL renderer. We backported these features with the gracious help of flyinghead. All kudos goes to him.
Tile clipping support
The Dreamcast’s PVR2 had a tile clipping GPU feature that was used to obscure portions of the screen. It was cheaper to keep rendering portions of the screen that were not meant to be seen by the user and just clip them away instead of deciding not to render them at all. This was previously unimplemented, which led to all sorts of graphics glitches. This has now been finally implemented in both cores.
Fogging support
The Dreamcast had a 128-bit fogging table that games could take advantage of. Plenty did, such as Cannon Spike, Blue Stinger, Resident Evil: Code Veronica, Virtua Fighter 3tb, and more games. This is now finally implemented for both cores.
Volume modifier shadow support
The Dreamcast made use of volume modifiers in order to simulate shadows in many games. This was previously either completely unimplemented or very buggily rendered. Volume modifiers are now correctly implemented in both cores (BeetleDC and BeetleDC OIT). Performance costs should be minimal and you definitely notice the shadows being cast now by characters and other objects.
Multipass rendering
The game V-Rally 2 relies on multipass rendering for rendering the UI elements on top of the game screen. This has finally been emulated on both cores (BeetleDC and BeetleDC OIT).
Render to texture buffer
Not only has render to texture being reimplemented (leading to much faster performance), but certain games such as Tony Hawk’s Pro Skater 1/2 would render to VRAM for rendering shadows. The upshot of this is that the shadow looks much more convincing vs. merely using volume modifiers in order to simulate shadows. This feature has been finally implemented in both cores.
Log 2 depth buffer
Thanks to the logarithmic depth buffer, many rendering bugs have been fixed. Some games have been completely fixed as a result, such as Cannon Spike, while others such as Soul Calibur no longer have the scenery in the background glitch out.
Note that this relies on gl_FragDepth being available. This might become an issue when we bring the BeetleDC libretro core to mobile, since it’s not a part of the GLES2 spec and might require either extensions or GLES3 support.
Order Independent Transparency
NOTE: This feature is exclusive to BeetleDC OIT, and is not available in the regular BeetleDC core.
Other improvements
Date/time saving is finally fixed
Finally you don’t have to keep inputting date/time again whenever starting a game with the BeetleDC cores.
Be sure to set a correct date/time, as entering a wrong date might lead to it not being able to save.
Analog triggers
The core finally supports analog triggers. The Dreamcast had analog L/R triggers, previously we only had digital trigger simulation, where the L1/R1 would simulate 50% press of the trigger and L2/R2 would be a 100% press of the trigger. While this mode is still available if you enable the option ‘Digital Triggers’, you can also now just take advantage of the new digital trigger capabilities.
In addition to this ,deadzone issues should be fixed now, so there should hopefully be no more analog input disparities between Xbox pads and PS4 pads.
This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful. We are using cookies to give you the best experience on our website. We collect users data for personalisation of ads, and also Google will use your personal data when you give consent on our site. Check this link to Google’s Privacy & Terms site.
Strictly Necessary Cookies
Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.
If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.
3rd Party Cookies
This website uses Google Analytics to collect anonymous information such as the number of visitors to the site, and the most popular pages.
Keeping this cookie enabled helps us to improve our website.
Please enable Strictly Necessary Cookies first so that we can save your preferences!