Difference between revisions of "Project Nested"

From Emulation General Wiki
Jump to navigation Jump to search
m (There's an article about an NES emulator for one of the console's competitors, the Mega Drive, known as NeMul, so that has been added to a 'See also' list to show what NES emulation is like on the console.)
m (reorganizing)
Line 14: Line 14:
 
'''Project Nested''' is an open-source [[Nintendo Entertainment System emulators|Famicom (NES)]] emulator for the [[Super Nintendo emulators|Super Famicom (SNES)]] written in C#.
 
'''Project Nested''' is an open-source [[Nintendo Entertainment System emulators|Famicom (NES)]] emulator for the [[Super Nintendo emulators|Super Famicom (SNES)]] written in C#.
  
==Development==
+
==Download==
The emulator was inspired by the SNES originally being designed to be backwards-compatible with the NES and Myself086 wanting to code a JIT (Just-In-Time) compiler. Work on the emulator began in 2015, when math would be done on its potential performance for three years until one day in 2018, when the design could theoretically run games at full speed. Development started in 2018.
+
{| cellpadding="4"
 +
|-
 +
|align=center|{{Icon|SNES-big}}
 +
|'''[https://github.com/Myself086/Project-Nested/releases Official releases]'''<br/><small>GitHub releases</small>
 +
|}
 +
 
 +
==Overview==
 +
Nested was inspired by the SNES originally being designed to be backwards-compatible with the NES and Myself086 wanting to code a JIT (Just-In-Time) compiler. Work on the emulator began in 2015, when math would be done on its potential performance for three years until one day in 2018, when the design could theoretically run games at full speed. Development started in 2018.
  
 
A JIT (Just-In-Time) and AOT (Ahead-of-Time) compiler (available for Windows) is used to convert NES ROMs into SNES ROMs. This is used to allow software titles for the NES to run on SNES hardware.
 
A JIT (Just-In-Time) and AOT (Ahead-of-Time) compiler (available for Windows) is used to convert NES ROMs into SNES ROMs. This is used to allow software titles for the NES to run on SNES hardware.
Line 24: Line 31:
 
* A battery if the software title requires it
 
* A battery if the software title requires it
  
==Download==
+
===Compatibility===
{| cellpadding="4"
 
|-
 
|align=center|{{Icon|SNES-big}}
 
|'''[https://github.com/Myself086/Project-Nested/releases Official releases]'''<br/><small>GitHub releases</small>
 
|}
 
 
 
==Compatibility==
 
 
The emulator can emulate the NES at a full 60FPS (frames per second), with support for audio. Mappers 0 (NROM), 1 (SxROM/MMC1), 2 (UxROM) and 4 (TxROM/MMC3/MMC6) have playable support (however, mappers 1 and 4 have minor glitches, which may reduce compatibility levels with titles that use these mappers), with mappers 3 (a form of CNROM) and 5 (ExROM/MMC5) having unplayable support, and mappers 9 (PxROM/MMC2) and 10 (FxROM/MMC4) being unlikely to be supported due to it being declared impossible to accurately emulate CHR bank switching, which both mappers 9 and 10 perform, and there is no support for iNES 2.0.
 
The emulator can emulate the NES at a full 60FPS (frames per second), with support for audio. Mappers 0 (NROM), 1 (SxROM/MMC1), 2 (UxROM) and 4 (TxROM/MMC3/MMC6) have playable support (however, mappers 1 and 4 have minor glitches, which may reduce compatibility levels with titles that use these mappers), with mappers 3 (a form of CNROM) and 5 (ExROM/MMC5) having unplayable support, and mappers 9 (PxROM/MMC2) and 10 (FxROM/MMC4) being unlikely to be supported due to it being declared impossible to accurately emulate CHR bank switching, which both mappers 9 and 10 perform, and there is no support for iNES 2.0.
  

Revision as of 14:22, 22 August 2020

Project Nested
Developer(s) Myself086
Latest version v1.0.2
Active Yes
Platform(s) Super Famicom (SNES)
Emulates NES
Website GitHub page
Programmed in C#
License MIT License
Source code Git

Project Nested is an open-source Famicom (NES) emulator for the Super Famicom (SNES) written in C#.

Download

Super Nintendo Official releases
GitHub releases

Overview

Nested was inspired by the SNES originally being designed to be backwards-compatible with the NES and Myself086 wanting to code a JIT (Just-In-Time) compiler. Work on the emulator began in 2015, when math would be done on its potential performance for three years until one day in 2018, when the design could theoretically run games at full speed. Development started in 2018.

A JIT (Just-In-Time) and AOT (Ahead-of-Time) compiler (available for Windows) is used to convert NES ROMs into SNES ROMs. This is used to allow software titles for the NES to run on SNES hardware.

The emulator does not use any enhancement chips, but requires the following to run on a flash cartridge or a reproduction cartridge:

  • Up to 8MB of fast HiROM (additional support for slow HiROM planned)
  • 16KB of SRAM (additional support for anywhere else from 0KB to 256KB of SRAM, depending on the software title and settings, planned)
  • A battery if the software title requires it

Compatibility

The emulator can emulate the NES at a full 60FPS (frames per second), with support for audio. Mappers 0 (NROM), 1 (SxROM/MMC1), 2 (UxROM) and 4 (TxROM/MMC3/MMC6) have playable support (however, mappers 1 and 4 have minor glitches, which may reduce compatibility levels with titles that use these mappers), with mappers 3 (a form of CNROM) and 5 (ExROM/MMC5) having unplayable support, and mappers 9 (PxROM/MMC2) and 10 (FxROM/MMC4) being unlikely to be supported due to it being declared impossible to accurately emulate CHR bank switching, which both mappers 9 and 10 perform, and there is no support for iNES 2.0.

Most of the 289 tested titles are either unplayable or crash in the intro or early in-game. The titles that are playable are Battle City, Crystalis, Donkey Kong, Mario Bros, Popeye no Eigo Asobi, Super Mario Bros., Tennis, The Legend of Zelda and Volleyball, some of which run with minor glitches, require a patch for idle loops, or require NMI mode "At vblank" to be turned off. A compatibility list is available here.

See also