Some folks have kindly scoped and posted some of the timings and inferred information from the schematics.
I don't have a scope and keen schematical skills, so to indirectly verify some of the characteristics of the console I wrote a series of routines that test and measure the console in various ways. Based on the above posts and my own results, I intend to eventually update the Guide with a few bits of info...
- NTSC has 263 lines per frame, while the PAL has 313.
- NTSC console runs from a 14.3181818MHz crystal, while PAL runs from a 14.187576MHz crystal.
- The DMA cycle stealing in the later MARIA Spec seems to be the closest to the truth. Using those values for cycle stealing in emulators brings them fairly close to real hardware test results.
- If Holey DMA is enabled and an DL entry for a line is in a hole, there are no cycle penalty at all for skipping it, even with indirect fetches, according to tests with emulation that match real hardware.
- The RIOT timers seem to work, though I found you need to set them twice on real hardware to make them work consistently. For some reason that I haven't figured out, hitting WSYNC during the countdown seems to mess them up and make them unreliable. Possibly there are other unknown pitfalls.
Here's my test program. Moving the joystick left and right switches the running test. I don't have a PAL console, so watermarks are provided for NTSC only. Someone with the ability to run a PAL bin on real hardware could assist by reporting if the PAL levels on various tests differ from NTSC, and if they differ, what the new mark is. (move the joystick up and down to reposition the level measure mark)
7800test.bas.ntsc.bin 32KB 367 downloads
7800test.bas.ntsc.a78 32.13KB 408 downloads
7800test.bas.pal.bin 32KB 361 downloads
7800test.bas.pal.a78 32.13KB 367 downloads
Current emulators don't implement cycle stealing, and will fail the above tests pretty badly. That should hopefully change very soon.
If you're still reading at this point, thanks for suffering through the monster post! I'm look forward to any comments, theories, questions, criticisms, or debate.