BHX: It's supposed to be outside your comfort/knowledge levels. That's the point. If you only do things you're comfortable with / already know how to do, you'll never improve.
Though I think you're overestimating how hard it is. A very basic 6502 emulator is pretty easy to write.
Once you have it executing code, you can run some basic test ROMs to make sure it's working (ie: they'll do a bunch of stuff and write 'pass' or 'failure' to memory, and you can examine it to see what's broken and fix it).
Once you have a working CPU, you can start doing the basics of a PPU and get graphics going. And just keep adding functionality from there.
If you take it one bite at a time it's very manageable.
EDIT:
6502 Basics (so you can see what I mean about it not being terribly difficult):
There's 3 general purpose registers: A, X, Y. Each are 8 bits wide, unsigned (ie: hold values between 0-255).
There's also a 16-bit register called the PC (program counter) which keeps track of where the code is executing from.
In addition to those regs (and a few others - but they're all similar), there's a 16-bit "Address space" or "addressable memory". You can think of this as just a big array of bytes:
(technically it's more involved, but again I'm simplifying a bit)
Writing a 6502 emulator basically means doing the following:
1) Read a byte of memory from whatever address the PC is set to. This byte is the "opcode"
2) do whatever instruction that opcode represents
3) increment PC so that it points to the next opcode in memory
4) repeat
The instructions are all incredibly basic and simple. The most complicated one is 'SBC', which subtracts 2 numbers.
So yeah... it's really not that rough.
EDIT:
If a full NES emulator is too much... an alternative is to start with an NSF player (NSF files are music data ripped from NES games.... so instead of emulating the full NES system, you just have to emulate the CPU and APU).