NoiES for Switch (NES Emu)

NoiES for Switch

I present to you my own original NES emulator for the Switch, NoiES! This entire emulator was written from scratch by me. I started this project just to teach myself about how emulators are made so that I can work on larger projects in the future, but it went farther than I originally expected and is now pretty much a full-fledged emulator, apart from some minor inaccuracies and some missing mappers.

But there are already other NES emulators for the Switch, why use this one?
Well, no reason in particular. As I said before, this was more a learning experience for me, but I ported it to the Switch for the homebrew bounty and I might as well release it. I suppose the biggest advantage I can offer is that since I developed the entire emulator core myself I am very familiar with it and can easily dive in to fix bugs and add new features.

Minor inaccuracies?
Yes, well, aside from the missing mappers, it's mainly the audio stuff that needs work done. Most importantly the DMC audio channel, which isn't implemented at all. There are also a few minor inaccuracies in other places that shouldn't affect most things.

Mappers?
Right. Every ROM has a mapper; it's basically what loads different portions of the ROM memory into the CPU memory for execution. I've implemented the most popular mappers as well as a few others, which should cover a large portion of the NES library. If you have any particular games you want to play that aren't supported, tell me the mapper number (the emulator will tell you which one it is if it isn't supported) so I can place higher priority on implementing it.

Screenshots
2019050519035900-39044917CFF4239A6A8855A4FBFD24A3.jpg 2019050519040400-39044917CFF4239A6A8855A4FBFD24A3.jpg 2019050519043500-39044917CFF4239A6A8855A4FBFD24A3.jpg 2019040117475600-39044917CFF4239A6A8855A4FBFD24A3.jpg 2019040117495500-39044917CFF4239A6A8855A4FBFD24A3.jpg 2019040117523000-39044917CFF4239A6A8855A4FBFD24A3.jpg 2019040117541800-39044917CFF4239A6A8855A4FBFD24A3.jpg 2019040117574000-39044917CFF4239A6A8855A4FBFD24A3.jpg 2019040716355600-39044917CFF4239A6A8855A4FBFD24A3.jpg2019050519045800-39044917CFF4239A6A8855A4FBFD24A3.jpg

Downloads
If you're interested, you can find downloads on GitHub and on the GBAtemp download center. Source code is also available on GitHub, as well as a Linux build if you're into that. Hopefully someone finds some use for this, I at least learned a lot from making it!
 
Last edited by Hydr8gon,

pohaxsf

Well-Known Member
Member
Joined
Jan 7, 2019
Messages
230
Trophies
0
Age
25
XP
369
Country
Greece
NoiES for Switch

I present to you my own original NES emulator for the Switch, NoiES! This entire emulator was written from scratch by me. I started this project just to teach myself about how emulators are made so that I can work on larger projects in the future, but it went farther than I originally expected and is now pretty much a full-fledged emulator, apart from some minor inaccuracies and some missing mappers.

But there are already other NES emulators for the Switch, why use this one?
Well, no reason in particular. As I said before, this was more a learning experience for me, but I ported it to the Switch for the homebrew bounty and I might as well release it. I suppose the biggest advantage I can offer is that since I developed the entire emulator core myself I am very familiar with it and can easily dive in to fix bugs and add new features.

Minor inaccuracies?
Yes, well, I've yet to test my CPU timing for cycle accuracy so no promises there. There are also some minor timing issues with the PPU, particularly with the MMC3 IRQ counter, which can be seen in the slight vibration of the status bar in Kirby's Adventure. Another odd bug I found is that I can't seem to navigate the items menu in The Legend of Zelda. Oh, and the audio system is still kind of a work in progress, so you might notice crackles (especially in docked mode!), missing sounds, or things that sound slightly off. (Wow, doing a great job selling it here)

Mappers?
Right. Every ROM has a mapper; it's basically what loads different portions of the ROM memory into the CPU memory for execution. I've implemented mappers 1 through 4, which should cover a large portion of the NES library. If you have any particular games you want to play that aren't supported, tell me the mapper number (the emulator will tell you which one it is if it isn't supported) so I can place higher priority on implementing it.

