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.
PlayStation Classic Boot Menu + RetroArch Christmas 2018 public BETA
Due to the efforts from CompCom and other members of the ModMyClassic community we are happy to announce the pre-release of the new PlayStation Boot Menu + RetroArch for this year’s Christmas holidays!
Whilst this pre-release is a working beta of a future development of BleemSync, we felt that you guys should be able to give a try and have some fun with it over the holidays.
Included in this pre-release is the Boot-Menu by CompCom, RetroArch for the PlayStation Classic and an initial batch of 91 cores. (Emulators) Please note that this is a pre-release of an upcoming module and development! This means that we are expecting some issues and shouldn’t be considered as a final release. This includes all of the 91 cores listed for the console, we haven’t had time to fully test or polish the builds for the PlayStation Classic but the majority should work absolutely fine.
Because of this, we ask you that you please notify us of any issues you encounter in our PlayStation Classic support channel in our discord here. We thank you in advance for your feedback and we will work on making improvements/fixes based on any feedback given to us.
Kronos is a fork of YabaSanshiro, which is itself a fork of Yabause. The project was started by François, his main goal was to have an emulator benefitting from YabaSanshiro improvements, while being friendly with x86_64 architecture and desktop computers.
Over time, several new features were added :
Sega ST-V emulation (the arcade version of the Sega Saturn)
Modern OpenGL Core support, it should now have a fair compatibility, even with intel GPUs, the minimum requirement is OpenGL 3.3 Core, and 4.2 if you want to benefit from gpu tesselation
Additional things to know :
It’s using a high performance SH2 cached interpreter, albeit different from the dynarecs used in YabaSanshiro, the CPU frequency requirement is still around 30% lower than an emulator using a classic SH2 interpreter like beetle-saturn
It’s compatible with beetle-saturn savefiles, there is even a core option to load them from the same path
It’s compatible with zipped cue+bin+wav isos, you don’t need to uncompress them or convert them to CHD
There are several core options to improve rendering (tesselation, upscaling, …)
Shining Force 3 on Sega Saturn :
Cotton 2 on Sega ST-V :
Things to do/fix :
Improve compatibility with non windows/linux platforms, in the case of MacOS X we’ll first need a retroarch with OpenGL 3.3 enabled
Improve input lag, we are 1 frame behind beetle-saturn at the moment
Add CHD support
Hook optional YabaSanshiro SH2 interpreters as core options, while they are not cross-platform, they could be interesting to further improve performances on their respective platforms (x86_32,arm,arm64)
Hook alternative input devices (lightgun, mouse, keyboard, …)
Fix the “toggling fullscreen/windowed” issue (it will result in a black screen if you do that while playing)
PlayStation used a special unit called the MDEC to decode full motion videos instead of relying on software rendering (like the Saturn). These videos were encoded in YUV macroblocks and had to be converted from YCbCr to RGB so that the PSX can output the final image to the screen. A common issue with PlayStation emulators is that the chroma channel generally should be smoothed, but the PlayStation tend to leave it unfiltered.
There’s now a feature called ‘MDEC YUV smoothing’ which does filter the chroma channel. You can see the before/after screenshot above (video in question is the Resident Evil 1 intro) to see the kind of visual enhancement this brings to the picture.
SSAA (Super Sampled Anti Aliasing)
Some people prefer to play PlayStation1 games at native resolution and just applying a CRT shader at the end instead of running them at very high resolutions. However, there are some issues with that approach. 3D polygon graphics can tend to look very aliased and jagged and lacking in definition.
Alternatively, others like to crank the resolution up as high as possible. Both approaches have their pros and cons, but a definite disadvantage is that early 3D was very primitive so you might not want to see razor sharp angular polygons rendered at obscene resolutions, especially when a game relies a lot on pre-rendered backgrounds and other 2D elements. The Final Fantasy and Resident Evil games come to mind for one.
The option ‘Adaptive smoothing’ already exists and it attempts to distinguish 2D elements from 3D elements. It will smooth out the 2D elements but leave the 3D elements alone, resulting in a high resolution picture with the 2D elements not looking pixelated and ugly.
This new Vulkan-only option, SSAA, is a completely new approach. The image is rendered at the internal resolution you set it at (2x/4x/8x/16x, you name it). It then downsamples it at the final output stage back to a resolution somewhere in the ballpark of 240p. What you get is a low-resolution image with very clean anti-aliased 3D, kinda similar to the N64 actually which had native 8x multi sampled anti aliasing of some sort.
Certain CRT shaders expect a 240p-ish image to look their absolute best, so this option lends itself very well to that. It also can tend to look bit more coherent with mixed 2D and 3D in cases where adaptive smoothing fails.
Tip: We recommend you turn dithering off when using SSAA (Super Sampled Anti-Aliasing).
Example – Final Fantasy IX
Below you see SSAA in action with Final Fantasy IX on RetroArch. The first image is SSAA at 1x internal resolution. The second image is SSAA at 8x internal resolution. You can see how the downscaling does its magic in the second picture – it results in an image that almost looks like as if the polygon characters are part of the background itself.
Finally, a CRT shader is used – crt-royale-ntsc-320px.
Final Fantasy IX – SSAA at 1x internal resolution with CRT RoyaleFinal Fantasy IX – SSAA at 8x internal resolution with CRT Royale
Dithering for Vulkan
PlayStation and N64 output the final image at 16 bits per pixel. Since that isn’t a particularly wide colorspace, both systems used dithering in order to fake the illusion of a larger palette of colors. This combats color banding and wouldn’t be very noticeable at native resolutions on a CRT TV. On more powerful hardware and when emulated, the limitations of this approach become clear, and some would prefer either internally rendering the dithering at the internal resolution, or disabling it altogether.
Dithering was previously ignored by the Vulkan renderer and was always turned off, no matter what you configured. Now it will actually let you enable it. If dithering is enabled, the scanout image will be 16 bits per pixel. If it is disabled, the scanout image will be 32bits. We recommend that you turn dithering off if you are going to be using ‘SSAA’ (Super Sampled Anti Aliasing)
Libretro has teamed up with ModMyClassic (formerly Hakchi Resources) to provide Libretro with their own official “Classic” platform offering for the classic consoles such as the NES Classic, SNES Classic, C64 Mini and the PlayStation Classic.
This now means you can download both stable and nightly builds of RetroArch and majority of the cores directly from official sources which are built and optimized specifically for the classic consoles.
We (Team Classic+) on behalf of ModMyClassic have been liaising with the Libretro developers on multiple cores to resolve numerous performance issues, bugs, crashes, and have gone through each core one by one to ensure that you receive the most compatible and best performing experience on your classic consoles.
As of writing this article there are currently 83 cores available for download in varying formats. (Raw .so, Compressed .so, zipped .so, hmod and compressed hmod) There will be more added to this list in the coming weeks and the inclusion of a “Classic” platform of RetroArch built specifically for the NESC and SNESC (based of HR’s RetroArch “Neo” build)
This means that ModMyClassic (formerly Hakchi Resources) will no longer be providing “3rd party builds” of RetroArch or its cores. It will only provide the builds directly from Libretro sources to ensure that any improvements made between developers ends up benefiting everyone in one single collection.
We also added a simple to use “Classic” platform to all of the core makefiles which we will expand on with future classic consoles. You can compile them for your own needs if needed. We added ARMv7 Cortex A7 (Hard Point with Neon) builds so you can also compile these for your own needs, or to use as a template for any other ARM based device. If you have a different architecture ARM device you should be able to easily adjust the classic platforms slightly to suit your needs. We will be providing a detailed compilation guide for the classics and other ARM devices in the libretro documentation in due course.
Notable Mentions (What’s new for current “Classic” users)
Apart from every single core on the list having been optimized, vetted, and tested to ensure they run at peak performance and stability, there have been a number of notable changes and improvements to some of the cores and their “Classic” versions. (Please note that some cores will run badly on the limited hardware. No amount of build optimization will fix this!)
New cores – EasyRPG is now available, SimCoupe core has been revived and added into the available cores and a few other variation cores have also been added such as VICE 128. (Commodore 128)
Fixed and optimized N64 cores (Mupen64Plus and Parallel) – The ancient builds of mupen and glupen have been moonlighted and classic specific build optimizations and fixes have been made for the N64 cores which allow for more compatible and higher FPS playback on some titles.
Mame2003plus speed issues fixed and improved – Thanks to the work from markwkidd, grant2258 and members of team classic+, we managed to resolve some speed issues with the core and the classic including some fixes to the audio and compatibility fixes. This is now very much the go to MAME core for the classics.
DOSBOX core improved – Thanks to radius we have fixed up the classic offering of DOSBOX so the core now runs much better than it originally did. 286 and 386 based games should run without issue on the classics now with 486 running ok depending on the game.
Nightly builds directly from libretro sources (Never be out of date!) – This means you can download the latest build of every core available for the “Classics” built directly from Libretro sources. You can download the latest version of any core if you so wish as they are built every 24 hours, 365 days of the year. We will still offer “Stable” releases which will likely tie in with releases of RetroArch.
RetroArch now ported and running on the PlayStation Classic
Thanks to the efforts of Team Classic+ (Especially CompCom) we have now ported RetroArch and all of the current 86 classic cores to the playstation classic. Here is a small video showcasing the functionality:
We will be adding the Playstation specific build platform to the RetroArch build and the cores very soon to tie in with the official “classic” platform release
Final Thoughts
We at ModMyClassic are extremely happy and enthusiastic to be working alongside Libretro and by forming this partnership we hope to better the “Classic” offering and provide the best end user experience possible. Whilst this is announcement is a WIP post, we aim to have the official Lbretro “Classic” platform of RetroArch and Cores polished and fully released in the upcoming month.
Please note that ModMyClassic is still in the process of a rebrand from Hakchi Resources and we are currently working at full load to try and get this finished as well as the “Classic” builds. Please excuse us if you check our website if it’s out of date as we are currently redoing everything from scratch which includes all of our APIs, build servers and deployment servers.
If you have any specific qustions regarding RetroArch on the classics or classics in general, please feel free to ask us directly in the ModMyClassic Discord and we will try and answer your questions/resolve your issues.
Big thanks to Autechre for helping make this partnership a reality and facilitating the project. Lastly, many thanks to all the members of TeamClassic+, m4xw, markwkidd, grant2258, gharby, robloach, flyinghead, radius and anyone else who helped to resolve issues and worked on the project.
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!