Changes

Jump to navigation Jump to search

Project Nested

189 bytes added, 06:58, 1 August 2022
Compatibility: updated compatibility stats
|logo =
|logowidth =
|screenshot = ProjectNested-Screenshot.PNG|version = 1.36
|active = Yes
|platform = [[Super Nintendo emulatorsEmulators on SNES|Super Famicom (SNES)]]
|target = [[Nintendo Entertainment System emulators|NES]]
|developer = Myself086 (Laurent Courville)
|website = [https://github.com/Myself086/Project-Nested GitHub page]
|license = MIT License
|source = [https://github.com/Myself086/Project-Nested GitGitHub]
}}
 '''Project Nested''' is an open-source [[Nintendo Entertainment System emulators|Famicom (NES)]] emulator for the [[Super Nintendo emulators|Super Famicom (SNES)]] written 3/4 in 65C816 assembly and 1/4 C#.
==Download==
|-
|align=center|{{Icon|SNES-big}}
|'''[https://github.com/Myself086/Project-Nested/releases Official releases]'''<br/><small>GitHub releases</small>
|}
==History==
The project began in 2015 Development of Project Nested started as a NES private SNES emulator on PC, of which its interpreter was replaced with a recompiler. The emulator was running It ran at full speed, and development was going "pretty well", but was not considered challengingdue to little challenge, so it was decided to move it a project to emulate the NES on the SNESwas started. After Official development began in summer 2018 after three years of casual development design and thinking about how coming up with a solution to achieve 100% full performance (otherwise it would have been considered pointless) until summer 2018, the emulator began official development.
The current As of v1.3, the model has been improved since, but not by muchreceived minor improvements. The speed was calculated by multiplying the average amount of times each instruction executed each per frame and the overhead. However, the maths were 5 percent off on their first implementation. Most implementations were made It was mostly implemented after approximately about one month.
==Overview==
The emulator was inspired by the SNES originally being designed to be backwards-compatible for backward compatibility with the NES and Myself086 wanting a desire to code a JIT (Just-In-Time) compiler.
Emulation works by converting NES ROMs into are converted to SNES ROMs using a JIT (Just-In-Time) and AOT (Ahead-of-Time) compiler (with various options) for Windows, allowing them to run on SNES hardware.
Save files are created after the software title runs for a while. These can then be added to the ROM, often improving performance, vastly with some titlesvarying from little to much, and not much with othersdepending on the title.
The following are required:
* Up to 8MB of fast HiROM (slow HiROM support planned)
* 16KB 8KB to 256KB of SRAM (support 16KB+ to create feedback for anywhere up to 256KB of SRAM, depending on the software title and settings, plannedEXE)* A battery if required by the software titlerequires it
===Compatibility===
Emulation occurs at up to 60FPS (frames per second) with audio support, but occasional minor slowdown may occur. Software titles that use using mappers 0-2 4 and 4 7 are playable, with mappers 1 and 4 having minor glitches, which may reduce compatibility levels with titles that use them, mappers 35, 6, 5-8, 11, 12, 16, 18, 21-26, 32-34, 36-38, 40, 42 and 66 unplayable and having potential for future compatibility, mappers 9 and 10 unlikely to be supported due to it being declared impossible to accurately emulate CHR bank switching, performed by both and 14 and 17 due to being "copier mappers", and the rest, up to 255, being unknown. Additionally, iNES 2.0 is not supported.
Out of the 456 534 tested titles, 31 71 (613.8027%) are fully playable, 93 178 (2033.3927%) are playable but need a full playthrough to test, 29 65 (812.7315%) are mostly playable, 157 144 (3426.4392%) crash in the intro or early in-game, 128 76 (2814.0721%) are unplayable and 1 (0.2219%) is unlikely to be supported. For example:* Punch-Out!!! is unlikely to be supported due to using mapper 9/MMC2, as it hard due to emulate because memory banks can be changed difficulties in implementing mid-scanline memory bank changes when it draws drawing characters FE or FD, or sprites, the hardest harder to implementsprites. This The background is not as problematic with the backgroundeasier to implement, however, as the window can be used to draw and switch the characters.* One fully playable titleThe graphics in Super Mario Bros. 2 displayed incorrectly and the American version reset after hitting a Shy Guy until v1.4. Some time before the Sharopolis interview on July 10, Battle City2021, the latter issue was mostly playable from v1reverse engineered and figured out, also fixing many other games that reset.1 until v1.3* Elite is being used as a model to "aggressively" optimize the EXE in AOT compilation, when it hung after making emulation run at the same speed, or faster if possible. The game over screen runs slowly with visual glitchesflicker and does not support shooting as of v1.3.
Others run with minor glitches or require certain optionsAdditionally, one fully playable title, such as NMI at vblank or stack native returnBattle City, to be disabledwas mostly playable from v1.1 until v1. Overall3, at least 50% of games are expected to run when it hung after the game over screen with visual glitches in the future. The official compatibility list is available [https://docs.google.com/spreadsheets/d/1xKZIyNz1DSI3ZBdMfaTEaa_9b6IEABx-ZPwOb6XqcLQ/edit#gid=253005073 here[Mesen]].
=== Future ===The following support is being worked on:* The graphics in Super Mario Bros. 2 display incorrectly and the American version resets after hitting a Shy Guy. The latter issue has been reverse engineered and figured out. Fixing this would also fix many other games that mistakenly reset.* Elite is being used Others run with minor glitches or require certain options, such as a model NMI at vblank or stack native return, to "aggressively" optimize the EXE, specifically in AOT compilationbe disabled. Overall, at least 50% of games are expected to make emulation run at in the same speed, or faster if possiblefuture.
==See also==
* [[NeMul]]
 
==External links==
* [https://discord.gg/RhjJ5wGggb Official Discord server]
* [https://docs.google.com/spreadsheets/d/1xKZIyNz1DSI3ZBdMfaTEaa_9b6IEABx-ZPwOb6XqcLQ/edit?usp=sharing Compatibility list]
* [https://www.youtube.com/watch?v=zUSTG--CkSA Sharopolis demonstration + interview]
{{Nes}}
[[Category:Emulators]]
[[Category:Console emulators]]
[[Category:Home console emulators]]
[[Category:Nintendo Entertainment System emulators]]
[[Category:Super Nintendo emulation software]]
Anonymous user

Navigation menu