Project64
Encyclopedia
Project64 is a proprietary
Proprietary software
Proprietary software is computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, while restricted from other uses, such as modification, further distribution, or reverse engineering.Complementary...

 Nintendo 64
Nintendo 64
The , often referred to as N64, was Nintendo′s third home video game console for the international market. Named for its 64-bit CPU, it was released in June 1996 in Japan, September 1996 in North America, March 1997 in Europe and Australia, September 1997 in France and December 1997 in Brazil...

 emulator
Emulator
In computing, an emulator is hardware or software or both that duplicates the functions of a first computer system in a different second computer system, so that the behavior of the second system closely resembles the behavior of the first system...

 for Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

. It employs a plug-in system that allows third-party
Third-party software component
In computer programming, a third-party software component is a reusable software component developed to be either freely distributed or sold by an entity other than the original vendor of the development platform...

 software developers to create their own implementation of a specified component. Project64 allows the user to play Nintendo 64 games on a computer by reading ROM image
ROM image
A ROM image, or ROM file, is a computer file which contains a copy of the data from a read-only memory chip, often from a video game cartridge, a computer's firmware, or from an arcade game's main board...

s, either dumped
Data extraction
Data extraction is the act or process of retrieving data out of data sources for further data processing or data storage...

 from the read-only memory
Read-only memory
Read-only memory is a class of storage medium used in computers and other electronic devices. Data stored in ROM cannot be modified, or can be modified only slowly or with difficulty, so it is mainly used to distribute firmware .In its strictest sense, ROM refers only...

 of a Nintendo 64 cartridge
ROM cartridge
A ROM cartridge, sometimes referred to as a cart, is a removable enclosure containing read-only memory devices designed to be connected to a computer or games console....

 or created directly on the computer as homebrew
Homebrew (video games)
Homebrew is a term frequently applied to video games or other software produced by consumers to target proprietary hardware platforms not typically user-programmable or that use proprietary storage methods...

.

Features

Project64 executes with a good speed on most Intel/AMD-based computers, especially through its just-in-time compiler that analyzes the loaded ROM and translates known instructions into those functionally similar in x86 immediately when the ROM is loaded. This contrasts with its interpreter
Interpreter (computing)
In computer science, an interpreter normally means a computer program that executes, i.e. performs, instructions written in a programming language...

, which interprets each instruction on the spot as it receives it.

Though fatal exceptions sometimes occur, Project64 can intercept most common plug-in errors without causing the emulation to freeze. Jabo's Direct3D video plug-ins utilize a just-in-time exception handler
Exception handling
Exception handling is a programming language construct or computer hardware mechanism designed to handle the occurrence of exceptions, special conditions that change the normal flow of program execution....

 that attempts to rectify the problem by reviewing many stored fixes common to the exception, and often resetting data that has been corrupted
Data corruption
Data corruption refers to errors in computer data that occur during writing, reading, storage, transmission, or processing, which introduce unintended changes to the original data...

.

Project64 also has support for GameShark
GameShark
GameShark is the brand name of a line of video game cheat cartridges and other products for a variety of console video game systems and Windows based computers. Currently, the brand name is owned by Mad Catz, who actively markets GameShark products for the PlayStation, Xbox, Nintendo, and Sega game...

 codes. It allows the user to store cheats for each individual game, and which ones have been selected for each game. Project64 features a "GS Button" that allows the user to run specific GameShark code on-demand by either pressing F9 on his/her keyboard or checking System -> GS Button in Project64's menu
Menu (computing)
In computing and telecommunications, a menu is a list of commands presented to an operator by a computer or communications system. A menu is used in contrast to a command-line interface, where instructions to the computer are given in the form of commands .Choices given from a menu may be selected...

 during emulation.

With 3rd party plug-ins, such as Rice Video
Rice Video
Rice Video is an open source DirectX and OpenGL graphics plug-in for Nintendo 64 emulators that support the Zilmar-Schibo video plug-in specifications...

 and Glide64, one can temporarily swap the textures
