I <relatively> recently changed my emu core from scanline- to pixel-based and have noticed artifacting in RasterDemo.nes that was not there in the scanline-based implementation. I have convinced myself it is operand timing related, as I can mess around with cycle counts and change the artifacting.
Does anyone have the de-facto 2A03 opcode timing reference guide? I have found disagreements between the various ones that I have been using online. Some of the problems appear to be related to whatever OCR software was used to scan in the C=64 PRM that I was using at one point. 3's became 8's or vice-versa. I have attempted to put common sense into the figuring out of these types of things, but am sure there MUST be a "gold standard" reference somewhere?!
Page boundary crossing determination
Moderator: Moderators
- cpow
- NESICIDE developer
- Posts: 1097
- Joined: Mon Oct 13, 2008 7:55 pm
- Location: Minneapolis, MN
- Contact:
Re: Page boundary crossing determination
Okay so I found my problem...I was incorrectly determining page-boundary crossing cases of the indexed addressing modes.
I'd still like to find a trusted opcode cycle count reference, though.
I'd still like to find a trusted opcode cycle count reference, though.
This is what I use for my instruction reference while coding:
http://www.obelisk.demon.co.uk/6502/reference.html
it contains the cycle too. I don't know how trusted it is but it's always been accurate from an ASM coder point of view.
http://www.obelisk.demon.co.uk/6502/reference.html
it contains the cycle too. I don't know how trusted it is but it's always been accurate from an ASM coder point of view.
This is pretty much what I used when I made a cycle based emulator, it is pretty complete IMO. It covers all the operations of each cycle.
http://www.viceteam.org/plain/64doc.txt
http://www.viceteam.org/plain/64doc.txt