Page 1 of 1
Yet another 6502 reference
Posted: Thu Apr 28, 2016 12:22 pm
by heardtheword
I've used several 6502 references over the past few months and haven't been happy with any of them. I wanted a reference that looks good on a mobile device and also focus on status flags rather than cycle counts/bytes. Here is what I came up with and maybe it will help someone else. You can expand each mnemonic for details on the opcodes and bytes/cycles used.
http://media.matttuttle.com/6502/
If you come across something that isn't accurate or have an idea of how to make it better, let me know.
Re: Yet another 6502 reference
Posted: Thu Apr 28, 2016 12:30 pm
by FrankenGraphics
This looks very good and useful. Incidentally, i began to write a similar reference sheet in a note block to learn the flags just a few days ago.
Since it is interactive and all, maybe a filter or sorter when you click any or all of the flags could be helpful? To help answer questions like 'what may be altering carry in this case?'
Re: Yet another 6502 reference
Posted: Thu Apr 28, 2016 12:38 pm
by Joe
heardtheword wrote:If you come across something that isn't accurate
Bit 4 isn't a flag either; it only exists when the flags are pushed to the stack.
Re: Yet another 6502 reference
Posted: Thu Apr 28, 2016 2:33 pm
by heardtheword
Great suggestions! I added filter buttons at the top for the status flags. I also added print styles if someone wanted to print it for some reason...
Re: Yet another 6502 reference
Posted: Fri Apr 29, 2016 5:36 pm
by mikejmoffitt
This is pretty clean. It would be a cool feature if it had a C-esque "psuedocode" description of the kind of pointer math the different addressing modes do, because for newbies looking at the Y vs X indexing for LDA ($AA, x) instead of LDA ($AAAA), Y can be confusing at first.
Re: Yet another 6502 reference
Posted: Sat Apr 30, 2016 5:08 am
by tepples
You mean like this?
Code: Select all
LDA (dd),Y ; A = RAM[RAM[dd] + RAM[(dd + 1) % 0x100] * 0x100 + Y]
LDA (dd,X) ; A = RAM[RAM[(dd + X) % 0x100] + RAM[(dd + X + 1) % 0x100] * 0x100]
Re: Yet another 6502 reference
Posted: Sat Apr 30, 2016 5:14 am
by rainwarrior
I think if you're trying to illustrate what it does for a beginner you might sacrifice accuracy for simplicity:
...is probably a lot clearer about what its function is. The page wrapping is a finer detail, much like flags and cycles and other stuff you wouldn't try to encapsulate in a "C illustration".