I don't know if this has been done before, but this diagram is the secret to my time-sensitive kernels. It shows every clock and every cycle of the scanline. No more adding up cycles. If you know what your kernel needs to do at a particular point, the code almost writes itself!I've attached a blank diagram, and an example filled out for the main part of Marble Jumper. I'll take suggestions for improvement, and if it seems useful to enough people, it could go in the MiniDig.



Create a custom theme









It might be nice to add arrows (or something) for when graphics writes need to happen. E.g., I'm pretty sure that you need at least a cycle lead time when writing to PF0, PF1, or PF2. In other words, writing to PF1 at cycle 28 will be too late; the write to PF1 needs to happen by cycle 27. This also applies to GRP0 and GRP1.
That doesn't apply to color writes, as far as I've been able to tell.