A downloadable NES instrument

Download NowName your own price

What Is SynthNes?


SynthNes is a ROM that runs on an Everdrive N8 Pro flashcart, and an app that runs on a PC that can transform your NES into a MIDI-capable synthesizer.


Features


  • Control all five NES audio channels via MIDI or included virtual keyboard
  • Expandable by connecting more NES's
  • Easy to use PC interface
  • PDF manual
  • Modulation
  • Automation
  • Presets
  • Polyphonic operation
  • Unison mode
  • Animated graphics
  • Hidden surprises


Requirements


  • Everdrive N8 Pro
  • Nintendo Entertainment System (or clone equivalent)
  • Windows PC
  • USB Cable

Please note that the Pro version of the Everdrive is required!


Wait...a PC App?


SynthNes uses the PC app to handle complex calculations (such as modulation) and MIDI input. The PC app also provides an easy to use interface for manipulating the various parameters of the NES's sound chip.


Getting Started


  • Insert the Everdrive N8 Pro cartridge into your NES
  • Connect the Everdrive N8 Pro to your PC using a micro USB cable
    • If using a front loading NES, you may have to remove the top cover and pry the cartridge up slightly in order to insert the cable
  • Power on the NES
  • Start SynthNes.exe on your PC
  • Click the “SETTINGS” tab on SynthNes
  • Click the large “DEPLOY ROM” button with a star on it

Please read the manual for more details!



StatusReleased
CategoryTool
Rating
Rated 5.0 out of 5 stars
(2 total ratings)
AuthorAvicr
TagsHomebrew, Music, NES (Nintendo Entertainment System), NES ROM, nintendo, Pixel Art, Sprites, synth, synthesizer, tool
Average sessionA few seconds
InputsMouse, MIDI controller

Download

Download NowName your own price

Click download now to get access to the following files:

SynthNes Manual.pdf 1.8 MB
SynthNes.zip 15 MB

Development log

Comments

Log in with itch.io to leave a comment.

Hello, i wanna give it a try but when i wanna strot the exe without plugged an everdrie i get th emessage: you must install.NET. I do this but nothing works. Wich version i have to install on Win10? Thanks forward

Hi, try https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-desktop-5.0...

Hej Avicr, thank you very much. That was the right on. Ok now its time to search an NES and the Everdrive - and via midi (my DAW) i can send th enotes to it right? Big thanks evadum

To send midi from your DAW directly to SynthNes, you'll need to use loopmidi https://www.tobias-erichsen.de/software/loopmidi.html

Hi, ah i know that. Thank you very much. Any ideas where i can find the correct and maybe cheap everdrive n8 pro? ;)

Hello, and i have another question. Will it wor with this one here?

https://de.aliexpress.com/item/1005007584668943.html

Thanks forward

(1 edit)

FYI anyone running into this error ~recently:

"Could not connect to the everdrive. Please make sure the USB cable is plugged in and the NES is powered on"


Be sure to check OS updates, I was hitting this on my setup that worked few months back - same cable/everdrive/NES. Tested OK with same setup but another (recently-used) laptop & synthNES loaded fine. Caught my synthNES laptop up on updates & it was able to 'see' the NES again.

Hello! Is there any plan of or success getting this to run in linux? I've not had luck sadly, not that I'm super versed in the magic of wine or anything. Half asking if developer has insight on it & half if community does, no results when I search "synthnes" and "linux" so now there'll be at least 1 result :)

I don't have any experience running SynthNes on wine, but you'll probably need to set up serial over USB for it.  Here are some random links that I found that might help

https://askubuntu.com/questions/1083286/using-usb-serial-adapter-with-wine

https://forum.winehq.org/viewtopic.php?t=31285

Thank you much! Unfortunately I've not had luck launching the app at all, so still on the first hurdle before any USB connectivity issues would come into play. Any interest or plans to open-source its code for longevity of project/ opening up to others potentially porting it?

I've considered releasing the c# application and the main NES routine code, but the project was developed with such a fervorish pace that the guts are pretty messy and a bit of a structural embarrassment.

Basically the code is too ugly to share publicly haha.

(1 edit)

That is unfortunate to hear! I would think of the application's future & benefits in having it be accessible/ usable for community for preservation's sake, far too many niche tools lost to time as developer(s) move on or are no longer with us :)

(2 edits)

Finally had a chance to give this a go.  I had to use a USB card reader to get my Everdrive pushed down enough to read, but not enough that it blocked the USB port 🤣

I couldn't for the life of me get it to detect my Keyrig49, though.  The keyboard tested fine in other programs.

