Here's a NES game I wrote way back when. I guess it's more accurate to call this a "playable demo", as it's not really much of a game - more of a series of inside jokes involving my former coworkers. Still, you control the guy, walk around, have a goal, and there's music so I'll call it a game. In my eagerness to find a clever pun for the title, I created a lasting record of my apparent ignorance of how to correctly spell "icy" (although I still think "icey" looks better).
I used FCE Ultra to test it, so I'd recommend using that if you want to play it. After testing it on a real NES, it turns out there's some slowdown when playing. If you use a cycle-accurate emulator, such as Nestopia you can see this. It looks to be due to the naive way I wrote the graphics engine. Real NES games seem to mostly do their graphics updates in the VBLANK routine. Oh well.
The graphics were done with Nestile, the music was done manually, and the code was assembled with P65 (the Python version). As an aside, the author of P65, Michael C. Martin, wrote a tutorial on NES programming that I used to have linked here called "NES 101" which seems to have disappeared. It was one of the only worthwhile NES programming tutorials I found at the time. I used the initialization code from his tutorial in this.
The ROM is available for download below, along with the source code. While I made the code available, I would recommend against using this code for anything. I was learning as I went with this, so the code ended up very ugly and inefficient.