Emulators comparison for MiyooCFW #358
Replies: 4 comments 5 replies
-
Which emulators do you think we should include with the next release? |
Beta Was this translation helpful? Give feedback.
-
Nice write-up! A few comments:
|
Beta Was this translation helpful? Give feedback.
-
Don't you dare leave GnGeo out! :P :D The best arcade experience on Miyoo! If I had to pick the two best emulators (in terms of the gaming experience) for the platform, it would be PicoDrive and GnGeo. Both built for ARM, with near-perfect game compatibility (for standard Sega Mega Drive, and 90s Neo Geo, respectively), and both game platforms/emulators have a perfectly fitting native screen resolution for Miyoo devices. They were made for Miyoo (or Miyoo devices were made for them).
Fixed-up source for the current release on the platform (1.93): https://github.com/Rezzy-dev/picodrive I have a number of fixed-/cleaned-up original release Miyoo emulator sources up on my GitHub profile, with compiling instructions for each (in the "readme_miyoo.txt" files): I've dedicated my profile pins to working Miyoo emulator source preservation (and that will stay). (I mostly use my GitHub account for Miyoo software development -- that's why they're pinned at the front.) The changes made to the emulators are listed in the "Build for Miyoo CFW" releases for each. Mostly correctly switched A-B buttons for post-BittBoy devices, and some minor menu UI changes to clean up and unify the UI across all the standalone emulators on the platform (occasionally involving the disabling of the obtrusive and mostly redundant start-up overlay message). |
Beta Was this translation helpful? Give feedback.
-
Although poorly optimised as an emulator on the platform, the native setup/implementation of DOSBox also comes pretty close to perfect in gaming experience for 80s DOS games (up to the very early 90s basically): Although this is more specialist interest for DOS gamers, and requires a little know-how in how to setup and run DOS games for the most part. But the native implementation improves performance and setting-ability (compatibility) for the games greatly. Plus CGA, EGA, and VGA support the Miyoo native screen resolution (and fit it almost perfectly: 320x200). I've been using it heavily. It's my third favourite emulator (in gaming experience) on the platform. Players should not go in expecting to run 90s DOS games with this emulator, however. The emulator not being built for ARM, the power/speed is just not there. Only very light and well resource-optimised games will work playably. |
Beta Was this translation helpful? Give feedback.
-
Emulators full showdown (best options & introductions)! MIYOO
DISCLAIMER: This is not in no means a definitive guide, and is mostly my personal view / experience on the matter. Please if you disagree write down what you would see changed and explain your state. Possibly I've omitted some systems, due to my lack of interest in them, please add/comment anything if you think would be valuable.
GLOSARY
libretro/lbr - emulator implemented as RetroArch's core, all builds available from official RA website
standalone/std - emulator as separate port for Miyoo platform
[none] - if no specific emu revision is mentioned you can use standalone or libretro core interchangeably as they produce the same results
(!) - this statement need to be checked
n-n
- nearest-neighbor video scalers-l
- semi-linear video scalerPERFORMANCE - how well emulator can run games without palpable underruns and with stable FPS rendering.
ACCURACY - refers to visual and audio output of emulator that can be the most authentic in pleasing way to real hardware e.g.: for home consoles connected to CRT back in the days, you would want to use additional video filters in emu (reducing colors & smoothing pixels) and switch to aspect ratio scaling if possibe. May be pron to subjective feelings and is not equal to technical accuracy.
COMPATIBILITY - describes variety of systems can emulator support on each platform (eg. different regions, ROMs' format), considers stability and potential bugs' free emulation.
Full comparison summary presented in table form down below (with a list of versions).
ARCADE
1. ARCADE MACHINES
SUPPORTED BY: (!) FB Alpha (std) ; MAME4ALL (std) ; MAME2000/2003 & MAME2003-plus (libretro) ; GnGeo (std)
performance/accuracy: FB Alpha (std) ; GnGeo (std)
Personally I've found FBA the easiest to use, better optimized and it supports savestates (may crash occasionally, do few backups before exit), one bigger drawback would be need to load ROMset through internal GUI menu - otherwise it will not load custom saved configs for particular game (see PR #4). Solely for SNK titles there is GnGeo emulator, who will reduce loading times and perform better in this scenario .
compatibility: MAME4All(standalone) ; MAME2000 (libretro)
Especially for "older" titles you might consider picking MAME-2000 forks, on top of that they provide wide customization options. Remember that these emulators relay on 0.37b5 ROMsets.
COLECO
1. COLECOVISION:
SUPPORTED BY: GearColeco (lbr) ; SMSplusGX ; blueMSX (lbr) ; Dingux-Colem (standalone)
Good optimization, wide ROM's format support, and accuracy with above core
NEC
1. PC Engine
SUPPORTED BY: Beetle PCE FAST (libretro); Temper (standalone)
performance: Beetle PCE FAST (lbr)
More stable than standalone and performance wise better option. Beetle PCE FAST is a fork of Mednafen and a striped version of Beetle PCE with no SuperGrafx support but in comparison a much faster port. It also has additionally "Emulation hacks" to OC emulated CPU.
accuracy Beetle PCE FAST (lbr)
This core add more features e.g. changing palette from RGB to Chromatic, modifying displayed scanlines to correctly reproduce original aspect ratio, advanced audio settings etc.
compatibility: Temper (std)
Only standalone supports SuperGrafx titles (*.sgx files beside standard *.pce), nevertheless they play well here.
NEOGEO
1. Neo Geo Pocket
SUPPORTED BY: NGPCemu (std) ; race-od (std-unknown src) ; race-od (std-@ eggs fork); race (libretro)
The standalone revision from @ eggs offers much better perf. , overlay feature and save states. Comparable alternative would be race's libretro fork - very well optimized with all RA's frontend features (e.g. additional filters for accuracy).
2. Neo Geo AES / X
SUPPORTED BY: GnGeo (std) & other arcade emus e.g. MAME
Use the stock emulator and your ROMset zipped should not be bigger than approx 40mb. More detailed configuration in this discussion , for remapping buttons you must edit /.gngeo/gngeorc file and add entry
p1control A=K?,B=K?,C=K?,D=K?,START=K?,COIN=K?,UP=K?,DOWN=K?,LEFT=K?,RIGHT=K?,MENU=K?
where "?" is corresponding input keycode of your console.NOTES: Newer GnGeo version will support additional ROMSets format and will have V-SYNC.
NINTENDO
1. NES (FC)
SUPPORTED BY: FCEUX (standalone) ; FCEUmm (libretro) ; QuickNES (libretro)
performance: QuickNES (lbr)
Very satisfactory results with libretro, even when using additional BLARGG's or other video filters, which are very desirable to replicate that true console feeling. Standalone plays fullspeed on "FS Fast" setting, but adding smoothness to the image will come at FPS cost.
accuracy: QuickNES (lbr)
Use Uspcale_256x320 video filter and you should receive most accurate or pixel-perfect image (depending on numbers of scanlines you prefer to be displayed, see RA wiki's for more info), thanks to that filter and V-SYNC backend the flickering on small patters will be greatly reduced. QuickNES also supports wider colors palette selection (easily interchangeable with L1/R1 buttons).
compatibility FCEUX (std)
Only FCEUX and FCEUMM supports Famicon's exclusive format games (disk data in *.fds format), but standalone will perform better.
2. Super NES (SFC)
SUPPORTED BY: Snes9x4d (std) ; PocketSNES (std) ; drPocketSNES (std) ; Snes9x2002 (lbr) ; Snes9x2005 (lbr)
performance: drPocketSNES (standalone)
Indisputable winner in that regard made by @bitrider78, utilizing performance hacks and audio rendering modifications it works perfectly fine in most scenarios. Only drawbacks may be some compatibility issues and low audio accuracy. Currently the source code remains closed and there are two latest 7.2.1 releases - A: with working custom configs or B: with working savestates (one and the other will lack one of these features). For additional perf. boost you can even switch off transparency effect or individual video image layers in advanced settings (you may see little visual drawback with 1 layer OFF and much improved FPS render). Overall really awesome emulator for low-end SOCs. Frameskiping feature is very unstable here so use with caution if at all.
accuracy: Snes9x4d (standalone); Snes9x2002/2005 (lbr)
Considering audio output on both drPocketSnes and Snes9x4d, they definitely feel far off. Personally I wouldn't say one is better than another, but Snes9x feels more clean and modern (better resampler?), whereas drPocketSNES sounds more like smth that is coming out of the CRT's speaker with real console. For instance I prefer drPocket in the Super Metroid and Castlevania IV. However DK Country and Super Mario sounds better on Snes9x but that's IMO. Summarizing more clean audio output should be available through Snes9x forks (for performance reasons choose Snes9x4d over libretro).
compatibility Snes9x2002/2005 (lbr)
All mentioned emulators are basically stripped revisions of Snes9x (eg. the drPocketSNES is combination of PocketSnes and SquidgeSnes which all derived from Snes9x, precisely the SquidgeSnes is a port of the OpenSnes9x a fork of Snes9x 😄), so one or the other may introduce issues compering to master port. I would recommend libretro in this case preferably Snes9x2005 core (or '2002 rev. for slightly improved performance).
3. GameBoy (GB/GBC)
SUPPORTED BY: Gambatte-DMS (standalone) ; Gambatte (libretro) ; mGBA (libretro) ; OhBoy (standalone)
performance: Gambatte-DMS (std) ; Gambatte (lbr)
Especially for GBC plz choose these emus but otherwise GB should play the same on all supported options.
accuracy: Gambatte (libretro) ; mGBA (lbr)
The libretro forks produce more clean (pixel-perfect) image on aspect_ratio scaling (thanks to
nearest-neighbor
scaler), I recommend them with slight lead over to mGBA for SuperGB enhanced mode support (added native SGB pallete and overlays feature, e.g. Mega Man V ) see issue #137 for detailed info. These emulators also supports GBA enhanced mods for a few GBC titles as oppose to standalone, and they will also detect additional GBC pallets for GB games (eg. Metroid 2).compatibility: Gambatte-DMS (std) ; Gambatte (lbr)
There is no reported issues with Gambatte, while others may strive for additional features over compatibility.
4. GameBoy Advance (GBA)
SUPPORTED BY: gpSP ; VBA-Next (standalone) ; mGBA (libretro)
performance: gpSP (standalone)
Will perform a bit better with more demanding 2D titles, and heavily with a few 3D emulation
accuracy: gpSP
Currently gpSP standalone produce better looking image in terms of readability (while filtering set to OFF), however libretro will be sharper if not more accurate (with
n-n
). Both options have bilinear filters as an option (std - filtering OFF ; libretro - Upscale_240x160 v. filter), one advantage for gpSP core would be additional Color Correction setting to reproduce low-saturation of original GBA display. With 3D titles the libretro may struggle more to produce correct image when dynarec is enabled.compatibility: gpSP
2D: Libretro fork is most up-to date emulator with improved dynarec and maintained upstream. Reportedly works with wider numbers of games. Unfortunately as mGBA is far more stable it is also less optimized for ARM platforms.
3D: Standalone's older dynarec seems to perform better and is more stable in this case.
NOTES: Libretro's gpSP may receive (in near future) additional video filtering which will increase readability.
SEGA
1. SG-1000:
SUPPORTED BY: SMSplusGX ; GenesisPlusGX (lbr) ; blueMSX (lbr) ; Gearsystem (lbr)
performance/accuracy: GenesisPlusGX (libretro) (!)
This core is being constantly updated and I saw no issue during emulation, but others may prove better in terms of accuracy/compatibility. Good optimization open doors for utilizing video/audio filters.
compatibility: GenesisPlusGX (lbr) ; Gearsystem (lbr)
Additionally beside Genesis+GX, you may try Gearsystem which is fully playable and technically accurate emulator if not better optimized.
NOTES: Picodrive standalone may soon receive preliminary SG-1000 support
2. Master System/Game Gear:
SUPPORTED BY: Picodrive ; SMSplusGX ; GenesisPlusGX (libretro) ; Gearsystem (libretro)
performance: Picodrive/GenesisPlusGX (libretro)
The Picodrive core/standalone performance is better if no emulated CPU overclocking is needed (for that you should use GenesisPlusGX core which allows that, especially for GG)
accuracy: Picodrive (standalone)
For more accurate option in terms of output image use standalone Picodrive as you can read on official repo issue #59 . The picodrive_libretro allow only to scale image to full 4:3 aspect ratio (the cores' specific scaling options are commented out in Miyoo RA builds). The Picodrive standalone on opposite will correctly scale to CRT's NTSC aspect ratio for MS games, and for GG titles too if the image is extended to full VDP.
compatibility: GenesisPlusGX (libretro)
Possibly you would want to use GenesisPlusGX core but SMSplusGX (core/standalone) may also show good results as former derived from it, but for performance reasons you would rather stick with Gen+GX (considering the two).
3. MegaDrive/MD-CD/32X (Genesis)
SUPPORTED BY: Picodrive ; GenesisPlusGX (libretro)
performance: Picodrive (standalone)
Good optimization of above platform in Picodrive, be it standalone or libretro. However standalone may perform slightly better with 32X games (Gen+GX doesn't support 32X).
accuracy: Picodrive
Scaling options are similar on both std & lbr in this case, only minor advantage in libretro would be possibility of setting "video_scaling" to
s-l
as oppose ton-n
in aspect ratio mode (BLARGG video_filters do not work with this core, and std displays image inn-n
mode) . The bigger advantage with standalone in this case is sound emulation which seems to have been affected favorably lately in comparison to libretro upstream (see issue #198 )compatibility: Picodrive (libretro)
For Sega CD (MD-CD) please use libretro core, as standalone shares savestate issue related to lack of HW clock (see: issue #57 ).
SONY
1. PLAYSTATION 1
SUPPORTED BY: PCSX ReARMed
performance: PCSX ReARMed (standalone)
The PCSX ReARMed std will perform better, especially when you add HYJiNX187's configs. Latest official release may however introduce bugs and it can't read per-game config files properly (without *.dge scripting).
accuracy: PCSX ReARMed
I saw no differences in video or audio rendering between std and lbr. Choose libretro if you intend to switch to more bilinear (
semi-l
) look over pixel perfect (nearest-n
) with 2D titles and possibly don't use any added filters cuz of FPS drawback in that core.compatibility: PCSX ReARMed (libretro)
This RA core is being constantly updated/maintained and will have less compatibility issues. Please make sure you provide additional BIOS files, preferably PSXONPSP660.bin (extracted from PSP). You should also consider it if you prefer some additional functionalities (e.g. game specific configs ; autosave) over sheer performance.
Compared / tested versions:
Libretro forks were tested with latest commits up to 10.04.2022 date all src available from the RetroArch's team repos.
APPENDIX
Bittboy J2ME for JAVA, and so on. Possibly this list will expand as new options arrive.
Beta Was this translation helpful? Give feedback.
All reactions