Rustation: Difference between revisions
No edit summary |
Ilyagredasov (talk | contribs) No edit summary Tags: Mobile edit Mobile web edit |
||
| (10 intermediate revisions by 9 users not shown) | |||
| Line 1: | Line 1: | ||
{{Infobox emulator | {{Infobox emulator | ||
|title = Rustation | |title = Rustation | ||
|logo = | |logo = Rustation_logo.png | ||
|logowidth = | |logowidth = | ||
|version = 0.0.3 | |version = 0.0.3 | ||
|active = No | |active = No | ||
|platform = Windows | |platform = [[Emulators on Windows|Windows]]<br/>[[Emulators on Linux|Linux]]<br/>[[Emulators on macOS|macOS]] | ||
|target = [[PlayStation emulators|PlayStation]] | |target = [[PlayStation emulators|PlayStation]] | ||
|developer = simias | |developer = Lionel Flandrin <small>(simias)</small> | ||
|prog-lang = | |prog-lang = {{Proglang|Rust}} | ||
|website = | |website = | ||
|source = [https://github.com/simias/rustation GitHub] | |license = {{license|GPLv2}} | ||
|source = [https://github.com/simias/rustation GitHub]<br/>[https://github.com/simias/rustation-libretro GitHub] <small>(libretro upstream)</small> | |||
|issuetracker = [https://github.com/simias/rustation/issues GitHub] | |||
}} | }} | ||
'''Rustation''' is an open-source [[PlayStation emulators|PlayStation emulator]] that doesn't require a plugin-based system. | |||
'''Rustation''' is an open-source [[PlayStation emulators|PlayStation emulator]] that doesn't require a plugin-based system. It's written in the Rust programming language and has a [[libretro]] core. | |||
==Overview== | |||
The first commit for Rustation was made on [https://github.com/simias/rustation/commit/017db106eaf9b8268eb58a24612da948f4b8c2fc February 17, 2015], and many commits have since been added over the next two years. However, the last commit was made in [https://github.com/simias/rustation/commits/master September 2017] and was never followed up; the same is also true of the libretro core. The libretro team, meanwhile, used the work done in Rustation to create the [[Mednafen|Beetle PSX]] ''HW'' core, in which an OpenGL 3.3 renderer is used instead of the previous software renderer.<ref name="libretro-Rustation">{{cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=PSX-OpenGL-Experimental|title=PlayStation Emulator Gets Experimental OpenGL Renderer|publisher=Phoronix|author=Michael Larabel|accessdate=2018-12-14|date=31 May 2016}}</ref> That core is said to be one of the first PlayStation emulators to use modern OpenGL, as it differs from the fixed-function OpenGL used in older OpenGL-based emulator plugins. | |||
The original repository only contains the source code for the core of the emulator. The OpenGL renderer and the libretro interface is in the rustation-libretro repository. Game performance is poor; only a few games can boot. | |||
===Features=== | |||
These things are either fully or partially implemented: | |||
* CPU | |||
* Basic GTE support (ported from mednafen PSX) | |||
* Instruction cache | |||
* Interrupts | |||
* Basic GPU (no semi-transparency or mask bit emulation) | |||
* Timers (incomplete) | |||
* DMA | |||
* Debugger | |||
* CDROM controller (missing many commands) | |||
* Gamepad controller (only digital pad for now) | |||
<u>'''To-do list:'''</u> | |||
* Many things in the GPU | |||
* MDEC (Probably for movie playback. [[Avocado]] is in the midst of implementing this one) | |||
* SPU | |||
* Memory card | |||
* CPU pipeline emulation | |||
* More accurate timings | |||
* Many, many other things... | |||
==References== | |||
{{Reflist}} | |||
==External Links== | |||
* [https://www.libretro.com/index.php/category/rustation/ Official blog] (For Rustation in libretro) | |||
* [https://8ch.net/psx/index.html /psx/ board on 8chan] (Informal place created by simias to discuss this emulator and PlayStation related things) | |||
[[Category:Emulators]] | [[Category:Emulators]] | ||
[[Category:Console emulators]] | |||
[[Category:Home console emulators]] | |||
[[Category:PlayStation emulators]] | [[Category:PlayStation emulators]] | ||
[[Category:Windows emulation software]] | [[Category:Windows emulation software]] | ||
[[Category:Linux emulation software]] | [[Category:Linux emulation software]] | ||
[[Category:macOS emulation software]] | [[Category:macOS emulation software]] | ||
[[Category:Inactive emulation software]] | |||