Texture mapping
Texture mapping is a method for adding detail, surface texture , or color to a computer-generated graphic or 3D model. Its application to 3D graphics was pioneered by Dr Edwin Catmull in his Ph.D. thesis of 1974.-Texture mapping:...

 in a ROM image with ones from an external source (BMP, PNG or JPEG
JPEG
In computing, JPEG . The degree of compression can be adjusted, allowing a selectable tradeoff between storage size and image quality. JPEG typically achieves 10:1 compression with little perceptible loss in image quality....

) at higher resolutions (than was originally intended) to dramatically improve the game's original graphical quality. The feature, which debuted in early 2005, has renewed interest in, and has helped the N64 emulation community as a whole. This is a feature to be added in Project64s future video plug-in, which will be bundled with the 1.7 release.
Project64 recommends using the Adaptoid
Adaptoid
The Adaptoid is a Nintendo 64 controller to USB adapter, produced by Wish Technologies, Inc from 1999-2002. Wish Technologies went out of business in 2002, resulting in the Adaptoid becoming a rare product.-ZTNET production:...

 to connect an original N64 controller to a USB port. However, Adaptoids are now rare since they were only produced for a short time by WishTech, which is no longer in business. Alternatively Project 64 supports the Xbox 360 wireless gaming receiver, with which you can use to play the games with a wireless Xbox 360 controller very easily.

To the right is a screenshot of an emulation. The entire scene has been rendered at a much higher resolution (1920x1080
1080p
1080p is the shorthand identification for a set of HDTV high-definition video modes that are characterized by 1080 horizontal lines of resolution and progressive scan, meaning the image is not interlaced as is the case with the 1080i display standard....

) than standard (320x240), and in widescreen (16:9
16:9
16:9 is an aspect ratio with a width of 16 units and height of 9. Since 2009, it has become the most common aspect ratio for sold televisions and computer monitors and is also the international standard format of HDTV, Full HD, non-HD digital television and analog widescreen television ...

 vs 4:3). There is a graphical glitch in the blue background at the top left. Sprites
Sprite (computer graphics)
In computer graphics, a sprite is a two-dimensional image or animation that is integrated into a larger scene...

 used for the interface (the word "TIME" for example), cannot be properly scaled to a different resolution, and are displayed incorrectly (black outline). Full-scene anti-aliasing can be used, as seen on the diagonal lines outlining Mario's hat. Like the Nintendo 64, Project64 runs a steady 60 (or 50, if PAL) frames per second. Most N64 games run at either 20 (or 17, if PAL) frames per second in measurable terms with only a few using a variable FPS, reaching true 60/50 Frames per second.

There isn't a hard and fast compatibility list, but around 75-80% of games are compatible and will play almost perfectly. There is another estimated 10% that work but with problems. Certain games are not emulated yet, but it is believed that the 1.7 release of Project64 will be able to emulate these games adequately.

Version history

The original release of the emulator was to run on Windows 98
Windows 98
Windows 98 is a graphical operating system by Microsoft. It is the second major release in the Windows 9x line of operating systems. It was released to manufacturing on 15 May 1998 and to retail on 25 June 1998. Windows 98 is the successor to Windows 95. Like its predecessor, it is a hybrid...

. It was designed so that it would work in a self contained folder, storing everything including the ROM dumps, game saves, and plug-ins beside it, so that everything is functional from a single directory. The latest stable release, Project64 Version 1.6 (released publicly on 1 April 2005) is available for download and comes packaged with plug-ins created by the authors. The authors have released certain parts of the source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...

 for the now unsupported version 1.4, which is available from the normal download page under a nonfree personal use license.

The old versions are no longer supported by the Project64 team but are still available for download for those interested in Project64's history. However, in order to have access to the binary page, one must complete a survey. The latest public version can easily be downloaded by bypassing the survey and entering the URL for the direct download page.

Version 1.6, still remains commonly supported on the official site and websites such as EmuTalk. Taking a survey is required to download versions 1.0 - 1.6 from the official website, though it is easily circumvented by viewing the source of the page.

Version 1.6.1 patch was unofficially released by Jabo on his website. It consists of only plugin updates.

Version 1.7 has been in the alpha stages since 2005 and no public release date has been announced.

System requirements

