If you're interested in programming Gameboy Advance games:
While in college, one intro course on lower-level computer programming had a few projects for programming for a Gameboy Advance emulator. This site was heavily used for reference and guidance: http://www.coranac.com/tonc/text/toc.htm
Also, here are some materials (from the course) and even examples of created projects:
Is it possible to somehow "copy" an NES game that you've compiled onto a real NES cartridge so that it can be played on a real NES? That could make this an incredibly fun hobby. Especially as a parent of kids who actually enjoy NES and SNES games.
The simplest way to deploy your homebrew ROMs to a real NES is to use something called a "flash cartridge"[1]. This is equivalent to a real NES cartridge except it is backed by rewritable flash memory instead of a permanent ROM. It contains all of the necessary glue logic[2] so the console can't tell the difference. You can rewrite the flash if you connect the cart to your computer via USB.
The magical thing to google if you want to do your own research is "NES flash cart".
The "EverDrive" that aji suggests is, indeed, an example of a flash cart. It may or may not be the best one for the NES - I honestly don't know, all of my experience is with the GameBoy.
dpflan's approach of erasing and reprogramming a REAL NES cart is also possible, if you enjoy pain and suffering in the name of being lavishly historically accurate. (I know I do sometimes.)
For testing, some of the available flash or RAM cartridges are good bets. For distributing in small hand-built volumes, an NES cartridge is really just some parallel storage for the 6502 CPU(be it an EPROM, or a FLASH 29-series ROM (easier)) and another chip for the CHR graphics on the PPU bus (a similar ROM). RAM may be used in place of CHR ROM, and bankswitching "mappers" are commonplace, as the 6502 can not address much as-is.
While in college, one intro course on lower-level computer programming had a few projects for programming for a Gameboy Advance emulator. This site was heavily used for reference and guidance: http://www.coranac.com/tonc/text/toc.htm
Also, here are some materials (from the course) and even examples of created projects:
_
Related Course Materials
1. Main Reference: http://www.coranac.com/tonc/text/toc.htm
2. GBA Installation: https://github.com/nuppan/Georgia-Tech/tree/master/2nd%20Yea...
2. Another site: http://www.loirak.com/gameboy/gbatutor.php
_
Projects
1. "Duckhunt" - https://github.com/jabelman/duck_hunt-gba
2. "Pacman" - https://github.com/zjhzyyk/gba-pacman
3. Video of "The Snuggler" - https://www.youtube.com/watch?v=wxnEY3RRPp4
4. Video of "Samurai Jack" - https://www.youtube.com/watch?v=fgIeKCxAfSk