Difference between pages "Apple II line" and "RetroArch"

From Emulation General Wiki
(Difference between pages)
Jump to navigation Jump to search
(Emulators)
 
(Tags: Mobile edit, Mobile web edit)
 
Line 1: Line 1:
{{Infobox console
+
{{Infobox software
|title = Apple ][
+
|logo          = Retroarch.png
|logo = AppleIIwithdd.png
+
|logowidth = 250
|imagecaption = Apple ][ with the Disk 2.<br>Other models: [[:File:A2p.png|Apple ][+]], [[:File:Apple IIe 001b.jpg|Apple //e]], [[:File:Apple IIc with monitor.jpg|Apple IIc]], [[:File:A2e.png|Apple //e Enhanced]], [[:File:A2plat.png|Apple //e Platinum]], [[:File:Apple IIc Plus (front).jpg|Apple IIc Plus]].
+
|developer    = Squarepusher, themaister, others
|developer = Apple Computer, Inc.
+
|version      = {{RetroArchVer}}
|type = [[:Category:Computers|Computers]]
+
|active        = Yes
|generation =  
+
|platform      = [[Emulators on PC|Windows]]<br/>[[Emulators on macOS|macOS]]<br/>Linux<br/>[[Emulators on Android|Android]]<br/>[[Emulators on iOS|iOS]] (jailbroken)<br/>Raspberry Pi<br/>[[Emulators on Pandora|Pandora]]<br/>[[Emulators on PS2|PlayStation 2]]<br/>[[Emulators on PS3|PlayStation 3]]<br/>[[Emulators on PS4|PlayStation 4]] (Unofficial)<br/>[[Emulators on PSP|PlayStation Portable]]<br/>[[Emulators on Vita|PlayStation Vita/TV]]<br/>[[Emulators on Xbox|Xbox]]<br/>[[Emulators on Xbox 360|Xbox 360]]<br/>[[Emulators on Xbox One|Xbox One]]<br/>[[Emulators on GameCube|GameCube]]<br/>[[Emulators on Wii|Wii]]<br/>[[Emulators on Wii U|Wii U]]<br/>[[Emulators on Switch|Nintendo Switch]]<br/>[[Emulators on 3DS|Nintendo 3DS]]<br/>GCW Zero (Unofficial)<br/>OpenDingux<br/>BlackBerry, [[Emulators on DragonBox Pyra|Pyra]]<br/>Steam Link
|release = June 1977
+
|type         = [[libretro]] frontend
|discontinued = November 1993
+
|prog-lang = C, C++
|predecessor = [[Apple I emulators|Apple I]]
+
|website      = [http://www.libretro.com/ libretro.com]
|successor = [[Apple /// emulators|apple ///]]
+
|support = [https://www.patreon.com/libretro Patreon], [https://www.retroarch.com/index.php?page=donate Donate]
|emulated = {{✓}}
+
|source        = [https://github.com/libretro GitHub]
 +
|license      = GNU GPLv3
 
}}
 
}}
The '''Apple ][''' was a family of computers produced by Apple Computer Inc. starting in June of 1977. The Apple ][ and related models put Apple on the map and is now considered one of their most successful product lines. The final model was discontinued in November of 1993. Steve Wozniak wanted to make a computer that was, "...small, reliable, convenient to use and inexpensive."
 
  
==Emulators==
+
'''[[wikipedia:RetroArch|RetroArch]]''' (formerly '''SSNES''') is an open-source, multi-platform [[libretro]] [[Frontends|frontend]] written in C or C++. It is designed to be fast, lightweight, and portable.
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Operating System(s)
 
! scope="col"|Latest Version
 
! scope="col"|Apple ][ Emulation
 
! scope="col"|Apple ][+ Emulation
 
! scope="col"|Apple //e Emulation
 
! scope="col"|Apple IIc Emulation
 
! scope="col"|Apple //e Enhanced Emulation
 
! scope="col"|Apple //e Platinum Emulation
 
! scope="col"|Apple IIc Plus Emulation
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
!colspan="12"|PC
 
|-
 
|[[MAME]]
 
|Multi-platform
 
|[http://www.mamedev.org/release.html {{MAMEVer}}]
 
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}}
 
|-
 
|[https://github.com/AppleWin/AppleWin AppleWin]
 
|Windows
 
|[https://github.com/AppleWin/AppleWin/releases v1.28.7.0]
 
|{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}}
 
|-
 
|[https://github.com/dabonetn/linapple-pie LinApple-pie]
 
|Linux
 
|[?]
 
|{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}}
 
|-
 
|[[MicroM8]]
 
|Windows / macOS / Linux
 
|[https://paleotronic.com/software/microm8/download/ Continous]
 
|{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}}
 
|-
 
|[[Clock Signal|CLK]]
 
|macOS and UNIXalikes
 
|[https://github.com/TomHarte/CLK/releases {{clkver}}]
 
|{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}}
 
|-
 
|[[BizHawk]]<br/><small>(Virtu based)</small>
 
|Windows
 
|[https://github.com/TASVideos/BizHawk/releases 2.3.1]
 
|{{✓}} ||? ||{{✓}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✗}}
 
|-
 
|[[Mednafen]]
 
|Multi-platform
 
|[https://mednafen.github.io/releases {{MednafenVer}}]
 
|{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} (WIP)
 
|-
 
|[https://web.archive.org/web/20071206014650/http://www.dridus.com:80/~nyef/darcnes/ DarcNES]
 
|Multi-platform
 
|[https://segaretro.org/DarcNES 9b0401/9b0313]
 
|{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
 
|-
 
!colspan="12"|Consoles
 
|-
 
|[http://wiibrew.org/wiki/WiiApple WiiApple]
 
|[[Wii emulators|Wii]]
 
|[http://tinyhack.com/wii/wiiapple/wiiapple.zip 0.07]
 
|{{✓}} ||{{✗}} ||{{✓}} ||{{✗}} ||? ||? ||{{✗}} ||{{✗}} ||{{✗}}
 
|-
 
|[http://dl.qj.net/Apple-II-Portable-v0.1-PSP-Emulators/pg/12/fid/171/catid/117 Apple II Portable]
 
|[[PlayStation Portable emulators|PlayStation Portable]]
 
|[https://psp.brewology.com/downloads/download.php?id=4081&mcid=1 0.1-0173]
 
|{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
 
  
|-
+
==Downloads==
|[https://www.zophar.net/consoles/nds/apple2/a2ds.html A2DS]
+
*[https://buildbot.libretro.com/stable/ RetroArch Stable Builds]
|[[Nintendo DS emulators|Nintendo DS]]
+
*[https://buildbot.libretro.com/nightly/ RetroArch Nightly Builds]
|? ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
+
*[https://buildbot.libretro.com/nightly/windows/ Windows RetroArch-Nightly-Installer]
|-
+
*Ubuntu PPAs: [https://launchpad.net/~libretro/+archive/ubuntu/stable Stable], [https://launchpad.net/~libretro/+archive/ubuntu/testing Nightly/Testing]
!colspan="12"|Mobile
+
*Arch Linux User Repositories: [https://aur.archlinux.org/packages/retroarch/ Stable], [https://aur.archlinux.org/packages/retroarch-git/ Testing], [https://aur.archlinux.org/packages.php?O=0&K=libretro&do_Search=Go All], [https://aur.archlinux.org/packages/libretro-super-git/ libretro-super]
|-
 
|[https://www.scullinsteel.com/apple2/ AppleIIjs]
 
|Web Browser (Java)
 
|? ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}}
 
|-
 
|[http://www.virtualapple.org/ Virtual Apple II]
 
|Web Browser
 
|4.5
 
|{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
 
|-
 
|}
 
  
==Models==
+
===Mobile/Console Versions===
====[[wikipedia:Apple_II|Apple ][]]====
+
*[https://play.google.com/store/apps/details?id=com.retroarch RetroArch for Android on Play Store], 32-bit & 64-bit ARM (also [https://play.google.com/store/apps/details?id=com.retroarch.aarch64 Plus version])
The Apple ][ was released in June of '77 and retailed for <abbr title="$5,407.66 in 2018 money">$1,298</abbr> and had a 6502 CPU at 1.023 MHz, 4KB of RAM, a cassette tape for storage, a 1-bit speaker, 7 expansion slots, it's keyboard was only uppercase, a low-res 40x48 16-color graphics mode, and a hi-res 280x192 6-color graphics mode.
+
*[https://buildbot.libretro.com/stable/{{RetroArchVer}}/apple/ios/RetroArch.ipa RetroArch for iOS] ({{RetroArchVer}})
====[[wikipedia:Apple_II_Plus|Apple ][+]]====
+
*[https://buildbot.libretro.com/stable/{{RetroArchVer}}/playstation/psp/RetroArch.7z RetroArch for Playstation Portable] ({{RetroArchVer}})
The Apple ][+ was released in June of '79 and retailed for <abbr title="$4,179.77 in 2018 money">$1,195</abbr> and had the same 6502 CPU, 16KB of RAM, the same graphics modes, speaker, expansion slots, and keyboard as the original.
+
*[https://buildbot.libretro.com/stable/{{RetroArchVer}}/playstation/vita/RetroArch.vpk RetroArch for PlayStation Vita/TV] ({{RetroArchVer}})
====[[wikipedia:Apple_IIe|Apple //e]]====
+
*[https://buildbot.libretro.com/stable/{{RetroArchVer}}/playstation/ps2/RetroArch_elf.7z RetroArch for Playstation 2] ({{RetroArchVer}})
The Apple //e was released in January of '83 and had the same CPU and expansion slots as the Apple ][, 64KB of RAM, had a full ASCII keyboard, it introduced the double-low-resolution graphics mode which had a resolution of 80x48 in 16-color, and a double-high-resolution of 560×192 in 16 colors.
+
*[https://xbins.org/libretro/stable/1.7.7/playstation/ps3/RetroArch.PS3.DEX.PS3.pkg RetroArch for PlayStation 3 (DEX)] (1.7.7)
====[[wikipedia:Apple_IIc|Apple IIc]]====
+
*[https://bintray.com/osirizx/libretro/ps4/latest#files RetroArch for PlayStation 4] (1.8.8) {Unofficial port}
The Apple IIc was released on April 24, 1984 and retailed for <abbr title="$3,176.39 in 2018 money">$1,295</abbr> and had a 65C02 CPU at 1.023 MHz, 128KB of RAM, same graphics modes, speaker, as the Apple //e, it had built-in storage, and a built in 140KB single sided 5.25-inch floppy drive. It did not have any expansion slots.
+
*[https://xbins.org/libretro/stable/1.7.7/xbox/xbox/RetroArch.zip RetroArch for Xbox] (1.7.7)
====[[wikipedia:Apple_IIe#Enhanced IIe|Apple //e Enhanced]]====
+
*[https://digiex.net/threads/retroarch-360-0-9-8-3-download-sega-sens-gameboy-finalburn-emulator-for-xbox-360.12395/ RetroArch for Xbox 360] (0.9.8.3)
The Apple //e Enhanced was released in March of '85 and was a Apple //e but with a 65C02 CPU at 1.023 MHz.
+
*[https://buildbot.libretro.com/stable/{{RetroArchVer}}/windows-msvc2017-uwp/x64/RetroArch-msvc2017-UWP_x64.appxbundle RetroArch for Xbox One / Universal Windows Platform] ({{RetroArchVer}})
====[[wikipedia:Apple_IIe#Platinum IIe|Apple //e Platinum]]====
+
*[https://buildbot.libretro.com/stable/{{RetroArchVer}}/nintendo/ngc/RetroArch.7z RetroArch for GameCube] ({{RetroArchVer}})
The Apple //e Platinum was just an Apple //e Enhanced but with a full numeric keypad and 128KB of RAM.
+
*[https://buildbot.libretro.com/stable/{{RetroArchVer}}/nintendo/wii/RetroArch.7z RetroArch for Wii] ({{RetroArchVer}})
====[[wikipedia:Apple_IIc_Plus|Apple IIc Plus]]====
+
*[https://buildbot.libretro.com/stable/{{RetroArchVer}}/nintendo/wiiu/RetroArch.7z RetroArch for Wii U] ({{RetroArchVer}})
The Apple IIc Plus was released in April of '88 and retailed for <abbr title="$1,424.85 in 2018 money">$675</abbr> and had a 65C02 CPU at 1MHz or 4MHz (it was user selectable for older programs), 8KB SRAM cache, same RAM, graphics modes, speaker as the Apple //e Platinum, and a built in 800KB double sided 3.5-inch floppy drive.
+
*[https://buildbot.libretro.com/stable/{{RetroArchVer}}/nintendo/3ds/RetroArch_cia.7z RetroArch for Nintendo 3DS (.cia)] ({{RetroArchVer}})
{{Apple}}
+
*[https://buildbot.libretro.com/stable/{{RetroArchVer}}/nintendo/switch/libnx/RetroArch.7z RetroArch for Nintendo Switch] ({{RetroArchVer}})
[[Category:Computers]]
+
*[https://pyra-handheld.com/boards/threads/retroarch-1-7-2.81254/ RetroArch for Pandora on OpenPandora's repo] (1.7.3) and [http://repo.openpandora.org/?page=detail&app=retroarch.lifning.001 old 2013 variant] (0.9.9.1)
 +
*[https://pyra-handheld.com/repo/apps/53 RetroArch for Pyra] (1.9.6)
 +
*[https://boards.dingoonity.org/gcw-development/(test-release)-retroarch-for-gcw0/ RetroArch for GCW Zero (.opk)] (0.1b) {unofficial build}
 +
*[https://buildbot.libretro.com/stable/1.7.7/steam/steamlink/RetroArch.zip RetroArch for Steam Link] (1.7.7)
 +
 
 +
==Supported Systems==
 +
{{Main|libretro#Cores}}
 +
 
 +
==Features==
 +
*Consistency across multiple platforms, using the same UI structure and a fully featured command line interface.
 +
*Gamepad controlled menu system with multiple styles available, such as XMB or Material UI. (There's also a [https://www.youtube.com/watch?v=hfuioGjCItw QT-based 'WIMP' desktop-style interface] for PC platforms that was announced before and released in version [https://www.libretro.com/index.php/retroarch-1-7-3-released/ 1.7.3].)
 +
*Gamepad auto-configuration profiles, so that gamepads are mapped automatically when connected. XInput controller autoconfig is built into the application, with other controller types available as external profiles.
 +
*Per-core and per-game configuration overrides
 +
*Custom resolution and refresh rate for video output, with exclusive fullscreen mode and monitor index for multi-monitor setups.
 +
*Dynamic rate control for smooth audio and video, even when the game's output rate is different from your system. Especially obvious with systems like GBA that do not run 60Hz.
 +
*Basic fast forward, SRAM saving, savestate, etc. It supports serialization of the emulation state which is used to provide real-time rewind and netplay.
 +
*[[Shaders and Filters|Pixel shaders]], primarily using Cg and GLSL, with HLSL on Xbox 360. The shader format it uses is flexible and fairly easy to use, allowing for complex multi-pass effects with adjustable runtime parameters. Also supports traditional video filter plugins that are run in software.
 +
*Supports audio DSP filter plugins through .dsp configuration files.
 +
*Custom overlay support.
 +
*FFmpeg recording and playback support. It can record either the native resolution output of the core or the post-processed output of the frontend. Playback is handled through an internal FFmpeg libretro core.
 +
*Streaming support. By adding your twitch account to RetroArch and making some small [https://www.retroarch.com/index.php?page=recording setup], it is possible to stream on Twitch the content of the game played.
 +
*[[GGPO]]-like netplay (latency hiding rollback). It should be lag-free if everyone involved emulates at full speed, doesn't live on opposite sides of the world and has decent internet speeds. It uses peer-to-peer UDP and supports two players. Due to rollback, it requires a fair amount of CPU power to run, and only works with cores that support serialization.
 +
*Options for decreasing input latency related to vsync by eliminating buffering by the video driver, as well as using frame delay to delay polling of inputs until right before a vsync occurs on the display.
 +
*Run-ahead to reduce latency. This setting allows cycle-accuracy emulators to run ahead of mandatory 1 or 2 frames of input lag. It allows emulators to [https://www.libretro.com/index.php/retroarch-1-7-2%E2%80%8A-%E2%80%8Aachieving-better-latency-than-original-hardware-through-new-runahead-method/ achieve better latency than original hardware] (Official debut in version 1.7.2).
 +
 
 +
==Building RetroArch==
 +
{{Main|Building RetroArch}}
 +
==Using RetroArch==
 +
{{Main|Using RetroArch}}
 +
==RetroArch for Dummies==
 +
{{Main|Dummies Guide: RetroArch}}
 +
 
 +
==Netplay==
 +
Netplay is now usable from the menu in current builds, under Settings>Netplay Options. You can get it to work with the [https://github.com/libretro/RetroArch/wiki/Using-command-line command line] or the long-deprecated [http://www.mediafire.com/download/yrydc78bl6y82z4/retroarch-phoenix.7z RetroArch-Phoenix Launcher] as well in older builds.
 +
 
 +
You must specify whether you will be hosting (server) or joining (client) the game. If joining, you must also enter the host's IP address in the field below. Make sure your firewall is open on port 55435 (default; you can change it if you like) and that the port is forwarded in your router, if applicable. You can also specify 'spectator mode,' which will allow an arbitrary number of spectators to join and watch you play without being able to play themselves.
 +
 
 +
Delay frames denote the maximum number of frames RetroArch's libretro cores will need to emulate at once to maintain synchronization due to actual network latency. You can figure out an appropriate ballpark for this number by pinging the other player and dividing the time (in milliseconds) by 16 (roughly the number of milliseconds in a frame from a game running at 60 fps). If the gameplay is a bit choppy, try increasing the number of delay frames a bit.
 +
 
 +
Similar to the GGPO platform, RetroArch creates a constant stream of savestates which, along with button presses, are exchanged and compared between the server and client machines. If the savestates start to diverge, the game rolls back in time to a point where they both agree and then the libretro cores emulates the missing frames all at once to get back to the appropriate spot. This gives the illusion of completely lagless inputs, which is invaluable for twitchy, fine controls.
 +
 
 +
If you try to connect to a server and it immediately says client disconnected, open your log and make sure your ROMs match exactly (it will complain about a hash mismatch otherwise). If it gives you a weird time-out error, just close the window and try to connect again and it should work itself out (sometimes excessive spikes in network latency can cause the states to diverge catastrophically, resulting in this error).
 +
 
 +
==Alternative Launchers and Frontends==  
 +
There are plenty of other frontends that can either work as a launcher for RetroArch or you can replace it entirely with another [[Frontends#Libretro|libretro frontend]].
 +
 
 +
{{Main|Frontends}}
 +
 
 +
==External links==
 +
*[https://docs.libretro.com/ Libretro Documentation] (Contains extensive documentation on the usage of Libretro, Retroarch, and its cores.)
 +
*[https://forums.libretro.com/ Official forums]
 +
*[https://discordapp.com/invite/27Xxm2h Official Discord server]
 +
*[https://www.youtube.com/user/Libretro/ Official Youtube channel]
 +
 
 +
[[Category:RetroArch|*]]
 +
[[Category:Frontends]]
 +
[[Category:Netplay]]
 +
[[Category:Windows emulation software‏‎]]
 +
[[Category:Linux emulation software]]
 +
[[Category:macOS emulation software]]
 +
[[Category:Raspberry Pi emulation software]]
 +
[[Category:Pandora emulation software]]
 +
[[Category:Android emulation software]]
 +
[[Category:iOS emulation software]]
 +
[[Category:PlayStation Portable emulation software]]
 +
[[Category:PlayStation Vita emulation software]]
 +
[[Category:PlayStation 2 emulation software]]
 +
[[Category:PlayStation 3 emulation software]]
 +
[[Category:PlayStation 4 emulation software]]
 +
[[Category:GameCube emulation software]]
 +
[[Category:Wii emulation software]]
 +
[[Category:Wii U emulation software]]
 +
[[Category:3DS emulation software]]
 +
[[Category:Switch emulation software]]
 +
[[Category:Xbox emulation software]]
 +
[[Category:Xbox 360 emulation software]]
 +
[[Category:Xbox One emulation software]]
 +
[[Category:Web emulation software]]

Revision as of 11:14, 27 August 2021

RetroArch
Retroarch.png
Developer(s) Squarepusher, themaister, others
Latest version 1.18.0
Active Yes
Platform(s) Windows
macOS
Linux
Android
iOS (jailbroken)
Raspberry Pi
Pandora
PlayStation 2
PlayStation 3
PlayStation 4 (Unofficial)
PlayStation Portable
PlayStation Vita/TV
Xbox
Xbox 360
Xbox One
GameCube
Wii
Wii U
Nintendo Switch
Nintendo 3DS
GCW Zero (Unofficial)
OpenDingux
BlackBerry, Pyra
Steam Link
Type libretro frontend
Programmed in C, C++
Website libretro.com
Support ($) Patreon, Donate
License GNU GPLv3
Source code GitHub

RetroArch (formerly SSNES) is an open-source, multi-platform libretro frontend written in C or C++. It is designed to be fast, lightweight, and portable.

Downloads

Mobile/Console Versions

Supported Systems

Main article: libretro#Cores

Features

  • Consistency across multiple platforms, using the same UI structure and a fully featured command line interface.
  • Gamepad controlled menu system with multiple styles available, such as XMB or Material UI. (There's also a QT-based 'WIMP' desktop-style interface for PC platforms that was announced before and released in version 1.7.3.)
  • Gamepad auto-configuration profiles, so that gamepads are mapped automatically when connected. XInput controller autoconfig is built into the application, with other controller types available as external profiles.
  • Per-core and per-game configuration overrides
  • Custom resolution and refresh rate for video output, with exclusive fullscreen mode and monitor index for multi-monitor setups.
  • Dynamic rate control for smooth audio and video, even when the game's output rate is different from your system. Especially obvious with systems like GBA that do not run 60Hz.
  • Basic fast forward, SRAM saving, savestate, etc. It supports serialization of the emulation state which is used to provide real-time rewind and netplay.
  • Pixel shaders, primarily using Cg and GLSL, with HLSL on Xbox 360. The shader format it uses is flexible and fairly easy to use, allowing for complex multi-pass effects with adjustable runtime parameters. Also supports traditional video filter plugins that are run in software.
  • Supports audio DSP filter plugins through .dsp configuration files.
  • Custom overlay support.
  • FFmpeg recording and playback support. It can record either the native resolution output of the core or the post-processed output of the frontend. Playback is handled through an internal FFmpeg libretro core.
  • Streaming support. By adding your twitch account to RetroArch and making some small setup, it is possible to stream on Twitch the content of the game played.
  • GGPO-like netplay (latency hiding rollback). It should be lag-free if everyone involved emulates at full speed, doesn't live on opposite sides of the world and has decent internet speeds. It uses peer-to-peer UDP and supports two players. Due to rollback, it requires a fair amount of CPU power to run, and only works with cores that support serialization.
  • Options for decreasing input latency related to vsync by eliminating buffering by the video driver, as well as using frame delay to delay polling of inputs until right before a vsync occurs on the display.
  • Run-ahead to reduce latency. This setting allows cycle-accuracy emulators to run ahead of mandatory 1 or 2 frames of input lag. It allows emulators to achieve better latency than original hardware (Official debut in version 1.7.2).

Building RetroArch

Main article: Building RetroArch

Using RetroArch

Main article: Using RetroArch

RetroArch for Dummies

Main article: Dummies Guide: RetroArch

Netplay

Netplay is now usable from the menu in current builds, under Settings>Netplay Options. You can get it to work with the command line or the long-deprecated RetroArch-Phoenix Launcher as well in older builds.

You must specify whether you will be hosting (server) or joining (client) the game. If joining, you must also enter the host's IP address in the field below. Make sure your firewall is open on port 55435 (default; you can change it if you like) and that the port is forwarded in your router, if applicable. You can also specify 'spectator mode,' which will allow an arbitrary number of spectators to join and watch you play without being able to play themselves.

Delay frames denote the maximum number of frames RetroArch's libretro cores will need to emulate at once to maintain synchronization due to actual network latency. You can figure out an appropriate ballpark for this number by pinging the other player and dividing the time (in milliseconds) by 16 (roughly the number of milliseconds in a frame from a game running at 60 fps). If the gameplay is a bit choppy, try increasing the number of delay frames a bit.

Similar to the GGPO platform, RetroArch creates a constant stream of savestates which, along with button presses, are exchanged and compared between the server and client machines. If the savestates start to diverge, the game rolls back in time to a point where they both agree and then the libretro cores emulates the missing frames all at once to get back to the appropriate spot. This gives the illusion of completely lagless inputs, which is invaluable for twitchy, fine controls.

If you try to connect to a server and it immediately says client disconnected, open your log and make sure your ROMs match exactly (it will complain about a hash mismatch otherwise). If it gives you a weird time-out error, just close the window and try to connect again and it should work itself out (sometimes excessive spikes in network latency can cause the states to diverge catastrophically, resulting in this error).

Alternative Launchers and Frontends

There are plenty of other frontends that can either work as a launcher for RetroArch or you can replace it entirely with another libretro frontend.

Main article: Frontends

External links