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
  • No one is chatting at the moment.
  • S @ salazarcosplay:
    hunter x hunter
  • S @ salazarcosplay:
    he has not allowed anyone to continue it for him for example
  • Xdqwerty @ Xdqwerty:
    @salazarcosplay, theres a dragon ball af mod for budokai 3
  • Xdqwerty @ Xdqwerty:
    updated ship of harkinian, gonna install some hd texture pack
  • Xdqwerty @ Xdqwerty:
    I might download rayman revolution for my ps3
  • BigOnYa @ BigOnYa:
    I may try the new ram site, and download more RAM to my Switch. Not sure if ddr3 is the right ram
    for it tho. Edit- no it uses floppy Ram, just like @AncientBoi
    +1
  • Xdqwerty @ Xdqwerty:
    aeiou
  • BigOnYa @ BigOnYa:
    And sometimes Z
  • SylverReZ @ SylverReZ:
    @K3Nv2, MAGA supporters be wearing tin foil hats lol.
    +1
  • Xdqwerty @ Xdqwerty:
    @SylverReZ, whats maga?
  • BigOnYa @ BigOnYa:
    It stands for Maniacs Against General Acceptance
    +1
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, people rejecting general consensus about stuff?
    +1
  • BigOnYa @ BigOnYa:
    Yup, nuh its really just Trump followers
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, im not american so i dont care about trump
    +1
  • Xdqwerty @ Xdqwerty:
    or us elections
  • BigOnYa @ BigOnYa:
    Me niether, us north Koreans don't care
  • Xdqwerty @ Xdqwerty:
    good night
  • BakerMan @ BakerMan:
    i don't care either, even if i'm american
  • BakerMan @ BakerMan:
    truth be told, i agree with psi, i dislike both candidates, but i'd probably vote trump simply because the economy was better during his presidency
  • AngryCinnabon @ AngryCinnabon:
    Just be careful, if trump ends up winning and using project 2025 America might really change...for the worse.
  • AngryCinnabon @ AngryCinnabon:
    I'm not american and even that sends shivers down my spine.
  • AngryCinnabon @ AngryCinnabon:
    anything that offers trump an opportunity to become an actual dictator
    is bad in my book, i could care less if it wasn't for that...
  • K3Nv2 @ K3Nv2:
    Canada: America's Russia
  • NinStar @ NinStar:
    people are so dramatic that I can't even tell if they are being serious
    NinStar @ NinStar: people are so dramatic that I can't even tell if they are being serious