Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

RetroArch 3DS: Difference between revisions

From GameBrew
(Created page with "{{Infobox 3DS homebrew | title = RetroArch | image = https://dlhb.gamebrew.org/3dshomebrew/retroarch-3ds-01.jpg|250px | type = Console | version = v1.8.1 | licence = Mixed | a...")
 
No edit summary
Line 3: Line 3:
| image = https://dlhb.gamebrew.org/3dshomebrew/retroarch-3ds-01.jpg|250px
| image = https://dlhb.gamebrew.org/3dshomebrew/retroarch-3ds-01.jpg|250px
| type = Console
| type = Console
| version = v1.8.1
| version = v1.8.5
| licence = Mixed
| licence = Mixed
| author = libretro
| author = libretro
| website = https://github.com/libretro/RetroArch
| website = https://www.retroarch.com/
| download = https://dlhb.gamebrew.org/3dshomebrew/https://buildbot.libretro.com/stable/1.8.1/nintendo/3ds/RetroArch_3dsx.7z
| download = https://buildbot.libretro.com/stable/
| source = https://dlhb.gamebrew.org/3dshomebrew/https://buildbot.libretro.com/stable/1.8.1/nintendo/3ds/RetroArch_3dsx.7z
| source = https://github.com/libretro/RetroArch
}}
}}
<youtube>lT6l3XuSQxA</youtube>
<youtube>lT6l3XuSQxA</youtube>