Tried again tonight and got the keyboard working.  Would be cool if there was a way to "lock" notes on a channel so I can have an arp going on one channel and switch to the next to get something going there.

(+1)

A latch/hold mode is a great idea.  If I do another update I'll be sure to add it.

(2 edits)

Hey... I thank your work and Im very excited about this but I just got the N8 PRO so I could use your beautiful promise and it turns out that it wasnt as easy as I thought it would be...the app says NO NES DETECTED and I cant get it to work...Im pretty sure that it must be something really basic...do you happen to know what can I try to do besides pluggin it? (I was able to get ROMS runnin) Thanks!!!

(1 edit)

Are you using an NTSC or PAL NES?

Are you connecting the USB cable directly to your PC or are you using a hub?

What version of windows are you running?

Sorry for the trouble. Other people have reported issues lately and I'm not sure what's going on.

Thanks for the quick response! 

The answers are: NTSC...I tried on a Hub and directly on the PC....Im using Windows 11

I also would like to mention that the PC is not able to detect the SD card straight from the Everdrive at all which tells me that I might be doing something wrong. I'm sorry if I sound totally lost. 

Don't worry, I'm totally lost as to what the problem is.

Can you do these steps?

(3 edits)

Maaaaaan! I knew that I was missing something very basic! Lol...It's Alive!! I appreciate your effort and your hard work! Truly grateful! BTW... I'm a noise and dungeon synth musician...I'll let you know as soon as I record something with SynthNES

I'm glad you were able to get it working! What was the problem?

I'd be very eager to hear anything you record! And feel free to provide any feedback or feature requests.

Hi again! So I got a second NES-001 PAL, and tried again with no luck. Using the USB tool from Krikzz I can see that the connection to the Everdrive is working. I have posted two pics here so that you can see. Any ideas on what I should try next? I really want this to work :)

(1 edit)

Have you been able to verify that the everdrive can play roms?

Hm, I've never tested SynthNes on windows 11 so I don't know if that is a problem.

(2 edits)

I'll get my cables tomorrow hopefully, then I´ll test the everdrive on my TV with rom games. 

Have you used windows 10 with SynthNes? I could maybe try to install it on my pc and see if that would do the trick. 

(2 edits)

SynthNes was developed on windows 10 so I know that works. Hm have you tried plugging in a controller to your nes and pressing the A button with the everdrive inserted? 

Also, was your sd card formatted using fat32?

Also part 2, are both your nes's pal? You may have to configure the cic.

(1 edit)

So I installed windows 10 and it did not do the trick :( 

I plugged in my controller and messed around with it. I have tried two different SD cards and formatted them to fat32. 

I did the thing with my NES for the cic. hit reset 7 times. 

Even though I can use the USB tool from Krikzz to access, update my everdrive etc, I think there is some connection issue with my USB nav to the SynthNes. 

I use a Mele Quieter 4C. Maybe there is something in it´s usb setup which SynthNes does not like. I am quite bad at computers and this kind of stuff :) But I read somewhere that if you have connections issues you should try to connect usb directly to motherboard usb and not hubs. Maybe this is the issue with my setup. 

I'm sorry I have no experience with the Mele Quieter 4C...

Maybe try using a USB hub if you have one available.

Do you have another windows computer you could use?

I just got my Everdrive N8 Pro and I am trying to get everything up and running. I got a NES-001 for the record. 

So the PC is on, the Synthnes.exe boots up just fine. The nintendo has a solid red light and the "pling" sound from the USB to PC connection sounds when I turn on the power on the NES. But when I klick the "Deploy Rom" I get an error message saying: 

"Could not connect to the everdrive. Please make sure the USB cable is plugged in and the NES is powered on". I have tried with 4 different USB cabels and it does not help. 

Any suggestions on what I should do?

One thing I have thought of is if I need to setup the everdrive in some way as it is new. I have not connected my NES with the everdrive to a TV, as I don't have the cables for doing so at the moment. I have downloaded the latest everdrive OS and placed it on a SD card.

Hmm there shouldn't be any setup other than copying over the everdrive OS.  Are you connecting the USB cable directly to your computer or going through a hub?  I've had trouble trying to go through a hub before.

I'll grab the latest everdrive OS and verify that SynthNes still deploys. 

I've verified that Synthnes does work with the latest everdrive firmware.  Make sure you've dropped the EDN8 folder onto the root of your sd card. 

If you can't hook up your nes to make sure the everdrive is working correctly, you should be able to use the EDN8 link tool on krikzz's site to verify the setup.

Hi, thanks for support! I have ordered cables to be able to connect to TV together with a replacement pin connector. I fear that even though I get a solid red light on the NES it might be a Grey screen trouble. I will update you here once I have tested with the new connector.

