Difference between pages "Project64" and "DuckStation"

From Emulation General Wiki
(Difference between pages)
Jump to navigation Jump to search
(Problems: restored based on wayback machine)
 
(Categories replaced)
 
Line 1: Line 1:
 +
{{stub}}
 
{{Infobox emulator
 
{{Infobox emulator
|logo = Project_64_logo.png
+
|logo = DuckStation.png
|logowidth = 93
+
|logowidth = 80px
|version = {{Project64Ver}}
+
|screenshot = DuckStation-screenshot-qt.png
 +
|screenshotwidth = 300px
 +
|screenshotcaption = The Qt frontend on Windows 10.
 
|active = Yes
 
|active = Yes
|platform = Windows
+
|platform = [[Emulators on PC|Windows]]<br/>Linux<br/>[[Emulators on macOS|macOS]]<br/>[[Emulators on Android OS|Android]]
|architecture = x86
+
|architecture = x86_64, aarch64, ARMv7
|target = [[Nintendo 64 emulators|Nintendo 64]]
+
|target = [[PlayStation emulators|Sony PlayStation]]
|orig-developer = zilmar<br/>Jabo
+
|developer = stenzek [https://github.com/stenzek/duckstation/graphs/contributors et al.]
|developer = [https://github.com/project64/project64/graphs/contributors Project64 Team]
+
|source = [https://github.com/stenzek/duckstation GitHub]
|website = [http://www.pj64-emu.com/ PJ64-emu.com]
+
|license = GNU GPLv3
|support = [https://www.patreon.com/Project64 Patreon]
+
|bios = [[Emulator_Files#PlayStation|Required]]
|source = [https://github.com/project64/project64 GitHub]
 
 
}}
 
}}
'''Project64''' is an open source, plugin-based [[Nintendo 64 emulators|Nintendo 64 emulator]].
 
  
==Download==
+
'''DuckStation''' is a free and open-source [[PlayStation emulators|PlayStation]] emulator developed primarily by stenzek. It features PGXP, upscaling, texture filtering, overclocking, advanced "cheat" code support, CHD support, and a graphical interface.
 +
 
 +
==Downloads==
 
{| cellpadding="4"
 
{| cellpadding="4"
 
|-
 
|-
|align=center|{{Icon|Win-big}}
+
|align=center|{{Icon|Win|Lin|macOS}}
|'''[https://www.pj64-emu.com/public-releases Official Public releases]'''
+
|'''[https://github.com/stenzek/duckstation/releases Latest Development Builds]'''<br/><small>MacOS isn't officially supported and builds are not released for it. Must be compiled from source.</small>
 
|-
 
|-
|align=center|{{Icon|Win-big}}
+
|colspan="2"|<hr/>
|'''[https://www.pj64-emu.com/nightly-builds Official Nightly builds]'''
 
 
|-
 
|-
|colspan="3"|<hr/>
+
|align=center|{{Icon|APK}}
|-
+
|[https://play.google.com/store/apps/details?id=com.github.stenzek.duckstation Play Store]<br/><small>Free</small>
|align=center|{{Icon|Win-big}}
 
|[http://www.emucr.com/search/label/Project64?&max-results=12 Unofficial dev builds]<br/><small>Compiled by emucr, may contain old/deprecated plugins</small>
 
|-
 
|align=center|{{Icon|Win-big}}
 
|[http://www.mediafire.com/download/61dvb4n9xk25oo6/Project64.rar Unofficial bundle]<br/><small>Includes PJ64 1.6, PJ64 2.1 and various other plugins
 
</small>
 
 
|}
 
|}
  
==History==
+
==Overview==
It first came out as a purely experimental emulator by developers zilmar and Jabo. It quickly revolutionized the N64 emulation landscape. For many years afterward, it was considered to be the best N64 emulator, with only Mupen64 and [[1964]] posing any real competition. By version 1.6, it was touted as being not only highly compatible but also the most stable of the lot.
+
DuckStation is focused on playability, speed, and long-term maintainability. The goal of the emulator is to be as accurate as possible while maintaining performance on a broad range of devices. "Hack" options are discouraged, and the default configuration should support all playable games with only some of the enhancements having compatibility issues. 64-bit CPUs are required for recompiler support for maximum performance.  
 
However, upon announcing the development of version 1.7, the project became closed off to most of the public. The only way to keep up with the latest developments was to donate $20 to obtain beta testing privileges. However, there were several development version leaks, most of which turned out to be unstable, prone to crashes, and full of performance and compatibility regressions, which cast doubt upon the competency of the developers. Upon Jabo's departure from the project in 2011, most people came to regard Projec64 as being stuck in development limbo, if not completely dead.
 
 
In 2013, however, zilmar, now the lone developer of Project64, released version 2.0, including its complete source code. Quickly afterward, version 2.1 was released. However, these versions proved to be a mixed bag in comparison to the older, long-standing 1.6 release, and even the leaked 1.7 betas in some respects. Several compatibility issues were fixed, and the interface was cleaned up, but the default plugins were largely inferior to earlier iterations, and even the core itself saw compatibility regressions in some games. And though the source had been made public, there was no public repository for developers to contribute fixes or pull requests, resulting in the project to becoming dormant again.
 
 
In 2015, zilmar created a public Project64 repository on GitHub, at last opening the gates for public contributions. Development picked up at break-neck speed and has yet to cease. Many of the issues with earlier versions of Project64 have now been fixed. It has been mostly ported to 64-bit, and there is even an effort underway to make it more portable and eventually work on non-Windows platforms.
 
 
 
==Problems==
 
===Malware and nagware===
 
[[File:PJ64 fan .jpg|350px|thumb|right|A user complaining on the PJ64 forums after installing bundled malware]]
 
 
Up to version 2.2, the official installer for PJ64 included opt-out malware in the installer. In July of 2016, the malware was removed from both the source code and installers.<ref>https://github.com/project64/project64/issues/468</ref> However, version 2.3 introduced a benign but irritating nagware screen that pops up when launching PJ64 after starting it multiple times, which grows more persistent with successive launches as a forced waiting period is installed. This can be disabled by modifying <code>project64.cfg</code> to appear as follows: <pre>[Support Project64]Run Count=-1</pre> Alternatively, you can type "'''thank you from project64'''" as the notification code.
 
 
 
===Project64 2.4.0.1555 New Support Code Nag Scheme===
 
 
 
UPDATED MARCH 19, 2021 -There is now a per-machine ID that gets generated on the user side and requests a confirmation code associated with it.
 
 
 
-Setting the Run Count to -1 in project64.cfg no longer stops the nag.
 
 
 
-The "thank you from project64" code no longer works (obviously, since they are now unique for every machine).
 
 
 
===Windows 10 BSOD===
 
Following the stable release 2.0, Windows 10 users had a high likelihood of encountering a BSOD upon attempting to run Project64.<ref>https://github.com/project64/project64/issues/556</ref> This was fixed before the release of version 2.3, so Windows 10 users are encouraged not to use versions 2.0–2.2.
 
 
 
==Plugins==
 
{{Main|Recommended N64 plugins}}
 
Project64 still ships with Jabo's video and audio plugins and for many years used them as defaults (along with his input plugin). These plugins are closed-source, haven't been updated since the 1.7 days, and even have regressions compared to Jabo's 1.6.1 versions. However, Project64 now defaults to its own branded video, audio, and input plugins that are a fork of Glide64, a fork of Mupen64Plus's audio, and original respectively. It additionally ships with GLideN64 and N-Rage's input plugin, both of which are recommended over the defaults. Users may still prefer additional plugins for accuracy or feature set, such as Angrylion video, Azimer's audio, and HatCat's RSP interpreter.
 
  
==Netplay==
+
DuckStation was used as a testing ground for code that would be added to [[Dolphin]].<ref>JMC47, Maylmilae. [https://dolphin-emu.org/blog/2020/02/07/dolphin-progress-report-dec-2019-and-jan-2020/#50-11524-improve-frame-pacing-by-manually-inserting-duplicate-frames-by-stenzek Dolphin Progress Report]. § ''5.0-11524 - Improve Frame Pacing by Manually Inserting Duplicate Frames by Stenzek''. "As a proof of concept, Stenzek used his Playstation 1 emulator, Duckstation to test a frame pacing solution that involved padding 30 FPS games."</ref> stenzek has even said the UI was pulled directly from Dolphin, since it was "designed in conjunction with actual UI/UX people".<ref>[https://old.reddit.com/r/emulation/comments/jjuhcf/for_playstation_1_emulation_fans_i_made_a_very/gagvsnf/?context=3 stenzek] on Reddit. "Yep it is heavily influenced by Dolphin. I'm terrible at UI/UX design so I borrowed Dolphin's, since it's been designed in conjunction with actual UI/UX people."</ref>
Uses [http://kaillera.com/ Kaillera] or AQZ.
 
  
===Downloads===
+
The Qt frontend includes an automatic update checker. Builds downloaded after 2020/08/07 will automatically check for updates each time the emulator starts, this can be disabled in Settings. Alternatively, you can force an update check by clicking Help->Check for Updates.
* [https://www.mediafire.com/?6s0khv97k82e5c5 Project64 1.7 AQZ Version]
 
* [http://mupen64k.blogspot.com/ mupen64++]
 
 
 
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"
 
! colspan=2 width="250"|Review (Kaillera)
 
|-
 
| '''PROS''' ||
 
* Support for up to 4 simultaneous people playing
 
* No fiddling with router settings and port forwarding
 
* Netplay traffic is handled by dedicated central servers as well as other less populated servers
 
* Master server list of all servers. As well as waiting games option of cached games in the master server list
 
* Private game chat support and public chat to speak people outside your game room
 
* Being able to drop out of a game at any time usually without disrupting your teammate(s)
 
* Kicking/banning/muting people from your room
 
* It's a matchmaking service where you can join other people's rooms, too
 
* Has recording and playback for emulation
 
|-
 
| '''CONS''' ||
 
* Disables Transfer, Rumble and Memory Pack emulation (AFAIK, not 100% sure about Memory Pack)
 
* It sometimes fails to properly initialize Glide64 video plugins, giving them a black screen when the game starts
 
* It also seems to hate certain older video plugins,' causing massive FPS drops
 
* It's slightly (significantly still) prone to freezing/crashing/BSOD (in that order)
 
* Random, inconsistent FPS drops due to the server trying to keep everyone synced, sometimes stuttering. It's annoying, but rarely does it make it unplayable
 
* Everyone needs to have the exact same ROM version or netplay won't work (if it somehow does, it'll desync rather quickly)
 
* After 18 minutes you will desync on Kaillera Servers.
 
* You need to constantly switch focus back and forth between chat and emulator window in order to chat.
 
* You will hear no sound while the window is unfocused.
 
|}
 
 
 
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"
 
! colspan=2 width="250"|Review (AQZ)
 
|-
 
| '''PROS''' ||
 
* Allows for unlimited connections (4 players only, the rest are spectators)
 
* Unusually low bandwidth usage
 
* Can change latency on the fly to smooth out netplay experience at the expense of input lag
 
* Works very well with 2 to 3 players, even with +200ms
 
* Only the host needs to open a port
 
|-
 
| '''CONS''' ||
 
* Definitely disables Transfer, Rumble and Memory Pack emulation
 
* If a client drops while a game is in session, the entire server stops automatically
 
* The server seems to work reliably smooth with 3 people, but might stutter and lag with 4, regardless of latency
 
* It sometimes fails to properly initialize Glide64 video plugins, giving them a black screen
 
* It also seems to hate certain older video plugins, causing massive FPS drops
 
* It's sometimes troublesome to get it to properly sync during the first few minutes but works flawlessly after you get it working
 
* Randomly freezes the emulator with no warning
 
* Very rarely produces a BSOD
 
|}
 
  
 
==References==
 
==References==
{{reflist}}
+
{{Reflist}}
  
==External Links==
+
==External links==
* [https://discordapp.com/invite/sbYbnda Discord]
+
* [https://docs.google.com/spreadsheets/d/1H66MxViRjjE5f8hOl5RQmF5woS1murio2dsLn14kEqo/edit#gid=0 Compatibility list]
  
[[Category:Emulators]]
+
[[Category:Emulators‎]]
[[Category:Nintendo 64 emulators]]
+
[[Category:Console emulators]]
[[Category:Netplay]]
+
[[Category:Home console emulators]]
[[Category:Custom Assets]]
+
[[Category:PlayStation emulators‎]]
 +
[[Category:Windows emulation software]]
 +
[[Category:Linux emulation software]]
 +
[[Category:Android emulation software]]

Revision as of 03:42, 14 October 2021

DuckStation
DuckStation.png
DuckStation-screenshot-qt.png
The Qt frontend on Windows 10.
Developer(s) stenzek et al.
Latest version N/A
Active Yes
Platform(s) Windows
Linux
macOS
Android
Architecture(s) x86_64, aarch64, ARMv7
Emulates Sony PlayStation
License GNU GPLv3
Source code GitHub
BIOS/Keys Required

DuckStation is a free and open-source PlayStation emulator developed primarily by stenzek. It features PGXP, upscaling, texture filtering, overclocking, advanced "cheat" code support, CHD support, and a graphical interface.

Downloads

Windows Linux macOS Latest Development Builds
MacOS isn't officially supported and builds are not released for it. Must be compiled from source.

Android Play Store
Free

Overview

DuckStation is focused on playability, speed, and long-term maintainability. The goal of the emulator is to be as accurate as possible while maintaining performance on a broad range of devices. "Hack" options are discouraged, and the default configuration should support all playable games with only some of the enhancements having compatibility issues. 64-bit CPUs are required for recompiler support for maximum performance.

DuckStation was used as a testing ground for code that would be added to Dolphin.[1] stenzek has even said the UI was pulled directly from Dolphin, since it was "designed in conjunction with actual UI/UX people".[2]

The Qt frontend includes an automatic update checker. Builds downloaded after 2020/08/07 will automatically check for updates each time the emulator starts, this can be disabled in Settings. Alternatively, you can force an update check by clicking Help->Check for Updates.

References

  1. JMC47, Maylmilae. Dolphin Progress Report. § 5.0-11524 - Improve Frame Pacing by Manually Inserting Duplicate Frames by Stenzek. "As a proof of concept, Stenzek used his Playstation 1 emulator, Duckstation to test a frame pacing solution that involved padding 30 FPS games."
  2. stenzek on Reddit. "Yep it is heavily influenced by Dolphin. I'm terrible at UI/UX design so I borrowed Dolphin's, since it's been designed in conjunction with actual UI/UX people."

External links