First thing: You do NOT make an emulator of a system you do not own or know. That's one of "The great truths about emulation", and I should know, as I have written 6502 emulators, and my 6502 knowledge comes from the NES world (our NES developement community has quite a large number of emulator author members, too). Second thing: The *BEST* way to first accustom yourself with the 65xx series is to get a machine which uses it (C-64, Vic-20, Atari 400/800xl are some easy to find). Then you can learn assembly. The best way I've seen yet is through:
1- Reading the "Assembly in one step" tutorial, which will teach you 6502 basics in no time
2- GET THE 6502 instruction set card !!!
The 6502 instruction set card is available at
ftp://ftp.comlab.ox.ac.uk/pub/Cards/txt/6502.txtThis will help you greatly in programming your emulator, has it contains cycle information, flag information and mnemonic conversion rules from basic unit to address modes.
The rest of the learning needed can be gotten through programming in 6502 assembly for a good period of time. I've "trained" several people in 6502 assembly using this exact 2-step method, and some of them are really good at it now (though you do need practice, and previous programming experience and knowledge of the most common algorithms is a MUST).
I hope this helps.
Regards,
Tennessee Carmel-Veilleux
(
veilleux@ameth.org