Screenshots
View attachment 162588 View attachment 162589 View attachment 162590 View attachment 162591 View attachment 162592 View attachment 162593 View attachment 162594 View attachment 162595 View attachment 162596

Downloads
If you're interested, you can find downloads on GitHub and on the GBAtemp download center. Source code is also available on GitHub, as well as a Linux build if you're into that. Hopefully someone finds some use for this, I at least learned a lot from making it!
Thanks for your contribution, I like having a variety and a choice.. I think the work here is EPIC.
 

pitterpatter

Well-Known Member
Newcomer
Joined
Dec 3, 2018
Messages
80
Trophies
0
Age
27
XP
282
Country
United States
NoiES for Switch

I present to you my own original NES emulator for the Switch, NoiES! This entire emulator was written from scratch by me. I started this project just to teach myself about how emulators are made so that I can work on larger projects in the future, but it went farther than I originally expected and is now pretty much a full-fledged emulator, apart from some minor inaccuracies and some missing mappers.

But there are already other NES emulators for the Switch, why use this one?
Well, no reason in particular. As I said before, this was more a learning experience for me, but I ported it to the Switch for the homebrew bounty and I might as well release it. I suppose the biggest advantage I can offer is that since I developed the entire emulator core myself I am very familiar with it and can easily dive in to fix bugs and add new features.

Minor inaccuracies?
Yes, well, I've yet to test my CPU timing for cycle accuracy so no promises there. There are also some minor timing issues with the PPU, particularly with the MMC3 IRQ counter, which can be seen in the slight vibration of the status bar in Kirby's Adventure. Oh, and the audio system is still kind of a work in progress, so you might notice crackles (especially in docked mode!), missing sounds, or things that sound slightly off. (Wow, doing a great job selling it here)

Mappers?
Right. Every ROM has a mapper; it's basically what loads different portions of the ROM memory into the CPU memory for execution. I've implemented mappers 1 through 4, which should cover a large portion of the NES library. If you have any particular games you want to play that aren't supported, tell me the mapper number (the emulator will tell you which one it is if it isn't supported) so I can place higher priority on implementing it.

Screenshots
View attachment 162588 View attachment 162589 View attachment 162590 View attachment 162591 View attachment 162592 View attachment 162593 View attachment 162594 View attachment 162595 View attachment 162596

Downloads
If you're interested, you can find downloads on GitHub and on the GBAtemp download center. Source code is also available on GitHub, as well as a Linux build if you're into that. Hopefully someone finds some use for this, I at least learned a lot from making it!

noice
 

Hydr8gon

Dragon Trainer
OP
Developer
Joined
Dec 15, 2014
Messages
316
Trophies
1
Website
hydr8gon.github.io
XP
2,580
Country
Canada
Hey y'all, NoiES v1.1 is out! Here's the changelog:
-Add MMC2 mapper support
-More accurate PPU memory accesses
-Fix audio crackles caused by the triangle channel
-Automatically open the last visited directory on startup
-Added an icon
-Added file and folder icons for the file browser
-Fixed distorted sound in docked mode
Just like before, find downloads on GitHub or the GBAtemp download center. Enjoy!
 

Hydr8gon

Dragon Trainer
OP
Developer
Joined
Dec 15, 2014
Messages
316
Trophies
1
Website
hydr8gon.github.io
XP
2,580
Country
Canada
Hey everyone, new release comin' at ya. Here's the changelog:
-Fixed incorrect cycle timings on CPU instructions
-Implemented mappers 7 and 15
-Implemented all illegal CPU instructions
-Added crop overscan setting
-Improved the UI font
-Added new UI selector, styled like the one from the Switch UI
-Added complete UI touch control, including scrolling and button presses when touching the labels in the corner
-Added support for mapping multiple controls to a single button, as well as clearing mappings
-Added support for player 2 input using a second controller
-Added aspect ratio setting
As always, find it on GitHub or the GBAtemp download center. A decent amount of changes here, mostly UI stuff though. The core still has mapper and audio stuff that needs to be done, but... well, I'm a bit tired out. Not just from NoiES, but from programming in general. Also, NES isn't exactly in high demand on the Switch, it seems. Anyways, I'll take a bit of a break, and when I come back I'll probably move on to another project. As I mentioned in the melonDS thread there's something DS-related I might want to attempt ;)
 