The official requirements that Jabo and zilmar state are required for Project64 (version 1.6) are:
  • CPU
    Central processing unit
    The central processing unit is the portion of a computer system that carries out the instructions of a computer program, to perform the basic arithmetical, logical, and input/output operations of the system. The CPU plays a role somewhat analogous to the brain in the computer. The term has been in...

    : Intel
    Intel Corporation
    Intel Corporation is an American multinational semiconductor chip maker corporation headquartered in Santa Clara, California, United States and the world's largest semiconductor chip maker, based on revenue. It is the inventor of the x86 series of microprocessors, the processors found in most...

     Pentium III
    Pentium III
    The Pentium III brand refers to Intel's 32-bit x86 desktop and mobile microprocessors based on the sixth-generation P6 microarchitecture introduced on February 26, 1999. The brand's initial processors were very similar to the earlier Pentium II-branded microprocessors...

     800 MHz
    Hertz
    The hertz is the SI unit of frequency defined as the number of cycles per second of a periodic phenomenon. One of its most common uses is the description of the sine wave, particularly those used in radio and audio applications....

  • RAM
    Random-access memory
    Random access memory is a form of computer data storage. Today, it takes the form of integrated circuits that allow stored data to be accessed in any order with a worst case performance of constant time. Strictly speaking, modern types of DRAM are therefore not random access, as data is read in...

    : 128 MB
  • GPU
    Graphics processing unit
    A graphics processing unit or GPU is a specialized circuit designed to rapidly manipulate and alter memory in such a way so as to accelerate the building of images in a frame buffer intended for output to a display...

    : DirectX 7
    DirectX
    Microsoft DirectX is a collection of application programming interfaces for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with Direct, such as Direct3D, DirectDraw, DirectMusic, DirectPlay,...

     compatible video card


These requirements are very easy to meet for modern computers (those with Windows XP or later). However, for smooth gameplay, one should opt for a computer with slightly higher specifications
Specification (technical standard)
A specification is an explicit set of requirements to be satisfied by a material, product, or service. Should a material, product or service fail to meet one or more of the applicable specifications, it may be referred to as being out of specification;the abbreviation OOS may also be used...

. Due to the nature of the development of version 1.7, these specifications are almost certain to rise with its release.
Version 1.7 can be downloaded after making a donation.

Future development

It is expected in the future to feature a memory editor, similar to the one found in Nemu64, which can be used to create cheat codes for games. Core emulation improvements include some previously unplayable games being supported, such as Star Wars: Rogue Squadron
Star Wars: Rogue Squadron
Star Wars: Rogue Squadron is an arcade-style action game co-developed by Factor 5 and LucasArts. The first of three games in the Rogue Squadron series, it was published by LucasArts and Nintendo and released for Windows and the Nintendo 64 in December 1998...

, due to advancements in emulation compatibility and accuracy (such as the ability of low-level video emulation). Native texture dumping and loading is also expected to be supported.

Reception

According to many sites such as Emulator Pro and The Emulator Zone, Project64 is referred to by most emulator sites/ROM sites/review of emulator sites as one of the best emulators that cleanly runs most of the Nintendo 64 ROMs.

Project64k

Project64k is a modified version of Project64 1.4. The main purpose of Project64k is to provide "netplay" capabilities via integration of the Kaillera
Kaillera
Kaillera is middleware designed to aid networked multiplayer play for emulators. The word "Kaillera" is the verlan of the French word racaille which is used in reference to "bad people".-History:...

 networking client, a utility which enables online multiplayer gaming. Players are able to join servers where multiple games may be hosted. All other features, such as compatibility and performance, remain consistent with Project64 1.4.

Project64k was originally created by hotquik in 2003. Project64k became very popular but there were desync issues in some roms during in netplay mode. For that reason, mupen64k is probably the best solution out there with netplay support. Some other roms, such as Super Smash Bros.
Super Smash Bros.
Super Smash Bros., known in Japan as , is a fighting game developed by HAL Laboratory and published by Nintendo for the Nintendo 64. It was released in Japan on January 21, 1999, in North America on April 26, 1999, and in Europe on November 19, 1999. Super Smash Bros. is the first game in the Super...

 and Mario Kart 64
Mario Kart 64
is a racing game developed and published by Nintendo for the Nintendo 64. It is the second installment in the Mario Kart series. It was released in 1996 in Japan and in 1997 in North America and Europe. In January 2007, Mario Kart 64 was released on Nintendo's Virtual Console service for the Wii...

does not have desync problems on Project64k. The plugins in Project64k may be outdated than those in the official and latest version of Project64, but with complex assembly hacks and much research and testing, many issues were fixed and updated plugins retrieved from the official Project64 build. There have been several updated builds, the most recent one being in November 2011.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK