The linked page is more interesting IMO. That said, the 6502 ISA is just not very regular. It has like 40 instructions and 20 addressing modes and they aren’t very orthogonal. Additionally, it’s hard to write compilers for, so most programs are written in assembly. This of course contributes to the fixation on cycle timing.
That page is more interesting reading, but it is exclusively for reading: the author asserts that their explanation results in accurate instruction encodings and cycle counts for all instructions, but there’s no way to check their work other than by reimplementing it yourself - and running the risk of typos and misunderstandings in your own code. At least with the database version, you can read the data, read the code, and check the computed results against other sources (or your own measurements).
The linked page is more interesting IMO. That said, the 6502 ISA is just not very regular. It has like 40 instructions and 20 addressing modes and they aren’t very orthogonal. Additionally, it’s hard to write compilers for, so most programs are written in assembly. This of course contributes to the fixation on cycle timing.
That page is more interesting reading, but it is exclusively for reading: the author asserts that their explanation results in accurate instruction encodings and cycle counts for all instructions, but there’s no way to check their work other than by reimplementing it yourself - and running the risk of typos and misunderstandings in your own code. At least with the database version, you can read the data, read the code, and check the computed results against other sources (or your own measurements).
Earlier today I was looking at http://cowlark.com/index/languages.html which includes an article on difficulties with the 6502 as a compiler target.
The title gave me the impression this was a database that you could query with instructions and it would return a binary.
points at database “assembler”