Chris Collins

Tools · retro

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.

Runs entirely in your browser; nothing you type leaves this page.