Tuesday, December 12, 2023

The History of Nintendo 64 Emulators - Part 4

Mupen64 / Mupen64Plus (2001)

Mupen64

Mupen64 is the last major project from the golden age of N64 emulation to be created. The project began in 2001, and was first released in December of the same year for Windows. The emulator was created by the Frenchman Hacktarux, who was learning how emulation worked while creating the project. This led to the emulator being rewritten several times. Mupen64 was initially released for Linux and Windows. The first version for Windows had no GUI, but when opening the emulator a window opened to select the ROM. Both compressed (in .GZ format) and uncompressed ROMs were accepted. At this stage it only ran demos and parts of 2D games and only in .ROM and .Z64 formats. After its release it also gained a port for BeOS. In the second version released in January 2002, it began to run its first game, Super Mario 64. Sound support was also removed in this version, as it was still annoyingly bad. This version is ported to the QNX system by Muad. The emulator makes it easy to port to other systems since it was designed for that purpose. In April 2002, the source code was released and posted on the emulation website, Emutalk. In the third version of May 2002, a simple GUI (for Windows, Linux and QNX) based on the GTK library was added, where you can select ROMs, the type of console CPU loading and the Zilmar Spec video plug-in.

Mupen64 0.0.90 (Mario Kart 64)

Improvements were also made using the Project64 source code and the Project64 video plug-in was added. In the fourth version of July 2002, a new core was created for the emulator, improving its compatibility and adding a keyboard control plug-in. More games began to run with it, such as Duke Nukem 64, Wave Race 64 and others. Hacktarux also created the Mupen64 GFX video plug-in, which was discontinued in the following version. Around this or the third version, games in the .V64 format began to run. The latest ports for BeOS and QNX also appeared in July. In the next version, 0.0.90 from October 2002, the emulator received a major update, with 84 games running fully, games in .N64 format also started to be opened by the emulator, EEPROM and SRAM memory packs added thanks to Jabo and Zilmar from PR64, support for ROMs in .ZIP format, new GUI (only for the Windows version) made by ShadowPrince, a toolbar made with the help of Schibo from project 1964, possibility of saving changed settings, support for four languages, several emulator cores were rewritten, among others.

Mupen64 0.0.90 (Interface/Settings/About)

