Posted: Fri Mar 13, 2009 12:15 am
Wow, there's some great info in this thread. I haven't done this level of testing on the timing of all the VDP output signals yet. Thanks a lot for the images you posted Eke, they've given me a much clearer picture of what goes on within a line.
I haven't done these tests yet, but this is something I've planned for, and this thread is motivating me to start them. I recently purchased a logic analyser. I haven't tested it yet, but in theory, I can now snoop on signals as they pass over the bus. By, for example, running code which constantly reads from the status register as fast as possible, and monitoring those reads with the logic analyser, which is also hooked into other lines (such as the clock pulse and interrupt lines), I can, in theory, determine the exact cycle when these register values change, and also measure when that cycle occurs relative to other known outputs. Combined with the other information already in this thread, these tests should be able to give us all the information to get all these timing events absolutely perfect.
I'll test out my logic analyser this weekend. I haven't tried it yet, so I still don't know how well it's going to go, but I'll let you guys know the results.
These are tests I've always wanted to do on the VDP output. In particular, I want to know the exact cycles when all the various register values are modified (H/V counter, hblank flag, vblank flag, vint occurance flag), and how they are aligned with the analog output signals, such as hsync and vsync, and how they line up with hint/vint. This would give you the precise data you need in order to know when to set all these values.Eke wrote:It would require someone willing to test exactly when the HBLANK flag is set/cleared regarding to the HINT occurence...
I haven't done these tests yet, but this is something I've planned for, and this thread is motivating me to start them. I recently purchased a logic analyser. I haven't tested it yet, but in theory, I can now snoop on signals as they pass over the bus. By, for example, running code which constantly reads from the status register as fast as possible, and monitoring those reads with the logic analyser, which is also hooked into other lines (such as the clock pulse and interrupt lines), I can, in theory, determine the exact cycle when these register values change, and also measure when that cycle occurs relative to other known outputs. Combined with the other information already in this thread, these tests should be able to give us all the information to get all these timing events absolutely perfect.
I'll test out my logic analyser this weekend. I haven't tried it yet, so I still don't know how well it's going to go, but I'll let you guys know the results.