= r3Ddragon =
RetroArch is a free, open-source and cross-platform front-end for emulators, game engines, video games, media players and other applications. It is the reference implementation of the libretro API, designed to be fast, lightweight, portable and without dependencies. It is licensed under the GNU GPLv3.  
A WIP Virtual Boy emulator for the 3DS based on Reality Boy / Red Dragon. You can see the current progress [https://github.com/mrdanielps/r3Ddragon/wiki/Current-progress here] and a video of it working [https://youtu.be/xJ9323yaQJY here].
 
There's an experimental dynarec implemented but it still needs optimizing.
RetroArch is a frontend for emulators, game engines and media players.
=== Usage ===
 
You can place place ROMs in /vb/.
It enables you to run classic games on a wide range of computers and consoles through its slick graphical interface. Settings are also unified so configuration is done once and for all.
If it doesn't exist, <code>rd_config.ini</code> will be created. Some relevant options you can change are:
 
* ''maxcycles'': A lower value will improve compatibility, but it will run slower.
In addition to this, you will soon be able to run original game discs (CDs) from RetroArch.
* ''frmskip'': Number of frames to skip before drawing.
 
* ''debug'': If set to 1, prints debug info.
RetroArch has advanced features like shaders, netplay, rewinding, next-frame response times, runahead, and more!
* ''sound'': Enables sound.
* ''dynarec'': If set to 0, tries to load the dynarec cache from a file instead of recompiling.
The 3dsx will only work on exploitable system versions (<=11.2) after running [https://github.com/nedwill/fasthax/releases fasthax].
=== FAQs ===
<blockquote>Why would you make a Virtual Boy emulator? Nobody asked for it.
</blockquote>
The 3DS is the perfect system to faithfully emulate the Virtual Boy. They have similar screen resolutions, the 3D effect is better and it's actually portable.
<blockquote>OK, but wasn't the Virtual Boy, like, the worst console ever?
</blockquote>
There were many reasons why it was commercial failure. That doesn't mean the console is bad, or the games aren't worth playing. It's definitely received way more hate than it deserved.
Plus, it has a nice homebrew scene with gems such as Hyper Fighting, Snatcher and many more.
<blockquote>Do I need a new 3DS to run this?
</blockquote>
Unfortunately, yes. The old 3DS is too slow to run it at a playable speed. That might change in the future, but it's unlikely.
<blockquote>Where can I download it?
</blockquote>
You can find the latest release [https://github.com/mrdanielps/r3Ddragon/releases here].
=== Building ===
Once you have [http://3dbrew.org/wiki/Setting_up_Development_Environment ctrulib installed], you can choose between four different make targets:
* '''<code>make release</code>''' adds <code>-O3</code> to CFLAGS. It's meant to be run on an actual 3DS and will output basic debug info to stdout only if enabled in <code>rd_config.ini</code>.
* '''<code>make testing</code>''' adds <code>-O3</code> to CFLAGS. It's meant to be run on an emulator (citra or 3dmoo). It will output basic debug info to the terminal.
* '''<code>make debug</code>''' adds <code>-g -O0</code> to CFLAGS. It builds without optimizations so it can be debugged with gdb.
* '''<code>make slowdebug</code>''' adds <code>-g -O0</code> to CFLAGS. It will output a lot of debug information, which will slow emulation down but might be helpful to debug game-specific issues.
For easier debugging, you can build it for arm-linux (tested on a Raspberry Pi) with <code>make -f Makefile.linux</code> or for android using <code>ndk-build</code>.
=== License ===
Some of the code is distributed under the MIT License (check source files for that) but, since this is a port of Reality Boy, here is (part of) the original readme:
<pre>This Reality Boy emulator is copyright (C) David Tucker 1997-2008, all rights
reserved. You may use this code as long as you make no money from the use of
this code and you acknowledge the original author (Me). I reserve the right to
dictate who can use this code and how (Just so you don't do something stupid
with it).
Most Importantly, this code is swap ware. If you use It send along your new
program (with code) or some other interesting tidbits you wrote, that I might be
interested in.
This code is in beta, there are bugs! I am not responsible for any damage
done to your computer, reputation, ego, dog, or family life due to the use of
this code. All source is provided as is, I make no guaranties, and am not
responsible for anything you do with the code (legal or otherwise).
Virtual Boy is a trademark of Nintendo, and V810 is a trademark of NEC. I am
in no way affiliated with either party and all information contained hear was
found freely through public domain sources.
Acknowledgments:
----------------
Frostgiant, Parasyte, and DogP (and the rest of people that have contributed
to the VB sceen in the last five years) - Their work on Red_Dragon has been a
real inspiration. Its amazing how far they have gone with so little to start
with.
Bob VanderClay - most of the original code is based off
of his VB disassembler.
Ben Haynor - Provided me with a much better understanding of
the VB internals.
Joseph LoCicero, Dave Shadoff - I stole the jump table ideas from their tg16
disassembler, thanks guys.
Neill Corlett - took many ideas (and some code)
from his Starscream CPU core
Kevin Banks - for donating a very nice pair of Frenzle 3D
viewers, and being an all around great guy.
Megan Tucker - For putting up with my tinkering all night, and resisting the
urge to toss all my video games out the window.
v810 is a trademark of NEC co.
Virtual Boy is a trade mark of Nintendo
Reality Boy is in no way affiliated with either of these parties</pre>
=== Credits ===
* Everyone mentioned in the license. Without Reality Boy and Red Dragon it wouldn't have been possible.
* smealum and contributors - ctrulib.
* Vappy, Team Fail, HtheB, hippy dave and kane159 on GBAtemp - early testing.
* benhoyt - inih.
* Myria - libkhax
* thunderstruck - CIA banner sound (taken from Fishbone).
* nop90 - Reality Boy backports and fixes.
* danielps - 3DS port and V810 dynarec.
Changelog: Removed libhax. Homebrew launcher users will have to run a kernel exploit (like fasthax) first. Added settings for frameskip, maxcycles, sound and debug output. Implemented floating point instructions. Known Issues: Low compatibility. Glitchy graphics on some commercial games. Frame limiting is broken when frameskip is enabled. Some menu options aren't implemented. To change ROMs you have to exit first (touchscreen->File->Exit).

Revision as of 08:03, 12 April 2020

Template:Infobox 3DS homebrew

RetroArch is a free, open-source and cross-platform front-end for emulators, game engines, video games, media players and other applications. It is the reference implementation of the libretro API, designed to be fast, lightweight, portable and without dependencies. It is licensed under the GNU GPLv3.

RetroArch is a frontend for emulators, game engines and media players.

It enables you to run classic games on a wide range of computers and consoles through its slick graphical interface. Settings are also unified so configuration is done once and for all.

In addition to this, you will soon be able to run original game discs (CDs) from RetroArch.

RetroArch has advanced features like shaders, netplay, rewinding, next-frame response times, runahead, and more!

Advertising: