Retro raster timing
PAL and NTSC raster maths for the Amiga, Atari ST, Atari 8-bit, and C64 — cycles per line and frame, frame rates, µs per scanline, unit conversions, a per-frame cycle budget, and the cycles DMA steals.
Added
How to use it
Pick a machine. The preset fills in the clock, raster units per line, and lines per frame — you can change any of them (for example to model an overscan or a 60 Hz switch) and Reset values puts them back.
-
Frame gives cycles per line and per frame, the frame and line rates, and how long a scanline and a single cycle take.
-
Convert turns CPU cycles, raster units, microseconds, scanlines, or frames into all the others.
-
Raster-time budget: enter how many CPU cycles your routine takes per frame to see how much of the frame it uses, after the DMA estimate below.
-
DMA estimates the cycles video hardware takes from the CPU: Amiga bitplanes by depth and resolution, Atari 8-bit ANTIC modes, playfield width and player/missile graphics, and C64 badlines and sprites.
Reference numbers
| Machine | Clock (Hz) | Per line | Lines | Frame rate |
|---|---|---|---|---|
Amiga PAL |
3,546,895 (colour clock) |
227 |
313 |
49.92 Hz |
Amiga NTSC |
3,579,545 (colour clock) |
227.5 |
262 |
60.05 Hz |
Atari ST 50 Hz |
8,021,247 |
512 |
313 |
50.05 Hz |
Atari ST 60 Hz |
8,010,613 |
508 |
263 |
59.96 Hz |
Atari ST mono |
8,021,247 |
224 |
501 |
71.48 Hz |
Atari 8-bit PAL |
1,773,447 |
114 |
312 |
49.86 Hz |
Atari 8-bit NTSC |
1,789,773 |
114 |
262 |
59.92 Hz |
C64 PAL |
985,248 |
63 |
312 |
50.12 Hz |
C64 NTSC |
1,022,727 |
65 |
263 |
59.83 Hz |
One Amiga colour clock is two 68000 cycles. The DMA figures are simplified models — good for a first estimate, not cycle-exact: Copper and blitter contention, ANTIC’s exact slot pattern, and C64 sprite fetch details are approximated.
Sharing
Share link copies a link with the system, its timing values, the conversion, the raster budget, and the DMA settings. All are readable parameters: ?sys= (amiga-pal, amiga-ntsc, st-pal, a8-pal, c64-pal, …), ?clock=, ?perLine=, ?lines=, ?conv= and ?from= (cpu, units, us, lines, frames), ?budget=, and the DMA options (?planes=, ?hires=, ?vis=, ?antic=, ?width=, ?pm=, ?bad=, ?spr=) — for example ?sys=c64-pal&budget=8000.
Feedback is a gift. Something to improve, a feature to add, or a bug? Tell me.
Runs entirely in your browser; nothing you type leaves this page.