Delete trailing whitespace

In #526 I accidentally lost some of my edits trying to selectively
stage lines with typo fixes, while deleting hunks that were only
whitespace changes. In hopes nobody else falls into this trap, I ran
the following command to find all the files to edit, and apply emacs's
delete-trailing-whitespace function to each file.

```sh
find * -type f -print0 | xargs -0 -P$(nproc) -n1 -I{} sh -c 'if file -b "{}" | grep -qFi text; then emacs -batch "{}" -f delete-trailing-whitespace -f save-buffer; fi'
```

Note: `git add -u` will add only known paths to the stage (index),
even if `tidy.sh` exists in the git work directory.
This commit is contained in:
Winston Weinert 2020-07-20 00:48:57 -05:00
parent 410ac01450
commit 8a8f9b31d2
199 changed files with 1673 additions and 1683 deletions

View file

@ -64,7 +64,7 @@ There is no need to disable this before calling \\\texttt{retro\_video\_refresh\
\item Try to write code which is GLES2 as well as GL2+ (w/ extensions) compliant. This ensures maximum target surface for the libretro core.
\item Libretro treats top-left as origin. OpenGL treats bottom-left as origin. To be compatible with the libretro model, top-left semantics are preserved. Rendering normally will cause the image to be flipped vertically. To avoid this, simply scale the final projection matrix by $[1, -1, 1, 1]$.
\end{itemize}
\end{itemize}
\section*{Test implementations}
A very basic test implementation of libretro GL interface is available in RetroArch repository on GitHub~\footnote{https://github.com/Themaister/RetroArch/tree/master/libretro-test-gl}.

View file

@ -148,7 +148,7 @@ HLSL
\end_inset
HLSL (High-Level Shading Language, Direct3D)
HLSL (High-Level Shading Language, Direct3D)
\end_layout
\begin_layout Itemize
@ -178,7 +178,7 @@ Cg (HLSL/GLSL, nVidia)
\end_layout
\begin_layout Standard
The spec is for the
The spec is for the
\begin_inset Index idx
status open
@ -189,7 +189,7 @@ Cg
\end_inset
Cg shading language developed by nVidia.
It
It
\begin_inset Quotes eld
\end_inset
@ -197,7 +197,7 @@ wraps
\begin_inset Quotes erd
\end_inset
around
around
\begin_inset Index idx
status open
@ -207,7 +207,7 @@ OpenGL
\end_inset
OpenGL and
OpenGL and
\begin_inset Index idx
status open
@ -218,7 +218,7 @@ HLSL
\end_inset
HLSL to make shaders written in Cg quite portable.
It is also the shading language implemented on the
It is also the shading language implemented on the
\begin_inset Index idx
status open
@ -318,7 +318,7 @@ Essentially, we only need to implement process_pixel() as a single function,
which is called thousands, even millions of time every frame.
The only purpose in life for process_pixel() is to process an input, and
produce an output.
No state is needed, thus, a
No state is needed, thus, a
\begin_inset Quotes eld
\end_inset
@ -349,7 +349,7 @@ Since we're dealing with old school emulators here, which are already 2D,
\end_inset
.
\end_layout
\begin_layout Standard
@ -368,7 +368,7 @@ For our emulators this is just 4 times, since we're rendering a quad on
\end_inset
.
\end_layout
\begin_layout Standard
@ -395,7 +395,7 @@ main_fragment() takes care of calculating a pixel color for every single
\begin_layout Standard
Obviously, main_fragment is where the real action happens.
For many shaders we can stick with a
For many shaders we can stick with a
\begin_inset Quotes eld
\end_inset
@ -509,7 +509,7 @@ void main_vertex(
\begin_layout Standard
This looks vaguely familiar to C, and it is.
\begin_inset Index idx
status open
@ -519,7 +519,7 @@ Cg
\end_inset
Cg stands for
Cg stands for
\begin_inset Quotes eld
\end_inset
@ -596,7 +596,7 @@ The COLOR semantic isn't very interesting for us, but the example code in
\begin_layout Standard
TEXCOORD is the texture coordinate we get from the emulator, and generally
we just pass it to the fragment shader directly.
The coordinate will then be
The coordinate will then be
\begin_inset Quotes eld
\end_inset
@ -758,12 +758,12 @@ float4 main_fragment(uniform sampler2D s0 : TEXUNIT0,
\begin_layout Plain Layout
\end_layout
\begin_layout Plain Layout
// Grab some of the neighboring pixels and
// Grab some of the neighboring pixels and
\end_layout
\begin_layout Plain Layout
@ -997,7 +997,7 @@ float4 main_fragment(uniform sampler2D s0 : TEXUNIT0,
\begin_layout Plain Layout
\end_layout
\begin_layout Plain Layout
@ -1141,7 +1141,7 @@ foo_linear = true # Linear filtering for foo.
\begin_layout Plain Layout
bar_linear = true # Linear filtering for bar.
\end_layout
\end_inset
@ -1156,7 +1156,7 @@ RetroArch PS3 uses PNG as the main format, RetroArch can use whatever if
\end_layout
\begin_layout Standard
From here on,
From here on,
\begin_inset Quotes eld
\end_inset
@ -1164,7 +1164,7 @@ foo
\begin_inset Quotes erd
\end_inset
and
and
\begin_inset Quotes eld
\end_inset
@ -1346,7 +1346,7 @@ The basic idea is that we capture RAM data in a certain way (semantic if
\begin_layout Standard
As a tool to show this feature, we'll focus on replicating the simple tech
demo shown on YouTube:
demo shown on YouTube:
\begin_inset CommandInset href
LatexCommand href
target "http://www.youtube.com/watch?v=4VzaE9q735k"
@ -1357,7 +1357,7 @@ target "http://www.youtube.com/watch?v=4VzaE9q735k"
\end_layout
\begin_layout Standard
What happens is that when Mario jumps in the water, the screen gets a
What happens is that when Mario jumps in the water, the screen gets a
\begin_inset Quotes eld
\end_inset
@ -1388,7 +1388,7 @@ nt provide the state we need in a certain way.
\end_layout
\begin_layout Standard
To capture a RAM value directly, we can use the
To capture a RAM value directly, we can use the
\begin_inset Quotes eld
\end_inset
@ -1397,7 +1397,7 @@ capture
\end_inset
semantic.
To record the time when the RAM value last changed, we can use the
To record the time when the RAM value last changed, we can use the
\begin_inset Quotes eld
\end_inset
@ -1407,7 +1407,7 @@ transition
semantic.
We obviously also need to know where in RAM we can find this information.
Luckily, the guys over at SMW Central know the answer:
Luckily, the guys over at SMW Central know the answer:
\begin_inset CommandInset href
LatexCommand href
target "http://www.smwcentral.net/?p=map&type=ram"
@ -1430,7 +1430,7 @@ status open
$7E:0075, byte, Flag, Player is in water flag.
#$00 = No; #$01 = Yes.
\end_layout
\end_inset
@ -1500,7 +1500,7 @@ mario_water_time_wram = 0075
\end_layout
\begin_layout Standard
The amount of possible
The amount of possible
\begin_inset Quotes eld
\end_inset
@ -1518,7 +1518,7 @@ semantics
\begin_layout Standard
Now that we got that part down, let's work on the shader design.
In the fragment shader we simply render both the full water effect, and
the «normal» texture, and let a
the «normal» texture, and let a
\begin_inset Quotes eld
\end_inset
@ -1627,7 +1627,7 @@ void main_vertex(
\begin_layout Plain Layout
uniform float mario_water,
uniform float mario_water,
\end_layout
\begin_layout Plain Layout
@ -1657,7 +1657,7 @@ void main_vertex(
\begin_layout Plain Layout
// so every fragment will get the same value
// so every fragment will get the same value
\end_layout
\begin_layout Plain Layout
@ -1697,7 +1697,7 @@ void main_vertex(
\begin_layout Plain Layout
float transition_time = 0.5 *
float transition_time = 0.5 *
\end_layout
\begin_layout Plain Layout
@ -1707,7 +1707,7 @@ void main_vertex(
\begin_layout Plain Layout
\end_layout
\begin_layout Plain Layout
@ -1727,12 +1727,12 @@ void main_vertex(
\begin_layout Plain Layout
blend_factor = 1.0;
blend_factor = 1.0;
\end_layout
\begin_layout Plain Layout
// Fade out from 1.0 towards 0.0 as
// Fade out from 1.0 towards 0.0 as
\end_layout
\begin_layout Plain Layout
@ -1747,7 +1747,7 @@ void main_vertex(
\begin_layout Plain Layout
blend_factor = exp(-transition_time);
blend_factor = exp(-transition_time);
\end_layout
\begin_layout Plain Layout
@ -1931,7 +1931,7 @@ float4 main_fragment
\begin_layout Plain Layout
\end_layout
\begin_layout Plain Layout
@ -2038,7 +2038,7 @@ How to test when developing for RetroArch?
\end_layout
\begin_layout Standard
To develop these kinds of shaders, I'd recommend using
To develop these kinds of shaders, I'd recommend using
\begin_inset Index idx
status open
@ -2048,7 +2048,7 @@ RetroArch
\end_inset
RetroArch w/
RetroArch w/
\begin_inset Index idx
status open
@ -2059,7 +2059,7 @@ Cg
\end_inset
Cg support, and a debugging tool for your emulator of choice to peek at
RAM values (build it for
RAM values (build it for
\begin_inset Index idx
status open

View file

@ -90,7 +90,7 @@ LatexCommand tableofcontents
\begin_layout Abstract
This document explains how to successfully implement a library based on
the
the
\begin_inset Index idx
status open
@ -101,7 +101,7 @@ libretro
\end_inset
libretro API.
Several reasons for why more emulators and game engines should run in
Several reasons for why more emulators and game engines should run in
\begin_inset Index idx
status open
@ -129,7 +129,7 @@ RetroArch
\end_inset
RetroArch is a project that aims to be a center for “retro” gaming experiences.
For your quick fix of 2D gaming goodness,
For your quick fix of 2D gaming goodness,
\begin_inset Index idx
status open
@ -154,7 +154,7 @@ libretro
\end_inset
Libretro is an API that abstracts the inner functionality of a gaming system.
\begin_inset Index idx
status open
@ -176,7 +176,7 @@ Due to its simple and open API, other frontends can just as easily utilize
\end_layout
\begin_layout Standard
While “retro” would often imply an emulator of a classic system,
While “retro” would often imply an emulator of a classic system,
\begin_inset Index idx
status open
@ -187,7 +187,7 @@ libretro
\end_inset
libretro can also abstract a game engine.
Classics such as
Classics such as
\begin_inset Index idx
status open
@ -197,7 +197,7 @@ Cave Story
\end_inset
Cave Story (NXEngine) and
Cave Story (NXEngine) and
\begin_inset Index idx
status open
@ -218,7 +218,7 @@ Portability
Most emulator authors write both the backend and frontend to their project.
The question of portability inevitably rises when the frontend is developed.
Should one target a single platform with high level of integration or take
a multi-platform approach with libraries like
a multi-platform approach with libraries like
\begin_inset Index idx
status open
@ -233,7 +233,7 @@ Qt? Backends for essentials like video, audio and input take a lot of time
\end_layout
\begin_layout Standard
By implementing for
By implementing for
\begin_inset Index idx
status open
@ -254,7 +254,7 @@ In 2012, we would argue that portability has never been more relevant.
If your system is implemented with software rendering, your implementation
can run on all systems supported by the frontend, without writing any platform
specific code.
In the case of
In the case of
\begin_inset Index idx
status open
@ -320,7 +320,7 @@ RetroArch
RetroArch has been in development for about two years.
During this time, some features have shown to be quinessential to retro
gaming systems.
Implementing the
Implementing the
\begin_inset Index idx
status open
@ -341,7 +341,7 @@ Frame-by-frame rewind
\begin_layout Standard
A libretro implementation that implements serialization and unserialization
of internal state is able to transparently support rewind mechanics.
While many emulators support coarse grained rewind,
While many emulators support coarse grained rewind,
\begin_inset Index idx
status open
@ -352,7 +352,7 @@ RetroArch
\end_inset
RetroArch supports rewind at the frame level, i.e., frames can be rewound
one frame at a time, similar to the indie-title
one frame at a time, similar to the indie-title
\begin_inset Index idx
status open
@ -388,7 +388,7 @@ RetroArch
\end_inset
RetroArch can utilize the
RetroArch can utilize the
\begin_inset Index idx
status open
@ -400,7 +400,7 @@ libavcodec
libavcodec library to encode video and audio output from a libretro implementati
on.
The data is encoded losslessly, with
The data is encoded losslessly, with
\begin_inset Index idx
status open
@ -410,7 +410,7 @@ FLAC
\end_inset
FLAC as audio codec, and cutting-edge
FLAC as audio codec, and cutting-edge
\begin_inset Index idx
status open
@ -421,7 +421,7 @@ H.264
\end_inset
H.264/RGB (libx264) encoding, with a fallback to FFV1 for older playback
systems that don't support the modern
systems that don't support the modern
\begin_inset Index idx
status open
@ -496,7 +496,7 @@ RetroArch
RetroArch supports two-player action over the network.
It employs a rollback technique that aims to hide latency as much as possible,
similar to the method employed by
similar to the method employed by
\begin_inset Index idx
status open
@ -541,7 +541,7 @@ Implementing the API
\end_layout
\begin_layout Standard
The
The
\begin_inset Index idx
status open
@ -552,7 +552,7 @@ libretro
\end_inset
libretro API consists of several functions outlined in libretro.h, found
in the
in the
\begin_inset Index idx
status open
@ -574,7 +574,7 @@ RetroArch source package.
\end_layout
\begin_layout Standard
The API header is compatible with
The API header is compatible with
\begin_inset Index idx
status open
@ -584,7 +584,7 @@ C99
\end_inset
C99 and
C99 and
\begin_inset Index idx
status open
@ -595,7 +595,7 @@ C++
\end_inset
C++.
From
From
\begin_inset Index idx
status open
@ -609,7 +609,7 @@ C99, the bool type and <stdint.h> are used.
\end_layout
\begin_layout Standard
The program flow of a frontend using the
The program flow of a frontend using the
\begin_inset Index idx
status open
@ -674,7 +674,7 @@ Environment callback
\end_layout
\begin_layout Standard
While
While
\begin_inset Index idx
status open
@ -686,7 +686,7 @@ libretro
libretro has callbacks for video, audio and input, there's a callback type
dubbed the environment callback.
This callback (retro_environment_t) is a generic way for the
This callback (retro_environment_t) is a generic way for the
\begin_inset Index idx
status open
@ -698,7 +698,7 @@ libretro
libretro implementation to access features of the API that are considered
too obscure to deserve its own symbols.
It can be extended without breaking
It can be extended without breaking
\begin_inset Index idx
status open
@ -714,7 +714,7 @@ ABI.
\end_layout
\begin_layout Standard
Most implementations of
Most implementations of
\begin_inset Index idx
status open
@ -823,7 +823,7 @@ This function lets the frontend know essential audio/video properties of
As this information can depend on the game being loaded, this info will
only be queried after a valid ROM image has been loaded.
It is important to accuractely report FPS and audio sampling rates, as
\begin_inset Index idx
status open
@ -901,7 +901,7 @@ Audio callback considerations
\end_layout
\begin_layout Standard
The
The
\begin_inset Index idx
status open
@ -945,7 +945,7 @@ Using the batch callback, audio will not be copied in a temporary buffer,
\begin_layout Standard
The data passed to the batch callback should, if possible, be aligned to
16 bytes (depends on platform), to allow accelerated
16 bytes (depends on platform), to allow accelerated
\begin_inset Index idx
status open
@ -956,7 +956,7 @@ SIMD
\end_inset
SIMD operations on audio.
\begin_inset Index idx
status open
@ -966,7 +966,7 @@ RetroArch
\end_inset
RetroArch implements
RetroArch implements
\begin_inset Index idx
status open
@ -1023,7 +1023,7 @@ The joypad abstraction is the most interesting.
Rather than complicating things by mapping input arbitrarily in terms of
the implementation, which would make input configuration very complex with
careful configuration on a per-implementation basis, an abstract joypad
device, the
device, the
\begin_inset Index idx
status open
@ -1034,7 +1034,7 @@ Input device abstractions!RetroPad
\end_inset
RetroPad, was devised.
\end_layout
\begin_layout Standard
@ -1044,7 +1044,7 @@ This joypad is essentially the Super Nintendo controller, widely considered
the PlayStation DualShock are incorporated, with extra shoulder buttons
(L2/R2), as well as depressable analogs (L3/R3).
In addition, the RETRO_DEVICE_ANALOG is used for analog stick data.
An implementation should map its idea of a joypad in terms of the
An implementation should map its idea of a joypad in terms of the
\begin_inset Index idx
status open
@ -1113,7 +1113,7 @@ _game().
\begin_layout Standard
If possible, the implementation should attempt to serialize data at consistent
offsets in the memory buffer.
This will greatly help the rewind implementation in
This will greatly help the rewind implementation in
\begin_inset Index idx
status open

View file

@ -30,7 +30,7 @@ The config file describes:
\item Which coordinates on each overlay correspond to which input event.
\item The hitbox for each input event, i.e. "size" of the button.
\item Where on the screen the overlay should be displayed.
\end{itemize}
\end{itemize}
\subsection*{Overlay images}

View file

@ -244,7 +244,7 @@ Author(s): Dave, FBA Team (Barry Harris & co)
\begin_inset Newline newline
\end_inset
Extensions supported:
Extensions supported:
\begin_inset Quotes eld
\end_inset
@ -288,7 +288,7 @@ Author(s): Caitlin Shaw (rogueeve)
\begin_inset Newline newline
\end_inset
Extensions supported:
Extensions supported:
\begin_inset Quotes eld
\end_inset
@ -699,7 +699,7 @@ Famicom Disk System loading is slow, so you might be tempted to fast forward
through most of it.
However, I'd advise caution when doing so and to savestate regularly in
case 'fast forwarding' can negatively affect disk loading.
\end_layout
\begin_layout Subsubsection
@ -727,7 +727,7 @@ Famicom Disk System support.
For Android users - put disksys.rom into the same folder as the FDS ROM
you're trying to load.
For everyone else - put disksys.rom into your system directory.
\end_layout
\begin_layout Standard
@ -946,7 +946,7 @@ Controls have been revised - most of the controls should now be properly
\end_layout
\begin_layout Itemize
Button combos have been changed -
Button combos have been changed -
\begin_inset Newline newline
\end_inset
@ -1603,7 +1603,7 @@ dm2ttl.mp3
\end_layout
\begin_layout Standard
dm2int.mp3
dm2int.mp3
\end_layout
\begin_layout Subsection
@ -1721,7 +1721,7 @@ The music is incorrect on Xbox 360.
Because Wonderswan has a 75Hz refresh rate, V-sync is specifically disabled
for this core so that the framerate and sound is as it should be - that's
why you might notice some negligible tearing.
\end_layout
\begin_layout Subsubsection
@ -1920,7 +1920,7 @@ About Us
\end_layout
\begin_layout Standard
Homepage:
Homepage:
\begin_inset Flex URL
status collapsed
@ -1939,7 +1939,7 @@ IRC: #retroarch at freenode
\begin_inset Newline newline
\end_inset
Github (libretro organization):
Github (libretro organization):
\begin_inset Flex URL
status collapsed
@ -1954,7 +1954,7 @@ https://github.com/libretro
\begin_inset Newline newline
\end_inset
RetroArch @ Github:
RetroArch @ Github:
\begin_inset Flex URL
status collapsed
@ -1969,7 +1969,7 @@ https://github.com/Themaister/RetroArch
\begin_inset Newline newline
\end_inset
Libretro @ Twitter:
Libretro @ Twitter:
\begin_inset Flex URL
status collapsed
@ -1984,7 +1984,7 @@ https://twitter.com/libretro
\begin_inset Newline newline
\end_inset
Libretro @ Facebook:
Libretro @ Facebook:
\begin_inset Flex URL
status collapsed

View file

@ -279,7 +279,7 @@ Some of the systems listed above (the ones marked [*]) might require a jailbreak
\end_layout
\begin_layout Standard
For the latest versions, go to the official homepage -
For the latest versions, go to the official homepage -
\begin_inset Flex URL
status open
@ -349,7 +349,7 @@ RetroArch can be thought of as the 'Proof of Concept' that demonstrates
that this kind of convergence is possible.
Other apps (media players, multi-system emus, CAD applications) are encouraged
and allowed to implement the specification themselves.
\end_layout
\begin_layout Standard
@ -359,7 +359,7 @@ The user can do many things with RetroArch, from playing games to watching
purposes it will be used and what content will be run in it.
There is no digital rights management or restrictions imposed upon the
user.
\end_layout
\begin_layout Standard
@ -458,7 +458,7 @@ RetroArch has a built-in UI (User Interface) that functions nearly the same
across every platform.
It is called RGUI (short for Retro GUI).
Most of RetroArch's features can be changed on-the-fly from this.
\end_layout
\begin_layout Standard
@ -467,7 +467,7 @@ Just like everything else in RetroArch, RGUI is controlled with the RetroPad.
on eye-candy.
On the plus side, it is very scaleable and works well even at resolutions
as low as 320x240.
\end_layout
\begin_layout Standard
@ -693,7 +693,7 @@ Later versions of bsnes are written in cutting-edge C++11 and cannot be
This port of bsnes to C++98 was written for those compilers in mind.
It is an older version of bsnes compared to the one in Higan but there
should only be minor differences between this and bsnes performance v0.92.
\end_layout
\begin_layout Subsection
@ -775,7 +775,7 @@ How to run
\end_layout
\begin_layout Enumerate
Go to this website -
Go to this website -
\begin_inset Flex URL
status open
@ -1678,7 +1678,7 @@ NX Engine
\end_layout
\begin_layout Standard
This is a game engine capable of running the game
This is a game engine capable of running the game
\begin_inset ERT
status open
@ -1691,7 +1691,7 @@ textbf{Cave Story}
\end_inset
(Japanese title:
(Japanese title:
\begin_inset ERT
status open
@ -1720,7 +1720,7 @@ In order to run the game, you need to have the original datafiles from the
\end_layout
\begin_layout Enumerate
Go to this website -
Go to this website -
\begin_inset Flex URL
status open
@ -2258,7 +2258,7 @@ Setting up BIOS files
\begin_layout Standard
The compatibility of PCSX ReARMed is increased a lot by using real BIOS
firmware images.
\end_layout
\begin_layout Standard
@ -2698,7 +2698,7 @@ Normally, Quake's software renderer has this always enabled.
to the player.
Enabling this will come at a big performance cost - so only enable it if
your platform is powerful enough.
\end_layout
\begin_layout Subsubsection
@ -2745,7 +2745,7 @@ The original Quake never ran at a fixed framerate, and it took quite a few
50 or 60 frames per second.
You can set the framerate to either 50fps or 60fps from the Quake settings
menu.
\end_layout
\begin_layout Subsection

View file

@ -139,7 +139,7 @@ RetroArch Android is an app that has been designed to run and play:
\end_layout
\begin_layout Itemize
Games
Games
\end_layout
\begin_layout Itemize
@ -394,7 +394,7 @@ Author(s): Dave, FBA Team (Barry Harris & co)
\begin_inset Newline newline
\end_inset
Extensions supported:
Extensions supported:
\begin_inset Quotes eld
\end_inset
@ -438,7 +438,7 @@ Author(s): Caitlin Shaw (rogueeve)
\begin_inset Newline newline
\end_inset
Extensions supported:
Extensions supported:
\begin_inset Quotes eld
\end_inset
@ -879,11 +879,11 @@ A list of the gamepads that are supported by autodetection can be found
\begin_layout Standard
You connect the device to your tablet/phone.
You press a button while ingame.
If your pad is supported, it should bring up a message saying:
If your pad is supported, it should bring up a message saying:
\begin_inset Quotes eld
\end_inset
RetroPad #? detected:
RetroPad #? detected:
\begin_inset Quotes eld
\end_inset
@ -897,7 +897,7 @@ Unsupported gamepads
\end_layout
\begin_layout Standard
If your pad is unsupported, it will likely show
If your pad is unsupported, it will likely show
\begin_inset Quotes eld
\end_inset
@ -1237,7 +1237,7 @@ Auto save state
This will make a save state when you exit the game.
This auto savestate will be automatically loaded the next time you start
up the
up the
\begin_inset Newline newline
\end_inset
@ -1648,7 +1648,7 @@ About Us
\end_layout
\begin_layout Standard
Homepage:
Homepage:
\begin_inset Flex URL
status collapsed
@ -1667,7 +1667,7 @@ IRC: #retroarch at freenode
\begin_inset Newline newline
\end_inset
Github (libretro organization):
Github (libretro organization):
\begin_inset Flex URL
status collapsed
@ -1682,7 +1682,7 @@ https://github.com/libretro
\begin_inset Newline newline
\end_inset
RetroArch @ Github:
RetroArch @ Github:
\begin_inset Flex URL
status collapsed
@ -1697,7 +1697,7 @@ https://github.com/Themaister/RetroArch
\begin_inset Newline newline
\end_inset
Libretro @ Twitter:
Libretro @ Twitter:
\begin_inset Flex URL
status collapsed
@ -1712,7 +1712,7 @@ https://twitter.com/libretro
\begin_inset Newline newline
\end_inset
Libretro @ Facebook:
Libretro @ Facebook:
\begin_inset Flex URL
status collapsed

View file

@ -25,7 +25,7 @@ Each new line of a multiline comment should begin with a space and an asterisk:
* - to explain the history or special circumstances of a section of code
*/
```
Comment headers for functions should use a maximum column width of 80 characters.
Comment headers for functions should use a maximum column width of 80 characters.
### Indentation

View file

@ -168,7 +168,7 @@ make
./bin2c -o rungunu_bootstrap.c rungunu.nv
```
#### Output
#### Output
The generated output will look like this:
```c
@ -193,7 +193,7 @@ The next step is manual -- putting the data that bin2c generated into the format
```c
struct bin2cFILE {
const unsigned int length;
const unsigned char data[];
const unsigned char data[];
};
```
@ -211,7 +211,7 @@ const struct bin2cFILE rungunu_bootstrap = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0,
}
}
};
```
@ -270,6 +270,3 @@ rm 590.diff
sudo ./retropie_packages.sh lr-mame2003-plus build
sudo ./retropie_packages.sh lr-mame2003-plus build install
```

View file

@ -1,6 +1,6 @@
# Dynamic Rate Control for Retro Game Emulators
Dynamic Rate Control allows emulator frontends to synchronize both audio and video output at the same time, even when the emulating system has a different refresh rate and audio sampling rate than the gaming system that is being emulated.
Dynamic Rate Control allows emulator frontends to synchronize both audio and video output at the same time, even when the emulating system has a different refresh rate and audio sampling rate than the gaming system that is being emulated.
The method works by dynamically adjusting audio resampling ratios in such ways that ideally, the audio buffer is never underrun nor overrun, thus avoiding blocking on audio. This in turn allows vertical synchronization for video. The audio pitch is adjusted when adjusting audio resampling ratios, but in practice so little, that it is inaudible to the human ear.

View file

@ -27,7 +27,7 @@ These APIs allow us to write 3D graphics-based applications:
* Windowing interfacing context drivers per platform
* Display frontend for each platform
* Post-processing by way of shaders
Libretro's OpenGL implementation is designed specifically to address the practicalities of extending OpenGL and OpenGL ES hardware acceleration to the wide variety of architectures and environments supported by the libretro ecosystem.
# Implementing OpenGL accelerated cores

View file

@ -44,7 +44,7 @@ X and Y coordinates are reported relatively to last poll (poll callback) and it
## Pointer Input
The pointer abstraction represents pen, stylus, touch and other input devices that use absolute coordinates with respect to the screen.
Coordinates in X and Y are reported as `[-0x7fff, 0x7fff]`: `-0x7fff` corresponds to the far left/top of the screen, `0x7fff` to the far right/bottom of the screen. The "screen" is defined as area that is passed to the frontend and later displayed on the monitor. The frontend is free to scale/resize this screen as it sees fit but `(X, Y) = (-0x7fff, -0x7fff)` will always correspond to the top-left pixel of the display.
Coordinates in X and Y are reported as `[-0x7fff, 0x7fff]`: `-0x7fff` corresponds to the far left/top of the screen, `0x7fff` to the far right/bottom of the screen. The "screen" is defined as area that is passed to the frontend and later displayed on the monitor. The frontend is free to scale/resize this screen as it sees fit but `(X, Y) = (-0x7fff, -0x7fff)` will always correspond to the top-left pixel of the display.
## Keyboard Input
The libretro API allows a core to poll the frontend for the raw current pressed state of keys. There is also a callback available which is called by the frontend in response to keyboard events. `down` is set if the key is being pressed and `false` if it is being released.

View file

@ -32,7 +32,7 @@ RetroArch is the libretro "reference frontend" and is available across a wide ra
[Lakka](http://www.lakka.tv/), based on LibreELEC, is Libretro's reference operating system distribution.
Below is a partial list of external distributions that also use libretro or RetroArch as part of their backend technology:
* [batocera.linux](http://batocera-linux.xorhub.com/)
* [RetroPie](http://retropie.org.uk/)
* [Recalbox](http://recalbox.com/)

View file

@ -1,8 +1,8 @@
# Licenses
There is software behind RetroArch and Lakka that is protected by Non-Commercial licenses.
There is software behind RetroArch and Lakka that is protected by Non-Commercial licenses.
It is important to respect the wishes of the developers and people behind the respective projects.
It is important to respect the wishes of the developers and people behind the respective projects.
See below for a summary of the licenses behind RetroArch and its cores:
@ -36,7 +36,7 @@ See below for a summary of the licenses behind RetroArch and its cores:
| MESS 2014 | [MAME (Non-commercial)](https://github.com/libretro/mame2014-libretro/blob/master/docs/license.txt) | Non-commercial |
| [PicoDrive](../library/picodrive.md) | [MAME (Non-commercial)](https://github.com/libretro/picodrive/blob/master/COPYING) | Non-commercial |
| [Snes9x](../library/snes9x.md) | [Non-commercial](https://github.com/snes9xgit/snes9x/blob/master/LICENSE) | Non-commercial |
| [Snes9x 2002](../library/snes9x_2002.md) | [Non-commercial](https://github.com/libretro/snes9x/blob/master/docs/snes9x-license.txt) | Non-commercial |
| [Snes9x 2002](../library/snes9x_2002.md) | [Non-commercial](https://github.com/libretro/snes9x/blob/master/docs/snes9x-license.txt) | Non-commercial |
| [Snes9x 2005](../library/snes9x_2005.md) | [Non-commercial](https://github.com/libretro/snes9x/blob/master/docs/snes9x-license.txt) | Non-commercial |
| [Snes9x 2005 Plus](../library/snes9x_2005_plus.md) | [Non-commercial](https://github.com/libretro/snes9x/blob/master/docs/snes9x-license.txt) | Non-commercial |
| [Snes9x 2010](../library/snes9x_2010.md) | [Non-commercial](https://github.com/libretro/snes9x2010/blob/master/LICENSE.txt) | Non-commercial |
@ -172,7 +172,7 @@ See below for a summary of the licenses behind RetroArch and its cores:
| [SameBoy](../library/sameboy.md) | [MIT](https://github.com/libretro/SameBoy/blob/master/LICENSE) | |
| [ScummVM](../library/scummvm.md) | [GPLv2](https://github.com/libretro/scummvm/blob/master/COPYING) | |
| [Snes9x](../library/snes9x.md) | [Non-commercial](https://github.com/libretro/snes9x/blob/master/docs/snes9x-license.txt) | Non-commercial |
| [Snes9x 2002](../library/snes9x_2002.md) | [Non-commercial](https://github.com/libretro/snes9x/blob/master/docs/snes9x-license.txt) | Non-commercial |
| [Snes9x 2002](../library/snes9x_2002.md) | [Non-commercial](https://github.com/libretro/snes9x/blob/master/docs/snes9x-license.txt) | Non-commercial |
| [Snes9x 2005](../library/snes9x_2005.md) | [Non-commercial](https://github.com/libretro/snes9x/blob/master/docs/snes9x-license.txt) | Non-commercial |
| [Snes9x 2005 Plus](../library/snes9x_2005_plus.md) | [Non-commercial](https://github.com/libretro/snes9x/blob/master/docs/snes9x-license.txt) | Non-commercial |
| [Snes9x 2010](../library/snes9x_2010.md) | [Non-commercial](https://github.com/libretro/snes9x2010/blob/master/LICENSE.txt) | Non-commercial |

View file

@ -2,8 +2,8 @@
## Environment configuration
You need the homebrew Nintendo 3DS SDK libctru and DevkitARM toolchain installed.
If you are running windows you will need to install [MSYS2](http://www.msys2.org/) and point it to your devkitARM installation like this:
You need the homebrew Nintendo 3DS SDK libctru and DevkitARM toolchain installed.
If you are running windows you will need to install [MSYS2](http://www.msys2.org/) and point it to your devkitARM installation like this:
Put these lines in RetroArch3DSEnv.sh
export DEVKITPRO="/c/devkitPro"
@ -11,7 +11,7 @@ If you are running windows you will need to install [MSYS2](http://www.msys2.org
export CTRULIB="$DEVKITPRO/libctru"
export CTRBANNERTOOL="/c/Users/Emily/Desktop/RetroArchDev/CompatFiles/bannertool.exe"
bash
The custom bannertool is needed if you want to compile .cia builds due to a broken wav encoder in the windows version of bannertool included with RetroArch.
The custom bannertool is needed if you want to compile .cia builds due to a broken wav encoder in the windows version of bannertool included with RetroArch.
Before building RetroArch you will have to load MSYS2 and launch `RetroArch3DSEnv.sh`, then proceed as you would for linux.
The working bannertool can be compiled from the sources [here](https://github.com/Steveice10/bannertool) using MSYS2.
@ -58,7 +58,7 @@ Instead of building each core one by one, you can build all cores as a batch tas
Once inside this directory, run :
./dist-cores.sh ctr
./dist-cores.sh ctr
This process will also automate the packaging process for you.

View file

@ -29,7 +29,7 @@ You need a complete android development environment ready to develop native apps
* [Android SDK](http://developer.android.com/sdk/index.html)
* [Android NDK](https://developer.android.com/tools/sdk/ndk/index.html)
Use Google to figure out how to install that and make sure the appropriate executables from the above are in your path variable.
Use Google to figure out how to install that and make sure the appropriate executables from the above are in your path variable.
These instructions have been tested under Linux (Fedora 20 and Ubuntu 18.04). They may also work in windows with cygwin.
@ -39,7 +39,7 @@ These instructions have been tested under Linux (Fedora 20 and Ubuntu 18.04). Th
cd libretro-super
./libretro-fetch.sh
`./libretro-fetch.sh` can fail on `fork()` calls, repeat until all are up to date. For `./libretro-build-android-mk.sh`, some cores may fail to compile (g++ "Argument list too long" error).
### Building the cores
@ -49,35 +49,35 @@ For the core building portion of this tutorial, you'll need to put at least your
export PATH=/home/boo/Android/Sdk/ndk-bundle/build:/home/boo/Android/Sdk/tools:/home/boo/Android/Sdk/build-tools/28.0.3:$PATH
### Run build script ( read notes below before running the script):
NOCLEAN=1 ./libretro-build-android-mk.sh
NOCLEAN=1 ./libretro-build-android-mk.sh
You can omit `NOCLEAN=1` if you'd like to perform make clean on every core's repo before building each.
For a variety of reasons, some of the cores may not be compiled by the script. These reasons can range from: core folder doesn't have a libretro/jni folder setup yet, core's libretro/jni folder is in a place that the script does not expect, core has been recently added to project and has not yet been added to script or you're missing some essential dependencies and the build script failed. Some cores (like snes9x2002) need an older NDK. Some core don't use jni but use make or cmake instead.
In the event you are missing a core that you want, you can build it in most cases by going to its subfolder (libretro-corename) and performing this series of commands:
#for example
cd libretro-flycast
#get corename for later
corename=$(echo ${PWD##*/}|cut -d "-" -f 2)
corename=$(echo ${PWD##*/}|cut -d "-" -f 2)
#now try to find the libretro/jni folder
cd $(find . -iname "jni" -type d | grep --color=NEVER "libretro/jni")
#if it exists and you don't get an error, build the core:
ndk-build
#if it succeeds, do this to copy built .so files to dist folder:
for arch in "arm64-v8a" "armeabi-v7a" "x86" "x86_64"; do if [ -f "$arch/libretro.so" ]; then cp -v $arch/libretro.so $SRC/dist/android/$arch/"$corename"_libretro_android.so; else echo "$arch" build HAS FAILED!; fi; done
You may also want to check this repo for a list of dependencies needed to build the cores:
https://github.com/libretro/libretro-deps/
https://github.com/libretro/libretro-deps/
#these deps can usually be installed via apt-get install (don't forget to append -dev at the end). for example:
sudo apt-get install libfaac-dev
more info about core building can be had here:
@ -102,7 +102,7 @@ Now go to the project folder:
cd pkg/android/phoenix
Within this folder, edit `local.properties` to point to the location of your sdk and ndk directories by adding lines that look like this:
Within this folder, edit `local.properties` to point to the location of your sdk and ndk directories by adding lines that look like this:
ndk.dir=/complete/path/to/android-ndk-r20
sdk.dir=/complete/path/to/Sdk
@ -123,7 +123,7 @@ Next, generate a keystore file and be sure to put it where `keystore.properties`
keytool -genkey -alias KEY_ALIS -keyalg RSA -keypass YOURPASS -keystore keystore-file.jks
Now all the generated release apk will be automatically signed by gradle.
Now all the generated release apk will be automatically signed by gradle.
Next, copy the cores, assets and overlays to an assets folder you create here:
@ -132,8 +132,8 @@ Next, copy the cores, assets and overlays to an assets folder you create here:
cp ../../../../dist/android/arm64-v8a/* assets/cores/ #replace arm64-v8a here by the archetecture of the device you will be using. Google your phone's specs.
cp -r ../../../../dist/info/ assets/
cp -r ../../../../retroarch/media/overlays/* assets/overlays/
Optionally, you may want to include the assets for the front-end (menu icons, fonts, images etc), shader caches, dbs, cheats, etc... These assets can be downloaded at any time during run time via the updater but if you want to bundle them into the build you may do so by downloading bundle.zip / cheats.zip and extracting them to assets folder:
Optionally, you may want to include the assets for the front-end (menu icons, fonts, images etc), shader caches, dbs, cheats, etc... These assets can be downloaded at any time during run time via the updater but if you want to bundle them into the build you may do so by downloading bundle.zip / cheats.zip and extracting them to assets folder:
wget https://buildbot.libretro.com/assets/frontend/bundle.zip
unzip -n bundle.zip -d assets
@ -141,9 +141,9 @@ Optionally, you may want to include the assets for the front-end (menu icons, fo
mkdir assets/cheats
unzip cheats.zip -d assets/cheats
*NOTE ABOUT BUNDLED ASSETS AND CORES*
*NOTE ABOUT BUNDLED ASSETS AND CORES*
I've sometimes noticed a bug where the built apk does not unpack the bundled assets and cores on first install. My workaround was to re-install the apk a second time. On the second install, the assets and cores get unpacked. This is a bug in 1.7.7 and 1.7.8.
I've sometimes noticed a bug where the built apk does not unpack the bundled assets and cores on first install. My workaround was to re-install the apk a second time. On the second install, the assets and cores get unpacked. This is a bug in 1.7.7 and 1.7.8.
### BUILD
@ -154,7 +154,7 @@ Now run gradlew and let it configure and sync itself and download all it's depen
Optionally: You can get a list of available tasks by doing:
./gradlew tasks
Now, if all went smoothly with config step, you can proceed to build the apk
#Builds release variants: Normal, ra32 and aarch64
@ -165,7 +165,7 @@ Now, if all went smoothly with config step, you can proceed to build the apk
#Builds all variants
./gradlew buildNeeded
If all goes well, this will spit out an .apk. For example `build/outputs/apk/normal/debug/phoenix-normal-debug.apk`. Put it on your device with
adb install -r build/outputs/apk/normal/debug/phoenix-normal-debug.apk
@ -174,4 +174,4 @@ You can find all the apks built by gradle with this command (execute from the sa
find . -iname "*.apk"
This should give you a list of all the outputted apks.
This should give you a list of all the outputted apks.

View file

@ -2,7 +2,7 @@
## Environment configuration
You need the homebrew Nintendo GameCube SDK libogc and Devkitpro PPC toolchain installed.
You need the homebrew Nintendo GameCube SDK libogc and Devkitpro PPC toolchain installed.
## RetroArch Compilation
@ -42,7 +42,7 @@ Instead of building each core one by one, you can build all cores as a batch tas
Once inside this directory, run :
./dist-cores.sh ngc
./dist-cores.sh ngc
This process will also automate the packaging process for you.

View file

@ -1,6 +1,6 @@
# Haiku Compilation / Development Guide
This compilation guide will teach you how to build RetroArch for Haiku.
This compilation guide will teach you how to build RetroArch for Haiku.
It is more than recommended to keep your Haiku system up to date and use Nightlybuilds with upgraded packages.
@ -68,7 +68,7 @@ The easiest way to fetch all the cores is to use libretro-super. Run
### Building Cores
The easiest way to build all the cores is to use libretro-super.
The easiest way to build all the cores is to use libretro-super.
To build all cores for Haiku, run

View file

@ -44,7 +44,7 @@ The easiest way to fetch all the cores is to use libretro-super. Run
### Building Cores
The easiest way to build all the cores (for iOS) is to use libretro-super.
The easiest way to build all the cores (for iOS) is to use libretro-super.
To build iOS 6 to 8-compatible cores, run
@ -89,7 +89,7 @@ Building and running from Xcode doesn't code sign the cores the first time for s
##### For iOS 6 to 8
Open Xcode. Open the following project file `pkg/apple/RetroArch_iOS.xcodeproj` in the Xcode IDE and build (**&#8984;-B**) and run (**&#8984;-R**) it there.
Open Xcode. Open the following project file `pkg/apple/RetroArch_iOS.xcodeproj` in the Xcode IDE and build (**&#8984;-B**) and run (**&#8984;-R**) it there.
##### For iOS 10 and up

View file

@ -3,8 +3,8 @@
Compilation on Linux and BSD does not have many surprises, as its foundation is Unix-based.
### Dependencies
- At least one libretro implementation
- pkgconfig
- At least one libretro implementation
- pkgconfig
- Working OpenGL headers (should be included by default, but you might need to install libgl/mesa development packages)
### Optional dependencies
@ -51,7 +51,7 @@ There is a [super-project](https://github.com/libretro/libretro-super) that is d
```bash
NOCLEAN=1 ./libretro-build.sh
```
Omit NOCLEAN=1 if you wish to perform "make clean" on every repo before building
Omit NOCLEAN=1 if you wish to perform "make clean" on every repo before building
### Installing
Let's assume you'd like to install RetroArch into a folder called `~/ra`

View file

@ -1,6 +1,6 @@
# macOS/OSX Compilation / Development Guide
This compilation guide will teach you how to build RetroArch for macOS/OSX.
This compilation guide will teach you how to build RetroArch for macOS/OSX.
The following versions of the operating system are supported:
@ -32,7 +32,7 @@ The following software needs to be installed:
- (Optional) NVIDIA Cg Toolkit
!!! Note
You need to make sure you have the macOS 10.11 SDK or lower when compiling this software, or else the OpenGL driver might have several issues that currently cannot be fixed.
You need to make sure you have the macOS 10.11 SDK or lower when compiling this software, or else the OpenGL driver might have several issues that currently cannot be fixed.
## RetroArch Compilation
@ -81,7 +81,7 @@ To build a release build :
### Fetching Cores
The easiest way to fetch all the cores is to use libretro-super.
The easiest way to fetch all the cores is to use libretro-super.
To get libretro-super, run:
@ -94,7 +94,7 @@ Now you can run the following command to download the source for all cores:
### Building Cores
The easiest way to build all the cores (for iOS) is to use libretro-super.
The easiest way to build all the cores (for iOS) is to use libretro-super.
To build all cores for OSX, run

View file

@ -23,10 +23,10 @@ Clone RetroArch's repository from [GitHub](https://github.com/libretro/RetroArch
git clone https://github.com/libretro/RetroArch.git retroarch
cd retroarch
!!! Note
Versions of git available for OSX PowerPC might not come with the necessary SSL/TLS support that Github now requires. If you happen to find that you can not clone or pull from Github, perform the following command:
git config --global http.sslVerify false.
git config --global http.sslVerify false.
For subsequent builds you only need to pull the changes from the repo
@ -72,7 +72,7 @@ The easiest way to fetch all the cores is to use libretro-super. Run
### Building Cores
The easiest way to build all the cores (for OSX PowerPC) is to use libretro-super.
The easiest way to build all the cores (for OSX PowerPC) is to use libretro-super.
To build all cores for OSX, run

View file

@ -2,7 +2,7 @@
## Environment configuration
You need the homebrew PlayStation 2 SDK and toolchain installed.
You need the homebrew PlayStation 2 SDK and toolchain installed.
You can follow how to install the toolchain over here [ps2toolchain](https://github.com/ps2dev/ps2toolchain)
Additionally you need the PS2 Graphics Synthesizer installed.
@ -53,7 +53,7 @@ Instead of building each core one by one, you can build all cores as a batch tas
Make sure that all the libretro cores that you want to compile are inside the 'dist-scripts' directory.
Once inside this directory, run :
<!--
<!--
./dist-cores.sh ps2 -->
This process will also automate the packaging process for you.
@ -74,11 +74,11 @@ The easiest way to fetch all the cores is to use libretro-super. Run
### Building Cores
The easiest way to build all the cores (for PlayStation Portable) is to use libretro-super. Run
<!--
<!--
./libretro-build-ps2.sh -->
In case you only want to build one and/or more cores instead of all, you can specify the cores you want to build after the first command in no particular order. E.g.:
<!--
<!--
./libretro-build-ps2.sh snes9x2010 fceumm -->
Once finished, you can find the libretro cores inside directory `dist/ps2`.

View file

@ -2,7 +2,7 @@
## Environment configuration
You need the homebrew PlayStation PSP SDK and toolchain installed.
You need the homebrew PlayStation PSP SDK and toolchain installed.
## RetroArch Compilation

View file

@ -2,7 +2,7 @@
## Environment configuration
You need the homebrew PlayStation Vita SDK and toolchain installed.
You need the homebrew PlayStation Vita SDK and toolchain installed.
## RetroArch Compilation

View file

@ -36,7 +36,7 @@ git pull
Each NRO of RetroArch has one and only one core, and each core is a standalone homebrew by itself. That means that building multiple cores means building RetroArch multiple times, once for each core.
Clone the core you want to build from its git repository.
Clone the core you want to build from its git repository.
Then, build it:
@ -57,4 +57,3 @@ make -f Makefile.libnx
That will output `retroarch_switch.nro`: this is your home built copy of RetroArch!
You can then use `nxlink` to send the homebrew to your Switch over Wi-Fi.

View file

@ -53,9 +53,9 @@ You can then start RetroArch by running:
$ ./retroarch
!!! tip
If you're building frequently you may want to add **ccache** to the mix to speed up the build process.
Install ccache via apt and the prepend the ccache symlink directory to your build environment path as shown below.
If you're building frequently you may want to add **ccache** to the mix to speed up the build process.
Install ccache via apt and the prepend the ccache symlink directory to your build environment path as shown below.
For further instructions check the [documentation](https://ccache.samba.org/manual.html#_run_modes)
Install **ccache**:
@ -72,7 +72,7 @@ Configure paths:
### Fetching Cores
You can find the cores on libretro's [GitHUB organization](https://github.com/libretro/).
You can find the cores on libretro's [GitHUB organization](https://github.com/libretro/).
We have an all-in-one tool to fetch and compile cores which you can use to streamline the process.
You can obtain the tool by using these commands:
@ -113,7 +113,7 @@ Get the core's source tree. As an example we'll use [fceumm](https://github.com/
$ git clone https://github.com/libretro/libretro-fceumm.git
Then compile the core:
Then compile the core:
$ cd libretro-fceumm
$ make -f Makefile.libretro
@ -121,5 +121,5 @@ Then compile the core:
Optionally strip the build product:
$ strip fceumm_libretro.so
Most cores will build with these instructions. You might need to browse to a subdirectory in some cases.

View file

@ -2,7 +2,7 @@
## Environment configuration
You need the homebrew Nintendo Wii SDK libogc and Devkitpro PPC toolchain installed.
You need the homebrew Nintendo Wii SDK libogc and Devkitpro PPC toolchain installed.
## RetroArch Compilation
@ -49,7 +49,7 @@ Instead of building each core one by one, you can build all cores as a batch tas
Once inside this directory, run :
./dist-cores.sh wii
./dist-cores.sh wii
This process will also automate the packaging process for you.

View file

@ -82,7 +82,7 @@ pacman -U mingw-w64-i686-nvidia-cg-toolkit-3.1-2-any.pkg.tar.xz
```
For 64-bit builds:
```bash
wget https://sourceforge.net/projects/mingw-w64-archlinux/files/x86_64/mingw-w64-nvidia-cg-toolkit-3.1-2-any_4.pkg.tar.xz/download -O mingw-w64-x86_64-nvidia-cg-toolkit-3.1-2-any.pkg.tar.xz
pacman -U mingw-w64-x86_64-nvidia-cg-toolkit-3.1-2-any.pkg.tar.xz
@ -156,12 +156,12 @@ windeployqt --release --no-patchqt --no-translations retroarch.exe
for i in $(seq 3); do for bin in $(ntldd -R imageformats/*dll | grep -i mingw | cut -d">" -f2 | cut -d" " -f2); do cp -vu "$bin" . ; done; done
```
If you really want to get the required libraries for distribution or for personal use on other devices and LDD doesn't work for you for whatever reason, then you can try [Dependency Walker](http://www.dependencywalker.com/).
If you really want to get the required libraries for distribution or for personal use on other devices and LDD doesn't work for you for whatever reason, then you can try [Dependency Walker](http://www.dependencywalker.com/).
!!! tip
If you're building frequently you may want to add **ccache** to the mix to speed up the build process.
Install ccache via the package manager and the prepend the ccache symlink directory to your build environment path as shown below.
If you're building frequently you may want to add **ccache** to the mix to speed up the build process.
Install ccache via the package manager and the prepend the ccache symlink directory to your build environment path as shown below.
For further instructions check the [documentation](https://ccache.samba.org/manual.html#_run_modes)
Install **ccache** for 32-bit builds:
@ -208,7 +208,7 @@ With **ccache**:
!!! tip
You can also strip the debug symbols of the build product to save some space.
Strip **retroarch**:
Strip **retroarch**:
```bash
strip -s retroarch.exe
@ -218,7 +218,7 @@ strip -s retroarch.exe
### Fetching Cores
You can find the cores on libretro's [GitHUB organization](https://github.com/libretro/).
You can find the cores on libretro's [GitHUB organization](https://github.com/libretro/).
We have an all-in-one tool to fetch and compile cores which you can use to streamline the process.
You can obtain the tool by using these commands:
@ -271,7 +271,7 @@ Get the core's source tree. As an example we'll use [fceumm](https://github.com/
git clone https://github.com/libretro/libretro-fceumm.git
```
Then compile the core:
Then compile the core:
```bash
cd libretro-fceumm

View file

@ -12,7 +12,7 @@ Prerequisites:
### Building RetroArch
!!! Note
Setting up a working git shell is beyond the scope of this document.
Setting up a working git shell is beyond the scope of this document.
The first step is to obtain RetroArch's source tree.
You can clone the repository directly from [GitHub](https://github.com/libretro/RetroArch)

View file

@ -9,4 +9,3 @@ TODO
## Salamander
Salamander is a small RetroArch launcher for embedded platforms with static linking. On such platforms, each core binary contains the core and the complete RetroArch frontend. Switching cores is achieved by just re-launching into a different core binary. Salamander simply launches the most recently used core (or a default one, if none is stored in the config file).

View file

@ -1,12 +1,12 @@
# Overlays
RetroArch supports overlay images for use with hardware accelerated drivers. The purpose of this is to allow some kind of input interface that is mouse/touch oriented. The overlay images are displayed with transparency over the regular game image, and the
RetroArch supports overlay images for use with hardware accelerated drivers. The purpose of this is to allow some kind of input interface that is mouse/touch oriented. The overlay images are displayed with transparency over the regular game image, and the
user is able to trigger input by pressing on certain parts of the overlay.
Since the overlay is a series of images, the user should be able to fully configure the look and functionality of this overlay. This allows skinners and themers to go wild.
### Libretro overlay repositories
The Libretro Organization hosts a repositories on Github that contains a compilation of overlays made with the Overlay Specification.
The Libretro Organization hosts a repositories on Github that contains a compilation of overlays made with the Overlay Specification.
* Interactive overlays are managed within: https://github.com/libretro/common-overlays
* Decorative border overlays are managed within: https://github.com/libretro/overlay-borders
@ -15,11 +15,11 @@ The Libretro Organization hosts a repositories on Github that contains a compila
## Configuration
The overlay is described in a config file (.cfg). The config file uses the same config
The overlay is described in a config file (.cfg). The config file uses the same config
file syntax as RetroArch itself.
The overlay system supports use of multiple overlays that can be switched out on the fly.
Input is not only restricted to gamepad input, but can also work with any input that is
The overlay system supports use of multiple overlays that can be switched out on the fly.
Input is not only restricted to gamepad input, but can also work with any input that is
bindable in RetroArch, e.g. save states, rewind, load state, etc.
The config file describes:
@ -31,39 +31,39 @@ The config file describes:
## Overlay images
First we configure how many overlays we use. Every overlay can have one overlay which fills
the entire rectangle (overlay%u_rect), but is optional. The full-rect overlay is supported
for compatibility with older format. It is less flexible than per-button overlays and
First we configure how many overlays we use. Every overlay can have one overlay which fills
the entire rectangle (overlay%u_rect), but is optional. The full-rect overlay is supported
for compatibility with older format. It is less flexible than per-button overlays and
is discouraged.
overlays = 2
overlay0_overlay = overlay_img0.png # Optional
overlay1_overlay = overlay_img1.png # Optional
The paths are relative to where the overlay config is loaded from. If the path is absolute,
The paths are relative to where the overlay config is loaded from. If the path is absolute,
absolute paths will be used. On Unix-like systems ~/ is recognized as $HOME/.
## Screen placement
By default, the overlay image will be stretched out to fill the whole game image. However,
By default, the overlay image will be stretched out to fill the whole game image. However,
for some overlays, this is not practical.
It is possible to set the placement using for example:
overlay0_rect = "0.2,0.3,0.5,0.4"
We assume that the game screen has normalized coordinates in X and Y that span from [0, 0] in
We assume that the game screen has normalized coordinates in X and Y that span from [0, 0] in
the top-left corner to [1, 1] in the lower-right corner.
This will render the overlay to x = 0.2, y = 0.3 with size width = 0.5, height = 0.4. The
This will render the overlay to x = 0.2, y = 0.3 with size width = 0.5, height = 0.4. The
default (stretch to full screen) could be described as such:
overlay0_rect = "0.0,0.0,1.0,1.0"
## Full-screen vs. full-viewport overlays
By default, overlays will be stretched out to fill game viewport. However, in some cases the
aspect ratio of the game causes there to remain large black borders around the game image.
By default, overlays will be stretched out to fill game viewport. However, in some cases the
aspect ratio of the game causes there to remain large black borders around the game image.
It is possible to stretch the overlay to full screen (instead of viewport) by specifying this option:
@ -82,45 +82,45 @@ The format is:
"button,position_x,position_y,hitbox_type,range_x,range_y"
button corresponds to the input event being generated. The names are the same as in the
general input config, e.g. input_player1_start would translate to start here. overlay_next is a
special bind designed to swap to the next overlay, or wrap around to the first one.
button corresponds to the input event being generated. The names are the same as in the
general input config, e.g. input_player1_start would translate to start here. overlay_next is a
special bind designed to swap to the next overlay, or wrap around to the first one.
Button nul means no input.
For an up-to-date view of what buttons are called, check the input_config_key_map variable in:
For an up-to-date view of what buttons are called, check the input_config_key_map variable in:
[https://github.com/libretro/RetroArch/blob/master/input/input_keymaps.c](https://github.com/libretro/RetroArch/blob/master/input/input_keymaps.c).
position_x and position_y are the x and y coordinates in pixels of the source image for the
center of the button. It is possible to use normalized coordinates as well. This is necessary
when a full-screen overlay is not used. overlay0_desc0_normalized = true will force normalized
position_x and position_y are the x and y coordinates in pixels of the source image for the
center of the button. It is possible to use normalized coordinates as well. This is necessary
when a full-screen overlay is not used. overlay0_desc0_normalized = true will force normalized
coordinates. overlay0_normalized = true sets all descriptors to true unless overridden specifically.
hitbox_type describes which type of shape the button has. radial (circle, ellipsis) and
hitbox_type describes which type of shape the button has. radial (circle, ellipsis) and
rect (rectangular) shapes are supported.
range_x and range_y describe the size of the button. The semantics differ slightly for radial
and rect hitbox types. For radial shape, range_x and range_y describe the radius in x and y
directions in pixels of the source image. For rect shape, the range_x and range_y values represent
the distance from center to the edge of the rect in terms of pixels of the source image.
range_x and range_y describe the size of the button. The semantics differ slightly for radial
and rect hitbox types. For radial shape, range_x and range_y describe the radius in x and y
directions in pixels of the source image. For rect shape, the range_x and range_y values represent
the distance from center to the edge of the rect in terms of pixels of the source image.
E.g. a range_x of 20 would mean the width of the rectangular is 40 pixels in total.
A special type of button is analog_left and analog_right. These translate to analog sticks.
These buttons must have hitbox type radial. It is possible to configure where saturation kicks in
using overlay%u_desc%u_saturate_pct. E.g. a value of 0.75 means the 75% inner part contains the
A special type of button is analog_left and analog_right. These translate to analog sticks.
These buttons must have hitbox type radial. It is possible to configure where saturation kicks in
using overlay%u_desc%u_saturate_pct. E.g. a value of 0.75 means the 75% inner part contains the
entire analog range. Outside the 75% it will be fully saturated.
## Using per-button overlays
It is possible to use individual overlays per button. The given image will be displayed with
It is possible to use individual overlays per button. The given image will be displayed with
same size as the hitbox in the input descriptor.
overlay0_desc0_overlay = button.png
## Let overlay buttons move around when pressed
For especially overlay buttons which map to analogs, it is useful to allow an image to follow
the movement of the finger. To enable an overlay to follow the finger movement within its
For especially overlay buttons which map to analogs, it is useful to allow an image to follow
the movement of the finger. To enable an overlay to follow the finger movement within its
bounding area use the movable attribute:
overlay0_desc0_overlay = analog.png # Need some per-descriptor overlay
@ -128,7 +128,7 @@ bounding area use the movable attribute:
## Let buttons light up when they are pressed
When using individial overlays per button it will make sense to have buttons light up
When using individial overlays per button it will make sense to have buttons light up
when they are pressed. To do this, the alpha value per-button will be multiplied by a factor.
overlay0_desc0_alpha_mod = 2.0 # Alpha is multiplied 2x when pressed.
@ -154,7 +154,7 @@ will trigger both left and up at same time.
## Go to arbitrary overlay index
To build some kind of menu system, one would need the ability for overlay_next to
To build some kind of menu system, one would need the ability for overlay_next to
refer to any overlay. To do this, two extra things must be configured:
overlay2_overlay = "some_overlay.png"

View file

@ -2,17 +2,17 @@
## Files you need to change
msg_hash_us.c
msg_hash_us.h
msg_hash_\*\*.c (If you speak more than one language)
msg_hash_\*\*.h (If you speak more than one language)
msg_hash_lbl.h
msg_hash.h
menu_cbs_sublabel.c
menu_setting.c
menu_displaylist.c
configuration.c
configuration.h
msg_hash_us.c
msg_hash_us.h
msg_hash_\*\*.c (If you speak more than one language)
msg_hash_\*\*.h (If you speak more than one language)
msg_hash_lbl.h
msg_hash.h
menu_cbs_sublabel.c
menu_setting.c
menu_displaylist.c
configuration.c
configuration.h
config.def.h
## Creating the menu variable
@ -44,7 +44,7 @@ The variables name must now be configured
The option is now defined but the menu has still not been told to display it.
## Displaying your option
## Displaying your option
Now the menu has to be told how to display the option.

View file

@ -90,12 +90,12 @@ float4 main_fragment ( uniform sampler2D s0 : TEXUNIT0, float2 tex : TEXCOORD) :
}
```
This is arguably simpler than the vertex shader. Important to notice are:
This is arguably simpler than the vertex shader. Important to notice are:
* `sampler2D` is a handle to a texture in Cg. The semantic here is `TEXUNIT0`, which means that it refers to the texture in texture unit 0. This is also part of the specification.
* `float2 tex : TEXCOORD` is the interpolated coordinate we received from the vertex shader.
* `tex2D(s0, tex);` simply does texture lookup and returns a `COLOR`, which is emitted to the framebuffer.
Practically every fragment does more than one texture lookup. For example, classic pixel shaders look at the neighbor pixels as well to determine the output. But where is the neighbor pixel? Well revise the fragment shader and try to make a really blurry shader to demonstrate. We now need to pull up some uniforms. We need to know how to modify our tex coordinates so that it points to a neighbor pixel.
```c
@ -238,7 +238,7 @@ filter_linear1 = true
```
### Entry points:
- Vertex: `main_vertex`
- Fragment: `main_fragment`
@ -256,7 +256,7 @@ The texture coordinate origin is defined to be top-left oriented. A texture coor
Some parameters will need to be passed to all shaders, both vertex and fragment program. A generic entry point for fragment shader will look like:
```c
float4 main_fragment (float2 tex : TEXCOORD0,
float4 main_fragment (float2 tex : TEXCOORD0,
uniform input IN, uniform sampler2D s_p : TEXUNIT0) : COLOR
{}
```
@ -299,7 +299,7 @@ Rather than putting everything into one file (XML shader format), this format is
## Format
The meta-shader format is based around the idea of a config file with the format: `key = value`. Values with spaces need to be wrapped in quotes: key = "value stuff".
The meta-shader format is based around the idea of a config file with the format: `key = value`. Values with spaces need to be wrapped in quotes: key = "value stuff".
No .ini sections or similar are allowed. Meta-shaders may include comments, prefixed by the "#" character, both on their own in an otherwise empty line or at the end of a key = value pair.
@ -342,7 +342,7 @@ It is possible to set `scale_type_xN` and `scale_type_yN` to specialize the scal
**Exceptions**
- If no `scale_type` is set for the very last shader, it is assumed to output at the full resolution rather than assuming
a scale of `1.0x`, and bypasses any frame-buffer object rendering.
a scale of `1.0x`, and bypasses any frame-buffer object rendering.
- If there is only one shader, it is also considered to be the very last shader. If any scale option is defined, it has to go through a frame-buffer object, and subsequently rendered to screen. The filtering option used when stretching
is implementation defined. It is encouraged to not have any scaling parameters in last pass if you care about the filtering
option here.

View file

@ -10,14 +10,14 @@ As the reference libretro frontend, RetroArch supports three shader languages:
| [GLSL](glsl-shaders.md) | GL Shading Language, OpenGL, OpenGL ES, and EGL contexts including KMS mode in Linux) |
| [Cg (deprecated)](cg-shaders.md) | HLSL/GLSL, nVidia |
| [XML (discontinued)](xml-shaders.md) | GLSL |
When possible, it is recommended to use Slang shaders for supporting the widest variety of modern systems.
RetroArch is able to stack these shaders to create a combined effect. These complex effects are saved with a special extension:
- `.slangp` for Slang
- `.glslp` for GLSL
- `.cpg` for Cg
- `.cpg` for Cg
## Common Shaders Repository

View file

@ -412,7 +412,7 @@ Other than uniforms related to textures, there are other special uniforms availa
- `FinalViewportSize`: a `vec4(x, y, 1.0 / x, 1.0 / y)` variable describing the render target size for the final pass. Accessible from any pass.
- `FrameCount`: an `uint` variable taking a value which increases by one every frame. This value could be pre-wrapped by modulo if specified in preset. This is useful for creating time-dependent effects.
- `FrameDirection`: an `int` variable which indicates whether the content is currently being rewinded. Has a value of `-1` while rewinding, otherwise `1`.
#### Aliases
Aliases can give meaning to arbitrary names in a slang file. This is mostly relevant for LUT textures, shader parameters and accessing other passes by name.

View file

@ -62,4 +62,4 @@ The ruby prefix was later deprecated and you could use TexCoord, VertexCoord etc
## Moving off XML shaders
XML shaders as a whole are deprecated in RetroArch, and will not be selectable in RGUI. You can still use them via video_shader config option. To use GLSL in RetroArch, the new GLSL shaders format is used, which mirrors the Cg shaders implementation quite well. The new GLSL shaders only support modern style, no fixed function. To convert XML shaders into straight GLSL, see GLSL shaders.
XML shaders as a whole are deprecated in RetroArch, and will not be selectable in RGUI. You can still use them via video_shader config option. To use GLSL in RetroArch, the new GLSL shaders format is used, which mirrors the Cg shaders implementation quite well. The new GLSL shaders only support modern style, no fixed function. To convert XML shaders into straight GLSL, see GLSL shaders.

View file

@ -10,7 +10,7 @@ When a user presses the AI Service hotkey, RetroArch will grab the screen of the
The main supported service to use is the vgtranslate project: ( https://gitlab.com/spherebeaker/vgtranslate ). This project is a python server you can run locally (or on your network) and uses Google Cloud OCR, and Google Text-to-Speech APIs with the Google Cloud keys you provide.
Other supported services are in the Alternative Services section.
Other supported services are in the Alternative Services section.
## How to set it up
@ -49,9 +49,8 @@ There are some other options for translating game screens that don't require a s
### ZTranslate
[ZTranslate](https://ztranslate.net) uses a standalone client app for Windows or Linux that grabs the screen of the window currently in focus and displays a translated version in the ZTranslate client window. Besides automatic translation (which needs a ztranslate.net api key), it also supports package-based translations, which is like a translation patch for a rom, but for game screens instead. For more information see https://ztranslate.net/docs
[ZTranslate](https://ztranslate.net) uses a standalone client app for Windows or Linux that grabs the screen of the window currently in focus and displays a translated version in the ZTranslate client window. Besides automatic translation (which needs a ztranslate.net api key), it also supports package-based translations, which is like a translation patch for a rom, but for game screens instead. For more information see https://ztranslate.net/docs
### RetroArch-AI-with-IoTEdge
[RetroArch-AI-with-IoTEdge](https://github.com/toolboc/RetroArch-AI-with-IoTEdge) uses IoTEdge and Azure Cognitive Services Containers (requires microsoft Azure account) to translate RetroArch screenshots and display them on a Lakka device. For more information see https://github.com/toolboc/RetroArch-AI-with-IoTEdge/blob/master/README.md

View file

@ -3,7 +3,7 @@
The following is a non-developer guide to install RetroArch on non-jailbroken iOS devices. We're going to try to improve the process and possibly include the iOS cores in a download, but until then, here is a way to build RetroArch to get it running on your iPhone, iPad, or Apple TV.
!!! note
You can find latest built in [here](http://buildbot.libretro.com/stable/1.8.8/apple/tvos/RetroArch-tvOS.ipa)
You can find latest built in [here](http://buildbot.libretro.com/stable/1.8.8/apple/tvos/RetroArch-tvOS.ipa)
## Building From Source using Xcode

View file

@ -26,7 +26,7 @@ Although the defaults will suit most users, if you want to configure custom BIOS
### Cores
This is the location for all your cores. To [install them using the user interface](download-cores.md#installing-cores-through-retroarch-interface), this setting needs to point to a writeable directory.
This is the location for all your cores. To [install them using the user interface](download-cores.md#installing-cores-through-retroarch-interface), this setting needs to point to a writeable directory.
!!! note
The Ubuntu PPA does not point this to a user-writable directory because cores are modified by the package manager. If you want to change it manually, you might want to change this directory from "retroarch.cfg" with a text editor since the RetroArch file browser doesn't show hidden folders by default. *libretro_directory =* is what you need to change in the config file. Some distributions use `~/.config/retroarch/cores/`

View file

@ -61,7 +61,7 @@ You can also use the "Number of Iterations", "Value Increase Each Iteration", an
This is useful for things like unlocking all levels, giving yourself 1 of every item, setting all of your RPG stats to 999, etc.
Usually when you have found a cheat for a specific item (e.g. your strength attribute in an RPG), similarly themed values are found in the same memory area. For example, if the strength attribute
was found at memory address 0x0000AB04 then the dexterity attribute might be at 0x0000AB08, intelligence at 0x0000AB0C, etc.
was found at memory address 0x0000AB04 then the dexterity attribute might be at 0x0000AB08, intelligence at 0x0000AB0C, etc.
This feature is also useful for experimenting. If you found your strength attribute at memory address 0x0000AB04, then you might increase the number of iterations by 20 to see what changes in the game and if any of those changes are desirable. Note that experimenting like this has a good chance of crashing your game, so have a save state prepared before blindly attempting to write to memory.
@ -95,10 +95,10 @@ The "Value Increase Each Iteration" would normally be 0 in the above scenario bu
# RetroArch rumble codes
RetroArch also has the ability to make your controller rumble when changes in the emulator/core memory occur. It is based off of the same RetroArch-handled cheat codes described above. For example, after
finding the memory location for the number of lives in a game (via the cheat searching interface) you can set it up such that every time the value decreases (lose a life) the controller rumbles.
RetroArch also has the ability to make your controller rumble when changes in the emulator/core memory occur. It is based off of the same RetroArch-handled cheat codes described above. For example, after
finding the memory location for the number of lives in a game (via the cheat searching interface) you can set it up such that every time the value decreases (lose a life) the controller rumbles.
Rumble tested with X360 controller, input driver dinput, joypad driver xinput.
Rumble tested with X360 controller, input driver dinput, joypad driver xinput.
Available rumble controls:

View file

@ -8,7 +8,7 @@ Note: please be aware of whether your system uses DOS/Windows style paths with b
#### Loading a ROM and libretro core (Unix-style path)
retroarch -L /path/to/libretro/core.so game.rom
#### Loading a ROM and libretro core with flatpak
retroarch -L /path/to/libretro/core.so game.rom
flatpak run org.libretro.RetroArch/x86_64/stable -L /home/MYUSERNAME/.var/app/org.libretro.RetroArch/config/retroarch/cores/nestopia_libretro.so Tetris.nes

View file

@ -2,7 +2,7 @@
Cores are essentially other programs and games that run through RetroArch. RetroArch requires cores to run any content.
!!! tip
!!! tip
Many game console may have multiple emulator cores, the question of which one is the best may come up. Emulators can be designed to be more accurate at the cost of a performance hit, check out the Emulation General Wiki for a good look at what will suit your needs and hardware.
## Installing cores through RetroArch interface

View file

@ -6,7 +6,7 @@ For this part of the setup guide we will be teaching you how to use RetroArch's
To make your content easier to get to, you should change the default directory. This would be a good first use of the file browser.
Move to the settings tab then find **Directory**, then move to **File Browser**.
Move to the settings tab then find **Directory**, then move to **File Browser**.
The first screen should show the storage devices move to the one that contain your game content and press enter.

View file

@ -65,7 +65,7 @@ If you **haven't installed** RetroArch and have a folder with it:
Select `Open PowerShell window here`.<br />
Then jump to step 3.
1. Open a console window with the `cmd` command, found either in the Start Menu or through use of the Windows "Run" menu.
1. Open a console window with the `cmd` command, found either in the Start Menu or through use of the Windows "Run" menu.
2. Navigate to the RetroArch folder using the `cd` command.
3. Launch RetroArch with this commandline:<br />
`.\retroarch.exe --log-file .\retroarch-log.txt -v`

View file

@ -24,7 +24,7 @@ Please be aware that some cores, for example arcade emulator cores and vintage c
!!! tip
Controls with keyboard interfaces can also benefit from defining a **Hotkey Enable** button in RetroArch which is required to be held down in order to activate the other hotkeys.
## Manual RetroPad binding
If your gamepad does not have an autoconfiguration or if you would like to change its default RetroPad binding, use the **Input** settings menu.
@ -40,7 +40,7 @@ If your gamepad does not have an autoconfiguration or if you would like to chang
!!! tip
If you have several different controller types you may want to use the **User 1 Save Autoconfig** followed by **User 1 Bind Default All** options after binding in order to achieve hotplug functionality
## Controls for multi-player
## Controls for multi-player
If you want to set-up local multi-player with games that supports it:
@ -156,7 +156,7 @@ Touch mouse emulation: The Switch touchscreen can be used for mouse control like
| Touch Input | Effect |
|--------------------------|--------------------------------------------------------|
| single finger drag | move the mouse pointer (indirectly like on a touchpad) |
| single finger drag | move the mouse pointer (indirectly like on a touchpad) |
| single short tap | left mouse click |
| dual finger short tap* | right mouse click |
| dual finger drag | drag'n'drop (left mouse button is held down) |

View file

@ -30,7 +30,7 @@ To reduce loading time for Cores and Content to under 5 seconds each, complete t
- **Create directory for unused cores**. A directory name such as `/RetroArch/Cores-Notused` could be created for unused Cores.
- **Move the unused Cores**. Finally, move unused Cores from `/RetroArch/Cores` to `/RetroArch/Cores-Notused`
After moving unused Cores as outlined above, RetroArch Cores should start in about 5 seconds. Content should load in about 5 seconds as well.
After moving unused Cores as outlined above, RetroArch Cores should start in about 5 seconds. Content should load in about 5 seconds as well.
As additional Cores are needed, simply move them from `/RetroArch/Cores-Notused` to `/RetroArch/Cores`. This ensures only the required Cores are initialized by RetroArch, minimizing start times for Cores and Content.
@ -49,12 +49,12 @@ This approach will work fine as long as the MAME Content romset is a **Full Non-
Much of the Content loaded by the RetroArch MAME Cores uses a `Vertical display perspective` for the top 3DS screen, requiring the user to rotate the 3DS counter-clockwise in order to properly see the game content and access the game controls. When using Content in this configuration, the default controls won't be suitable (as the controls are typically configured for `Horizontal display perspective`).
One approach to address the issue is to configure `Global Options` for controls, which would apply to the majority of games (such as `Vertical display perspective`). For games which have a different layout (`Horizontal display perspective`), the MAME menu may be used to configure a game controller configuration for that specific Content.
One approach to address the issue is to configure `Global Options` for controls, which would apply to the majority of games (such as `Vertical display perspective`). For games which have a different layout (`Horizontal display perspective`), the MAME menu may be used to configure a game controller configuration for that specific Content.
A simple configuration example follows, in case the majority of Content uses a Vertical configuration. Load `RetroArch`, then:
- **Bind a Menu hotkey** From `Main Menu` navigate to `Settings->Input->Hotkeys`. Scroll down to `Menu Toggle Gamepad Combo` or `Menu (Toggle)` and configure as desired, to display the `Menu` within Content.
- **Configure Global Control for Vertical Content** From Main Menu navigate to `Settings->Input->Port 1 Controls`. Configure as desired.
- **Configure Global Control for Vertical Content** From Main Menu navigate to `Settings->Input->Port 1 Controls`. Configure as desired.
- **Configure In-Game Control for a piece of Horizontal Content** Load the content, then press the defined `Hotkey` to display the `Quick Menu`. Scroll down and select `Options`, then scroll down to select `Display MAME menu`; change to `ON`, then resume content. On the `MAME menu` select `Input (this game)` and adjust the settings as desired. Finally, use the previous steps to set `Display MAME menu` back to `OFF`. Controls are now set properly for the game.
Following the above ensures all Content may use the proper control configuration.

View file

@ -8,7 +8,7 @@ There are multiple ways of downloading RetroArch for your Android device. Depend
___
1. Open the Google Play Store app ![Google Play Store Logo](../image/guides/google-playstore-logo.png)
* Note: you can also go to play.google.com
2. Search for **RetroArch**.
2. Search for **RetroArch**.
3. Select **RetroArch** then **Download**.
This will download the latest stable version. Or you can go to the Google Play Store page by clicking here for [64bit](https://play.google.com/store/apps/details?id=com.retroarch.aarch64&hl=en_US "RetroArch64") or by clicking here for [32bit](https://play.google.com/store/apps/details?id=com.retroarch&hl=en "RetroArch").
@ -20,7 +20,7 @@ ___
1. Go to www.retroarch.com then click **Get RetroArch** or [click here](https://www.retroarch.com/?page=platforms) on your device.
2. Scroll down until **Android** section.
3. Select either **Download** or **Download (64bit)**.
> There are several ways to determine if you have 64bit or 32bit version. You can use app like *Antutu* or *AIDA64*. You can still find out without app.
> There are several ways to determine if you have 64bit or 32bit version. You can use app like *Antutu* or *AIDA64*. You can still find out without app.
>>
>Go to `Settings` - `System` and check `Kernel version`. If the code inside contains **x64** string, your device has a `64-bit OS`; if you cannot find this string, then is **32-bit**.
4. Click on the downloaded APK file.

View file

@ -7,7 +7,7 @@ There are multiple ways of downloading RetroArch for your iOS device. Depending
## Prerequisites
- **iTunes** We need iTunes to transfer content and for `Cydia Impactor` to work properly.
- **Cydia Impactor** You can use this tool to install IPA files on iOS and APK files on Android.
- **Cydia Impactor** You can use this tool to install IPA files on iOS and APK files on Android.
!!! Warning
RetroArch or Libretro is not affiliated with Cydia Impactor in anyway. You can also use alternative applications that can do this function.
@ -20,7 +20,7 @@ ___
In order to install the RetroArch on your non-Jailbreak device, we need to use a third-party application. The name of this application is Cydia Impactor and is not associated with LibRetro or RetroArch. You need to provide the Cydia Impactor yourself, you can reach the desired result using your favorite search engine.
1. Run the **Cydia Impactor**.
2. Drag and drop the `.ipa` file onto **Cydia Impactor**.
2. Drag and drop the `.ipa` file onto **Cydia Impactor**.
3. Enter the email for your **iTunes** account.
4. Enter the password for your **iTunes** account.
* Note: You will encounter an error and will ask you to create an application-specific password
@ -40,7 +40,7 @@ We will continue from here on your iOS device. You can see `RetroArch` on your s
3. You will see your iCloud e-mail address that you entered before, just click on it.
4. Click Trust "your-email-address@icloud.com"
Now you are free to run RetroArch.
Now you are free to run RetroArch.
## Content transfer via iTunes
___

View file

@ -26,7 +26,7 @@ The following softwares are fine however you can use any other software you want
#### Etcher
Etcher is a free and open-source utility used for burning image files such as .iso and .img files, as well as zipped folders to create live SD cards and USB flash drives.
Etcher is a free and open-source utility used for burning image files such as .iso and .img files, as well as zipped folders to create live SD cards and USB flash drives.
• Run **Etcher**
 Select `Lakka Image`
@ -38,7 +38,7 @@ Etcher is a free and open-source utility used for burning image files such as .i
This program is designed to write a raw disk image to a removable device or backup a removable device to a raw image file.
• Click on the **folder icon**
 Select the **image file**
 Select the **image file**
 Select drive letter **UNDER DEVICE**
• Click **Write**

View file

@ -2,7 +2,7 @@
## Nintendo Switch
!!! Note
!!! Note
You need to have Atmosphère custom firmware to run RetroArch on your Switch.
!!! Warning

View file

@ -16,7 +16,7 @@ At this time we can only use the Stable version of 1.8.2, this will be improved
#### Downloading
You can download a bundle with RetroArch, all the supported cores and all the assets by clicking [here](http://buildbot.libretro.com/stable/1.8.2/playstation/ps2/RetroArch_elf.7z).
You can download a bundle with RetroArch, all the supported cores and all the assets by clicking [here](http://buildbot.libretro.com/stable/1.8.2/playstation/ps2/RetroArch_elf.7z).
#### Installing

View file

@ -2,7 +2,7 @@
## Sony Playstation 3
!!! Note
!!! Note
You need to have any-CFW(Rebug, Ferrox etc.) custom firmware to run RetroArch on your PlayStation 3.
!!! Warning

View file

@ -23,7 +23,7 @@ At this time we can only use the Stable version of 1.8.2, this will be improved
#### Downloading
You can download a bundle with RetroArch, all the supported cores and all the assets by clicking [here](https://buildbot.libretro.com/stable/1.8.2/playstation/psp/RetroArch.7z).
You can download a bundle with RetroArch, all the supported cores and all the assets by clicking [here](https://buildbot.libretro.com/stable/1.8.2/playstation/psp/RetroArch.7z).
#### Installing

View file

@ -2,7 +2,7 @@
## PlayStation Vita
!!! Note
!!! Note
You need to have custom firmware(HENkaku) to run RetroArch on your PlayStation Vita.
!!! Warning
@ -21,7 +21,7 @@ We're gonna download two files to get the full experience. One of these files is
#### Downloading
You can download a stable RetroArch by clicking [here](http://buildbot.libretro.com/stable/1.7.9/playstation/vita/RetroArch.vpk). If you want to install the Nightly version, you can also use [this link](http://buildbot.libretro.com/nightly/playstation/vita/RetroArch.vpk).
You can download a stable RetroArch by clicking [here](http://buildbot.libretro.com/stable/1.7.9/playstation/vita/RetroArch.vpk). If you want to install the Nightly version, you can also use [this link](http://buildbot.libretro.com/nightly/playstation/vita/RetroArch.vpk).
From now on, there are two ways to download our assets. This option will affect your setup method. We're going use the **bundle** this time.

View file

@ -9,7 +9,7 @@ This is probably the most straightforward way to install RetroArch.
- FAT32 formatted USB
## Download
## Download
You can find a cores bundle with RetroArch by clicking [here](https://www.retroarch.com/index.php?page=platforms) and scroll down until you see the **Steam Link** section.
@ -21,7 +21,7 @@ Getting RetroArch ready to install is very simple. Create the file structure in
> steamlink/apps/
Unzip the `RetroArch.zip`, move the `RetroArch` folder into the `apps` folder we just created.
Unzip the `RetroArch.zip`, move the `RetroArch` folder into the `apps` folder we just created.
## Content Management
@ -38,7 +38,7 @@ Then, enter the `System` directory and create an empty text file named `enable_s
Within this, create a blank text file, and label it **enable_ssh.txt**. The final directory structure should be as follows:
> steamlink/config/system/enable_ssh.txt
>
>
### USBmount
USBmount is an alternative way to connect `/mnt/disk`. You can find more detailed information in the link below.

View file

@ -3,7 +3,7 @@
## Downloading
First decide if you want a stable release or a nightly.
First decide if you want a stable release or a nightly.
### Stable
@ -50,7 +50,7 @@ From here you can launch content, change settings and build up your content coll
## Keyboard Controls
The RetroArch user interface is designed with gamepad navigation in mind but it also features robust keyboard and mouse support. Learn more about keyboard input at [Input and Controls](input-and-controls.md).
## Gamepad Controls
XINPUT controllers should work out of the box. If the controller can be autoconfigured the OSD will inform you of the autoconfiguration event. We also include autoconf profiles for many popular controllers. If your controller doesn't auto configure you can follow this procedure:

View file

@ -9,7 +9,7 @@ The matching algorithm considers three criteria:
- Device name
- Vendor ID
- Product ID
We compute a matching score for each configuration file based on these three factors. The profile with the highest score is chosen to configure the pad.
!!! Note

View file

@ -23,7 +23,7 @@
- Same RetroArch version, same core version, and the same exact content.
### RetroArch says *Content not found, try loading content manually*
### RetroArch says *Content not found, try loading content manually*
- Either load content manually, have the content in your recent history list, or scan your content to a playlist.

View file

@ -16,7 +16,7 @@ Once **Show Advanced Settings** is on, proceed to the **Network** configurations
##Setup Guide
The following example of Super Bomberman 2 on the SNES will be used to demonstrate four (4) players using two (2) computers. The host will be controlling players one (1) and three (3), and the client will be controlling players two (2) and four (4).
The following example of Super Bomberman 2 on the SNES will be used to demonstrate four (4) players using two (2) computers. The host will be controlling players one (1) and three (3), and the client will be controlling players two (2) and four (4).
### Host
#### Input Devices

View file

@ -46,6 +46,6 @@ Windows Vista and up suffer problems with OpenGL in windowed mode where it appea
## macOS problems
If you are experiencing periodic issues of audio and video stuttering and have multiple displays attached to your computer, this may be the cause. The solution is to limit macOS to a single display.
If you are experiencing periodic issues of audio and video stuttering and have multiple displays attached to your computer, this may be the cause. The solution is to limit macOS to a single display.
For example, if you are running on a laptop with a single external display, it is sufficient to close your laptop lid or turn off the external display.

View file

@ -36,7 +36,7 @@ The RetroArch loading process is:
!!! note
Core-specific or content directory-specific overrides that are not in game-specific overrides persist and will be loaded.
Also once you have created an override any future changes will need to be saved via the Quick Menu.
### Options *(.opt)* & Shader Presets *(.cgp|.glslp|.slangp)*
Custom per game core options and shader presets work slightly differently. These are full configurations and are loaded instead of the base shader preset and core option settings.
@ -77,7 +77,7 @@ The override system activates on loading of content. RetroArch applies config se
- `/config/<name-of-core>/name-of-core.cfg` *(This path is set under `Settings -> Directory -> Config`)*
These settings files are created from the `Quick Menu -> Save Core Overrides` option and contain ANY (supported) settings you have changed since loading content. These settings will be loaded every time you load content with that core.
These settings files are created from the `Quick Menu -> Save Core Overrides` option and contain ANY (supported) settings you have changed since loading content. These settings will be loaded every time you load content with that core.
**Per Content Directory Override**
@ -93,10 +93,9 @@ These settings files are created as above with the `Quick Menu -> Save Game Over
### Input Remaps
Input remaps use the same logic as core/directory/game overrides and use the `.rmp` extension. They can be adjusted and saved from:
Input remaps use the same logic as core/directory/game overrides and use the `.rmp` extension. They can be adjusted and saved from:
- `Quick Menu -> Controls -> Save Core Remap File`
- `Quick Menu -> Controls -> Save Content Directory Remap File`
- `Quick Menu -> Controls -> Save Game Remap File`
- `Quick Menu -> Controls -> Save Content Directory Remap File`
- `Quick Menu -> Controls -> Save Game Remap File`
Set the save directory in `Settings -> Directory -> Input Remapping` *(by default they will save to `/config/remaps/<name-of-core>/`)*

View file

@ -211,11 +211,11 @@ Open the output `WALLPAPER_NAME_indexed.png` file and check that colors/gradient
- In the `Indexed Color Conversion` pop-up, select:
- `Generate optimum palette`
- `Maximum number of colors:` `16`
- `Color dithering:` EITHER `Floyd-Steinberg (normal)` OR `Floyd-Steinberg (reduced color bleeding` (use whichever looks best, but the other options here will not work)
- Press `Convert`
- Inspect the result. Some manual touch-up may be required. (If the image is disagreeable at this stage, then the wallpaper probably isn't going to work - so start over...)

View file

@ -16,7 +16,7 @@ Game ROMs should be placed within the `roms` folder as configured in RetroArch.
32X Game 2.zip
etc.
etc.
This arrangement is not required and you are free to organize your ROMs as you prefer.
## Working with Playlists
@ -52,7 +52,7 @@ Each playlist is a plain text file with an extension of `.lpl`. RetroArch 1.7.5
The following example is a single-entry MAME 2003-Plus playlist for [Alien Arena](https://www.arcade-museum.com/game_detail.php?game_id=6850) -- the silent version of this game is available through the RetroArch **Content Downloader** found in the **Online Updater** menu.
The playlist is named `MAME 2003-Plus.lpl` which means it will match the existing icon for that core's playlists in the RetroArch assets pack and display it for the playlist for menu drivers that implement playlist icons.
The playlist is named `MAME 2003-Plus.lpl` which means it will match the existing icon for that core's playlists in the RetroArch assets pack and display it for the playlist for menu drivers that implement playlist icons.
The **Alien Arena** romset is located at `C:\retroarch\downloads\alienar.zip`; note that the backslashes are doubled in JSON-formatted playlist entries so that the value of the `path` entry is `C:\\retroarch\\downloads\\alienar.zip`.
@ -121,7 +121,7 @@ Users who wish to use their own thumbnails can do so by naming PNG image files a
#### Thumbnail paths and filenames
Thumbnails should be stored in subfolders within the configured RetroArch `thumbnails` directory within a subfolder named exactly the same as the playlist, except without `.lpl` at the end. **Example: If your playlist is named `Atari - 2600.lpl`, then your Atari 2600 root thumbnail folder should be called `thumbnails/Atari - 2600/`.**
Within this root thumbnail folder called `Atari - 2600`, you should then create subfolders named `Named_Boxarts`, `Named_Snaps`, or `Named_Titles` for boxart/cover art, in-game snapshots, and title screens, respectively.
Within this root thumbnail folder called `Atari - 2600`, you should then create subfolders named `Named_Boxarts`, `Named_Snaps`, or `Named_Titles` for boxart/cover art, in-game snapshots, and title screens, respectively.
The thumbnail filename should exactly match the game's title as listed in the playlist with an important exception. **The following characters in playlist titles must be replaced with `_` in the corresponding thumbnail filename:** `` &*/:`<>?\| ``

View file

@ -1,13 +1,13 @@
# RetroArch Run Ahead
Every game has a certain built-in amount of lag, some react on the next displayed frame, some can take 2, 3 or even more frames before an action on the gamepad finally get rendered on screen.
Every game has a certain built-in amount of lag, some react on the next displayed frame, some can take 2, 3 or even more frames before an action on the gamepad finally get rendered on screen.
The Run Ahead feature calculates the frames as fast as possible in the background to "rollback" the action as close as possible to the input command requested.
That feature deals with "internal" game logic lag.
That feature deals with "internal" game logic lag.
This means you can still take advantage of other RetroArch lag reduction methods that happens later, such as Hard GPU Sync or Frame Delay.
It's located in **Quickmenu > Latency** (also in Settings > Latency).
## How many frames to Run Ahead?
We need to find **the shortest internal input lag** a game can have, it's usually just moving the character:
@ -20,16 +20,16 @@ At best an action will be visible on the next frame, so the frames of lag are **
If you did select an higher number than needed, you will see a stutter/rollback when pushing buttons and possibly various weirdness.
If you selected a lower number, repeating the test above will take more than 1 push on the "K" hotkey to see your character move.
## Can I always use Run Ahead?
**Run Ahead relies on save states** so they need to be clean and fast enough.
If a core doesn't support them, this can not work.
**Run Ahead relies on save states** so they need to be clean and fast enough.
If a core doesn't support them, this can not work.
Using **Second Instance** mode works around some save states limitation, use it if possible.
Calculating several frames in advance means that your machine must be fast enough to run the core at that level of speed.
Calculating several frames in advance means that your machine must be fast enough to run the core at that level of speed.
**The higher the number of frames you are going to run ahead of emulation, the higher demands it places on your CPU.**
## More detailed explanation
Here is a more detailed explanation on runahead by its author Dwedit.

View file

@ -42,17 +42,17 @@ Note that custom saved presets are always saved as copies and automatic presets
The `--set-shader` command line option allows to set shaders directly, bypassing even automatic shader presets.
Example use:
retroarch --set-shader "D:\RetroArch\shaders\shaders_glsl\blurs\kawase_blur_5pass.glslp" -L <core> <content>
The shader path can be relative to the shader directory:
retroarch --set-shader "shaders_glsl\blurs\kawase_blur_5pass.glslp" -L <core> <content>
An empty parameter effectively disables any automatic presets:
retroarch --set-shader "" -L <core> <content>
### Converting Cg shaders to GLSL
In some cases, Cg shaders cannot be supported. This goes for OpenGL ES drivers, and when EGL OpenGL contexts are used (KMS mode for instance). Using Nvidia's `cgc` compiler, you can convert Cg shaders to GLSL shaders with the `cg2glsl` tool developed by us [here](https://github.com/Themaister/RetroArch/blob/master/tools/cg2glsl.py). It can convert single shaders as well as whole folder structures in batch.
100% compatibility is not guaranteed, but almost all shaders should work fine. Cg presets (.cgp) are not converted at the moment, but converting them is as simple as copying over the .cgp, rename it to .glslp and replace references to .cg files to .glsl.

View file

@ -10,7 +10,7 @@ The terms software and software list are used to define non-arcade machines emul
The libretro core ecosystem currently includes many multi software emulators, that support software emulation. Arcade (MAME), Arcade (MAME 2016) will be the main focus of this guide but the MULTI (MESS 2015) and MULTI (UME 2015) cores have this ability. Each requiring its own distinct version of "romsets" which the emulator supports.
!!! tip
Matching emulator and game versions is advised for maximum compatibility but you may find mis-matched combinations also work.
Matching emulator and game versions is advised for maximum compatibility but you may find mis-matched combinations also work.
---

View file

@ -23,13 +23,13 @@ If your video driver has very bad performance, it is possible to run it on a thr
Make sure your system meets the requirement of the core you picked.
See if your core options aren't set too high for your system.
Disable shaders.
Lower the video scale setting.
Try another video driver.
Try enabling threaded video in the video options.
### Windows Vista and up video problems
@ -42,7 +42,7 @@ RetroArch recently got an option to use a swap/fence sync method in OpenGL drive
RetroArch: Querying GL extension: ARB_sync => exists
RetroArch: [GL]: Using ARB_sync to reduce latency.
Do note that this sync method can greatly reduce performance, and can turn smooth 60 fps into crawling 30 fps if there was not enough headroom in the performance. If you use KMS mode, using `video_hard_sync` won't help as it already does something like this.
## Why isnt my BIOS working?
@ -70,4 +70,3 @@ If you have questions or issues which cannot be resolved on your own, visit [the
## "I know my problem is a bug. Where can I report it?"
You can report issues in the [RetroArch issues tracker](https://github.com/libretro/RetroArch/issues).

View file

@ -11,7 +11,7 @@ You can access it from this [link](https://web.libretro.com/) with using modern
![Loading core](../image/guides/web-player-1.jpg)
1. Select the **Core** to run from the **first tab**(Clicking on the Core name will start running).
1. Select the **Core** to run from the **first tab**(Clicking on the Core name will start running).
*Core loading time may vary depending on the selected Core. During this time, your system's performance and actively used processes can cause your browser to crash. In this case, the option Wait or End will be displayed on your screen. In this case, click Wait, it may come out several times.*
![Main Screen](../image/guides/web-player-2.jpg)
1. Choose your content to load by clicking **Add Content** from the **second tab**.

View file

@ -95,7 +95,7 @@ The 2048 core supports the following device type(s) in the controls menu, bolded
#### Joypad
| User 1 Remap descriptors | RetroPad Inputs |
| User 1 Remap descriptors | RetroPad Inputs |
|--------------------------|---------------------------------------------|
| Pause | ![](../image/retropad/retro_select.png) |
| Start | ![](../image/retropad/retro_start.png) |

View file

@ -97,7 +97,7 @@ The 3D Engine core's core provided aspect ratio is (Ratio).
## Core options
The 3D Engine core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
The 3D Engine core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.

View file

@ -2,7 +2,7 @@
## Background
Standalone port of Mednafen WonderSwan to libretro, itself a fork of Cygne.
Standalone port of Mednafen WonderSwan to libretro, itself a fork of Cygne.
### Author/License

View file

@ -93,7 +93,7 @@ The Beetle GBA core saves/loads to/from these directories.
## Core options
The Beetle GBA core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
The Beetle GBA core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.
@ -127,7 +127,7 @@ The Beetle GBA core supports the following device type(s) in the controls menu,
| D-Pad Left | ![](../image/retropad/retro_dpad_left.png) |
| D-Pad Right | ![](../image/retropad/retro_dpad_right.png) |
| A | ![](../image/retropad/retro_a.png) |
| L | ![](../image/retropad/retro_l1.png) |
| L | ![](../image/retropad/retro_l1.png) |
| R | ![](../image/retropad/retro_r1.png) |
## External Links

View file

@ -91,7 +91,7 @@ Beetle Lynx supports Lynx headered roms and non-headered roms. It also supports
## Core options
The Beetle Lynx core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
The Beetle Lynx core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.

View file

@ -84,7 +84,7 @@ The Beetle NeoPop core saves/loads to/from these directories.
## Core options
The Beetle NeoPop core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
The Beetle NeoPop core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.

View file

@ -110,42 +110,42 @@ After that, you can load the `foo.cue` file in RetroArch with the Beetle PC-FX c
## Core options
The Beetle PC-FX core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
The Beetle PC-FX core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.
- **High Dotclock Width (Restart)** [pcfx_high_dotclock_width] (**1024**/256/341)
Emulated width for 7.16MHz dot-clock mode. Lower values are faster, but will cause some degree of pixel distortion.
- **Suppress Channel Reset Clicks (Restart)** [pcfx_suppress_channel_reset_clicks] (**enabled**/disabled)
Hack to suppress clicks caused by forced channel resets.
- **Emulate Buggy Codec (Restart)** [pcfx_emulate_buggy_codec] (**disabled**/enabled)
Hack that emulates the codec a buggy ADPCM encoder used for some games' ADPCM.
- **Sound Quality (Restart)** [pcfx_resamp_quality] (**3**/4/5/0/1/2)
Higher values correspond to better SNR and better preservation of higher frequencies("brightness"), at the cost of increased computational complexity and a negligible increase in latency.
- **Chroma channel bilinear interpolation (Restart)** [pcfx_rainbow_chromaip] (**disabled**/enabled)
Enable bilinear interpolation on the chroma channel of RAINBOW YUV output. Enabling it may cause graphical glitches with some games.
- **No Sprite Limit (Restart)** [pcfx_nospritelimit] (**disabled**/enabled)
Remove 16-sprites-per-scanline hardware limit.
- **Initial scanline** [pcfx_initial_scanline] ((0 to 40 in increments of 1. **4 is default**.)
Adjust first display scanline.
- **Last scanline** [pcfx_last_scanline] (208 to 238 in increments of 1. **235 is default**.)
Adjust last display scanline.
- **Mouse Sensitivity** [pcfx_mouse_sensitivity] (1.00 to 5.00 in increments of 0.25. **1.25 is default**.)
Configure the sensitivity of the 'PCFX Mouse' device type,
@ -167,7 +167,7 @@ The Beetle PC-FX core supports the following device type(s) in the controls menu
| User 1 - 6 Remap descriptors | RetroPad Inputs |
|------------------------------|-------------------------------------------|
| II | ![](../image/retropad/retro_b.png) |
| IV | ![](../image/retropad/retro_y.png) |
| IV | ![](../image/retropad/retro_y.png) |
| Select | ![](../image/retropad/retro_select.png) |
| Run | ![](../image/retropad/retro_start.png) |
| D-Pad Up | ![](../image/retropad/retro_dpad_up.png) |
@ -178,8 +178,8 @@ The Beetle PC-FX core supports the following device type(s) in the controls menu
| III | ![](../image/retropad/retro_x.png) |
| V | ![](../image/retropad/retro_l1.png) |
| VI | ![](../image/retropad/retro_r1.png) |
| MODE 1 (Switch) | ![](../image/retropad/retro_l2.png) |
| MODE 2 (Switch) | ![](../image/retropad/retro_r2.png) |
| MODE 1 (Switch) | ![](../image/retropad/retro_l2.png) |
| MODE 2 (Switch) | ![](../image/retropad/retro_r2.png) |
#### Mouse

View file

@ -136,14 +136,14 @@ chdman createcd --input foo.cue --output foo.chd
## Core options
The Beetle PCE FAST core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
The Beetle PCE FAST core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.
- **CD Image Cache (Restart)** [pce_fast_cdimagecache] (**disabled**/enabled)
Loads the complete image in memory at startup. Can potentially decrease loading times at the cost of increased startup time.
- **CD Bios (Restart)** [pce_fast_cdbios] (**System Card 3**/Games Express/System Card 1/System Card 2)
Select which PC Engine CD BIOS to use.
@ -151,93 +151,93 @@ Settings with (Restart) means that core has to be closed for the new setting to
- **No Sprite Limit (Restart)** [pce_nospritelimit] (**disabled**/enabled")
Remove 16-sprites-per-scanline hardware limit.
- **CPU Overclock Multiplier (Restart)** [pce_ocmultiplier] (**1**/2/3/4/5/6/7/8/9/10/20/30/40/50)
Overclock the emulated CPU.
- **Horizontal Overscan (352 Width Mode Only)** [pce_hoverscan] (300 to 352 in increments of 2. **352 in default**.)
Modify the horizontal overscan.
- **Initial scanline** [pce_initial_scanline] (0 to 40 in increments of 1. **3 is default.**)
Adjust initial display scanline.
- **Last scanline** [pce_last_scanline] (208 to 242 in increments of 1. **242 is default.**)
Adjust last display scanline.
- **(CD) CDDA Volume %** [pce_cddavolume] (0 to 200 in increments of 10. **100 is default**.)
Adjust CDDA Volume %.
- **(CD) ADPCM Volume %** [pce_adpcmvolume] (0 to 200 in increments of 10. **100 is default**.)
Adjust ADPCM Volume %.
- **(CD) CD PSG Volume %** [pce_cdpsgvolume] (0 to 200 in increments of 10. **100 is default**.)
Adjust CD PSG Volume %.
- **(CD) CD Speed** [pce_cdspeed] (**1**/2/4/8)
Set the speed of the emulated CD drive.
- **Turbo Delay** [pce_Turbo_Delay] (**Fast**/Medium/Slow)
Adjust turbo delay.
- **Turbo ON/OFF Toggle** [pce_Turbo_Toggling] (**disabled**/enabled)
Enables Turbo ON/OFF inputs.
Enables Turbo ON/OFF inputs.
Look at the [Joypad section](#joypad) for more information.
- **Alternate Turbo Hotkey** [pce_turbo_toggle_hotkey] (**disabled**/enabled)
Enables Alternate Turbo ON/OFF inputs.
You can avoid remapping Button III and IV when switching to 6-button gamepad mode with this.
Enables Alternate Turbo ON/OFF inputs.
You can avoid remapping Button III and IV when switching to 6-button gamepad mode with this.
Look at the [Joypad section](#joypad) for more information.
- **P1 Turbo I** [pce_p0_turbo_I_enable] (**disabled**/enabled)
Awaiting description.
- **P1 Turbo II** [pce_p0_turbo_II_enable] (**disabled**/enabled)
Awaiting description.
- **P2 Turbo I** [pce_p1_turbo_I_enable] (**disabled**/enabled)
Awaiting description.
- **P2 Turbo II** [pce_p1_turbo_II_enable] (**disabled**/enabled)
Awaiting description.
- **P3 Turbo I** [pce_p2_turbo_I_enable] (**disabled**/enabled)
Awaiting description.
- **P3 Turbo II** [pce_p2_turbo_II_enable] (**disabled**/enabled)
Awaiting description.
- **P4 Turbo I** [pce_p3_turbo_I_enable] (**disabled**/enabled)
Awaiting description.
- **P4 Turbo II** [pce_p3_turbo_II_enable] (**disabled**/enabled)
Awaiting description.
- **P5 Turbo I** [pce_p4_turbo_I_enable] (**disabled**/enabled)
Awaiting description.
- **P5 Turbo II** [pce_p4_turbo_II_enable] (**disabled**/enabled)
Awaiting description.
@ -255,7 +255,7 @@ The Beetle PCE FAST core supports the following device type(s) in the controls m
- Which PCE Joypad button mode is in use can be configured by the Mode Switch input.
- The regular Turbo inputs for 2-button mode are only active when the ['Turbo ON/OFF Toggle' core option](#core-options) is set to On.
- The Alternate Turbo inputs for 2-button mode are only active when the ['Turbo ON.mdOFF Toggle' core option](#core-options) is set to On and the ['Alternate Turbo Hotkey' core option](#core-options) is set to On.
| RetroPad Inputs | User 1 - 5 input descriptors | PCE Joypad 2-button | PCE Joypad 6-button |

View file

@ -126,7 +126,7 @@ After that, you can load the `foo.cue` file in RetroArch with the Beetle PSX cor
!!! attention
Certain PS1 games are multi-track, so their .cue files might be more complicated.
### Playing PAL copy protected games
PAL copy protected games need a SBI Subchannel file next to the bin/cue files in order to get past the copy protection.
@ -162,14 +162,14 @@ Here's a m3u example done with Valkryie Profile
!!! attention
Adding multi-track games to a RetroArch playlist is recommended. (Manually add an entry a playlist that points to `foo.m3u`)
#### Swapping disks
#### Swapping disks
Disks can be swapped through Quick Menu -> Disk Control in RetroArch.
Disks can be swapped through Quick Menu -> Disk Control in RetroArch.
If not using .m3u files, .cue files must be manually selected via the Load New Disk legacy feature.
If using .m3u files, disks can be swapped by selecting Eject Disk, changing the Current Disk Index to your desired disk, and finally selecting Insert Disk.
### Compressed content
Alternatively to using cue sheets with .bin/.iso files, you can convert your games to .pbp (Playstation Portable update file) or .chd (MAME Compressed Hunks of Data) to reduce file sizes and neaten up your game folder.
@ -193,7 +193,7 @@ For multi-disk PAL copy-protected games, change the sbi file syntax from `[filen
!!! attention
RetroArch does not currently have .pbp database due to variability in users' conversion methods. All .pbp games will have to be added to playlists manually.
#### CHD
#### CHD
To convert content to CHD format, use the chdman tool found inside the latest MAME distribution and point it to a .cue file, like so:
@ -208,7 +208,7 @@ Note that the tool currently does not integrate .sbi files into the .chd, so the
## Saves
For game savedata storage, the PSX console used memory cards. The PSX console had two slots for memory cards.
For game savedata storage, the PSX console used memory cards. The PSX console had two slots for memory cards.
In this doc, the first memory card slot will be referred to as 'Memcard slot 0' and the second slot will be referred to as 'Memcard slot 1'.
@ -234,7 +234,7 @@ For memory card functionality and usage, the Beetle PSX core will either use the
!!! attention
Memory card behavior can be controlled with the following [core options](#core-options) (Memcard 0 method, Enable memory card 1, Shared memcards).
**By default**, the filenames of the Memcard savedata will match the loaded cue or m3u or pbp filename, like this:
- Loaded content: Breath of Fire III (USA).cue
@ -261,7 +261,7 @@ or
!!! attention
To import your old memory cards from other emulators, you need to rename them to either the Libretro savedata format or the Mednafen savedata format. The Libretro (.srm) savedata format, when used with Beetle PSX, is internally identical to the Mednafen PSX (.mcr) savedata format, and can be converted between one another via renaming.
!!! warning
Keep in mind that save states also include the state of the memory card; carelessly loading an old save state will **OVEWRITE** the memory card, potentially resulting in lost saved games. **You can set the 'Don't overwrite SaveRAM on loading savestate' option in RetroArch's Saving settings to On to prevent this.**

View file

@ -169,7 +169,7 @@ Here's a m3u example done with Valkryie Profile
#### Swapping disks
Disks can be swapped through Quick Menu -> Disk Control in RetroArch.
Disks can be swapped through Quick Menu -> Disk Control in RetroArch.
If not using .m3u files, .cue files must be manually selected via the Load New Disk legacy feature.

View file

@ -136,13 +136,13 @@ foo (Disc 2).cue
foo (Disc 3).cue
```
## Swapping disks
## Swapping disks
Swapping disks follows this procedure
1. Open tray (Disk Cycle Tray Status)
2. Change the Disk Index to the disk you want to swap to.
2. Change the Disk Index to the disk you want to swap to.
3. Close tray (Disk Cycle Tray Status)
@ -152,56 +152,56 @@ After that, you can load the `foo.m3u` file in RetroArch with the Beetle Saturn
## Core options
The Beetle Saturn core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
The Beetle Saturn core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.
- **System Region** [beetle_saturn_region] (**Auto Detect**|Japan|North America|Europe|South Korea|Asia (NTSC)|Asia (PAL)|Brazil|Latin America)
Choose which region the system is from.
- **Cartridge** [beetle_saturn_cart] (**Auto Detect**|None|Backup Memory|Extended RAM (1MB)|Extended RAM (4MB)|The King of Fighters '95|Ultraman: Hikari no Kyojin Densetsu)
A list of games that require a cartridge can be found [here](https://www.satakore.com/cartridge.php).
- **6Player Adaptor on Port 1** [beetle_saturn_multitap_port1] (**disabled**|enabled)
Enable [multitap](https://segaretro.org/Saturn_6_Player_Adaptor) on Saturn port 1.
- **6Player Adaptor on Port 2** [beetle_saturn_multitap_port2] (**disabled**|enabled)
Enable [multitap](https://segaretro.org/Saturn_6_Player_Adaptor) on Saturn port 2.
- **Analog Stick Deadzone** [beetle_saturn_analog_stick_deadzone] (**15%**|20%|25%|30%|0%|5%|10%)
Configure the '3D Control Pad' Device Type's analog deadzone.
- **Trigger Deadzone** [beetle_saturn_trigger_deadzone] (**15%**|20%|25%|30%|0%|5%|10%)
Configure the '3D Control Pad' Device Type's trigger deadzone.
- **Mouse Sensitivity** [beetle_saturn_mouse_sensitivity] (5% to 200% in increments of 5%. **100% is default**)
Configure the 'Mouse' device type's sensitivity.
- **Gun Crosshair** [beetle_saturn_virtuagun_crosshair] (**Cross**|Dot|Off)
Choose the crosshair for the 'Stunner' and 'Virtua Gun' device types. Setting it to Off disables the crosshair.
??? note "Gun - Crosshair - Cross"
![](../image/core/beetle_saturn/cross.png)
??? note "Gun - Crosshair - Dot"
![](../image/core/beetle_saturn/dot.png)
??? note "Gun - Crosshair - Off"
![](../image/core/beetle_saturn/off.png)
![](../image/core/beetle_saturn/off.png)
- **CD Image Cache (restart)** [beetle_saturn_cdimagecache] (**disabled**|enabled)
Loads the complete image in memory at startup. Can potentially decrease loading times at the cost of increased startup time.
Loads the complete image in memory at startup. Can potentially decrease loading times at the cost of increased startup time.
Requires a restart in order for a change to take effect.
- **Mid-frame Input Synchronization** [beetle_saturn_midsync] (**disabled**|enabled)
Mid-frame synchronization can reduce input latency, but it will increase CPU requirements.
@ -209,41 +209,41 @@ Settings with (Restart) means that core has to be closed for the new setting to
- **Automatically set RTC on game load** [beetle_saturn_autortc] (**enabled**|disabled)
Automatically set the SMPC's emulated Real-Time Clock to the host system's current time and date upon game load.
- **BIOS language** [beetle_saturn_autortc_lang] (**english**|german|french|spanish|italian|japanese)
Self explanatory. Also affects language used in some games (e.g. the European release of "Panzer Dragoon").
- **Horizontal Overscan Mask** [beetle_saturn_horizontal_overscan] (0 to 60 in increments of 2. **0 is default**)
Self-explanatory.
- **Initial scanline** [beetle_saturn_initial_scanline] (0 to 40 in increments of 1. **0 is default**)
Adjust the first displayed scanline in NTSC mode.
- **Last scanline** [beetle_saturn_last_scanline] (210 to 239 in increments of 1. **239 is default**)
Adjust the last displayed scanline in NTSC mode.
- **Initial scanline PAL** [beetle_saturn_initial_scanline_pal] (0 to 60 in increments of 1. **16 is default**)
Adjust the first displayed scanline in NTSC mode.
- **Last scanline PAL** [beetle_saturn_last_scanline_pal] (230 to 287 in increments of 1. **271 is default**)
Adjust the last displayed scanline in PAL mode.
- **Enable Horizontal Blend(blur)** [beetle_saturn_horizontal_blend] (**disabled**|enabled)
Enable horizontal blend(blur) filter. Has a more noticeable effect with the Saturn's higher horizontal resolution modes(640/704).
??? note "Enable Horizontal Blend(blur) - Off"
![](../image/core/beetle_saturn/blend_off.png)
??? note "Enable Horizontal Blend(blur) - On"
![](../image/core/beetle_saturn/blend_on.png)
## User 1 - 12 device types
The Beetle Saturn core supports the following device type(s) in the controls menu, bolded device types are the default for the specified user(s):

View file

@ -135,94 +135,94 @@ chdman createcd --input foo.cue --output foo.chd
## Core options
The Beetle SuperGrafx core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
The Beetle SuperGrafx core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.
- **CD Image Cache (Restart)** [sgx_cdimagecache] (**disabled**|enabled)
Loads the complete image in memory at startup. Can potentially decrease loading times at the cost of increased startup time.
- **CD Bios (Restart)** [sgx_cdbios] (**System Card 3**|Games Express|System Card 1|System Card 2)
Select which PC Engine CD BIOS to use.
Look at the [BIOS section](#core-options) for more information.
- **Force SuperGrafx Emulation (Restart)** [sgx_forcesgx] (**disabled**|enabled)
This is helpful to run homebrew games or isolate games that will not run in SuperGrafx mode. (like Space Harrier).
**Savestates are not compatible with each mode. It's better to leave this option at default (Off) unless needed. Known Supergrafx games (like Dai-Makaimura, Aldyns) will automatically switch to SuperGrafx regardless of this option.**
- **No Sprite Limit** [sgx_nospritelimit] (**disabled**|enabled)
Remove 16-sprites-per-scanline hardware limit.
- **CPU Overclock Multiplier (Restart)** [sgx_ocmultiplier] (**1**|2|3|4|5|6|7|8|9|10|20|30|40|50)
Overclock the emulated CPU.
- **Horizontal Overscan (352 Width Mode Only)** [sgx_hoverscan] (300 to 352 in increments of 2. **352 in default**.)
Modify the horizontal overscan.
- **Initial scanline** [sgx_initial_scanline] (0 to 40 in increments of 1. **3 is default.**)
Adjust first display scanline.
- **Last scanline** [sgx_last_scanline] (208 to 242 in increments of 1. **242 is default.**)
Adjust last display scanline.
- **(CD) CDDA Volume %** [sgx_cddavolume] (0 to 200 in increments of 10. **100 is default**.)
Modify CDDA Volume %.
- **(CD) ADPCM Volume %** [sgx_adpcmvolume] (0 to 200 in increments of 10. **100 is default**.)
Modify ADPCM Volume %.
- **(CD) CD PSG Volume %;** [sgx_cdpsgvolume] (0 to 200 in increments of 10. **100 is default**.)
Modify CD PSG Volume %.
- **(CD) CD Speed** [sgx_cdspeed] (**1**|2|4|8)
Set the speed of the emulated CD drive.
- **Turbo Delay** [sgx_turbo_delay] (**3**|4|5|6|7|8|9|10|11|12|13|14|15|30|60|2)
Adjust turbo delay.
- **Turbo ON/OFF Toggle** [sgx_turbo_toggle] (**disabled**|enabled)
Enables Turbo ON/OFF inputs.
Enables Turbo ON/OFF inputs.
Look at the [Joypad section](#joypad) for more information.
- **Alternate Turbo Hotkey** [sgx_turbo_toggle_hotkey] (**disabled**|enabled)
Enables Alternate Turbo ON/OFF inputs.
You can avoid remapping Button III and IV when switching to 6-button gamepad mode with this.
Enables Alternate Turbo ON/OFF inputs.
You can avoid remapping Button III and IV when switching to 6-button gamepad mode with this.
Look at the [Joypad section](#joypad) for more information.
- **Disable Soft Reset (RUN+SELECT)** [sgx_disable_softreset] (**disabled**|enabled)
Pressing RUN and SELECT simultaneously on PCE gamepad will SOFT RESET the console. This is a default hardware behaviour.
Set this to enabled if you want the soft reset functionality turned off.
- **Allow Opposing Directions** [sgx_up_down_allowed] (**disabled**|enabled)
Enabling this will allow pressing / quickly alternating / holding both left and right (or up and down in some games) directions at the same time.
Enabling this will allow pressing / quickly alternating / holding both left and right (or up and down in some games) directions at the same time.
This may cause movement based glitches to occur in certain games.
It's best to keep this core option disabled.
- **Mouse Sensitivity** [sgx_mouse_sensitivity] (1.00 to 5.00 in increments of 0.25. **1.00 is default**.)
Configure the PCE Mouse device type's sensitivity.
@ -253,7 +253,7 @@ The Beetle SuperGrafx core supports the following device type(s) in the controls
|------------------------------------------------|------------------------------|---------------------------|---------------------|
| ![](../image/retropad/retro_b.png) | II | II | II |
| ![](../image/retropad/retro_y.png) | III | II Turbo On/Off | III |
| ![](../image/retropad/retro_select.png) | Select | Select | Select |
| ![](../image/retropad/retro_select.png) | Select | Select | Select |
| ![](../image/retropad/retro_start.png) | Run | Run | Run |
| ![](../image/retropad/retro_dpad_up.png) | D-Pad Up | D-Pad Up | D-Pad Up |
| ![](../image/retropad/retro_dpad_down.png) | D-Pad Down | D-Pad Down | D-Pad Down |

View file

@ -83,20 +83,20 @@ The Beetle VB core saves/loads to/from these directories.
## Core options
The Beetle VB core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
The Beetle VB core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.
- **Anaglyph preset (restart)** [vb_anaglyph_preset] (**Off**/red & blue/red & cyan/red & electric cyan/red & green/green & magenta/yellow & blue)
Select anaglyph 3D mode.
!!! attention
These Analglyph preset screenshots have been taken with the Palette core option set to black & red.
??? note "Anaglyph preset - Off"
![](../image/core/beetle_vb/off.png)
??? note "Anaglyph preset - red & blue"
![](../image/core/beetle_vb/red&blue.png)
@ -113,18 +113,18 @@ Settings with (Restart) means that core has to be closed for the new setting to
![](../image/core/beetle_vb/green&magenta.png)
??? note "Anaglyph preset - yellow & blue"
![](../image/core/beetle_vb/yellow&blue.png)
![](../image/core/beetle_vb/yellow&blue.png)
- **Palette (restart)** [vb_color_mode] (**black & red**/black & white)
Choose which color palette to use.
??? note "Palette - black & red"
![](../image/core/beetle_vb/black&red.png)
??? note "Palette - black & white"
![](../image/core/beetle_vb/black&white.png)
- **Right Analog to Digital** [vb_right_analog_to_digital] (**Off**/On/invert x/invert y/invert both)
Self-explanatory.

View file

@ -31,7 +31,7 @@ If i rename *dog.jpg* to *bios.bin*, how would you know?
If the dump is not the version that the core needs, or if the file integrity is compromised (corrupted), unexpected things (**bad**) can happen.
A file can become corrupted by errors in transmission, write errors during copying or moving, faulty storage media, software bugs, etc.
A file can become corrupted by errors in transmission, write errors during copying or moving, faulty storage media, software bugs, etc.
#### *How do i check it?*
You need two things, a piece of software that can generate a hash from your file and a known valid file hash for the comparison, you will find the correct hash in the corresponding core information page (links below)

View file

@ -6,7 +6,7 @@ bsnes is a Super Nintendo emulator that began development on 2004-10-14. It focu
This core has been compiled with the Accuracy profile.
Highly accurate SNES emulation. Whether to use the Accuracy, or Balanced or Performance core depends on how much accuracy you want to give up for game performance.
Highly accurate SNES emulation. Whether to use the Accuracy, or Balanced or Performance core depends on how much accuracy you want to give up for game performance.
Please check the [compatibility section](#compatibility) for more information.
@ -45,7 +45,7 @@ Required or optional firmware files go in the frontend's system directory.
!!! attention
The bsnes Accuracy core uses split ROMS for [special chip games](https://en.wikipedia.org/wiki/List_of_Super_NES_enhancement_chips#List_of_Super_NES_games_that_use_enhancement_chips).
Notable DSP1/DSP1B Games:
Notable DSP1/DSP1B Games:
- Super Mario Kart
- Pilotwings
@ -58,7 +58,7 @@ Notable DSP3 Games:
- SD Gundam GX
Notable DSP4 Games:
Notable DSP4 Games:
- Top Gear 3000
@ -147,7 +147,7 @@ The bsnes Accuracy core saves/loads to/from these directories.
For Super GameBoy support, you need sgb.boot.rom (in RetroArch's System directory), a GameBoy ROM and a Super GameBoy ROM.
Please note that the Game Boy and Super GameBoy ROMs have to be unzipped.
Super GameBoy is supported via the Subsystem API.
There are two ways to access the Subsystem API.
@ -184,7 +184,7 @@ retroarch -L {path to bsnes core} {path to Super GameBoy ROM} --subsystem sgb {p
MSU-1 support can be used by loading a correct .bml file.
There's documentation for loading MSU-1 games in standalone higan [here](https://higan.readthedocs.io/en/stable/guides/import/#msu-1-games).
## Controllers
The bsnes Accuracy core supports the following device type(s) in the controls menu, bolded device types are the default for the specified user(s):
@ -250,7 +250,7 @@ Activating multitap support in compatible games can be configured by switching t
## Compatibility
The bsnes Accuracy core fully emulates all SNES games that have ever been officially released.
The bsnes Accuracy core fully emulates all SNES games that have ever been officially released.
## External Links

View file

@ -6,7 +6,7 @@ bsnes is a Super Nintendo emulator that began development on 2004-10-14. It focu
This core has been compiled with the Balanced profile.
Highly accurate SNES emulation. Whether to use the Accuracy, or Balanced or Performance core depends on how much accuracy you want to give up for game performance.
Highly accurate SNES emulation. Whether to use the Accuracy, or Balanced or Performance core depends on how much accuracy you want to give up for game performance.
Please check the [compatibility section](#compatibility) for more information.
@ -45,7 +45,7 @@ Required or optional firmware files go in the frontend's system directory.
!!! attention
The bsnes Balanced core uses split ROMS for [special chip games](https://en.wikipedia.org/wiki/List_of_Super_NES_enhancement_chips#List_of_Super_NES_games_that_use_enhancement_chips).
Notable DSP1/DSP1B Games:
Notable DSP1/DSP1B Games:
- Super Mario Kart
- Pilotwings
@ -58,7 +58,7 @@ Notable DSP3 Games:
- SD Gundam GX
Notable DSP4 Games:
Notable DSP4 Games:
- Top Gear 3000
@ -147,7 +147,7 @@ The bsnes Balanced core saves/loads to/from these directories.
For Super GameBoy support, you need sgb.boot.rom (in RetroArch's System directory), a GameBoy ROM and a Super GameBoy ROM.
Please note that the Game Boy and Super GameBoy ROMs have to be unzipped.
Super GameBoy is supported via the Subsystem API.
There are two ways to access the Subsystem API.
@ -184,7 +184,7 @@ retroarch -L {path to bsnes core} {path to Super GameBoy ROM} --subsystem sgb {p
MSU-1 support can be used by loading a correct .bml file.
There's documentation for loading MSU-1 games in standalone higan [here](https://higan.readthedocs.io/en/stable/guides/import/#msu-1-games).
## Controllers
The bsnes Balanced core supports the following device type(s) in the controls menu, bolded device types are the default for the specified user(s):

View file

@ -129,7 +129,7 @@ The bsnes-mercury Accuracy core saves/loads to/from these directories.
For Super GameBoy support, you need sgb.boot.rom (in RetroArch's System directory), a GameBoy ROM and a Super GameBoy ROM.
Please note that the Game Boy and Super GameBoy ROMs have to be unzipped.
Super GameBoy is supported via the Subsystem API.
There are two ways to access the Subsystem API.
@ -166,55 +166,55 @@ retroarch -L {path to bsnes core} {path to Super GameBoy ROM} --subsystem sgb {p
MSU-1 support can be used by loading a correct .bml file.
There's documentation for loading MSU-1 games in standalone higan [here](https://higan.readthedocs.io/en/stable/guides/import/#msu-1-games).
## Core options
The bsnes-mercury Accuracy core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
The bsnes-mercury Accuracy core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.
- **Allow settings to reduce accuracy** [bsnes_violate_accuracy] (**disabled**|enabled)
Respect accuracy-impacting settings.
- **Special chip accuracy** [bsnes_chip_hle] (**LLE**|HLE)
**The Allow settings to reduce accuracy core option must be enabled in order for this to function properly. **
Choose whether to use LLE (real BIOS) or HLE (emulated BIOS) for enhancement chips.
HLE is less accurate but also less demanding for the special chips.
The ST-0011 and ST-0018 co-processors cannot be HLE'd.
Choose whether to use LLE (real BIOS) or HLE (emulated BIOS) for enhancement chips.
HLE is less accurate but also less demanding for the special chips.
The ST-0011 and ST-0018 co-processors cannot be HLE'd.
- **SuperFX speed** [bsnes_superfx_overclock] (**100%**|150%|200%|300%|400%|500%|1000%)
**The Allow settings to reduce accuracy core option must be enabled in order for this to function properly.**
Overclock the [SuperFX chip](https://en.wikipedia.org/wiki/Super_FX). 100% is stock clockspeed.
Overclock the [SuperFX chip](https://en.wikipedia.org/wiki/Super_FX). 100% is stock clockspeed.
- **System region** [bsnes_region] (**auto**|ntsc|pal)
Choose which region the system is from.
- **Preferred aspect ratio** [bsnes_aspect_ratio] (**auto**|ntsc|pal)
Choose the preferred aspect ratio. RetroArch's aspect ratio must be set to Core provided in the Video settings.
- **Crop overscan** [bsnes_crop_overscan] (**disabled**|enabled)
Crop out the potentially random glitchy video output that would have been hidden by the bezel around the edge of a standard-definition television screen.
- **Gamma ramp (requires restart)** [bsnes_gamma_ramp] (**disabled**|enabled)
Simulates the way a consoles display device differs from modern computer monitors colour reproduction. In particular, it simulates the slightly-different gamma correction used by the Super Famicom.
??? note "Gamma ramp - Disabled"
![](../image/core/higan/gamma_off.png)
??? note "Gamma ramp - Enabled"
![](../image/core/higan/gamma_on.png)
## Controllers
The bsnes-mercury Accuracy core supports the following device type(s) in the controls menu, bolded device types are the default for the specified user(s):
@ -280,7 +280,7 @@ Activating multitap support in compatible games can be configured by switching t
## Compatibility
The bsnes-mercury Accuracy core fully emulates all SNES games that have ever been officially released.
The bsnes-mercury Accuracy core fully emulates all SNES games that have ever been officially released.
## External Links

View file

@ -129,7 +129,7 @@ The bsnes-mercury Balanced core saves/loads to/from these directories.
For Super GameBoy support, you need sgb.boot.rom (in RetroArch's System directory), a GameBoy ROM and a Super GameBoy ROM.
Please note that the Game Boy and Super GameBoy ROMs have to be unzipped.
Super GameBoy is supported via the Subsystem API.
There are two ways to access the Subsystem API.
@ -166,55 +166,55 @@ retroarch -L {path to bsnes core} {path to Super GameBoy ROM} --subsystem sgb {p
MSU-1 support can be used by loading a correct .bml file.
There's documentation for loading MSU-1 games in standalone higan [here](https://higan.readthedocs.io/en/stable/guides/import/#msu-1-games).
## Core options
The bsnes-mercury Balanced core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
The bsnes-mercury Balanced core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.
- **Allow settings to reduce accuracy** [bsnes_violate_accuracy] (**disabled**|enabled)
Respect accuracy-impacting settings.
- **Special chip accuracy** [bsnes_chip_hle] (**LLE**|HLE)
**The Allow settings to reduce accuracy core option must be enabled in order for this to function properly. **
Choose whether to use LLE (real BIOS) or HLE (emulated BIOS) for enhancement chips.
HLE is less accurate but also less demanding for the special chips.
The ST-0011 and ST-0018 co-processors cannot be HLE'd.
Choose whether to use LLE (real BIOS) or HLE (emulated BIOS) for enhancement chips.
HLE is less accurate but also less demanding for the special chips.
The ST-0011 and ST-0018 co-processors cannot be HLE'd.
- **SuperFX speed** [bsnes_superfx_overclock] (**100%**|150%|200%|300%|400%|500%|1000%)
**The Allow settings to reduce accuracy core option must be enabled in order for this to function properly.**
Overclock the [SuperFX chip](https://en.wikipedia.org/wiki/Super_FX). 100% is stock clockspeed.
Overclock the [SuperFX chip](https://en.wikipedia.org/wiki/Super_FX). 100% is stock clockspeed.
- **System region** [bsnes_region] (**auto**|ntsc|pal)
Choose which region the system is from.
- **Preferred aspect ratio** [bsnes_aspect_ratio] (**auto**|ntsc|pal)
Choose the preferred aspect ratio. RetroArch's aspect ratio must be set to Core provided in the Video settings.
- **Crop overscan** [bsnes_crop_overscan] (**disabled**|enabled)
Crop out the potentially random glitchy video output that would have been hidden by the bezel around the edge of a standard-definition television screen.
- **Gamma ramp (requires restart)** [bsnes_gamma_ramp] (**disabled**|enabled)
Simulates the way a consoles display device differs from modern computer monitors colour reproduction. In particular, it simulates the slightly-different gamma correction used by the Super Famicom.
??? note "Gamma ramp - Disabled"
![](../image/core/higan/gamma_off.png)
??? note "Gamma ramp - Enabled"
![](../image/core/higan/gamma_on.png)
## Controllers
The bsnes-mercury Balanced core supports the following device type(s) in the controls menu, bolded device types are the default for the specified user(s):

View file

@ -129,7 +129,7 @@ The bsnes-mercury Performance core saves/loads to/from these directories.
For Super GameBoy support, you need sgb.boot.rom (in RetroArch's System directory), a GameBoy ROM and a Super GameBoy ROM.
Please note that the Game Boy and Super GameBoy ROMs have to be unzipped.
Super GameBoy is supported via the Subsystem API.
There are two ways to access the Subsystem API.
@ -166,37 +166,37 @@ retroarch -L {path to bsnes core} {path to Super GameBoy ROM} --subsystem sgb {p
MSU-1 support can be used by loading a correct .bml file.
There's documentation for loading MSU-1 games in standalone higan [here](https://higan.readthedocs.io/en/stable/guides/import/#msu-1-games).
## Core options
The bsnes-mercury Performance core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
The bsnes-mercury Performance core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.
- **Allow settings to reduce accuracy** [bsnes_violate_accuracy] (**disabled**|enabled)
Respect accuracy-impacting settings.
- **Special chip accuracy** [bsnes_chip_hle] (**LLE**|HLE)
**The Allow settings to reduce accuracy core option must be enabled in order for this to function properly. **
Choose whether to use LLE (real BIOS) or HLE (emulated BIOS) for enhancement chips.
HLE is less accurate but also less demanding for the special chips.
The ST-0011 and ST-0018 co-processors cannot be HLE'd.
Choose whether to use LLE (real BIOS) or HLE (emulated BIOS) for enhancement chips.
HLE is less accurate but also less demanding for the special chips.
The ST-0011 and ST-0018 co-processors cannot be HLE'd.
- **SuperFX speed** [bsnes_superfx_overclock] (**100%**|150%|200%|300%|400%|500%|1000%)
**The Allow settings to reduce accuracy core option must be enabled in order for this to function properly.**
Overclock the [SuperFX chip](https://en.wikipedia.org/wiki/Super_FX). 100% is stock clockspeed.
Overclock the [SuperFX chip](https://en.wikipedia.org/wiki/Super_FX). 100% is stock clockspeed.
- **System region** [bsnes_region] (**auto**|ntsc|pal)
Choose which region the system is from.
- **Preferred aspect ratio** [bsnes_aspect_ratio] (**auto**|ntsc|pal)
Choose the preferred aspect ratio. RetroArch's aspect ratio must be set to Core provided in the Video settings.
@ -204,17 +204,17 @@ Settings with (Restart) means that core has to be closed for the new setting to
- **Crop overscan** [bsnes_crop_overscan] (**disabled**|enabled)
Crop out the potentially random glitchy video output that would have been hidden by the bezel around the edge of a standard-definition television screen.
- **Gamma ramp (requires restart)** [bsnes_gamma_ramp] (**disabled**|enabled)
Simulates the way a consoles display device differs from modern computer monitors colour reproduction. In particular, it simulates the slightly-different gamma correction used by the Super Famicom.
??? note "Gamma ramp - Disabled"
![](../image/core/higan/gamma_off.png)
??? note "Gamma ramp - Enabled"
![](../image/core/higan/gamma_on.png)
## Controllers
The bsnes-mercury Performance core supports the following device type(s) in the controls menu, bolded device types are the default for the specified user(s):

View file

@ -6,7 +6,7 @@ bsnes is a Super Nintendo emulator that began development on 2004-10-14. It focu
This core has been compiled with the Performance profile.
Highly accurate SNES emulation. Whether to use the Accuracy, or Balanced or Performance core depends on how much accuracy you want to give up for game performance.
Highly accurate SNES emulation. Whether to use the Accuracy, or Balanced or Performance core depends on how much accuracy you want to give up for game performance.
Please check the [compatibility section](#compatibility) for more information.
@ -45,7 +45,7 @@ Required or optional firmware files go in the frontend's system directory.
!!! attention
The bsnes Performance core uses split ROMS for [special chip games](https://en.wikipedia.org/wiki/List_of_Super_NES_enhancement_chips#List_of_Super_NES_games_that_use_enhancement_chips).
Notable DSP1/DSP1B Games:
Notable DSP1/DSP1B Games:
- Super Mario Kart
- Pilotwings
@ -58,7 +58,7 @@ Notable DSP3 Games:
- SD Gundam GX
Notable DSP4 Games:
Notable DSP4 Games:
- Top Gear 3000
@ -147,7 +147,7 @@ The bsnes Performance core saves/loads to/from these directories.
For Super GameBoy support, you need sgb.boot.rom (in RetroArch's System directory), a GameBoy ROM and a Super GameBoy ROM.
Please note that the Game Boy and Super GameBoy ROMs have to be unzipped.
Super GameBoy is supported via the Subsystem API.
There are two ways to access the Subsystem API.
@ -184,7 +184,7 @@ retroarch -L {path to bsnes core} {path to Super GameBoy ROM} --subsystem sgb {p
MSU-1 support can be used by loading a correct .bml file.
There's documentation for loading MSU-1 games in standalone higan [here](https://higan.readthedocs.io/en/stable/guides/import/#msu-1-games).
## Controllers
The bsnes Performance core supports the following device type(s) in the controls menu, bolded device types are the default for the specified user(s):

View file

@ -113,105 +113,105 @@ The Cannonball core saves/loads to/from these directories.
## Core options
The Cannonball core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
The Cannonball core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.
- **Menu At Start** [cannonball_menu_enabled] (**ON**|OFF)
When enabled; the Cannonball core shows the main menu upon startup.
When enabled; the Cannonball core shows the main menu upon startup.
When disabled; the Cannonball core goes into attract mode upon startup.
- **Menu Road Scroll Speed** [cannonball_menu_road_scroll_speed] (**50**|60|70|80|90|100|150|200|300|400|500|5|10|15|20|25|30|40)
Use this to configure the speed at which the road on the Main Menu scrolls at.
- **Video Widescreen Mode** [cannonball_video_widescreen] (**ON**|OFF)
Explained [here](https://github.com/djyt/cannonball/wiki/Cannonball-Manual#video-modes).
- **Video High-Resolution Mode** [cannonball_video_hires] (**OFF**|ON)
The original game ran at 320x224. This mode doubles that resolution to 640x448. However, rather than simply doubling up the display, the sprites and road are rendered at a higher resolution where possible.
- **Video Framerate** [cannonball_video_fps] (**Smooth (60)**|Ultra Smooth (120)|Original (60/30))
Explained [here](https://github.com/djyt/cannonball/wiki/Cannonball-Manual#video-modes).
- **Advertise Sound** [cannonball_sound_advertise] (**ON**|OFF)
Play sounds in attract mode.
- **Preview Music** [cannonball_sound_preview] (**ON**|OFF)
Preview the music tracks at the point of selection in-game. The original game did not have this option and you would not hear the audio track until the game started.
- **Fix Samples (use opr-10188.71f)** [cannonball_sound_fix_samples] (**ON**|OFF)
Explained [here](https://github.com/djyt/cannonball/wiki/Cannonball-Manual#fix-corrupted-audio).
- **Gear Mode** [cannonball_gear] (**Manual**|Manual Cabinet|Manual 2 Buttons|Automatic)
Change the gear shift behaviour. Useful to configure based on your target hardware.
0 = Manual (Click to shift, for normal play)
1 = Manual (Hold to shift, for cabinet play)
2 = Manual (Separate Buttons for High/Low)
3 = Automatic (No need to change gear)
- **Analog Controls (off to allow digital speed setup)** [cannonball_analog] (**ON**|OFF)
Self-explanatory.
- **Digital Steer Speed** [cannonball_steer_speed] (**3**|4|5|6|7|8|9|1|2)
Awaiting description.
- **Digital Pedal Speed** [cannonball_pedal_speed] (**4**|5|6|7|8|9|1|2|3)
Awaiting description.
- **Time** [cannonball_dip_time] (**Easy (80s)**|Normal (75s)|Hard (72s)|Very Hard (70s)|Infinite Time)
Explained [here](https://github.com/djyt/cannonball/wiki/Cannonball-Manual#outrun-engine-settings).
- **Traffic** [cannonball_dip_traffic] (**Normal**|Hard|Very Hard|No Traffic|Easy)
Explained [here](https://github.com/djyt/cannonball/wiki/Cannonball-Manual#outrun-engine-settings).
- **Freeplay Mode** [cannonball_freeplay] (**OFF**|ON)
Awaiting description.
- **Use Japanese Tracks Version** [cannonball_jap] (**OFF**|ON)
Explained [here](https://github.com/djyt/cannonball/wiki/Cannonball-Manual#japanese-courses)
- **Use Prototype Stage 1** [cannonball_prototype] (**OFF**|ON)
Explained [here](https://github.com/djyt/cannonball/wiki/Cannonball-Manual#prototype-coconut-beach).
- **Objects Limit Enhanced** [cannonball_level_objects] (**ON**|OFF)
Explained [here](https://github.com/djyt/cannonball/wiki/Cannonball-Manual#outrun-engine-settings)
- **Original Traffic Patterns Randomization** [cannonball_randomgen] (**ON**|OFF)
Awaiting description.
- **Force AI To Play** [cannonball_force_ai] (**OFF**|ON)
Awaiting description.
- **Fix Original Game Bugs** [cannonball_fix_bugs] (**ON**|OFF)
Explained [here](https://github.com/djyt/cannonball/wiki/Cannonball-Manual#bug-fixes)
- **Fix Timing Bugs** [cannonball_fix_timer] (**OFF**|ON)
Awaiting description.
- **Display Debug Info For LayOut** [cannonball_layout_debug] (**OFF**|ON)
Awaiting description.
@ -219,15 +219,15 @@ Settings with (Restart) means that core has to be closed for the new setting to
- **New Attract** [cannonball_new_attract] (**ON**|OFF)
Explained [here](https://github.com/djyt/cannonball/wiki/Cannonball-Manual#outrun-engine-settings).
- **Time Trial Laps** [cannonball_ttrial_laps] (**3**|4|5|1|2)
Awaiting description.
- **Time Trial Traffic Amount** [cannonball_ttrial_traffic] (**3**|4|5|6|7|8|0|1|2)
Awaiting description.
- **Continuous Mode Traffic Amount** [cannonball_cont_traffic] (**3**|4|5|6|7|8|0|1|2)
Awaiting description.

View file

@ -120,7 +120,7 @@ Here are some actions you can do in page 2 of the virtual keyboard GUI.
## Core options
The Caprice32 core has the following option(s) that can be tweaked from the core options menu.
The Caprice32 core has the following option(s) that can be tweaked from the core options menu.
!!! tip
Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.
@ -141,19 +141,19 @@ The Caprice32 core has the following option(s) that can be tweaked from the core
!!! note "cap32_scr_tube = color"
![](../image/core/caprice32/tube_off.png)
!!! note "cap32_scr_tube = green"
![](../image/core/caprice32/tube_on.png)
![](../image/core/caprice32/tube_on.png)
!!! attention
These 'scr_intensity' core option screenshots have been taken with the 'cap32_scr_tube' core option set to 'color'.
!!! note "scr_intensity = 5"
![](../image/core/caprice32/5.png)
!!! note "scr_intensity = 15"
![](../image/core/caprice32/15.png)
## Controllers
The Caprice32 core supports the following device type(s) in the controls menu, bolded device types are the default for the specified user(s):

View file

@ -102,27 +102,27 @@ The ChaiLove core saves/loads to/from these directories.
## Core options
The ChaiLove core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
The ChaiLove core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.
- **Alpha Blending** [chailove_alphablending] (**enabled**|disabled)
Enable or disable alpha blending (transparency).
??? note "Alpha Blending - On"
![](../image/core/chailove/alpha_on.png)
??? note "Alpha Blending - Off"
![](../image/core/chailove/alpha_off.png)
![](../image/core/chailove/alpha_off.png)
- **High Quality** [chailove_highquality] (**enabled**|disabled)
Enable or disable extra visual features.
??? note "High Quality - On"
![](../image/core/chailove/quality_on.png)
??? note "High Quality - Off"
![](../image/core/chailove/quality_off.png)
@ -149,7 +149,7 @@ The ChaiLove core supports the following device type(s) in the controls menu, bo
| Y | ![](../image/retropad/retro_y.png) |
| Select | ![](../image/retropad/retro_select.png) |
| Start | ![](../image/retropad/retro_start.png) |
| D-Pad Up | ![](../image/retropad/retro_dpad_up.png) |
| D-Pad Up | ![](../image/retropad/retro_dpad_up.png) |
| D-Pad Down | ![](../image/retropad/retro_dpad_down.png) |
| D-Pad Left | ![](../image/retropad/retro_dpad_left.png) |
| D-Pad Right | ![](../image/retropad/retro_dpad_right.png) |

View file

@ -92,7 +92,7 @@ The Citra core saves/loads to/from these directories.
## Core options
The Citra core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
The Citra core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.
@ -101,64 +101,64 @@ Settings with (Restart) means that core has to be closed for the new setting to
Enable Citra's 'dynarmic' dynamic recomplier. Can improve performance. Instructions that are not implemented by the recompiler fall back into the interpreter CPU core.
If disabled, Citra will solely use the Interpreter CPU core.
- **Enable hardware renderer** [citra_use_hw_renderer] (**enabled**|disabled)
Awaiting description.
- **Enable shader JIT** [citra_use_shader_jit] (**enabled**|disabled)
Awaiting description.
- **Resolution scale factor** [citra_resolution_factor] (**1x (Native)**|2x|3x|4x|5x|6x|7x|8x|9x|10x)
Self-explanatory.
??? note "Screen layout positioning - Default Top-Bottom Screen"
![](../image/core/citra/default.png)
??? note "Screen layout positioning - Single Screen Only"
![](../image/core/citra/single.png)
??? note "Screen layout positioning - Large Screen, Small Screen)"
![](../image/core/citra/large.png)
- **Screen layout positioning** [citra_layout_option] (**Default Top-Bottom Screen**|Single Screen Only|Large Screen, Small Screen|Side by Side)
Awaiting description.
- **Prominent 3DS screen** [citra_swap_screen] (**Top**|Bottom)
Awaiting description.
- **Right analog function** [citra_analog_function] (**C-Stick and Touchscreen Pointer**|Touchscreen Pointer|C-Stick)
Awaiting description.
- **Emulated pointer deadzone (%)** [citra_deadzone] (**15**|20|25|30|35|0|5|10)
Awaiting description.
- **Enable virtual SD card** [citra_use_virtual_sd] (**enabled**|disabled)
Awaiting description.
- **Savegame location** [citra_use_libretro_save_path] (**LibRetro Default**|Citra Default)
Awaiting description.
- **3DS system model** [citra_is_new_3ds] (**Old 3DS**|New 3DS)
Awaiting description.
- **3DS system region** [citra_region_value] (**Auto**|Japan|USA|Europe|Australia|China|Korea|Taiwan)
Awaiting description.
- **"Enable GDB stub** [citra_use_gdbstub] (**disabled**|enabled)
Awaiting description.
## Joypad
| User 1 input descriptors | RetroPad Inputs | Citra inputs |

View file

@ -94,7 +94,7 @@ The Citra Canary/Experimental core saves/loads to/from these directories.
## Core options
The Citra Canary/Experimental core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
The Citra Canary/Experimental core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.
@ -103,72 +103,72 @@ Settings with (Restart) means that core has to be closed for the new setting to
Enable Citra's 'dynarmic' dynamic recomplier. Can improve performance. Instructions that are not implemented by the recompiler fall back into the interpreter CPU core.
If disabled, Citra will solely use the Interpreter CPU core.
- **Select Renderer** [citra_renderer] (**enabled**|disabled)
Awaiting description.
- **Enable shader JIT** [citra_use_shader_jit] (**enabled**|disabled)
Awaiting description.
- **Resolution scale factor** [citra_resolution_factor] (**1x (Native)**|2x|3x|4x|5x|6x|7x|8x|9x|10x)
Self-explanatory.
??? note "Screen layout positioning - Default Top-Bottom Screen"
![](../image/core/citra/default.png)
??? note "Screen layout positioning - Single Screen Only"
![](../image/core/citra/single.png)
??? note "Screen layout positioning - Large Screen, Small Screen)"
![](../image/core/citra/large.png)
- **Screen layout positioning** [citra_layout_option] (**Default Top-Bottom Screen**|Single Screen Only|Large Screen, Small Screen|Side by Side)
Awaiting description.
- **Prominent 3DS screen** [citra_swap_screen] (**Top**|Bottom)
Awaiting description.
- **Right analog function** [citra_analog_function] (**C-Stick and Touchscreen Pointer**|Touchscreen Pointer|C-Stick)
Awaiting description.
- **Emulated pointer deadzone (%)** [citra_deadzone] (**15**|20|25|30|35|0|5|10)
Awaiting description.
- **What hardware shaders to enable** [citra_hw_shaders] (**None**|Partial|Full)
Awaiting description.
- **Enables accurate hardware shaders (infinity * 0 = 0), required for some games, though slow on some hardware** [citra_use_accurate_mul] (**enabled**|disabled)
Awaiting description.
- **Enable virtual SD card** [citra_use_virtual_sd] (**enabled**|disabled)
Awaiting description.
- **Savegame location** [citra_use_libretro_save_path] (**LibRetro Default**|Citra Default)
Awaiting description.
- **3DS system model** [citra_is_new_3ds] (**Old 3DS**|New 3DS)
Awaiting description.
- **3DS system region** [citra_region_value] (**Auto**|Japan|USA|Europe|Australia|China|Korea|Taiwan)
Awaiting description.
- **"Enable GDB stub** [citra_use_gdbstub] (**disabled**|enabled)
Awaiting description.
## Joypad
| User 1 input descriptors | RetroPad Inputs | Citra inputs |

View file

@ -1,5 +1,5 @@
# 3DO Core Compatibility
# 3DO Core Compatibility
## Opera
## Opera
[Opera Core Compatibility List](http://wiki.fourdo.com/Compatibility_List)

View file

@ -4,13 +4,13 @@
General FlyCast Issues
- The date and time do not seem to get properly saved, as the system will ask you to set the clock every time you start.
- Once you save to a VMU slot with any game, that VMU becomes inaccessible the next time you load the emulator.
- Polygon/Alpha sorting issues can make objects appear distorted in regular Flycast core. Use Per-Pixel Alpha sorting if you want complete/accurate emulation instead.
- When using an Xbox 360 Controller, analog triggers don't work properly. Use the bumpers instead.
- Changing games without closing and reloading RetroArch often leads to RetroArch crashing.
- The date and time do not seem to get properly saved, as the system will ask you to set the clock every time you start.
- Once you save to a VMU slot with any game, that VMU becomes inaccessible the next time you load the emulator.
- Polygon/Alpha sorting issues can make objects appear distorted in regular Flycast core. Use Per-Pixel Alpha sorting if you want complete/accurate emulation instead.
- When using an Xbox 360 Controller, analog triggers don't work properly. Use the bumpers instead.
- Changing games without closing and reloading RetroArch often leads to RetroArch crashing.
| Game | Issue |
|---------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|---------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Sonic Adventure (PAL) | Must be set to use "VGA" output in core options, as "TV" mode will cause all subsequent FMV to make RetroArch become unresponsive. |
| The Typing of the Dead (NTSC-J) | Must have real BIOS for kanji, hiragana, and katakana to show up since HLE BIOS only has US/ASCII characters. |

View file

@ -44,7 +44,7 @@
| Game | Issue |
|---------------------------------------------------|----------------------------------------------------------------------------------------------------|
| Boktai Trilogy | The solar sensor is not emulated. |
| Boktai Trilogy | The solar sensor is not emulated. |
| Croket! 2 Yami no Bank to Banqueen | Heavy slowdown when approaching the snowman in the beginning. |
| Digimon Racing (Europe) | Freezes during the intro. This can be avoided by enabling linking in the standalone VBA-M release. |
| Drome Racers | Only shows a black screen after the THQ logo. |

View file

@ -98,7 +98,7 @@ The Craft core saves/loads to/from these directories.
## Core options
The Craft core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
The Craft core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.
@ -115,14 +115,14 @@ Settings with (Restart) means that core has to be closed for the new setting to
- **Show info text** [craft_show_info_text] (**disabled**|enabled)
Show game information in the upper left corner of Craft.
??? note "Show info text - Off"
![](../image/core/craft/off.png)
??? note "Show info text - On"
![](../image/core/craft/on.png)
- **Jumping Flash mode** (**Off**/On):
- **Jumping Flash mode** (**Off**/On):
Enabling this allows you to jump infinitely into the air all while the camera faces downwards.
@ -157,7 +157,7 @@ Settings with (Restart) means that core has to be closed for the new setting to
- **Analog deadzone size** [craft_deadzone_radius] (**0.010** to 0.200 in increments of 0.005)
Modify RetroPad analog sticks' deadzone.
## Joypad
| RetroPad Inputs | Craft Inputs |

View file

@ -79,34 +79,34 @@ The CrocoDS core saves/loads to/from these directories.
## Core options
The CrocoDS core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
The CrocoDS core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.
- **Color Monitor** [crocods_greenmonitor] (**color**|green)
Self-explanatory.
??? note "Color Monitor - color"
![](../image/core/crocods/color.png)
??? note "Color Monitor - green"
![](../image/core/crocods/green.png)
![](../image/core/crocods/green.png)
- **Resize** [crocods_resize] (**Auto**|320x200|Overscan)
Self-explanatory.
??? note "Resize - 320x200"
![](../image/core/crocods/320x200.png)
??? note "Resize - Overscan"
![](../image/core/crocods/overscan.png)
![](../image/core/crocods/overscan.png)
- **Speed hack** [crocods_hack] (**no**|yes)
Awaiting description.
## Controllers
The CrocoDS core supports the following device type(s) in the controls menu, bolded device types are the default for the specified user(s):

View file

@ -13,7 +13,7 @@ The DeSmuME core has been authored by
The DeSmuME core is licensed under
- [GPLv2](https://github.com/TASVideos/desmume/blob/master/license.txt)
- [GPLv2](https://github.com/TASVideos/desmume/blob/master/license.txt)
A summary of the licenses behind RetroArch and its cores can be found [here](../development/licenses.md).
@ -38,7 +38,7 @@ Required or optional firmware files go in the frontend's system directory.
!!! warning
In order for the firmware files to be loaded by the DeSmuME core, the 'Use External BIOS/Firmware (restart)' core option must be set to enabled.
| Filename | Description | md5sum |
|:------------:|:-----------------------:|:--------------------------------:|
| firmware.bin | NDS Firmware - Optional | 145eaef5bd3037cbc247c213bb3da1b3 |
@ -111,14 +111,14 @@ The Nintendo DS' system nickname can be configured via RetroArch's Username sett
## Core options
The DeSmuME core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
The DeSmuME core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.
- **Firmware Language** [desmume_firmware_language] (**Auto**|English|Japanese|French|German|Italian|Spanish)
Choose the language of the firmware.
- **Use External BIOS/Firmware (restart)** [desmume_use_external_bios] (**disabled**|enabled)
When set to enabled, the DeSmuME core will use the external firmware files found in RetroArch's System Directory. Look at the [BIOS section](#bios) for more information.
@ -126,13 +126,13 @@ Settings with (Restart) means that core has to be closed for the new setting to
- **Boot Into BIOS (interpreter and external bios only)** [desmume_boot_into_bios] (**disabled**|enabled)
**For proper functionality of this core option. The 'CPU Mode' core option must be set to interpreter and the 'Use External BIOS/Firmware' core option must be set to enabled.**
**Also, you must have external firmware files in RetroArch's System Directory.**
When set to enabled, the DeSmuME core will boot into the Nintendo DS firmware screen upon content load.
Any settings changed in the firmware screen will be saved to firmware.dfc in RetroArch's Save directory.
- **Load Game Into Memory (restart)** [desmume_load_to_memory] (**disabled**|enabled)
Loads the entire game into memory before startup. Will decrease in-game loading times at the cost of increased game startup times.
@ -144,9 +144,9 @@ Settings with (Restart) means that core has to be closed for the new setting to
- **CPU Mode** [desmume_cpu_mode] (**jit**|interpreter)
Choose to run CPU emulation through the Interpreter engine or the JIT Dynamic Recomplier engine.
Interpreter has better compatibility than JIT Dynamic Recompiler. Some games that fail when using JIT Dynamic Recompiler will work fine with Interpreter. The tradeoff here is that Interpreter has much lower performance than JIT Dynamic Recompiler.
Please note that the default setting for this core option is dependent on your hardware. The JIT Dynamic Recompiler is not available on all hardware (e.g. Android devices).
- **JIT Block Size** [desmume_jit_block_size] (**12**|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60|61|62|63|64|65|66|67|68|69|70|71|72|73|74|75|76|77|78|79|80|81|82|83|84|85|86|87|88|89|90|91|92|93|94|95|96|97|98|99|100|0|1|2|3|4|5|6|7|8|9|10|11)
@ -156,178 +156,178 @@ Settings with (Restart) means that core has to be closed for the new setting to
- **Enable Advanced Bus-Level Timing** [desmume_advanced_timing] (**enabled**|disabled)
This will improve or fix some games but it is very performance demanding. Disable this if you want more speed.
- **Frameskip** [desmume_frameskip] (**0**|1|2|3|4|5|6|7|8|9)
Choose how much frames should be skipped to improve performance at the expense of visual smoothness.
It is generally safe to choose 1 or 2 if you don't mind a slightly choppier game, in order to get a speedup.
If screens seem stuck or screen flickering becomes unacceptable, pick a different frame skip value.
- **Internal Resolution (restart)** [desmume_internal_resolution] (**256x192**|512x384|768x576|1024x768|1280x960|1536x1152|1792x1344|2048x1536|2304x1728|2560x1920)
Configure the resolution. Requires a restart.
??? note "Internal resolution - 256x192"
![](../image/core/desmume/256x192.png)
??? note "Internal resolution - 2560x1920"
![](../image/core/desmume/2560x1920.png)
- **OpenGL Rasterizer (restart)** [desmume_opengl_mode] (**disabled**|enabled)
Enable OpenGL renderer.
**The Frontend's video driver must be set to gl.**
- **OpenGL: Color Depth (restart)** [desmume_color_depth] (**16-bit**|32-bit)
32-bit allows full color support from the DS (natively 6-bit).
**OpenGL Rasterizer core option must be set to enabled.**
- **OpenGL: Multisampling (restart)** [desmume_gfx_multisampling] (**disabled**|2|4|8|16|32)
Awaiting description.
- **OpenGL: Texture Smoothing** [desmume_gfx_texture_smoothing] (**disabled**|enabled)
Awaiting description.
- **Soft3D: High-res Color Interpolation** [desmume_gfx_highres_interpolate_color] (**disabled**|enabled)
Awaiting description.
- **Soft3D: Line Hack** [desmume_gfx_linehack] (**enabled**|disabled)
Fixes some graphical bugs involving lines, but causes some other bugs. Not many games use lines.
- **Soft3D: Texture Hack** [desmume_gfx_txthack] (**disabled**|enabled)
Awaiting description.
- **Edge Marking** [desmume_gfx_edgemark] (**enabled**|disabled)
Awaiting description.
- **"Texture Scaling (xBrz)** [desmume_gfx_texture_scaling] (**1**|2|4)
Awaiting description.
- **Texture Deposterization** [desmume_gfx_texture_deposterize] (**disabled**|enabled)
Awaiting description.
- **Screen Layout** [desmume_screens_layout] (**top/bottom**|bottom/top|left/right|right/left|top only|bottom only|quick switch|hybrid/top|hybrid/bottom)
Self-explanatory.
??? note "Screen layout - top/bottom"
![](../image/core/desmume/top_bottom.png)
??? note "Screen layout - bottom/top"
![](../image/core/desmume/bottom_top.png)
??? note "Screen layout - left/right"
![](../image/core/desmume/left_right.png)
??? note "Screen layout - right/left"
![](../image/core/desmume/right_left.png)
??? note "Screen layout - top only"
![](../image/core/desmume/top.png)
??? note "Screen layout - bottom only"
![](../image/core/desmume/bottom.png)
??? note "Screen layout - hybrid/top"
![](../image/core/desmume/hybrid_top.png)
- **Screen Gap** [desmume_screens_gap] (0 to 100 in increments of 1. **0 is default.**)
Self explanatory.
??? note "Screen Gap - 0"
![](../image/core/desmume/screengap_0.png)
??? note "Screen Gap - 100"
![](../image/core/desmume/screengap_100.png)
- **Hybrid Layout: Scale (restart)** [desmume_hybrid_layout_scale] (**1**|3)
Self explanatory. The 'Screen layout' core option must be set to a hybrid setting for this to function properly.
??? note "Hybrid layout scale - 1"
![](../image/core/desmume/scale_1.png)
??? note "Hybrid layout scale - 3"
![](../image/core/desmume/scale_3.png)
- **Hybrid Layout: Show Both Screens** [desmume_hybrid_showboth_screens] (**enabled**|disabled)
Removes the small top screen when the 'Screen layout' core option is set to hybrid/top
Removes the small top screen when the 'Screen layout' core option is set to hybrid/top
Removes the small bottom screen when the 'Screen layout' core option is set to hybrid/bottom
- **Hybrid Layout: Cursor Always on Small Screen** [desmume_hybrid_cursor_always_smallscreen] (**enabled**|disabled)
Self explanatory.
Disablng this allows you to use the stylus on the big bottom screen when the 'Screen layout' core option is set to hybrid/bottom.
- **Mouse/Pointer** [desmume_pointer_mouse] (**enabled**|disabled)
Enabling this allows inputs for the stylus.
- **Pointer Type** [desmume_pointer_type] (**mouse**|touch)
Setting this to mouse allows you to use mouse inputs for the stylus
Setting this to touch allows you to use mouse/touch inputs for the stylus (e.g. Touch controls on Android devices).
- **Mouse Speed** [desmume_mouse_speed] (**1.0**|1.5|2.0|0.01|0.02|0.03|0.04|0.05|0.125|0.25|0.5)
**The Pointer type core option must be set to mouse**
Adjust mouse speed for the stylus.
- **Pointer Rotation** [desmume_input_rotation] (**0**|90|180|270)
Rotate pointer controls
This is can be used in conjuction with RetroArch's Rotation setting.
- **Pointer Mode for Left Analog** [desmume_pointer_device_l] (**none**|emulated|absolute|pressed)
Awaiting description.
- **Pointer Mode for Right Analog** [desmume_pointer_device_r] (**none**|emulated|absolute|pressed)
Awaiting description.
- **Emulated Pointer Deadzone Percent** [desmume_pointer_device_deadzone] (**15**|20|25|30|35|0|5|10")
Awaiting description.
- **Emulated Pointer Acceleration Modifier Percent** [desmume_pointer_device_acceleration_mod] (**0**|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60|61|62|63|64|65|66|67|68|69|70|71|72|73|74|75|76|77|78|79|80|81|82|83|84|85|86|87|88|89|90|91|92|93|94|95|96|97|98|99|100)
Awaiting description.
- **Emulated Stylus Pressure Modifier Percent** [desmume_pointer_stylus_pressure] (**50**|51|52|53|54|55|56|57|58|59|60|61|62|63|64|65|66|67|68|69|70|71|72|73|74|75|76|77|78|79|80|81|82|83|84|85|86|87|88|89|90|91|92|93|94|95|96|97|98|99|100|0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49)
Awaiting description.
- **Pointer Colour** [desmume_pointer_colour] (**white**|black|red|blue|yellow)
Awaiting description.
- **Microphone Button Noise Type** [desmume_mic_mode] (**pattern**|random)
Configure microphone input settings.
With the pattern setting, DeSmuME will use its internal noise sample for microphone input which works for many games that want you to blow on the mic.
With the random setting, DeSmuME will use random whitenoise for microphone input which will work for games that require blowing but which don't work with the internal noise sample.
## Controllers
@ -384,7 +384,7 @@ The DeSmuME core supports the following device type(s) in the controls menu, bol
| RetroPointer Inputs | DeSmuME inputs |
|--------------------------------------------------------------------------------------------------------------------------|----------------|
| ![](../image/retromouse/retro_mouse.png) or ![](../image/Button_Pack/Gestures/Gesture_Finger_Front.png) Pointer Position | Stylus |
| ![](../image/retromouse/retro_mouse.png) or ![](../image/Button_Pack/Gestures/Gesture_Finger_Front.png) Pointer Position | Stylus |
| ![](../image/retromouse/retro_left.png) or ![](../image/Button_Pack/Gestures/Gesture_Tap.png) Pointer Pressed | Stylus Press |
## Compatibility

Some files were not shown because too many files have changed in this diff Show more