Project Nested - NES emulator for SNES

Discuss emulation of the Nintendo Entertainment System and Famicom.

Moderator: Moderators

Myself086
Posts: 43
Joined: Sat Nov 10, 2018 2:49 pm

Re: Project Nested - NES emulator for SNES

Post by Myself086 » Fri Oct 09, 2020 2:21 pm

soniccd123 wrote:
Fri Oct 09, 2020 11:07 am
Are you updating the compatibility list on your own? I've tested several games and found one or two that worked and aren't on the list, i would be happy to help if you want.
I contributed 15 or so entries on the compatibility list, everything else is Memblers.

If you want to add some game notes, you can PM me. If you're looking to update the list over a long period of time, you can "request edit access".

If you're interest, games listed as cyan need full play-through testers.
Quietust wrote:
Fri Oct 09, 2020 12:32 pm
Just tried version 1.1, and a lot more of my personal test ROMs are working now.

However, I noticed that the "Sprite limit per scanline" option seems to be off by one, at least when running in bsnes v115 - the 9th sprite (which triggers Sprite Overflow) is still being displayed, while the 10th one (and everything past it) properly gets hidden.
Looking at my code now, it looks like 8x8 and 8x16 can show 9 sprites but for 2 different reasons.

Thanks for the feedback!

Herzog Zwei
Posts: 2
Joined: Tue Feb 25, 2020 4:31 pm

Re: Project Nested - NES emulator for SNES

Post by Herzog Zwei » Sat Oct 10, 2020 10:49 pm

We need to create a pack with patched working roms!

them9namedsypher
Posts: 1
Joined: Sat Oct 10, 2020 11:32 pm

Re: Project Nested - NES emulator for SNES

Post by them9namedsypher » Sat Oct 10, 2020 11:36 pm

I'm currently working on that pack.
Released a video of me going Blind just testing V1.1 out.
https://youtu.be/dudLONwWv-M

I like this project and I look forward to future updates. Eventually ill release a pack of working games using Nested. I currently play on a Super Everdrive X5.

Herzog Zwei
Posts: 2
Joined: Tue Feb 25, 2020 4:31 pm

Re: Project Nested - NES emulator for SNES

Post by Herzog Zwei » Sun Oct 11, 2020 12:07 am

Please someone share profiles for different types of mappers and banks.

ZReport
Posts: 5
Joined: Thu May 31, 2018 11:57 pm

Re: Project Nested - NES emulator for SNES

Post by ZReport » Tue Oct 27, 2020 9:18 am

Project starting to get really good! :)

I will have to ask however -- is it possible to have the compiler automatically load in the settings for the games that require them before the .smc file is built? I personally don't have an issue reading the compatibility document and dialing in the required settings per game, but I definitely see a lot of people having issues doing the same.

Either way, keep up the good work my man!

Myself086
Posts: 43
Joined: Sat Nov 10, 2018 2:49 pm

Re: Project Nested - NES emulator for SNES

Post by Myself086 » Tue Oct 27, 2020 12:50 pm

ZReport wrote:
Tue Oct 27, 2020 9:18 am
is it possible to have the compiler automatically load in the settings for the games that require them before the .smc file is built?
Yes, I eventually want to have a database that the exe loads from so settings and known calls are loaded immediately. Having a list of known calls boosts performance by a noticeable amount and will improve in later versions as well.

The compiler is located inside the smc file. The exe will only compile known calls by emulating the smc in advance. If there are no known calls, the exe simply combines the 2 ROMs and remaps banks to fit the emulator's logic.

I have no plan to start the database anytime soon but if someone wants to jump in and help, just let me know.

johannesmutlu
Posts: 27
Joined: Fri Mar 11, 2011 2:22 pm

Re: Project Nested - NES emulator for SNES

Post by johannesmutlu » Sat Nov 07, 2020 7:15 pm

The nesterd emulator for the snes is just absolutely incredible , this is what nintendo should,ve done in the first place in 1989 during it’s development stage, it surely would,ve sold waay more sneses then it eventually dif,
It don’t know how exactly this emulator works but it’s possible that it requires a fpga chip inside the sd2snes to convert nes graphics & sound data into snes format but don’t bother with the cpu C65 code since they are the same used code as a computer languange inside the snes,
But i might be wrong , maybe we have to beforehand oatch & convert those nes games into a spc file first and then run it as a normal snes game on a powerpak or whatever, not sure but this is either way fashinating, it’s a wed dream become true👍

