Changes

Jump to navigation Jump to search

Compatibility layers

6,654 bytes removed, 06:35, 21 September 2021
Compatibility layers
{{Infobox console|title = Sega Saturn|logo = Sega-Saturn-Console-Set-Mk2.png|developer = While not strictly emulation ''per se'' (hence why [[:SegaWine]]|type = [[:Category:Consoles|Home video game console]]|generation = [[:Category:Fifth-generation video game consoles|Fifth generation]]|release = 1994|discontinued = 2000|predecessor = [[Sega Genesis emulators|Genesis / Mega Drive]]|successor = [[Sega Dreamcast emulators|Dreamcast]]|emulated = {{✓}}}}The stands for "Wine Is Not an Emulator"), '''[[wikipedia:Sega_Saturn|Sega Saturn]]compatibility layers''' is allow software written for one operating system to run on a 32-bitdifferent OS, fifth-generation console released often by [[wikipedia:Sega|Sega]] in Japan on November 22, 1994 translating API and system calls made by an application to their equivalent calls in the US on May 11host operating system. In theory, 1995. It was retailed this should allow for {{Inflation|USD|399.99|1994}}. It had 2 Hitachi SHnear-2 CPUs at 28.6 MHz and it had the VDP1 GPU & VDP2 GPU. The arcade boardnative performance since no processor emulation takes place, '''but in practice some software such as games will tend to run a bit slower due to other bottlenecks that occur as a result of [[https://segaretro.org/Sega_Titan_Video ST-V (Sega Titan Video)Emulation Accuracy|replicating the correct behavior]]''', uses the same hardware except such as accounting for sound, VRAM, and game storage (where it is stored graphics APIs like Direct3D that aren't supported on ROM cartridges instead of CDnon-ROM discs)Microsoft platforms. Additionally, compatibility layers may also use emulation in order to run software built for a different architecture.
The Sega Saturn has historically been one of the harder consoles to emulate, resulting in a lack of good options. However, things are looking up for open-source emulators like Mednafen, and to a lesser extent, Yabause. ==EmulatorsCompatibility layers==
{| class="wikitable" style="text-align:center;"
|-
! scope="col"|Name
! scope="col"|PlatformOperating System(s)
! scope="col"|Latest Version
! scope="col"|ST-V! scope<abbr title="colFree/Libre and Open-Source Software"|[[libretro|Libretro Core]]>FLOSS</abbr>
! scope="col"|Active
! scope="col"|[[Recommended Emulators|Recommended]]
! scope="col"|Runs the following software
|-
! colspan="7"|PC / x86
|-
|[[MednafenWine]]|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}|[https://wiki.winehq.org/Download {{MednafenURL|releases/WineVer}} <br />(Dev: {{MednafenVerWineDevVer}})]|{{~}} ||{{✓}} ||{{✓}} ||{{✓}}Windows applications and games
|-
|[[SSFProton]]|align=left|{{Icon|Linux}}|[https://store.steampowered.com/about/ {{ProtonVer}}]|{{✓}} ||{{✓}} ||{{✓}}|Windows games|-|[[TeknoParrot]]
|align=left|{{Icon|Windows}}
|[httphttps://aaaaaaaateknoparrot.g2com/download {{TeknoVer}}]|{{✗}} ||{{✓}} ||{{✓}}|PC-based arcade games|-|CrossOver|align=left|{{Icon|Linux|macOS|ChromeOS}}|[https://www.xreacodeweavers.com/ssf/files/SSF_PreviewVer_R13products 20.0.zip Preview Version R13 (2019-12-31)0] |{{✗}} ||{{✓}} ||{{✓}}|Windows applications and games|-|[[Anbox]]|align=left|{{Icon|Linux}} |[https://docs.anbox.io/userguide/install.html git]|{{✓}} ||{{✓}}||{{✗}}|Android software
|-
|[https://github.com/FCare/yabause Kronos[Darling]]|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}|[httphttps://wwwgithub.emutalk.netcom/forumsdarlinghq/56-Sega-Saturn-Emulation {{KronosVer}}darling git]|{{✓}} ||{{✓}} ||{{}} <small>(WIP)</small>||{{✓}}macOS software
|-
|[https://github.com/devmiyax/yabause YabaSanshiro[WineVDM]]|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}|[httphttps://wwwgithub.uoyabause.orgcom/otya128/winevdm/releases git]<br />[https:/static_pages/download 2ci.10appveyor.3com/project/otya128/winevdm/ Dev]|{{~}} ||{{}} ||{{}} ||{{~}}16-bit Windows apps and games
|-
|[[YabauseWineskin]]|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}|[http://yabausewineskin.orgurgesoftware.com/download/ {{YabauseVer}}tiki-index.php?page=Downloads 1.7]|{{~}} ||{{✓}} ||{{✗}} ||{{✗}}|Windows applications and games
|-
|[[MAME]]WineBottler|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}|[httphttps://wwwwinebottler.mamedevkronenberg.org/release4.0.1.html {{MAMEVer}}1 Dev]|{{✓}} ||{{}} ||{{}} ||{{✗}}Windows applications and games
|-
|[[NovaWoW]]
|align=left|{{Icon|Windows}}
|[https://www.patreon.com/file?h=31179979&i=4658332 0.6]|{{}} ||{{✗}} ||{{}} ||{{✗}}Windows 9x apps and games
|-
|[[BizHawkWin3mu]]
|align=left|{{Icon|Windows}}
|[http://tasvideos.org/BizHawk/ReleaseHistory.html {{BizHawkVer}}]?|{{~}} ||{{✗}} ||{{}} ||{{✗}}Windows 3.x apps and games
|-
|[http://satourne.consollection.com/ Satourne[NTVDMx64]]|align=left|{{Icon|Windows]]}}|[http://satourne.consollection.com/index.php?rub=download 2.0 beta 3]|{{✓}} ||{{}} ||{{✗}} ||{{✗}}DOS applications and games
|-
|[http://saturnin.consollection.com/ Saturnin[Ardi Executor]]|align=left|{{Icon|Windows|Linux|DOS}}|[https://web.archive.org/web/20080404193445/http://saturninwww.consollectionardi.com/indexardi.php?rub=download 02.1.4017]|{{✓}} ||{{✗}} ||{{✗}} ||{{✗}}Classic Mac OS software up to System 6
|-
|[[GiriGiri]http://dosemu.sourceforge.net/ DOSEmu]|align=left|{{Icon|WindowsLinux}}|[https://sourceforge.net/projects/dosemu/files/ 1.4.0.6]|{{}} ||{{✗}} ||{{✗}} ||{{✗}}DOS software
|-
! colspan|[http://dosemu2.github.io/dosemu2/ DOSEmu2]|align="7"left|{{Icon|Linux}}|Mobile [https:/ ARM/github.com/dosemu2/dosemu2 git]|{{✓}} ||{{✓}} ||{{✗}}|DOS software
|-
|[https://github.com/devmiyax/yabause YabaSanshiro]<small>(Contains Ads)</small>|align=left|{{Icon|Android|iOS}}|[https://play.google.com/store/apps/details?id!colspan=org.uoyabause.uranus 2.10.5] ([[Android emulators"7"|Android]])<br />[http://www.uoyabause.org/static_pagesMobile /download 1.8.1] (iOS)|{{~}} ||{{✗}} ||{{✓}} ||{{✓}}ARM
|-
|[[YabauseWine]]
|align=left|{{Icon|Android}}
|[httphttps://yabausewiki.winehq.org/downloadDownload {{WineDevVer}}]|{{✓}} ||{{✓}} ||{{✗}} <small>(WIP)</small>|Windows applications and games|-|[https://github.com/ AndreRH/hangover Hangover]|align=left|{{YabauseVerIcon|Android|LinuxARM}}|[https://github.com/AndreRH/hangover/releases git]|{{~}} ||{{✓}} ||{{✗}}|Windows applications and games|-|[[Anbox]]|align=left|{{Icon|LinuxARM}}|[https://docs.anbox.io/userguide/install.html git]|{{✓}} ||{{✓}}||{{✗}}|Android software
|-
!colspan="9"|Console|-|[[SSFNintendont]]|align=left|{{Icon|AndroidWii|WiiU}}|[httphttps://aaaaaaaa.g2.xreagithub.com/ssfFIX94/files/SSF_AndroidVer.zip DevNintendont 2021-07-12]|{{✓}} ||{{}} ||{{✓}} ||{{na|text=TBD}}GameCube games
|}
===Comparisons===
;*[[MednafenWine]]:An is a free and open-source, [[multi-system emulators|multi-system emulator]] with an original Saturn core. It's currently the most accurate but runs from the command-line compatibility layer that aims to allow computer programs (obviously it'll have video output thoughapplication software and computer games) unless using an external frontend like Mednaffe or a [[libretro]] frontend like [[RetroArch]]. Its goal developed for accuracy means it only supports the BIOS of one console revision per region, and is also very demanding, having recommendations Microsoft Windows to use a quadrun on Unix-core Intel Haswell CPU with a base frequency of >= 3.3GHz and a turbo frequency of >= 3.7GHz (e.g. Xeon E3-1226 v3).<ref name="Mednafen Saturn core documentation">{{MednafenURL|documentation/ss.html}}</ref>. By defaultlike operating systems, only x86-64 builds have Saturn support, but unofficial x86-32 builds primarily Linux and [[libretro]] frontends like [[RetroArch]] can surpass this limitationmacOS.:;[https://www.emu-land.net/consoles/saturn/emuls/windows?act=showonly&id=4227 MedSat]:An unofficial frontend, built by Saturn romhacker paul_meta, to simplify the process of loading Saturn games.;[[SSF]]:Used to be the emulator of choice for compatible Saturn emulation. However, it Since late 2017 there is closed-source and only also an experimental build for Windows and Android. Pretty good performance Wine is almost as old as the Linux project, starting in mid-end (and maybe low-end) computers. ;[[Yabause]]:Used to be the first and only option for multi-platform Saturn emulationsummer of 1993. ItToday it's far less developed than SSF and Mednafen and still has many compatibility issues. Development seems to have stoppedwidely used, active forks are Kronos which is recommended for PCs very popular and YabaSanshiro which is recommended for Android.:;YabaSanshiro <small>(formerly uoYabause)</small>::A Multi-platform fork sponsored by DevMiyax using OpenGL ES 3.X (Android), companies such as CodeWeavers and Open GL 3Valve.X (The core Wine development aims at a correct implementation of the Windows)API as a whole. Unlike other forks In this regard it uses the GPU to emulate the VDP1,VDP2, and has a modified SH2 Dynamic Recompiler. See the [http://www.emutalk.net/threads/56773-UoYabause-Compatibility-list UoYabause Compatibility list's] [http://tradu-france.com/tfwiki-1.28.2/index.php?title=Compatibility_list_of_uoYabause wiki] and [http://www.uoyabause.org/games official compatibility page].:;Kronos::A fork of UoYabause 0.5.2 created by François (French dev. AKA 'FCare'.). Has his own written SH2 Interpreter, and now supports similar to the ST-V arcade in version 1.30, and Higher (All ST-V games are launchable on Linux; most games are still problematic on Windows). [http://tradu-france.com/tfwiki-1.28.2/index.php?title=Compatibility_list_of_Kronos Compatibility list of Kronos].;[[MAME]]:Has a <code style="color:darkred;">saturn</code> driver with compatibility project in its focus on par with Yabausecorrectness over usability. The driver is marked overall as not working but graphics and sound There are OK. It has [http://adb.arcadeitalia.net/lista_mame.php?game_sourcefile=stv.cpp&arcade_only=0&current_version=0 good] [https://github.com/mamedev/mame/blob/master/src/mame/drivers/stv.cpp compatibility] with at least around 50 a lot of the ~70 ST-V arcade games, though performance quality may vary.<ref name="ST-V_A-Z">{{cite web|url=https://www.youtube.com/watch?v=tko_jBNci0k |title=Sega ST-V Arcade Games A to Z - M.A.M.E.|publisher=Youtube|accessdate=2018-05-23|date=2017-02-10}}</ref> But versions [http://wiki.mamedev.org/index.php/MAME_0.158 0.158]<ref name="Mame_0-158">{{cite web|url=https://www.youtube.com/watch?v=tPS7aX4gLCU |title=Touryuu Densetsu Elan Doree - New Improvements on ST-V Hardware - MAME 0.158|publisher=Youtube|accessdate=2018-05-23|date=2015-02-03}}</ref> (Jan 2015) to much later have made good advances in performance. Early known work on ST-V hardware emulation was done in various builds forks of Wine which focus of 0.125different goals, such as usability, compatibility, gaming, 0.133office applications, 0etc.138A few are listed below, 0.142 & 0.143 (See Wikipedia has [[httpwikipedia://wiki.mamedev.org/index.php/Previous_MAME_Versions prior builds]Wine_(software) between 2008-2011. Even bug fixes and #Other_versions_of_Wine|a more graphical improvements were included in the years 2017-2018 (i.e. [http://www.mamedev.com/?p=449 0.191], [http://www.mamedev.com/?p=456 0.197complete list] & [http://www.mamedev.com/?p=457 0.198]).::- [http://mamedev.emulab.it/kale/fast/files/saturnjp/0.php Sega Saturn JP compatibility list] (Created by MAME dev Angelo 'Kale' Salese);**[[NovaProton]]:An up-and-coming emulator focused on being fast, compatible and user-friendly. Like SSF, it is closedValve's one-source and click solution to play Windows onlygames on Linux. From [https://www.patreon.com/posts/nova-v0-2-1-18630607 v0.2.1] onwards, it can now emulate It's included in the Sega Titan Video (ST-V) arcade hardware (eg. [https://wwwSteam Linux client by default.youtube.com/watch?v=Vhv4STRa-2c Guardian Force] Simply click on ST-V in v0.2.2.). Refer to [https://literalmente-a whitelisted game.github.io/compatibility_lists/nova.html compatibility list] (Not updated every version. Note that the 'Playable' category may only mean the and it will launch without any configuration, or enable it for all games being in-game but with visual errorsthe settings.) ;[[BizHawk]]:An open-source, multi-system emulator designed for tool-assisted speedruns. Its Saturn core Proton is based on [[Mednafen]]a fork of Wine in combination with other components such as DXVK (explained below) and FAudio'''Comparisons of several Saturn emulators:'''** [https://emucrosswww.codeweavers.com/a-deep-dive-into-saturnproducts/ A Deep Dive into the Sega Saturn and Saturn EmulationCrossOver] (By [[Dolphin]] testeris a commercialized, [https://dolphin-emu.org/blog/authors/JMC47/ JMC47], AKA Justin M. Chadwick. 13 OCTOBER 2017. Tested emulators: Yabause & uoYabause, SSF (unofficial site) and Mednafen. Already outdated the next year by progresses in the Kronos fork.) ==Emulator development==:''This section was copied supported version of Wine from Wikipedia in 2014CodeWeavers. For an up-It uses additional patches on top of Wine to-date explanation, see [[wikipedia:Sega Saturn#Technical specifications|Sega Saturn § Technical specifications]].'' The complexity of the system has made the creation of a proper emulator for make it rather difficulteasy to use.  <blockquote>One very fast central processor would be preferable. I don't think They contribute all programmers have the ability of their work on CrossOvers back to program Wine and make up about two CPUs—most can only get about one-and-a-half times the speed you can get from one SH-2. I think that only 1 in 100 programmers are good enough to get this kind of speed [nearly double] out thirds of the Saturn."Yu Suzuki reflecting upon Saturn ''Virtua Fighter'' development.<ref name="YuSuzukiNG">Next Generation (magazine) issue 2, 1995</ref></blockquote> The Saturn had technically impressive hardware at the time of its release, but its complex design, with two CPUs and six other processors, commits made harnessing this power difficult for developers accustomed to conventional programmingWine. The biggest disadvantage was that both CPUs shared the same bus CrossOver is available on macOS, Linux and were unable to access system memory at the same timeChrome OS. Making full use of the 4&nbsp;kB of cache memory in each CPU was critical to maintaining performance. One example of how the Saturn was utilized was with ''Virtua Fighter''<nowiki>'</nowiki>s use of one CPU for each character.<ref name=YuSuzukiNG /> Many of the Saturn's developers, such as Lobotomy Software programmer Ezra Dreisbach, found it difficult to develop for compared to the PlayStation because of its more complex graphics hardware.<ref name=DreisbachCG>{{cite web|title=Interview: Ezra Dreisbach |publisher=Curmudgeon Gamer |date=July 9, 2002|url=http://curmudgeongamer.com/article.php?story=20021008212903265 |accessdate=July 19, 2007|archiveurl = http://web.archive.org/web/20070927211250/http://curmudgeongamer.com/article.php?story=20021008212903265 <!**[[Wineskin]] is an open-- Bot retrieved archive --> |archivedate = September 27, 2007}}</ref> In order source compatibility layer which allows users to port ''Duke Nukem 3D'' and ''PowerSlave'' to the Saturn, Lobotomy Software had to almost entirely rewrite the Build engine to take advantage of the Saturn's unconventional hardware.<ref name=DreisbachCG /> Third-party development was initially hindered by the lack of useful easily convert Windows software libraries and development tools, requiring developers to write in assembly language to achieve good performancemacOS. During early Saturn development, programming The ports are in assembly could offer a two to fivefold speed increase over C language.<ref name=YuSuzukiNG /> Sega responded to these criticisms by writing new graphics libraries which were claimed to help make development easier.<ref name="NextGenDec95">''So many 32-Bit Systems To Choose From'' Next Generation (magazine) issue 12, 1995</ref> These libraries were presented as a new operating system by Sega of Japan.<ref name="NextGenDec95" /> Unlike the PlayStation and Nintendo 64 which used triangles as their basic geometric primitive, the Saturn rendered quadrilaterals with forward texture mapping. This proved to be a hindrance because most form of the industry's standard design tools were based on triangles, with independent texture UV coordinates specified per vertexMac . One of the challenges brought forth by quadrilateral-based rendering was problems app bundles with textured surfaces containing triangles. In order to make a triangularself-shaped object, rendering had a fourth side with a length of zero. This technique proved problematic as it caused texture distortion and required careful reworking contained Wine instance which are wrapped around the application to achieve the desired appearance—Sega provided tools for remapping textures from UV space into rectangular tiles. These complications can be seen in the Saturn version of ''Tomb Raider''converted.<ref name=DreisbachCG /> ==Resources==* [https://segaretro.org/Sega_Saturn/Hardware_comparison#Graphics_comparison_table Graphics comparison table[TeknoParrot]] (is a compatibility layer for Saturn as opposed Windows PCs to PS1, N64, Sega Model 2 run games originally made for Windows-based arcade hardware and 1995-era PC) *[https://antimesystems.kapsiHas since version 1.fi/sega/docs.html Complete (so far) documentation of 51 also support for some games from the Linux-based Sega Saturn]Lindbergh arcade board.*[https://archive.org/details/SegaManuals More leaked, official documentation[Darling]] (Only is a translation layer that this time there are some that include for Sega Genesis, allows you to run unmodified macOS binaries on Linux. In its CD add-onnature, and documentation on how it is similar to the Sega Saturn CD Communication Interface works, and how its Boot ROM works well-known [[https://mobileWine]] project.twitterAt this point, does not yet run macOS application with a GUI.com/forestillusion/status/1126321691775229954 Source]) ==References=={{reflist}}
==Wrappers==
Compatibility layers may also make use of '''wrappers''', which translate a specific graphics API to another. How the user sets up the wrapper varies between each project but most involve a drop-in replacement of the original libraries.
{{SegaMain|Wrappers}}
[[Category: ConsolesCompatibility layers]][[Category:Sega consoles]][[Category:Sega Saturn Not really emulators|*]][[Category:Fifth-generation video game consoles]]
10
edits

Navigation menu