There's no fiddling around with a ton of semi-colons and parenthesis and long, long lines filled with underscores for spaces.
Don't know which language does that =P
But Java and C# both have a thing with a REALLY huge core library, and so stuff you need is buried in really long namespace qualification (ex: System.Out.PrintLine .. and that's even one of the shorter ones)
...maybe I shouldn't abandon NES development. Just start my own game, instead of fiddling with this one. But I want more colours! Bigger sizes! Maybe SNES?
There's a charm to retro dev. And in a way, the limited hardware helps reign in your ambition. When developing for a modern platform it's really easy to get carried away with too many ideas.
On the other hand, if you make something for PC you can throw it on steam and maybe make a few bucks.
I know whatever language I work with next, I'll have to start almost from scratch. I just wish I could explain the difficulties I have in understanding anything else. Maybe I'm trying to learn too much at once...?
You absolutely will not be starting from scratch. There's a big different in style between retro assembly and modern OO languages, but the fundamentals are largely the same.
LDA/STA becomes '='
CMP becomes '=='
JSR SomeLabel becomes 'SomeFunction();'
All these core asm concepts have DIRECT equivalencies in C-like languages, because C was designed to basically be portable assembly -- and all the languages it spawned took heavy influence from it.
I would say give it another shot.
If you want bare-bones, close to low level, "I want to do build everything myself from the ground up" -- pick up C or C++ with the SDL library.... or C++ with the SFML library... or maybe even Python with the PyGame library
If you want an existing working engine that does the heavy lifting for you and allows you to quickly mold it into your own game, pick up C# and Unity.
Note the biggest hurdle in ALL of these instances is not learning the language, it's learning the library. The more complicated the library, the more there is to learn. So Unity will have a bigger learning curve, but will also have the bigger payoff in terms of what it will allow you to accomplish.
And not to discount your suggestion! An NSF player sounds great, I'd actually love to be able to make a tool that converts an NSF to midi better than the one tool I already found. I just have no idea where to start with what language to learn to make a Windows application.
Literally any modern language will get you to a windows application with relative ease. C/C++ environments are probably the hardest to set up because they're a touch archaic, but I'd still recommend C++ for emu development --- maybe because I have a bias... but building a hardware simulation in C++ is so damn sexy, where other languages kind of feel chunky.
But if you want to do anything with a GUI, C and C++ are both terrible and I'd probably avoid them. Then again I haven't found any language that doesn't suck when it comes to GUIs... so... *shrug* I think GUIs just suck in general.
I also hear very good things about Rust but I haven't used it and don't know anything about what libs are available for it.
And if you want to build up a resume and make yourself marketable, you might want to consider Go (GoLang) -- but again I can't speak to it.