Stokes
Posts: 2
Joined: Tue Apr 07, 2020 4:34 am

Re: Project Nested - NES emulator for SNES

Post by Stokes » Sun Nov 08, 2020 11:18 am

Myself086 wrote:
Sun Jul 26, 2020 1:20 pm
Project Nested uses a JIT+AOT compiler to convert NES games into SNES games. It runs at roughly full speed depending on the game, 60 fps and mapper support.

Main github page: https://github.com/Myself086/Project-Nested
Download: https://github.com/Myself086/Project-Nested/releases

Specifications requirement for reproduction carts and flash carts:
- Up to 8mb of fast ROM, HiROM format.
- 16kb of SRAM.
- Battery if required by the game.
- No co-processor.

Target specs (planned future updates):
- Up to 8mb of slow/fast ROM, HiROM format.
- 0kb to 256kb of SRAM depending on the game and settings.
- Battery if required by the game.
- No co-processor.

Thank you Memblers for the SPC code!


Mappers: 0, 1, 2, 4

Compatiblity spreadsheet: https://docs.google.com/spreadsheets/d/ ... sp=sharing
If you wish to contribute to this spreadsheet, please let me know what notes to add.

Requests and feedback are welcome.

This top post will be edited over time to reflect the current version.



Smb1.png
Donkey Kong.png
Zelda.png
smb3.png
Hello there. I haven't been on this site for a while, but this is a good emulator, I just want to know if the NES game is normal or changed and where does the ROM start, $10000, $8000, or $4000.

Myself086
Posts: 43
Joined: Sat Nov 10, 2018 2:49 pm

Re: Project Nested - NES emulator for SNES

Post by Myself086 » Sun Nov 08, 2020 3:30 pm

Stokes wrote:
Sun Nov 08, 2020 11:18 am
Hello there. I haven't been on this site for a while, but this is a good emulator, I just want to know if the NES game is normal or changed and where does the ROM start, $10000, $8000, or $4000.
Short answer: NES ROM data starts at file address $040000. The NES ROM data itself isn't changed but NES banks are ordered differently and sometimes mirrored.

For more details...

This is HiROM and the file is mapped at $800000+. I never use file addresses in my notes. Converting SNES HiROM (not ExHiROM) address to file is: snes_addr & $3fffff

The first 4 64kb banks are reserved for the emulator ($80-$83 and $C0-C3).
In v1.1, PRG ROM starts in bank $84 while CHR ROM starts in bank $C4.

Each PRG bank will be mirrored if the mapper uses banks smaller than 32kb, this is because using DB and direct 16-bit address saves time. SNES can only change 32kb at a time. Mappers using 8kb banks will mirror in a "cascade" format because the disassembler can't cross bank boundaries. Crystalis had code crossing banks in sequential order. The data within each PRG bank remains unchanged.

Each CHR bank is added to the lower part of banks $C4+, using a different SNES bank for each 32kb of data. The CHR data is not transformed because it is compatible with SNES 4bpp layers and sprites, if you ignore the MSB of each VRAM word that is.

The iNES header is contained in a very different format for better access. This information, as well as settings, are stored at the very beginning of bank $C0.
6 lookup tables exist starting at $C00100, they are as follow:
$C00100 = PRG bank conversion for $8000-$9FFF
$C00200 = PRG bank conversion for $A000-$BFFF
$C00300 = PRG bank conversion for $C000-$DFFF
$C00400 = PRG bank conversion for $E000-$FFFF
$C00500 = CHR bank, starting SNES address page
$C00600 = CHR bank, starting SNES address bank
CHR bank size reflects the mapper's bank size rather than staying true to iNES format.

AOT compiled code start in the bank following the last CHR data and up to bank $FE. There's a bug in my assembly code that prevents using $FF for code. While AOT is done by the EXE, it is actually emulating my 65816 code so I don't have to rewrite the recompiler in 2 different languages. It is possible to trigger AOT compiler on a different emulator by simply allowing writes to ROM regions.

All addresses here are for v1.1 and are subject to change. The only static address is $80FF00 ($00FF00 file address) which is a 24-bit pointer to strings that define settings name, type, accessibility and address. These strings are used to show "advance settings" on the EXE.