(2 edits)

Hi! thanks for making this project, really awesome! So I had a question or two :) Can i map my own midi CC or are the ones in the manual set? Also the CC reference in the manual, is that all parameters which can be midi mapped or can I map other stuff as well, like for example the transpose buttons, invert buttons etc. Would be happy for answer! thanks

Hello, thank you for your interest in SynthNes! I'm sorry but the midi CC messages cannot be remapped and only the parameters listed in the manual can be controlled via CC.

It´s no probelm :) Just wanted to know. Planning on building an Arduino midi controller designed for Synthnes and needed know what I had to work with.

Hey there! This is so cool and I can't wait to give it a try once I have my N8 Pro. 

Is it possible to change the preloaded samples?

Unfortunately not.

Still an amazing job you have done. Thank you!

Hi Crispin - I develop a VST called RetroPlug that hosts a gameboy emulator within the plugin for use with LSDj and mGB within DAWs.  I recently bought an N8 pro with the intention of building something similar to SynthNes, that could eventually be integrated in to RetroPlug.  Since it looks like you've done most of the work here, I set about reverse engineering the companion app and have a pretty good understanding of whats going on and how to replicate it in a VST using the MIDI functionality, but I'd really like to go a bit deeper and work out whats going on in the NES rom too! Would you consider open sourcing this project, or at least be open to sharing the code with me?

I'll at least share the important bits of the ROM code with you on github.  The broad strokes of the main loop are:

  • Read the N8's USB FIFO 
  • Check if data is a valid packet using checksum
  • Poke the appropriate virtual registers in the NES according to the data in the packet

Would retroplug@tommitytom.co.uk be a good address to contact you at?

Yep that email is fine. Thanks!

I get the below error when launching the exe. Clicking Yes doesn't initiate any download. Can you advise what .NET runtime needs to be installed?

I'll try to figure out which runtime you need specifically, but in the meantime try downloading the latest.

FWIW I had to install .NET 5.0 Desktop Runtime (v5.0.0) to get it to launch

Thanks for the follow up. Unfortunately my computer will no longer boot so I was unable to get the info myself. Please post if you have any more issues.

I just got all the things needed to play and im already a big fan! Just wanted to ask if there's gonna be a way to turn off velocity for all incoming midi? 

The arpeggiator editor is cool too but it would be great if there's a way to compose with all channels using a similar window! 

Thank you! 

(2 edits)

I'm glad you're enjoying SynthNes.  You can turn off velocity by unchecking the "VEL" checkbox in the channel group.  The arpeggio editor for each channel can be summoned by clicking the "Edit" button next to the corresponding channel indicator in the "ARP" section (note the scrollbar).  Also, you should be able to trigger the arp pattern for all channels at once by changing your MIDI input channel to 6!  Let me know if you have any more questions.

And here is a video of the arp functionality I mentioned (multiple channels are edited at around 30 seconds).



Ah, yeah that makes sense! Thanks! 

Would this work on an AV Famicom with the Famicom version of the N8 Pro? I mean, I assume it would since it's technically the same system, but I figured I'd ask.

Hello there.  Any plans to bring this to MacOS?  

Sorry, no.

Very cool tool that gives me yet another reason to invest in an N8 Pro. 

I'm curious: do you have any intention (or capacity) to port the companion app to VST? Not sure how feasible it would be, but the gains for digital arrangement would be astronomical! Having an in-DAW UI would be incredible and could remove the OS specific restriction. Would also open the door to other MIDI handling like multiple inputs and modulation via automation or MIDI CC.

Keep up the awesome work! Will check back here if and when I score an N8 Pro!

I have a working prototype of the companion app running as a VST, but no concrete plans to release a VST.

That being said, SynthNes does support multiple Midi inputs and a lot of parameters are exposed to Midi CC.  While not as convenient as a native VST interface, a Midi loop back can be set up to pump automation from a daw to SynthNes.  If you watch the app UI in this video you'll see the channel parameters respond to the CC messages from Reaper: 

If you do pick up a N8 and have any questions about SynthNes, feel free to ask!

I never got it to work. I'll try again since it's been updated.

Which everdrive/Nintendo models are you trying to use SynthNes with?

(1 edit)

NES-001 and an Everdrive N8 Pro. checking the O.S. version... 2.11 from December 2021.

What behavior are you seeing? Does anything happen when you click the deploy button with the star? Have you tried using a different USB cable?

(-1)

Can it work with Nes classic mini?

(+1)

No, SynthNes requires an Everdrive Pro cartridge for communication.

