Yep. Also, for X86, you'll want to download Intel's manuals from their web site. There's a 3-volume series on the Intel architecture including a book dedicated to the instruction set and its encoding. It used to be possible to order nicely-bound hardcopy editions for free but I'm not sure if that's still the case.
I'd suggest trying to write a disassembler first. The instruction decoding is the biggest headache with an X86 system.
> To be able to emulate something from scratch you need to know how to program on
> it. So read up on 80x86 assembly and whatever system you are trying to emulate.
> You can also learn about emulation by downloading other peoples emulators and
> seeing how they do things.