User avatar
LucianoTheWindowsFan
Posts: 55
Joined: Mon Jun 22, 2020 9:39 am

Re: Project Nested - NES emulator for SNES

Post by LucianoTheWindowsFan » Fri Nov 13, 2020 5:45 pm

There are several games that do not work properly:
Ufouria: The Saga (game crashes after starting)
Wagyan Land (game crashes after starting a level)
Kirby's Adventure (game crashes permanently)
Bomberman (game shows a miscolored title screen and freezes permanently)
Bomberman II (game crashes permanently on a blank blue screen)
2048 (homebrew, game crashes after starting)
The SNES is my favorite console, not only because it is an upgrade to the NES, but because it had some quality games as well (e.g. EarthBound and Kirby's Dream Land 3).

marcosmoutta
Posts: 2
Joined: Mon Aug 17, 2020 1:41 pm

Re: Project Nested - NES emulator for SNES

Post by marcosmoutta » Wed Nov 18, 2020 11:36 am

Herzog Zwei wrote:
Sat Oct 10, 2020 10:49 pm
We need to create a pack with patched working roms!
https://www.youtube.com/watch?v=GVXCr6upWUo
Unsure on the legality of this, will gladly delete.

[Replaced one mediafire.com link reported as probably infringing --MOD]

Myself086
Posts: 43
Joined: Sat Nov 10, 2018 2:49 pm

Re: Project Nested - NES emulator for SNES

Post by Myself086 » Wed Nov 18, 2020 12:10 pm

marcosmoutta wrote:
Wed Nov 18, 2020 11:36 am
Herzog Zwei wrote:
Sat Oct 10, 2020 10:49 pm
We need to create a pack with patched working roms!
<Removed link>
Unsure on the legality of this, will gladly delete.
Not legal.

You are allowed to share profiles generated by the EXE. They only contain descriptions of the ROM file without actual data.

marcosmoutta
Posts: 2
Joined: Mon Aug 17, 2020 1:41 pm

Re: Project Nested - NES emulator for SNES

Post by marcosmoutta » Wed Nov 18, 2020 3:13 pm

Myself086 wrote:
Wed Nov 18, 2020 12:10 pm
marcosmoutta wrote:
Wed Nov 18, 2020 11:36 am
Herzog Zwei wrote:
Sat Oct 10, 2020 10:49 pm
We need to create a pack with patched working roms!
<Removed link>
Unsure on the legality of this, will gladly delete.
Not legal.

You are allowed to share profiles generated by the EXE. They only contain descriptions of the ROM file without actual data.
Hey, I sent you a second PM, I don't think you saw it? You didn't reply. I'm new to forums, not sure how they work. Just basic compatibility reports not yet listed, nothing much, feel free not to reply, just trying to help. Found a whole game that works without any problems, thought you'd like it. :mrgreen:

Myself086
Posts: 43
Joined: Sat Nov 10, 2018 2:49 pm

Re: Project Nested - NES emulator for SNES

Post by Myself086 » Wed Nov 18, 2020 5:23 pm

marcosmoutta wrote:
Wed Nov 18, 2020 3:13 pm
Hey, I sent you a second PM, I don't think you saw it? You didn't reply. I'm new to forums, not sure how they work. Just basic compatibility reports not yet listed, nothing much, feel free not to reply, just trying to help. Found a whole game that works without any problems, thought you'd like it. :mrgreen:
I replied to the first one, I read the second one but haven't had time to update the sheet. I should have more time tomorrow.

Feel free to send me more, I always appreciate the feedback.

User avatar
aquasnake
Posts: 150
Joined: Fri Sep 13, 2019 11:22 pm

Re: Project Nested - NES emulator for SNES

Post by aquasnake » Fri Nov 20, 2020 6:02 pm

Soon after you released this tool, some smart merchants used your works to pack NES ROM and sell them as SNES multi-carts. Some of them crashed due to imperfect emulation. I wonder if the manufacturer of this kind of cartridge has contacted you? If we are using open source products to do business, I think it is necessary to display a blue screen error after the crash and display a "punishment" warning message such as "this cartridge is unauthorized, please refund it from the seller". :lol:

You did what Nintendo should have done 30 years ago, and has made a breakthrough.

Using the external bank address b0-b7 of SNES to emulate mappers. Using SPC to emulate APU. Very outstanding work

Post Reply