Mednafen Frontend

0 views
Skip to first unread message

Randell Magtoto

unread,
Aug 5, 2024, 12:44:29 AM8/5/24
to sforesralpe
Acouple of days ago, I managed to successfully build the Mednafen emulator from Haikuports, which now gives me emulation of a few systems in Haiku! (The below screenshot is of Ys Book I & II running in the PC Engine emulator of Mednafen)

PS, looking into bumping mednafen to 1.29.0 atm, seems the patches are upstreamed, so you could just duplicate the one in the haikuports tree, rename to mednafen-1.29.0.recipe and adjust the checksum provided by haikuporter when you first launch it (and remove the line for the patchset)


EDIT Pushed the recipe to haikuports, Mednaffe can be installed on 64bit now through pkgman or HaikuDepot, works mostly fine, just a few crashes here when closing (but that could also be bogus archives)


Frontends are programs that address a quality-of-life issue that emulators may not fulfill. For example, some emulator developers skip the user interface portion of development by having the user launch them from the command line. This usually means opening Command Prompt in the folder where the emulator is installed and typing something like emulator.exe game.rom. From a usability perspective, this is not optimal; running emulators from a shell can be considered tedious if commands aren't already scripted by the user (and they can't be expected to know how to set up such a thing if their first time loading the program is a black window that pops up and then disappears). To avoid this, many emulators will try to incorporate some kind of graphical user interface (GUI) in their standalone builds. For the emulators that never receive one however, a separate frontend project usually emerges.


These "Launchers" or "Executors" use their own graphical interface to start emulators. They're generally very adaptive and can support different arguments between emulators to ease integration. These frontends can be used with almost any emulator of your choosing, as long as they support command-line arguments.


These "frontends" have a graphical user interface that lets you launch emulators that are included with the system, meaning it's not possible (or difficult) to incorporate other emulators. They may or may not contain original emulator cores. If a program has mostly original cores, then it's called a multi-system emulator and is not included here. If you're looking for a full Linux distribution to run on a Raspberry Pi or similar, check out our Emulation Boxes page.


MAME was originally designed as a command line program. However, when the project relicensed as open source in February 2016, they merged the frontend MEWUI into the main project as part of the MAME executable. MEWUI uses the ten-foot interface philosophy which accounts for large television displays where the user is expected to use a TV remote-like input device to navigate the menus. However, MAME still supports command line arguments, so many old launchers still work with newer versions.


Mednafen is a command line program with no graphical interface whatsoever. These programs generally ease the process of launching games, featuring an equivalent for most of the emulator's functions via their graphical interfaces.


Retroarch is a commandline program, so it will work via the many "emulator" frontends, such as Mala or Hyperspin. However, the RGUI "frontend" system works better in the Android OS than for Windows and Linux, which have alternative frontend software. The RGUI is designed as a minimal, cross-platform frontend, but it is somewhat recent and a work-in-progress. The use of frontends depend more on which emulators are run, the operating system, and how much you'd like to fiddle with settings.


I actually find I have worse input lag in RetroArch than in standalone emulators. Really the only reasons I use it at this point are for the video filters, the Genesis Plus GX emulation core which doesn't have a recent standalone Windows version, and the fact that it works as a semi-usable frontend for Mednafen.


I use RetroArch for pretty much everything, as it has some of the best and most high-quality cores ported for use with it, has the best audio/video sync I've ever seen, and its shader support is the best, period. It also works amazingly well with a CRT monitor.


For example, Sega CD Snatcher uses a 256 horizontal resolution, but the Sega CD bios uses 320. If I set a proper horizontal resolution for 256, it looks fine. However, then the Sega CD bios has distorted text and Sonic looks crooked while the game loads. The Sega CD bios should be missing 64 pixels horizontally since 320 pixels overscans 256, but it's not; it's clearly stretching (crushing) to 256 pixels. I'm not sure if 256 horizontal pixels are used through the entire Snatcher game, but if not then this is a problem. Same problem happens the other way around (Snatcher gets distorted with 320 horizontal pixels)


EDIT:

Genplus-gx is a true blessing. This is the best Sega CD emulator bar-none! I think the author is EkeEke... Don't know the actual author, but whoever it is, I wouldn't mind giving him $1000.00 if I had it to blow-away ? . Really hope it gets integrated into Mednafen (don't really want to screw around myself hehe), or Mess, or independently with proper resolution support.


Kega Fusion is one of my favorites, but the Sega CD is so so. Its SegaCD emulation still has broken sync after all these years (Heart of the Alien tracks are always out of sync; doesn't matter if you make clonecd, bin-cue, or use real disc). Kega-fusion does have 32X emulation which does make it one of the best IMO. Genplus-gx Sega CD has no problems amazingly, but no 32X IIRC. Gens/gs still has to be ported to 64-bit assembly, but it's very similar to Kega Fusion; and it's open source so that is great.


What version of RetroArch are you using? The "stable" megapack build hosted by them has severe issues with scaling on the Genesis Plus GX core. Try the dropbox build I linked to earlier in the thread, which fixes the issues.


I'm using a version from today (cloned git); shows as v1.0.0.2. Thanks for the link, I'll try it later when I have time. I hope the issue doesn't fix because of a setting like interpolation or filter smoothing hehe...


I recently installed Zorin OS 8 Gaming, and after custom compiling a kernel to deal with some performance issues that popped up with the bsnes accuracy core, I can definitively say that its much better for running Retroarch than Windows. I'm having none of the same problems I had before with crashing or input lag, and I can play with my 360 pad without having to shake the mouse every so often to prevent my screensaver from triggering. ?


An alternative to retroarch is mednafen. While retroarch provides open source, runs on a wide range of systems, and is optimized for performance and accuracy, mednafen is also open source but is simple to compile. It's an excellent alternative for a P4 or better desktop. It may be compiled by mingw/gcc in 32-bit windows, for instance, with the mere library requirements of SDL and Zlib. I commented out its xinput support so it instead uses directx, and mingw/gcc can use this package to support directx.


Recently, mednafen released version 0.9.36. Attached is a mingw/32 built version, using minimal libraries and a subset of the emulators. It's a command line program, so a front-end may be necessary. Its psx emulation is considered highly accurate and its emulators may run in SDL or opengl mode. Given this mingw/gcc method of compiling, this binary should work on older (Windows) systems which are unsupported by recent builds of the different emulators (typically the developers are chasing new features and do not test across all platforms).


AdvanceMenu is a cross-platform front-end (GUI) for command line emulators. It was compiled by mingw32/gcc, requiring only the SDL dependency. The attached archive also contains documentation and a sample configuration file.


Well also consider NeoRageX sets are very old dumps as well and specific for itself (hence the incompatibility with Kawaks/Nebula/etc). It's like suggesting Pasofami for NES emulation to run Pasofami ROMs that don't work in FCEU/Nestopia/etc therefore leaving oldashell Pasofami the only option


Ugh, who the hell mentioned NeoRageX, etc.? ElectricMonk? Geez, man. It's not as if emulation hasn't marched forward in the last ten years or more. Some of your suggestions aren't too bad but a. this one was awful and b. you exceeded the scope tremendously with many of your others (ScummVM is neither a true emulator nor necessarily a console emulator) ?


I always had this thought that the Gameboy would have made an excellent, portable, general-purpose computer with just a lil bit of extra built-in hardware/software support (keyboard, serial port, a cassette recorder for storage and a ROM Basic interpreter).

3a8082e126
Reply all
Reply to author
Forward
0 new messages