Hello,
I am in the process of writing a NES emulator, it has been going well so far, my INES loader works and I wrote a little disasembler that displays the assembly names of an opcode.(Also created ram and mapped rom to it) But this doesn't do anything of course. My next step is to start implementing instructions, however, I am having trouble finding clear descriptions of instructions. I found these 3 sites:
http://www.6502.org/tutorials/6502opcodes.html
https://www.masswerk.at/6502/6502_instruction_set.html
These sites are nice, but they don't provide enough information about what the instructions do. There are the obvious ones like JMP and NOP, but then instructions like PHP or RTI I don't exactly know what they do. Of course I have a vague idea, e.g. RTI probably goes back to where it was before the interrupt happens. But I don't exactly know where it needs to return to, where I store where it needs to go and such. This is probably partly because I am not super familiar with assembly.
So I am hoping someone has like a sheet that tells me exactly what each instruction does, if it includes what micro-instructions it does it would be even better. Does anyone have/know something like that?
Also, bit off topic, a description of the cpu flags would be nice, because I don't know some of them.
Thanks!
Edit:
I need descriptions of the opcodes seperately, not the assembly opcodes. Because something like JMP can evaluate to different opcodes.
I am in the process of writing a NES emulator, it has been going well so far, my INES loader works and I wrote a little disasembler that displays the assembly names of an opcode.(Also created ram and mapped rom to it) But this doesn't do anything of course. My next step is to start implementing instructions, however, I am having trouble finding clear descriptions of instructions. I found these 3 sites:
http://www.6502.org/tutorials/6502opcodes.html
https://www.masswerk.at/6502/6502_instruction_set.html
These sites are nice, but they don't provide enough information about what the instructions do. There are the obvious ones like JMP and NOP, but then instructions like PHP or RTI I don't exactly know what they do. Of course I have a vague idea, e.g. RTI probably goes back to where it was before the interrupt happens. But I don't exactly know where it needs to return to, where I store where it needs to go and such. This is probably partly because I am not super familiar with assembly.
So I am hoping someone has like a sheet that tells me exactly what each instruction does, if it includes what micro-instructions it does it would be even better. Does anyone have/know something like that?
Also, bit off topic, a description of the cpu flags would be nice, because I don't know some of them.
Thanks!
Edit:
I need descriptions of the opcodes seperately, not the assembly opcodes. Because something like JMP can evaluate to different opcodes.