[stella] Atari non-interlaced frame rate = ca. 59.922751 Hz?

Subject: [stella] Atari non-interlaced frame rate = ca. 59.922751 Hz?
From: SeaGtGruff@xxxxxxx
Date: Sun, 21 Aug 2005 04:14:55 -0400
Forgive me if I'm bringing up something that's been discussed already, but I 
searched the archives and couldn't find the answer there. Well, I did see a 
post that mentioned a line rate of 15699.6 Hz, but what I'm looking for is the 
*frame* rate.

I've been wondering for a while about the Atari's exact timing, and whether 
it differs from the NTSC-M timing. Everywhere I look, I read that the color 
NTSC-M format has 59.94 fields per second, and 29.97 frames per second, but I 
assumed that those values are approximations. After searching the internet, some 
months ago I found the exact values:
60 * 1000 / 1001 = 59.94005994 repeating 005994 fields per second,
and
30 * 1000 / 1001 = 29.97002997 repeating 002997 frames per second.

If there are 525 lines per frame, we get a line rate of
525 * 30 * 1000 / 1001 = 15734.26573426 repeating 573426 Hz.

If we divide 1 second by the number of lines, we get
1 / (525 * 30 * 1000 / 1001) = 0.00006355 repeating 5 seconds per line.

Okay, now let's look at the Atari. As I understand it, the NTSC Atari's 
graphics clock rate is equal to the NTSC-M colorburst frequency (which is the same 
as the NTSC-M color subcarrier frequency), commonly given as 3.579545 MHz. 
Again, I assumed that this is an approximation. After searching the internet, 
yesterday I found the following:
5 MHz * 63 / 88 = 3.5795454 repeating 54 MHz.

So for the NTSC Atari's machine clock rate, we get
5 MHz * 63 / 88 / 3 = 1.1931818 repeating 18 MHz.

If a line contains 228 color clocks, or 76 machine clocks, we get
5000000 Hz * 63 / 88 / 228 = about 15699.76076555 lines per second
(or, to be exact,
15699.76076555023923444976076555023923444 repeating 976076555023923444
lines per second).

This is different than the NTSC-M line rate!

And if there are only 262 lines per frame (on a non-interlaced screen), then 
there are
5000000 * 63 / 88 / 228 / 262 = about 59.922751013 frames per second.
(After doing the lines-per-second long division, I really don't feel like 
doing the frames-per-second long division right now!)

Are there any Atari hardware gurus here who can verify the above? I'd assumed 
that the NTSC Atari's frame rate *must* be different than the color NTSC-M 
frame rate, because the timing for an interlaced screen *can't* be the same as 
the timing for a non-interlaced screen, due to the slight difference in the 
number of lines. But I'd assumed that the *line* rates should nevertheless be 
equal.

And speaking of interlacing, we'd get the following for an interlaced screen 
on the NTSC Atari:
5000000 * 63 / 88 / 228 / 262.5 = about 59.80861244 fields per second,
and
5000000 * 63 / 88 / 228 / 525 = about 29.90430622 frames per second.

I suppose it doesn't really matter for most programs. But for example, if we 
wanted to use the Atari as a digital timekeeper, we would need to know the 
exact frame rate so we could adjust the seconds every so often to keep the time 
accurate. For example, if the NTSC Atari's frame rate were exactly equal to the 
NTSC-M frame rate, we'd have to add an extra second every 1000 frames to keep 
the correct time, right? So if the Atari's non-interlaced frame rate is 
different than the NTSC-M frame rate, we'd have to use some other adjustment.

By the way, if we want, we can create a 3:1 interlaced screen, or three 
fields for every frame, by timing the VSYNCs so that 262.33 repeating 3 lines get 
displayed every field, which would give us 787 lines in one complete frame-- 
although there would be noticeable flickering. But we might be able to use 3:1 
interlacing to simulate extra colors, by using the first field for red, the 
second field for green, and the third field for blue. I'm guessing the results 
would be ugly, but it would still be interesting to see. Anyway, I think the 
rates would be
5000000 * 63 / 88 / 228 / 262.33... = about 59.84661 fields per second,
and
5000000 * 63 / 88 / 228 / 787 = about 19.94887 frames per second.

Michael Rideout
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://stella.biglist.com

Current Thread