Re: 65C02 instruction timings
Posted: Mon May 31, 2021 12:51 pm
Returning to the original topic...
NollKollTroll, I have a few further suggestions:
1. NOPs
There are several different NOP opcodes that have differing instruction lengths and cycle counts.
These are summarised here:
http://6502.org/tutorials/65c02opcodes.html#8
It would be good to include these in your document, as they form part of the defined behaviour.
2. Manufacturer specific variations
Even if your document is specific to the W65C02, it might be helpful to indicate which instructions are:
- Rockwell and WDC additions (BBR, BBS, RMB, SMB)
- WDC only additions (STP and WAI)
The CMS/GTE G65SC02 doesn't implement either of these groupings. Neither does the NCR 65C02.
3. Register Naming
There was some debate eariler about register naming.
I've very much with Ed on this:
- use S for the Stack Pointer (as in TXS and TSX)
- use P for the Process Status Register (as in PHP and PLP)
Western Design Centre would seem to agree with this: I'll certainly be using your document as a handy reference.
Dave
NollKollTroll, I have a few further suggestions:
1. NOPs
There are several different NOP opcodes that have differing instruction lengths and cycle counts.
These are summarised here:
http://6502.org/tutorials/65c02opcodes.html#8
It would be good to include these in your document, as they form part of the defined behaviour.
2. Manufacturer specific variations
Even if your document is specific to the W65C02, it might be helpful to indicate which instructions are:
- Rockwell and WDC additions (BBR, BBS, RMB, SMB)
- WDC only additions (STP and WAI)
The CMS/GTE G65SC02 doesn't implement either of these groupings. Neither does the NCR 65C02.
3. Register Naming
There was some debate eariler about register naming.
I've very much with Ed on this:
- use S for the Stack Pointer (as in TXS and TSX)
- use P for the Process Status Register (as in PHP and PLP)
Western Design Centre would seem to agree with this: I'll certainly be using your document as a handy reference.
Dave