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:
    Thanks for signing up at LinusTechTips
  • QuarterCut @ QuarterCut:
    holey shmoley!
  • BigOnYa @ BigOnYa:
    Your credit card has been charged. Thank you.
  • K3Nv2 @ K3Nv2:
    Your screwdriverPlus will arrive in three weeks
    +1
  • QuarterCut @ QuarterCut:
    K64_Waddle_Dee_Artwork_1.jpg

    my reaction to such information
    +2
  • BigOnYa @ BigOnYa:
    Press 1 for English. Press 2 for Pig Latin. Or press 3 to speak to a representative.
  • BakerMan @ BakerMan:
    guys, i need help, i got into an argument about what genre radioactive is, and i forgot who made it
  • Sicklyboy @ Sicklyboy:
    @BakerMan, Imagine Dragons
  • Sicklyboy @ Sicklyboy:
    Dragon deez nuts across yo face GOTEEM
  • Sicklyboy @ Sicklyboy:
    lmao now I realize that was probably the joke in the first place
    +1
  • BakerMan @ BakerMan:
    IMAGINE DRAGON DEEZ NUTS ACROSS YO- FUCK HE BEAT ME TO IT
  • BigOnYa @ BigOnYa:
    You have selected 4 - Death by Snu Snu, please stand by...
    +1
  • BakerMan @ BakerMan:
    lucky bastard
    +1
  • Sicklyboy @ Sicklyboy:
    hahahaha I'm half way through a bag off my Volcano and my tolerance is way down because I haven't been smoking much lately, so I was a little slow to catch that that was what your angle was 🤣🤣
    +1
  • Sicklyboy @ Sicklyboy:
    Also I was just excited to know a music reference for once (I am the LAST person in the world that you want on your trivia team)
    +2
  • K3Nv2 @ K3Nv2:
    Bummer webos 7.4 isnt working with dejavuln-autoroot
  • Sicklyboy @ Sicklyboy:
    PS4 right? I think that's what mine's on. Or 5.6, maybe.
  • K3Nv2 @ K3Nv2:
    [!] Installation failed (devmode_enabled not recognized)
  • K3Nv2 @ K3Nv2:
    0.5 seemed to work whatever lol i wont bitch
  • Alysh_Graham @ Alysh_Graham:
    Hehehe
    Alysh_Graham @ Alysh_Graham: Hehehe