Hydr8gon

Dragon Trainer
OP
Developer
Joined
Dec 15, 2014
Messages
316
Trophies
1
Website
hydr8gon.github.io
XP
2,580
Country
Canada
Please, you could include mapper 30, it is necessary for games made with "nes game maker" thank you very much
Sure, I'll try to remember for the next release! Not sure when that'll be though; I'm busy trying to write my own DS emulator now, as well as dealing with crappy life stuff.

Is there any risk by downloading this? I want to try it out but I'm scared of Nintendo locking my console
The risk is just in the act of running homebrew itself. Running this should be safe; it doesn't modify the system or anything. I use unmodified Atmosphere and only run homebrew with it, and I also occasionally play Smash or something online and I've had no issues. As long as you're not installing any .nsps or running SX OS it should be pretty safe. There is always a chance though, so be careful and maybe keep your Wi-fi disabled when running homebrew if you're really paranoid.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • K3Nv2 @ K3Nv2:
    Under ipv4/6
  • A @ ATEMVEGETA:
    The save file will be created and started normally on the Switch's OFW with a legit game. Then that save file will be transfered to the emulator and continue the gameplay there. Then send it back to the console.
  • K3Nv2 @ K3Nv2:
    I feel like I need to touch @Sicklyboy rack to make it work at this point
  • A @ ATEMVEGETA:
    The save file(s) would never be created first in an emulator
  • A @ ATEMVEGETA:
    Do you think continuing the story on the emulator would flag the save file as illegal? (Again no cheats, etc will take place, only normal story of the game progress)
  • BigOnYa @ BigOnYa:
    But still using the save on a emulator, then back to switch is shady
    +2
  • A @ ATEMVEGETA:
    Yea, that's the only thing I want to clarify actually. If someone has tried it with no problems.
    +1
  • A @ ATEMVEGETA:
    If using the save on the emulator flags the save file. :/
  • A @ ATEMVEGETA:
    Again, "using" I mean normal gameplay not modify it with other means like pokehex, etc
  • A @ ATEMVEGETA:
    @BigOnYa, Can you help me clarify this thing somehow? Do you know someone that may know or have tried it?
  • Psionic Roshambo @ Psionic Roshambo:
    Just play it on the emulation at home and portable use the normal save, I wouldn't risk anything if online is important to you
    +1
  • K3Nv2 @ K3Nv2:
    My psychiatrist tried to help me once said it was mine 9 months later
    +1
  • BigOnYa @ BigOnYa:
    Just ask in the forums if anybody has done it, I don't know of anybody who has, or would risk it.
  • Psionic Roshambo @ Psionic Roshambo:
    Baby daddy issues lol
  • A @ ATEMVEGETA:
    this is what I did here. I hope I get some responces
    +1
  • K3Nv2 @ K3Nv2:
    Daddy was a little cray cray
    +1
  • K3Nv2 @ K3Nv2:
    Go cray cray on it like a coloring book
    +1
  • K3Nv2 @ K3Nv2:
    Got so mad my Bluetooth made me break a tooth
  • DinohScene @ DinohScene:
    that's why you should get titanium implants
  • K3Nv2 @ K3Nv2:
    I'm actually waiting on insurance to accept those ffs almost been waiting 2 weeks
  • DinohScene @ DinohScene:
    steal them off off a corpse
  • K3Nv2 @ K3Nv2:
    Mmm live persons more fun psi you're like 50 you should have a few :tpi:
  • DinohScene @ DinohScene:
    sold them all for meth\
    DinohScene @ DinohScene: sold them all for meth\