This version also began to use the OpenGL video plug-in from the TrueReality64 project and also the N-Rage joypad plug-in, used in the PJ64. Regarding languages, this version began to add them, initially covering four of them, English, Spanish, German and French, until reaching 12 in total in August 2005, the four mentioned, plus Portuguese, Brazilian Portuguese, Polish, Argentine Spanish, Swedish, Dutch, Bulgarian and Russian. To run the games, it was required at least a 600Mhz processor, 64MB of RAM and a graphics card with support for OpenGL, Glide or Direct3D. This version also gained a port for MacOS X, by `Flea. In version 0.1 from February 2003, the emulator returned to support sound through the Azimer plug-in for the PR64, the video plug-in for the TR64 Direct3D was added and support for the save state was added. This version also includes the INI file where the games were included, as well as a new GUI for the Linux version similar to the Windows version, made by Blight. Blight is also responsible for creating some plug-ins for the Linux versions of the emulator. Version 0.2 from July 2003 brings many updates.

Mupen64 0.4 (About/Menus/Settings)

Improved integration of audio plug-ins, addition of own audio plug-in based on the UltraHLE project plug-in (i.e., an HLE plug-in), addition of RSP HLE plug-in for the console GPU and update of the joypad and OpenGL plug-ins. In addition, support for multiple slots for save states, addition of snapshot, pause and reset, as well as improvements in the emulator speed. Version 0.3 from September 2003 starts using the glN64 video plug-in instead of the TR64 plug-ins, and supports 8 languages, including Portuguese, as well as improvements in the emulator execution and in games. In version 0.4 from July 2004, they remove the Azimer audio plug-in, leaving only their own plug-in and create an RSP plug-in in partnership with Azimer. They also almost completely reworked the core of the emulator, making it faster, with greater emulator compatibility, video recording in its own format that can later be converted to AVI, Windows GUI redesigned by Linker, among others. In October 2004, this version gained a single port to the FreeBSD system by tlp. Later, it also gained a port to the AROS system.

Mupen64 0.5.1 (Over/Re Volt)

The latest version of the emulator, 0.5, was released in August 2005. It brought back the Azimer audio plug-in, now in HLE version. Direct64 and Glide64 are the new video plug-ins for the emulator. All plug-ins were modified for GTK2, which is the update of the multimedia kit with which the GUI was created. Among several other additions, such as framebuffer and corrections and additions to dynarec. The Linux and MacOS X releases also ended with the last Windows release of the project. In this last phase of the project, the members who helped Hacktarux the most were Olivieryuyu and Gonetz. Regarding its front-end, in July 2002, it gained a simple version with only video options, input, CPU and ROM loading (before it only had a Windows window for choosing ROM). In October 2002, it gained a real front-end, with play, pause, stop and options buttons. In July 2004, there is a slight change in the buttons and the list of ROMs on its front. It also changes the icon at the top of its front a few times, such as in January 2003, and July 2003 and 2004, and the icon in the executable in October 2002, July 2003 and 2004 and August 2005. Its version update logo (about) also changes a few times, such as in July 2004 and August 2005.

Mupen64Plus

In October 2007, Mupen64 was forked by Richard Goedeken, also known as richard42, under the name Mupen64 AMD64. At the time, the latest release of the original emulator was used as a base. The intention was to recompile the emulator for 64-bit and fix bugs. Along with Mupen64, he also controls the port of the Rice Video video plug-in ported to Linux in September 2003 by Hacktarux. Its first release was in November 2007 for Linux. It improves the video plug-in, fixes bugs and improves the central processor, in addition to cleaning up the source code. The emulator also came without the Zilmar Spec standard, no longer using many popular plug-ins that were developed for Project64, the only one that still used the standard at the time. In March 2008, its name was changed to Mupen64Plus. In May 2008, the Windows version was released, following the March version. In June 2008, it gained support for Gameshark. In January 2009, it was ported to MacOS X.

Mupen64Plus/M64Py (BattleTanx - Global Assault)

In December 2009, the plug-in interface code was removed, making them simpler and more portable, and the emulation core was simplified, making it much more portable. This version is known as the first in beta mode. The first version of the emulator with these changes, and also the first beta version, was released in December 2009. In February 2010, it was ported to FreeBSD. The emulator received updates in 2010, 2012 and 2013. In June 2012, the M64PY (or Python) front-end was released, which became essential for running the Windows version. In the April 2015 version, it began supporting Linux and Mac OS X systems in 64-bit mode and Windows in 32-bit mode. Its last update occurred in July 2024. The last version was released as a test version, and it included support for the Rumble Pak accessory, recompilations for Intel and ARM, and smooth sound output speed assistance. At its conclusion, it used six video plug-ins, five RSP plug-ins, one sound plug-in and one input plug-in, with a single standard plug-in for each category and the surplus ones made by third parties.

Mupen64Plus/M64Py (About/Settings)

Regarding its compatibility list, of the 197 games tested, 46 work well, 102 are playable and 84 did not work. Mupen64Plus was ported to Ubuntu and Debian systems in 2009 (reaching the 64-bit version of Ubuntu in April 2015), BlackBerry PlayBook in 2012, BlackBerry10 in 2013, Android in 2015, and GameShell in 2019, in addition to a series of projects with improvements in video plug-ins, joypads and others, totaling dozens of modifications. Two other Android versions were released by third parties, in July 2016 Mupen64Plus FZ by Francisco Zurita (changed to M64Plus FZ Emulator in 2019), and in September 2022 Mupen64Plus FZ by NES Emulator Retro 1990's/Game Retro (changed to Retro64 Emulator -Mupen64Plus in 2024). Mupen64Plus also received a fork called m64p created by loganmc10 in 2019 for Windows, Linux and MacOS X. The emulator comes with the Glide64 plugin, which is used in Mupen64Plus. The emulator has its own interface and input plugin, and netplay (network) support. It is also one of the emulators with the widest game compatibility. The first release was in February 2019 and the last in April 2021. In June 2020, Mupen64Plus gains a fork for LibRetro/RetroArch called Mupen64Plus-Next. Along with it, the ParaLLEl-RDP plugin is released, exclusive to this fork and considered one of the best plugins for the console.

Other Emulators

Blade64

Most emulators required an ini file, which is the initialization file, which was used to configure them, with the addition of games and other changes. Some of the ones that used this file were Daedalus, Blade64, Corn, NEmu64, Project64, UltraHLE, among others. Some projects focused only on updating this file instead of releasing new versions of their emulators. The same goes for input, control, CD-ROM, audio and video plug-ins.

Dream64

In addition to the emulators mentioned, we had other projects, such as Blade64, Dream64, N64 VM, NICE64, ICE64 (based on NICE64), Fake64 (exclusive for Linux), Pagan, PC64, RAP64, RSR64, Larper64, Sixtyforce (for MacOS X), BOOTHEAD, among others. Regarding creation for other systems, we had Jario64 for Java in 2009.

~
NICE64

In multi-system emulators, we had the Nintendo 64 running on MAME from 2005, MESS in 2007 and RetroArch in 2017 by paraLLEl N64 and in 2018 by Mupen64Plus-Next, a port of Mupen64Plus.

Zilmar (1999)

Project64 Website

Nicholas Zilmar was one of the most important figures in the Nintendo 64 scene. He knew a lot about the console's hardware, as well as the development of its plug-ins. He helped the N64 scene since 1999, such as in August 1999 with the 1964 emulator and others. That same year, he also gave information to the same emulator regarding the RSP coprocessor.

Due to his general knowledge of the console, the following year he released three text files explaining the best specifications for creating video, audio and control plug-ins for the console. These files became very well-known among the scene, which began to adopt them. These text files were updated and the plug-ins released under these specifications mentioned which versions of Zilmar's texts they had been created on. The source code for the specifications in question was open and free, free to be modified and added to plug-ins by anyone who wanted to, but with the requirement to include the name of their creator in the credits. These common plug-in files, as they were known, influenced the closed-source plug-in system of Nemu64, added to the emulator from April 1999 onwards.

The first emulator to use the Zilmar Spec standard was 1964 in July 2000, with the NooTe D3D video plug-in ported to it in May 2000. Other emulators to begin supporting the plug-ins were TR64 in October 2000, Apollo in December 2000, Daedalus in April 2001, Project64 in May 2001, Blade64 in September 2001, UltraHLE 2064 in December 2002, Nemu64 in March 2003, and Nice64 in 2011. Some emulators were not fully Zilmar Spec, such as Nemu64 and Nice64.

Basic Keyboard Plugin/Basic CFB Plugin/Basic Audio Plugin

Zilmar mainly created basic plug-ins, such as the video plug-ins Zilmar's Basic CFB Plug-in in October 2000 and the Direct3D version in 2001, the audio plug-ins Zilmar's Basic Audio Plug-in in October 2000 and Zilmar's No Sound Plug-in in November 2000, and the control plug-ins Zilmar's Basic Keyboard Input Plug-in in December 2000.

Project 64/RSP Emulation Plugin

Project64, as previously mentioned, was a project by Zilmar with Jabo, also a plug-in creator like Zilmar. It began in May 2001. The following month, he created the first RSP plug-in on the N64 scene, Zilmar's RSP LLE or just RSP Plug-in, which worked in conjunction with Jabo's DirectSound video plug-in. Before this, emulators used closed configurations of the coprocessor in question.

Throughout the 2000s, only the Project64, 1964 and Mupen64 emulators remained. With the end of 1964 in 2004 and Mupen64 in 2005, only Project64 remained, which in 2007 received competition from Mupen64Plus, a fork of Mupen64 that stopped using the Zilmar standard. Mupen64Plus stopped using many popular plug-ins that were released for Project64 because of this. One of the few Zilmar Spec plug-ins used in Mupen64Plus is GlineN64 from April 2015, as it also had functionality in the emulator's own system.

A curiosity. In December 2013, the HatCat's MLE RSP plug-in was released for Mupen64Plus and PJ64, also in Zilmar Spec. Its difference was that it was the first MLE (medium level) plug-in. Unlike the previously mentioned HLE and LLE, this was a type of plug-in only released for RSP (the N64 coprocessor), and unlike the classic plug-ins that needed video and audio plug-ins specific to their development levels, the MLE mixed HLE video plug-ins with LLE audio plug-ins, being highly regarded for N64 emulation in general.

Video plug-ins:

(1964) NooTe D3D in July 1999 (converted to Zilmar Spec in May 2000)
(1964/Apollo/PJ64) 1964 OpenGL Graphics in May 2000 (converted to Zilmar Spec in July 2000)
(TR64/1964) RCP Direct3D in October 2000
(TR64/Mupen64) TR64 OpenGL in October 2000
(1964/PJ64/Apollo/Mupen64) Zilmar Basic CFB Plug-in - plays 2D color framebuffer demos in October 2000
(Daedalus/1964/PJ64) Rice Video Graphics Plug-in 2001 (What Month?)
(PJ64/TR64/Apollo/1964) Jabo's Direct3D6 in January 2001
(Apollo) Azimer OpenGL in February 2001
(PJ64/TR64/Apollo/1964) Jabo's Direct3D7 in December 2001
(PJ64) Jabo's OpenGL in May 2001
(Daedalus) Daedalus Graphics October 2001
(PJ64/Mupen64/Mupen64Plus) Gonetz Glide64 in December 2001
(1964/PJ64) Zilmar Basic CFB D3D in 2001
(PJ64) NiGL (Nintendo Graphics Library) in April 2002
(Mupen64) Mupen64 GFX in July 2002
(Daedalus/1964/PJ64) RiceDaedalus/DaedalusD3D8 in July 2002
(TR64) Icepir8's Texture Dumping Plug-in in October 2002
(PJ64) RiceVideo Community Version (fork of Rice Video) in December 2002
(TR64/Mupen64) TR64 Direct3D in February 2003
(PJ64/Mupen64) Orkin glN64 plug-in in February 2003
(TR64) Icepir8's TR64 D3D plug-in in February 2003
(PJ64/Mupen64) Orkin Direct64 (based on glN64) in May 2004
(Nemu64) Lemmy's D3D8 plug-in in May 2004
(1964/1964 Unofficial) 1964 Video LLE Plug-in in November 2004
(PJ64) Jabo's Direct3D8 in March 2005
(PJ64) Rice's HiRez Texturing Plug-in (continuity from Rice Video) in April 2007
(PJ64/Mupen64Plus) Z64/Ziggy's LLE OpenGL in April 2007
(PJ64/Mupen64Plus) Arachnoid in June 2007
(1964 Unofficial) 1964 Video Plug-in (based on Rice Video) in April 2008
(1964mod/NICE64/ICE64) MyGlide64 in January 2012
(1964mod/NICE64/ICE64) MyGlideHQ in January 2012
(PJ64) Angrylion RDP in February 2012
(PJ64/Mupen64Plus) Gonetz GlideN64 (continuity from Glide64) in September 2014
(PJ64) Z64GL in February 2016 (forked from Z64)
(Mupen64Plus) "Static" RSP Interpreter / CXD4 RSP in March 2018
(PJ64/Mupen64Plus/P64) ParaLLEI N64 in June 2020
(PJ64) Project64-Video in May 2021

Audio plug-ins:

(1964) Steb Audio in January 2000 (converted to Zilmar Spec in October 2000)
(1964) Null Sound in October 2000
(1964/Apollo/PJ64/Daedalus) Zilmar's Basic Audio Plug-in - plays audio for demos in October 2000
(1964/PJ64/Apollo/Mupen64/Blade64) Zilmar's No Sound Plug-in in November 2000
(TR64/1964/Blade64) TR64 Audio UCode1 Plug-in in November 2000
(Daedalus/Apollo/Mupen64) Azimer's Audio Plug-in / HLE Audio Plug-in in April 2001
(PJ64/1964) Jabo's DirectSound in May 2001
(PJ64) Project64-Audio in May 2021
(TR64) TR64 HLE Audio Plug-in in September 2001
(1964/PJ64/Mupen64) Audio Beta in January 2002
(Daedalus/Apollo) Azimer's LLE Audio Plug-in in December 2002
(PJ64/1964) Schibo's Audio Plug-in in October 2003
(1964 Unofficial) 1964 Audio Plug-in in April 2008
(1964mod) 1964mod Audio Plug-in in January 2012
(NICE64) NICE64 Audio Plug-in in April 2012
(ICE64) ICE64 Audio Plug-in in October 2012
(PJ64/1964/Mupen64) Shunyuan's HLE Audio Plug-in in April 2013

Input plug-ins:

(1964/Blade64) NooTe DirectInput Plug-in in May 2000 (converted to Zilmar Spec in October 2000)
(TR64/1964) TR64 Input Plug-in in October 2000
(1964/Apollo/Mupen64) Zilmar's Basic Keyboard Input Plug-in in December 2000
(TR64) TR64 DirectX8 Input Plug-in in January 2001
(PJ64) DesktopMan's Basic Keyboard in January 2001
(PJ64/1964) Orkin's Input Plug-in in February 2001
(PJ64/Apollo/Blade64/1964/TR64) SJR's Adaptoid Interface Plug-in/Adaptoid Plug-in in April 2001
(PJ64/1964) Jabo's DirectInput/DirectInput7 in May 2001
(PJ64/Apollo/Blade64/1964/TR64) SJR's N64 Virtual Pad Plug-in June 2001
(PJ64/1964) Def's N64 Direct Input in July 2001
(PJ64/Apollo/1964/TR64/Mupen64) N-Rage DirectInput8 / N-Rage Input in August 2001
(Blade64) Blade64 Input Plug-in in August 2001
(TR64) TR64 LLE Adaptoid Plug-in in January 2002
(PJ64/Mupen64) Darkman DirectInput Plug-in / Pad Plug-in in August 2004
(PJ64) Billard's Xinput plug-in in February 2008
(1964 Unofficial) 1964 Input Plug-in (based on N-Rage Input) in April 2008
(PJ64) NetPlay Input Plug-in (runs in conjunction with N-Rage) in November 2010
(1964mod) 1964mod Input Plug-in in January 2012
(NICE64) NICE64 Input Plug-in in April 2012
(ICE64) ICE64 Input Plug-in in October 2012
(PJ64/Mupen64Plus) Pokopom PSX Pad Plug-in in February 2012
(PJ64) Shunyuan's Directinput Plug-in in August 2013
(PJ64/Mupen64Plus) Raphnetraw in January 2017
(PJ64/Mupen64Plus) N64 Input Serial Plug-in in March 2018
(PJ64) Project64-Input in May 2021

There was supposedly a control plug-in called DesktopMan's DirectInput Plug-in, but this information has not been confirmed.

RSP Plugins:
(PJ64) Zilmar's RSP LLE/RSP Plug-in (was required for Jabo's DirectSound video plug-in) in July 2001
(Mupen64/PJ64/1964) Hacktarux-Azimer HLE Mupen64 HLE RSP in January 2002
(PJ64/Mupen64Plus) Z64 RSP LLE/Ziggy RSP LLE (required for Z64 video plug-in) as of April 2007
(1964/PJ64/Mupen64Plus) HatCat's RSP Plug-in with SSE in August 2013
(1964/PJ64/Mupen64Plus) HatCat's MLE RSP in December 2013

Saturday, December 9, 2023

The History of Nintendo 64 Emulators - Part 3

Corn (1999)

Corn

The Corn project was created by the Chinese-American Contra SF in 1999, releasing its first version, the 0.01 beta, in September for Windows. Contra was helped with the project by Zach, who posted updates on the website. His emulator was influenced by the TrueReality and 1964 projects. Initially, it only ran some demos and Mario 64, ran with DirectX 6.0 or higher, supported four types of resolution, but did not yet support sound. In October, two versions were released, the 0.01, with bug fixes and basic GFX function (which adds effects, perspective, lighting and shadows to the graphics) and the 0.01 alpha version, fixing crashes on Intel processors and now running on AMD processors. Most likely, joypad support came in the alpha version of the emulator. Some said that in its early days it was faster than UltraHLE, famous at the time.

Corn 0.2 (Options/Settings/About/Game List)

Five months later, in March 2000, Contra released a new version of the emulator, 0.1, now with support for sound, save states, PCs with Voodoo 1 and 2 graphics cards (the best graphics cards available at the time), and the elimination of the individual configuration that previously existed for running ROMs, and the addition of more GFX functions. Some other games also started to run in this version, such as Chopper Attack, Star Fox, Olympic Hockey 98 and perhaps some other games that had not yet been tested. Although it did not work based on plug-ins, the sound reproduction was good. In addition, two binaries were brought in this version for maximum and minimum PC requirements. CornH for Pentium II, Celeron and K7 processors and CornL for K6, Pentium 1 and MMX. In April 2000, version 0.2 was released. It begins to implement a new GUI, improvements to GFX and speed, and better compatibility and support for INI files.

Corn (Fighting Force 64)

This version also came with seven screen resolution modes, fullscreen, support for four joypads, support for seven languages ​​in total and ease of choosing which of the binaries to use, CornL or H. In that month, well-known actors in the 64 scene, began to create INI (initialization) files for the emulator, such as Spinal, Myzar, The Company and Emulation64. At the end of April, version 0.29 of Corn was released. Another 8 games were released with this version, such as Doom 64 and Rush 2. However, several problems arose from this version, such as coming without a GUI, requiring the copy of the GUI from the previous version to the current version in order to run the emulator until the new engine was released. The other problem is that this version does not run the games that ran in the previous version, because the engine structure is modified, so it was recommended, if you want to run the games from the previous version, to keep the binary of the current version, for example, CornL, and instead of CornH, copy CornL from the previous version and rename it to CornH to trick the system and have both versions of the CornL emulator running in one (quite confusing, right?).

Corn (San Francisco Rush 2049)

After the release of version 0.29, Emulation Kingdom also created its INI file for the emulator with support for 29 games, and Spinal released another version of its INI with support for 35 games. The latest version of the emulator, released in June (but created in May), again does not come with the GUI, requiring version 0.2 again to work. It is also not known what improvements this version has. When it was released, it required DirectX 7 or higher, a 300Mhz processor, 32MB of RAM and a graphics card with support for Direct3D and OpenGL for it to work properly. After the end of the emulator, several INI lists were released until the end of 2001. The first after Corn's closure was Spinal's in August, with support for 46 games. The last and most complete list was Duncan's released in December 2001 with 56 games. It has tests of 407 games, 48 ​​of which are more or less playable and 303 are unplayable (between non-functional and loadable up to the intro). Corn was one of the emulators with the lowest game compatibility.

Apollo (2000)

Apollo

Azimer created The Apollo Project in 2000, alongside Phrodide, who helped build the emulator's source code/core. Phrodide also worked on dynamic recompilation of the emulator and Azimer on emulation speed. Azimer had already worked on another N64 project, which was headed by Phrodide alongside Jabo, but which did not go ahead. The first version of Apollo was released in May 2000 for Windows, already executing some ROMs in .N64 and .BIN formats, and working on a Pentium II or K6-2 500 and without a 3D card. In June, he completely rewrote the emulator and began emulating the RSP processor. In July, he preferred to simulate the RSP instead of the emulator, and also simulated the 2D RDP coprocessor and audio (but without plug-ins). It also provides multilingual support and preliminary plug-in support (at this stage only supporting video plug-ins).

Apollo (Cruis'n World)

In December, it fixed bugs in the RSP, brought speed increases, definitive plug-in support, added a controller plug-in and loaded 3D demos of a piece of Zelda64. In February 2001, it created the Azimer OpenGL video plug-in and in April 2001 the Azimer's Audio Plug-ins audio plug-in, both present in the May 2001 version of the emulator, with audio plug-ins starting to work in this version. The May version also added Mempack (the console's memory card), EEPROM (read-only memory) and Rumble Pak (control vibrator), among others. In July, it added support for ROMs in .V64, .U64, Z.64 and .ROM formats, added support for SRAM files (another type of read-only memory) for the PJ64 and TR64 emulators, screenshot support, zipped ROM and improved compatibility and stability.

Apollo (Settings/About)

In August, of the 200 games tested, more than half worked, that is, almost half of the games released for the console. The emulator's last update was in November 2001. It fixed several specific problems and interface issues. The project had the help of some influencers from the N64 scene, such as Niki Waibel, Schibo and Ice from TrueReality, Marius Dumitrean from NINCest 64, Mike Tedder from Project Unreality, Zilmar from Project64, as well as other influencers from the scene such as _Demo_ from ePSXe, from PS1. In August 2003, the emulator's source code was released. The audio plug-in was developed until July 2014. The project's creator, Azimer, also worked on other projects from 1998 onwards, such as KANE (Kick Ass Nintendo Emulator) for Nintendo and SNESRise for SNES, both of which were never released, and contributed to the UltraHLE fork, UltraHLE 2064.

Daedalus (2001)

Daedalus

Daedalus (in English, labyrinth) was released in April 2001 by Storming Norman for Windows. The name of the emulator was inspired by the inventor of the labyrinth that trapped the Minotaur in Greek mythology. With an interface similar to UltraHLE, the emulator came with sound support created by Zilmar, using his standard plug-ins, both for sound and control, known as Zilmar Spec or Zilmar Specifications. The first five versions were all released in April 2001. The first version supports ROMs in .v64, .z64 and .rom formats. The second version already supports ROMs in .n64 format. The third version improves sound support and adds screen resolutions and full screen mode. The project's source code is also released along with it. The fourth version adds support for several console controllers, improves the GUI, fixes bugs, adds the Expansion Pak, to expand the console's RAM and save SRAM. In May, Storming created the graphics plug-in, Daedalus Graphics, used from the last version of the emulator released, in June 2001, when it began to support video plug-ins, also using the Zilmar Spec specifications.

Daedalus (Puyo Puyo Sun 64)

This latest version also adds screenshots, 1024 x 768 resolution, ROM extensions in .jap, .pal and .usa formats. In terms of games, it had good compatibility. Of the games tested, 276 were playable, 90 were almost playable and 418 were unplayable or did not run. It also supported 14 languages. Its recommended emulator execution settings were a Pentium 3 500Mhz, with a GeForce 2 card with 128MB of RAM and DirectX 8. The project had the help of three main groups in the N64 scene, those of the TrueReality, Nemu64 and Project64 emulators. In October 2001, the source code of what would be version 0.08 of the emulator was released, but its binary was never released. The release of its source code in April 2001 allowed for several forks and ports to emerge. In May, after the code was released and version 0.6 of the emulator was released, the Daedalus-LKB hack was released, with versions up until August of that year. It was created by LKB, a collaborator on the project in April, and mainly brought improvements to graphics and game compatibility.

Daedalus (Settings)

In July 2002, Rice created the DaedalusD3D8 graphics plug-in for his 1964 project. It got its name because it combined Storming's graphics plug-in with Rice's. This plug-in also worked on the recently completed Daedalus project. In May 2003, Hikaru ported it to the Xbox console, called Deadalus X. In May 2006, Storming returned to port his emulator to the PSP console, called Daedalus PSP, releasing versions until November 2007. At the same time, a port of his PSP version called DaedalusX64 was released, also created in 2006 for PSP and Linux. The creators of this port were kreationz, alongside salvy6735, Corn and Chilly Willy. The emulator was updated until October 2019. Later, DaedalusX64 was also ported to the Nintendo 3DS (in 2019 by masterfeizz) and PSVita (in 2019 by Shinriji) handhelds and the Dreamcast console (in 2007 by Simpson474). One of the last ports of Daedalus made by Storming (the original creator of the emulator) was in August 2012, to Java Script, called n64js (Nintendo 64 Java Script), which worked through a browser. The project never went beyond a prototype and was soon abandoned.

Project64 (2001)

Project64

Project64 began to be developed by Zilmar in March 1998. At the time, he had help from a few people. In December 1999, Jabo joined the project. At the time, he was known for creating the NES emulator, JNES. In 2000, Zilmar and Jabo began to develop their own plug-ins for the 1964, Apollo and TrueReality emulators. Zilmar developed sound and control plug-ins and Jabo developed mainly video plug-ins. At that time, Zilmar developed standards for the creation of audio, joypad and video plug-ins, which later became standards in practically all the main emulators in the scene. Initially, Jabo wanted to work on emulating the PJ64 CPU, as he had already done so in his own N64 project, but he ended up moving on to the graphics part, later creating some plug-ins for the emulator, such as Jabo's Direct3D (the first being Direct3D6) and Jabo's OpenGL, as well as Jabo's DirectInput for the joypad. Zilmar, on the other hand, was in charge of the audio part, with the Zilmar's Audio Plug-in. Other people directly helped the project over time, such as Shygoo, Azimer, Smiff and Gent. The emulator also had the help of several other influencers in the N64 scene, who were always very close. Among them, Schibo from 1964, Icepir8 and F|RES from TrueReality, Azimer and Phrodide from Apollo, Lemmy and LaC from Nemu64, Storming Norman from Daedalus, as well as Duddie and _Demo_ from the PSX, PSEmu Pro and ePSXe projects, among others. In May 2001, Zilmar and Jabo released the first version of the emulator for Windows along with the previously mentioned plug-ins.

Project64 (Killer Instinct Gold)

Project64 (Super Smash Bros.)

The video plug-ins are high level and the audio plug-ins are low level. The video plug-ins use texturing with various microcodes from the Mario 64 and Zelda 64 games. These microcodes are optimized with the SSE and 3DNow! technologies of Intel and AMD processors. The emulator also supported instant saving (in the console's memory) and Gameshark (cheating). It came with advanced mode recompilation of the device's CPU and GPU (the 4300 and the RSP). Its interface was built on top of UltraHLE. It already had great graphics and compatibility in its early days. PJ64 was developed with C and C++ programming. Initially the emulator required at least a Pentium III 600Mhz processor, which supported SSE technology. Later, it indicated the use of processors with support for SSE2 technology, which began to occur with the Pentium 4 and Athlon 64 processors. In addition, it also required 512 MB of RAM, DirectX 8, a graphics card with support for OpenGL 1.1 onwards and a Windows XP operating system and later. The second version of June 2001 brought updates mainly to the video plug-ins and the console's CPU and GPU. In July 2001, its third version was released, which came with 15 languages ​​available, such was its fame. This version also came with Jabo's DirectSound audio plug-in and the RSP plug-in, which was the device's coprocessor, similar to today's GPUs. It continued to update video, CPU and GPU plug-ins and modify the joypad plug-in.

Project64 (Menus/Options)

It also came with support for save states and snapshots. In September 2001, version 1.3 brought another new plug-in, N-Rage's DirectInput, also for the joypad, along with support for 4 players. The audio plug-in also began to undergo changes from this version onwards. In December 2001, the emblematic version 1.4 was released, which would be the farewell of the emulator. With it, part of the emulator's source code was released for use by anyone interested. It included the novelty of a new GUI, which showed the names of the ROMs in the form of a list on the entry screen. From this version, the Jabo plug-in evolved from Direct3D to Direct3D7, specifically for compatibility with DirectX 7. In addition, another joypad plug-in was released, the Adaptoid Plug-in. In May 2002, the project returned, now with Witten, who developed the cheats part of the emulator. In August 2002, Witten's team joined forces with the emulator's founding team to release a version that would in fact be the final one, titled 1.5. This version included Tooie, Jabo, Witten, Zilmar, Gent, Radeon and Azimer. This version was mainly to clean up the emulator's old code. The website was taken offline the following year. In this version, the plug-ins and processors continued to be updated. Almost three years later, Zilmar returned with Project64, created a new website and released version 1.6 in April 2005. From then on, the project operated on a donation basis. In this version, we saw the creation of Jabo's plug-in, Direct3D8. In November 2005 and August 2006, the emulator received two more updates.

Project64 v1.4 (Interface/About/Menus)

Around the end of 2005, beginning of 2006 (we don't know for sure), version 1.7 was released for donors only. This version had some improvements and ran games that version 1.6 could not run. This version had updates in February and April 2006, two updates in April 2008 and October 2010. The versions of the plug-ins made for this paid version were later used in the free versions of the emulator. In February 2013, they finally released a new public version, called 2.0. In April 2013, they released its source code in its entirety, although with a large part rewritten (why would that be?). Along with it, they released the last update of the binary for this version. Once again, it was understood that this would be a new end for the emulator, but its story continued (I've never seen an emulator with so many ends like that lol). In this version, its icon and logo were also modified. In May 2013, they released another version, 2.1. From this version onwards, a new video plug-in became part of the emulator, Glide64, also developed by the project. In addition, there were also updates to the emulator and better communication between the plug-ins and the emulator, as well as fixes to the RSP plug-in, updates to the Jabo's DirectInput joypad plug-in, among others. From this version onwards, the language selection was also changed, appearing before the emulator was started. This version was updated until February 2014. Two years passed, and a new version appeared, 2.2 in April 2015 (you noticed that they like the month of April, right? LOL). There is something curious about this version.

Project64 v2.0.0.14 (Interface/About/Settings)

They launched support for the 64DD disk, which made it possible to record game files, create movies, animations and characters and play online. It basically turned the console into a computer. Something similar to the SNES Stellaview. This was the first emulator to support this peripheral. From this version onwards, the only joypad plug-in that remains is N-Rage, which is updated in this version. Another one that is also updated is the RSP plug-in. This version also comes with small changes to its layout. At the same time, this version of the emulator is released in the GitHub repository with its source code. In August 2016, version 2.3.0 is released. From this version onwards, the language you want the emulator to be in starts to appear on the input screen. N-Rage and RSP are updated. On this same date, the first public beta release of the Android version also takes place, which had begun its development and alpha stage at the beginning of the year. In this beta version, the emulator starts to run games. In January 2017, version 2.3.2 was released, with updates until February 2019. RSP and N-Rage were updated once again in this version. This version also contains several small bug fixes. The emulator was released for both Windows and Android. The Android version was released in February 2019 as 2.3.3, which was the last version released for the system, and was taken offline from the Play Store months later. In May 2021, version 3.0.0 was released. It introduced the sound, video, and input plug-ins called Project64.

Project64 v2.2.0.3 (Interface/About)

The Glide64 plug-in is replaced by GlideN64. As of this writing, the latest version of the emulator released was in July 2021, 3.0.1. From this version onwards, when entering the emulator, the user could choose whether they wanted a video plug-in for a modern PC or an old PC, in which order the GlideN64 plug-in or the Project64 plug-in was used. This version supported 23 languages. The Project64 plug-ins and the GlideN64 plug-in have all been updated. In 2014, the computer magazine PC World published an article praising the emulator, which supported more advanced settings than Nintendo's official emulator, known as Virtual Console. Regarding its list of compatible games based on the January 2017 version, of about 1020 games tested, 719 were compatible, 199 had problems and 44 were not supported. Regarding its front-end/interface, there have been some updates over the years. From version 1.1 to version 1.3, its interface remained the same, changing in version 1.4, when it stopped being black and became white, with the games in its center detailed by titles, divided into name, status and core and plugin notes in a darker color, in addition to the language options becoming their own menu. In version 1.6, the titles in the center of the front end became white. In version 2.0, the icon at the top of the window was modified since the creation of the emulator, in addition to the titles becoming darker again. And finally, in version 2.2, the titles in the center of the front end became white again. There was a hack of the emulator called Project64k (also called a fork) that provided support for Kaillera, which is nothing more than a server for playing online. The hack was made in April 2003 on top of the open source version 1.4 released in December 2001 by Hotquik. This project was very popular, and was used for many years for online gaming. The project lasted until August 2003. In 2010 it was resurrected by smasherx74 called Project64K7E, who saw the need to fix bugs, glitches and problematic plug-ins. He released his first version in June 2010. In August 2013 he released his last version. Project64 was also ported to Java in November 2009, under the name Jario64. It could be run both on its official website and in a Windows version. In September 2019 another hack of the emulator appeared, Project64 Netplay, which supported direct IP online gaming, unlike the Kaillera version that needed the server in question for online gaming.

Featured Posts

Emulation Names - Part 21

Matt Conte Matthew P. Conte, or Matt Conte (known as Shady) was born in Italy in 1977. He attended the naval academy, where he learned engin...

Popular Posts

Total Pageviews