I hope one day there will be software for nes mini :)

I am wondering if you are planning on manufacturing any cartridges to play this now that the Everdrive N8 Pro is selling for upwards of 1k due to the Ukrainian supply chain issues? 

No, manufacturing hardware is far beyond my capabilities. Hopefully krikzz will be able to return to their work someday.

(1 edit)

I hope so too! I have an Everdrive I use for musical production ROMs, homebrews and hacks. I read about this awesome tool and started looking.  Since I needed a pro version I went back to Stone Age Gamer only to find everything sold out. That’s when I heard Krikzz was hunkering down. Hope the war is over soon and hope to create music soon. Looks super fun. Let me know if you find a hardware workaround that allows me to use something else like Copynes or another flash cart.

Don't know if you'll see this in time, but it looks like krikzz's website has n8 pros in stock right now!

I managed to get one ordered from Krikzz’s site. Pretty pumped! Excited to try out SynthNES then! 

Any idea if this will also work on an Analogue Nt Mini?  All my real NES are currently broken...

(+1)

Yes, it works with the nt mini. Sounds great, too!

I finally got everything connected and got it working.  This is really cool.  I'm looking forward to the new features you previewed on youtube.

Wow, this project is amazing. I've been dialing in classic tones and jamming to my favorite NES themes. I was happily surprised to see some bonus presets in the latest update! I'd love to be able to share presets and maybe see what others have come up with—if anybody else is interested, what would be the best place to do that?

Any future plans to support the Famicom to take advantage of the extra VRC chips and other sound channels not available on the NES?

(1 edit)

No plans at this time, I'd have to acquire some hardware first.

Curious about this as well since the N8 Pro offers support for popular sound expansions out-of-the-box

The extra sound channels will most likely never be supported as it would require a major rewrite of the SynthNes ROM. I know, I'm disappointed too haha.

I absolutely love this, and really appreciate the time you spent putting this together!! 

I am curious though if there are any plans to be able to choose which midi device is being used because I was trying to rig something up so I could send midi signal from FL Studio to my midi keyboard (Keystep) and have that output everything to SynthNes since I'm guessing a VST version of this is outside the scope of your plans. 

This is also probably a problem specific to me, but my NES has a stereo output mod (Not sure who made it or when it was even installed since I got my NES from a coworker) but when I use that output, I only get audio for the pulse channels, and not the Triangle, Noise, or samples. Regular audio out works for all of the channels though! 

Also, if anyone's recently changed their pin connector you might not need to remove the top because the one I have lets games run without being pressed down. 

If you need help testing anything, I'd be glad to since I'm one of the few people seemingly who has both an EverDrive Pro, and synth stuff! 

Hey thanks for using SynthNes!  I'm excited to see someone dig in.

Not being able to select the input MIDI device is a glaring flaw that I may come back to at some point.  SynthNes will greedily open all of your MIDI devices and block them from being used by other software...I use loopMIDI when sequencing SynthNes from my DAW, not sure if loopMIDI will solve your problem though.

I am not familiar with how the stereo mods work, but I may look into seeing if I can support them later on (imagine the possibilities with two detuned pulse channels in stereo) .

I definitely am looking for feedback, so if you have any suggestions, or find something hard to use, let me know.  And if you're willing, version 2 is just about ready for testing.

Here's a preview of the arp editor


Any chance of an update to support the Famicom and the matching N8 Pro

Unfortunately I do not have a Famicom or Famicom N8 Pro to test with, but I am definitely willing to give it a try.  Do you have a Famicom with a Famicom N8 Pro?  If so, have you tried SynthNes on that setup?

tried it on my imported sharp twin, the pc software would not recognize that it was hooked up

Hm, looking through the code I don't see any reason why this wouldn't work on a Famicom, but I'll definitely keep looking. In the meantime, have you tried a different USB cable and a different USB port on your computer?

(2 edits)

I had pulled a bad cord out of my pile, the rom now loads. however the moment I try to send a single note to the console the pc software crashes. it does play the start up jingle and load the graphics. It is odd for there to be a problem as the only practical difference in hardware between the twin and the nes is the fact that the twin uses an earlier ppu revision "RP2C02E-0" which has a bug where OAMDATA and palette RAM are not readable.

Do you get an error dialog like this?


If so, can you click the details button, copy the text, and then paste the output in a comment here?  Thank you for being patient by the way.

Hello. Were you able to make it work on a Famicom/N8 Pro Fami? Thanks.

Can't wait to be able to buy a cart for this XD.

If you do purchase an everdrive  for use with SynthNes, make sure it is the Pro version.