Difference between revisions of "Frontends"

From Emulation General Wiki
Jump to navigation Jump to search
m
(added intro to lead)
Line 9: Line 9:
 
{{WIP}}
 
{{WIP}}
  
'''Frontends''' are ...
+
'''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 <code>emulator.exe game.rom</code>. 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.
  
 
Frontends have different ''Graphical User Interface (GUI)'' types. Some use the ''[[wikipedia:WIMP (computing)|WIMP type]]'', that uses Windows, Icons, Menus and a Pointer (like a mouse), examples of these interfaces are [[LaunchBox]] and [[OpenEmu]]. Others are intended for viewing on bigger screen (like a TV or arcade cabinet), and have navigation mostly optimized for game pads or joysticks (they usually also work with keyboards), these types of interfaces are here referred to as ''HTPC'' - [[RetroArch]], [[HyperSpin]] and [[MAME|MAME's]] integrated frontend ''MEWUI'' are examples of this. There's also ''Touch'' interfaces which are intended for smartphones and tablet computers, mostly found in Android frontends.
 
Frontends have different ''Graphical User Interface (GUI)'' types. Some use the ''[[wikipedia:WIMP (computing)|WIMP type]]'', that uses Windows, Icons, Menus and a Pointer (like a mouse), examples of these interfaces are [[LaunchBox]] and [[OpenEmu]]. Others are intended for viewing on bigger screen (like a TV or arcade cabinet), and have navigation mostly optimized for game pads or joysticks (they usually also work with keyboards), these types of interfaces are here referred to as ''HTPC'' - [[RetroArch]], [[HyperSpin]] and [[MAME|MAME's]] integrated frontend ''MEWUI'' are examples of this. There's also ''Touch'' interfaces which are intended for smartphones and tablet computers, mostly found in Android frontends.

Revision as of 19:50, 24 February 2020


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.

Frontends have different Graphical User Interface (GUI) types. Some use the WIMP type, that uses Windows, Icons, Menus and a Pointer (like a mouse), examples of these interfaces are LaunchBox and OpenEmu. Others are intended for viewing on bigger screen (like a TV or arcade cabinet), and have navigation mostly optimized for game pads or joysticks (they usually also work with keyboards), these types of interfaces are here referred to as HTPC - RetroArch, HyperSpin and MAME's integrated frontend MEWUI are examples of this. There's also Touch interfaces which are intended for smartphones and tablet computers, mostly found in Android frontends.

Launcher types

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.

Name Platform(s) Latest Version Interface(s) FOSS Active Recommended
PC / x86
LaunchBox Windows 10.0 WIMP, HTPC[A 1]
Attract-Mode Windows Linux macOS 2.6.1 HTPC ?
Nostlan Windows Linux macOS 1.6.0 WIMP ?
Pegasus Windows Linux macOS Alpha 13 HTPC ?
RetroFE Windows Linux macOS 0.9.0 HTPC ?
EmulationStation Windows Linux 2.0.1a HTPC ?
HyperSpin Windows 1.5.1 HTPC ?
Mobile / ARM
LaunchBox Android 0.33 ($) Touch
Attract-Mode Linux ARM 2.6.1 HTPC ?
Pegasus Android Linux ARM Alpha 13 HTPC, Touch ?
EmulationStation Linux ARM 2.0.1a HTPC ? ?
HyperSpin Android 1.1 Touch ?
  1. This feature is called Big Box and is only available in the paid version.

Comparisons

LaunchBox
Was originally built as an attractive front-end for DOSBox but has since expanded to support both modern PC games and emulated console platforms. It comes with an integrated metadata scraper, and the interface is highly customizable, likely the most customizable alongside HyperSpin, but only with a license for the premium version. Premium also includes Big Box, which is an HTPC version of the frontend. Launchbox can also be launched natively from Kodi.

Integrated emulator types

These "frontends" have a graphical user interface that lets you launch emulators that are included with the system, meaning it's not possible (or very 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.

Name Platform(s) Latest Version Interface(s) FOSS Active Recommended
PC / x86
OpenEmu macOS 2.4.1 WIMP
BizHawk Windows 2.9.1 WIMP ~ ?
RetroPie Linux 4.5.1 HTPC ?
Mobile / ARM
RetroPie Linux ARM 4.5.1 HTPC

Comparisons

OpenEmu
A frontend for various emulators that runs under macOS.


Launcher mods

These programs aren't launchers themselves, but instead tools for changing other launchers.

Name Platform(s) Latest Version FOSS Active Recommended
PC / x86
Steam ROM Manager Windows Linux macOS 2.2.22
Ice Windows 1.0.0

Comparisons

Steam ROM Manager
A tool that adds emulator launching capabilities to the Steam client.

Project-specific Frontends

Libretro

Name Platform(s) Latest Version Core support Interface(s) FOSS Active Recommended
PC / x86
RetroArch Windows Linux macOS Web 1.18.0 Full[B 1] HTPC, WIMP[C 1]
Ludo Windows Linux macOS 0.10.4 Most non GL cores HTPC ~
minir Windows Linux Git Limited WIMP ~
Phoenix Windows Linux macOS 0.0.1 (pre-alpha) Limited WIMP
Mobile / ARM
RetroArch Android iOS Linux ARM 1.18.0 Full [B 1] HTPC, Touch
Blast16 Linux ARM 1.0.18 (2020-01-18) Genesis Plus GX, PicoDrive HTPC
SNESES Linux ARM 1.0.7 (2020-01-22) Snes9X? HTPC
Ludo Linux ARM 0.10.4 Most non GL cores HTPC ~
Lemuroid Android 1.0.0 Limited Touch ?
Consoles
RetroArch Xbox Xbox One AppleTV Vita PSP PlayStation 2 1.18.0 Full[B 1] HTPC
  1. 1.0 1.1 1.2 Limited by system hardware
  1. Press F5 for WIMP interface. Only available on Windows and Linux.

Comparison

RetroArch
The flagship project for libretro, and the most widely available.


MAME

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.

Name Platform(s) Latest Version Interface(s) FOSS Active Recommended
PC / x86
QMC2 Windows Linux macOS FreeBSD 0.195 HTPC ?
MAMEUI64 Windows 0.264 WIMP ?
Negatron Windows Linux macOS 0.99.7 WIMP ?
Mobile / ARM

Mednafen

Mednafen is a command line program with no graphical interface whatsoever. These programs generally ease the process of launching games, but doesn't address things like controller configuration which is done by pressing hotkeys in-game.

Name Platform(s) Latest Version Interface(s) FOSS Active Recommended
PC / x86
Mednaffe Windows Linux 0.8.8 WIMP
MedGui Reborn Windows 0.110 WIMP ? ?
MedLaunch Windows 0.5.25.3 WIMP ?
MedGui Windows 1.99999 WIMP

Others

Name Platform(s) Latest Version Emulator Interface(s) FOSS Active Recommended
PC / x86
Mupen64Plus-Qt Windows Linux macOS 1.14 Mupen64Plus WIMP ?
mupen64plus-gui / m64p Windows Linux Git (frontend only)
2020-02-19 (m64p package)
Mupen64Plus WIMP ? ?
Sega Model 2 UI Windows WIP 2019-04-02 Model 2 Emulator WIMP ? ?
Sega Model 3 UI Windows WIP 2019-04-12 Supermodel WIMP ? ?
MedSat Windows 1.8 Mednafen (Saturn core) ? ? ?

See also