Hey all, I posted this on Reddit and they forwarded me here (after giving me some helpful information). Here's the question:
I've been working on a SNES emulator for fun, and have found some decent information, except for actual timing information. I'm probably just over thinking this, or maybe I just need more information, but here's my conundrum. There's this page with some timing information: http://wiki.superfamicom.org/snes/show/Timing
It talks about the SNES master clock running about 21.477 MHz, and that internal IO instructions take 6 cycles, and then different memory accesses can be between 6, 8 or 12 cycles and 1364 cycles per scanline (most of the time). This is cool, I just need to figure out what instructions take what timings and I'll have an idea of how many instructions to process per frame.
Then, I get to the instruction timings: http://wiki.superfamicom.org/snes/show/65816+Reference
This references CPU cycles, and none are even more than 8 cycles (many are between 1 and 6), and CPU cycles are not the same as master clock cycles. I found that the CPU can run at 2.68MHz most of the time, but can also run at 3.58 MHz or 1.79 MHz.
I'm wondering, does anyone have any good information on this stuff? Most of what I find appears to be from the exact same source, and has these two different ways of talking about timing, which doesn't make sense to me. Can someone help me make sense of this, or point me to a source that can give me a good idea about these things? Thanks ahead of time!
I've been working on a SNES emulator for fun, and have found some decent information, except for actual timing information. I'm probably just over thinking this, or maybe I just need more information, but here's my conundrum. There's this page with some timing information: http://wiki.superfamicom.org/snes/show/Timing
It talks about the SNES master clock running about 21.477 MHz, and that internal IO instructions take 6 cycles, and then different memory accesses can be between 6, 8 or 12 cycles and 1364 cycles per scanline (most of the time). This is cool, I just need to figure out what instructions take what timings and I'll have an idea of how many instructions to process per frame.
Then, I get to the instruction timings: http://wiki.superfamicom.org/snes/show/65816+Reference
This references CPU cycles, and none are even more than 8 cycles (many are between 1 and 6), and CPU cycles are not the same as master clock cycles. I found that the CPU can run at 2.68MHz most of the time, but can also run at 3.58 MHz or 1.79 MHz.
I'm wondering, does anyone have any good information on this stuff? Most of what I find appears to be from the exact same source, and has these two different ways of talking about timing, which doesn't make sense to me. Can someone help me make sense of this, or point me to a source that can give me a good idea about these things? Thanks ahead of time!