mirror of
https://github.com/libretro/docs.git
synced 2024-06-06 07:08:40 -04:00
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:
parent
410ac01450
commit
8a8f9b31d2
|
@ -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}.
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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/)
|
||||
|
|
|
@ -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 |
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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 (**⌘-B**) and run (**⌘-R**) it there.
|
||||
Open Xcode. Open the following project file `pkg/apple/RetroArch_iOS.xcodeproj` in the Xcode IDE and build (**⌘-B**) and run (**⌘-R**) it there.
|
||||
|
||||
##### For iOS 10 and up
|
||||
|
||||
|
|
|
@ -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`
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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`.
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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).
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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? We’ll 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.
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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/`
|
||||
|
|
|
@ -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:
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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`
|
||||
|
|
|
@ -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) |
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
___
|
||||
|
|
|
@ -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**
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
## Nintendo Switch
|
||||
|
||||
!!! Note
|
||||
!!! Note
|
||||
You need to have Atmosphère custom firmware to run RetroArch on your Switch.
|
||||
|
||||
!!! Warning
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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>/`)*
|
||||
|
||||
|
|
|
@ -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...)
|
||||
|
|
|
@ -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:** `` &*/:`<>?\| ``
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
@ -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 isn’t 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).
|
||||
|
||||
|
|
|
@ -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**.
|
||||
|
|
|
@ -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) |
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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 |
|
||||
|
|
|
@ -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.**
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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 |
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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 console’s display device differs from modern computer monitor’s 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
|
||||
|
||||
|
|
|
@ -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 console’s display device differs from modern computer monitor’s 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):
|
||||
|
|
|
@ -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 console’s display device differs from modern computer monitor’s 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):
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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) |
|
||||
|
|
|
@ -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 |
|
||||
|
|
|
@ -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 |
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# 3DO Core Compatibility
|
||||
# 3DO Core Compatibility
|
||||
|
||||
## Opera
|
||||
## Opera
|
||||
|
||||
[Opera Core Compatibility List](http://wiki.fourdo.com/Compatibility_List)
|
||||
|
|
|
@ -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. |
|
||||
|
|
|
@ -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. |
|
||||
|
|
|
@ -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 |
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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
Loading…
Reference in a new issue