Project64: Difference between revisions

WebMint (talk | contribs)
From latest Wayback Machine snapshot
Problems: Added screen example
 
(16 intermediate revisions by 13 users not shown)
Line 2: Line 2:
|logo = Project_64_logo.png
|logo = Project_64_logo.png
|logowidth = 93
|logowidth = 93
|version = {{Project64Ver}}
|version = {{Version|Project64}}
|active = Yes
|active = Yes
|platform = Windows
|platform = [[Emulators on Windows|Windows]]
|architecture = x86
|architecture = x86
|target = [[Nintendo 64 emulators|Nintendo 64]]
|target = [[Nintendo 64 emulators|Nintendo 64]]
Line 11: Line 11:
|website = [http://www.pj64-emu.com/ PJ64-emu.com]
|website = [http://www.pj64-emu.com/ PJ64-emu.com]
|support = [https://www.patreon.com/Project64 Patreon]
|support = [https://www.patreon.com/Project64 Patreon]
|license = GNU GPLv2
|prog-lang = {{Proglang|C++}}
|license = {{license|GPLv2}}
|issuetracker = [https://github.com/project64/project64/issues GitHub]
|source = [https://github.com/project64/project64 GitHub]
|source = [https://github.com/project64/project64 GitHub]
|bios = [[Emulator_Files#Nintendo_64|Required for 64DD]]
|bios = [[Emulator_Files#Nintendo_64|Required for 64DD]]
Line 42: Line 44:
|}
|}


==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.
Project64 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.
   
   
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.
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.
Line 50: Line 52:
   
   
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.
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.
As of 2022, PJ64 has been getting ready for the 4.0.0 stable release, and thus the nightly builds are going through a major overhaul. Users should either be careful of potential regressions when installing a new nightly, or stick with 3.0.1 while waiting for the stable release.


==Problems==
==Problems==
===Malware and nagware===
===Malware and nagware===
[[File:PJ64 fan .jpg|310px|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).
9 JULY 2021 - Thanks for the heads-up, some notes.
-You should be able to reset the new counter by removing registry key "user" in HKEY_CURRENT_USER\Software\Project64 (this is just a reset though)
-Project64's nag screen won't activate itself too quickly, making testing a little... interesting.
-Any change that prevents reading the registry key should also stop Project64 from advancing the run counter.
-Code validation is done with a server. Not possible to stop without proxy or patching.


-Registry key is also machine ID keyed, however code MAY only be checked on first entry, and a dedicated program could easily generate the registry key for any given machine ID.
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. You can type "'''thank you from project64'''" as the notification code, or disable it by modifying <code>project64.cfg</code> to appear as follows: <pre>[Support Project64]Run Count=-1</pre>
[[File:Project64 Nagging Screen.png|thumb|350px|Project 64 Nagging Screen that plays on application open.]]


-Those with even basic W32 API knowledge and C knowledge, consider studying https://github.com/project64/project64/blob/develop/Source/Project64/UserInterface/ProjectSupport.cpp
Version 2.4.0.1555 introduced a new method, with a per-machine ID that gets generated on the user side and requests a confirmation code associated with it. You can avoid it thanks to [https://github.com/Rosalie241/PJ64Launcher this script] by Rosalie241.


-I think even a Python script could do it, just be sure to GPL the results so someone else can take over. It's just good practice, morals and transparency anyway. I feel like Project64 have just shown they want to wage a war on their users. But also me.
Another way to do so is by using Regedit and removing the <code>user</code> REG_BINARY key from the HKEY_CURRENT_USER\SOFTWARE\Project64, then changing the permission from the Project64 folder (on Regedit) to deny Full Control and Read on the user you are currently signed in, [https://www.youtube.com/watch?v=Qg4L-bcLlxw as explained on this video]. Doing so will disallow Project64 from creating the key again, which is responsible for the nagware screen popup.


===Windows 10 BSOD===
===Windows 10 BSOD===
Line 86: Line 70:
==Plugins==
==Plugins==
{{Main|Recommended N64 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 new audio plugin loosely based on Azimer's and mupen64plus's code, 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.
Project64 used to ship 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 new audio plugin loosely based on Azimer's and mupen64plus's code, 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==
==Netplay==
Line 145: Line 129:
{{reflist}}
{{reflist}}


==External Links==
==External links==
* [https://discordapp.com/invite/sbYbnda Discord]
* [https://discordapp.com/invite/sbYbnda Discord]
*[https://www.emulation64.com/spotlights/20/ Emulation64 Spotlight Interview with original developer Jabo]


[[Category:Emulators]]
[[Category:Emulators]]
[[Category:Nintendo 64 emulators]]
[[Category:Nintendo 64 emulators]]
[[Category:Netplay]]
[[Category:Netplay]]
[[Category:Custom Assets]]
[[Category:Custom assets]]
[[Category:Active emulation software]]