I am working on a little program for NES, right now I'm messing around with the basic things, controler, NMI, display screen, scrolling, etc. I don't know how far it will get, I have another project in my mind (related to the NES). Maybe I will release the source code so ppl can have a "very basic library" of functions to the NES, I don't know right now.
Starting learning assembly with the NES is a bad thing, because you will test your code on emulator and emulator are not 100% perfect, and it can cause you big trouble. Another thing is the PPU which is very complex and misterious in some case (even nowadays emulator have problem with it...), and the first thing you should set up in your program is the screen (controled by the PPU) to see something. I would start learning assembly with the i386 instead, a lot easier, you won't have to bother about the hardware! There is a "ton" of tutorials about the i386 on the net, grab one and try yourself! Good luck!