Thursday, March 5, 2026

Timing Systems in the History of Music Trackers

In the history of music trackers (especially on early computers like the Commodore 64 and Commodore Amiga), timing systems evolved because different hardware offered different ways to measure time. Terms like PPQN, CIA, VBlank, NTSC, PAL, and LPB refer to how trackers scheduled musical events such as notes and effects.


1. VBlank Timing (Early Trackers)

VBlank = Vertical Blank interrupt

Early trackers synchronized playback with the screen refresh interrupt.

  • The video chip triggers an interrupt every frame.
  • The music routine runs once per frame.

Frame rates depended on TV standards

  • PAL: 50 Hz (50 interrupts per second)
  • NTSC: ~60 Hz (59.94 interrupts per second)

These standards come from analog television systems used by machines like the Commodore 64 and early Amiga 500.

Effect on tracker timing

A tracker row advanced every N frames.

Example (classic Amiga trackers):


Speed = 6
PAL 50 Hz

Row duration:
6 frames / 50 Hz = 120 ms per row

Pros

  • Simple
  • Stable with graphics

Cons

  • Different speed on PAL vs NTSC
  • Limited timing resolution

This system was used in early trackers such as Soundtracker (1987).


2. CIA Timer Timing (Amiga Precision Timing)

The Commodore Amiga had CIA chips (Complex Interface Adapters) with programmable timers.

Later trackers used CIA Timer A instead of VBlank interrupts.

Why?

CIA timers allow arbitrary interrupt rates, independent of video refresh.

Example:


Timer frequency ≈ 709379 Hz / divider

This allowed:

  • More precise BPM
  • Same playback speed on PAL and NTSC

Trackers such as ProTracker used this technique.

Pros

  • Hardware accurate timing
  • Independent from video
  • Higher precision

Cons

  • Slight CPU overhead
  • Required careful hardware programming

3. LPB (Lines Per Beat)

LPB = Lines Per Beat

This concept appeared in later trackers during the PC era.

Trackers such as FastTracker II and Impulse Tracker separated:

  • tempo (BPM)
  • pattern resolution

LPB defines how many rows equal one beat.

Example:


BPM = 125
LPB = 4

Meaning:

  • 4 rows per beat
  • 16 rows per bar (4/4)

This makes timing more musical and flexible.


4. PPQN (Pulses Per Quarter Note)

PPQN = Pulses Per Quarter Note

This timing concept comes from MIDI sequencing rather than trackers.

Common MIDI timing resolutions:


24 PPQN
96 PPQN
480 PPQN
960 PPQN

Higher PPQN values give finer timing resolution.

Later tracker-inspired software and modern trackers adopted similar high-resolution internal clocks.

Examples include modern trackers and DAWs such as Renoise and OpenMPT.


5. Relationship Between These Systems

System Used In Resolution Hardware Dependence
VBlank early Amiga / C64 trackers low tied to video
PAL / NTSC video standards defines frame rate hardware
CIA timer later Amiga trackers medium hardware timer
LPB PC trackers high software
PPQN MIDI / DAWs very high software

6. Typical Classic Tracker Timing Formula

For ProTracker-style trackers:


row_time = speed × tick_time

Where:


tick_time = 2.5 / BPM seconds

Example:


speed = 6
BPM = 125

Tick time:


2.5 / 125 = 0.02 s

Row time:


6 × 0.02 = 0.12 s

This produces the famous 125 BPM / speed 6 groove used in many Amiga modules.


7. Historical Timeline

1980s

  • VBlank timing
  • PAL/NTSC differences
  • Soundtracker era

Early 1990s

  • CIA timer timing
  • ProTracker era

Mid 1990s

  • PC trackers adopt BPM + speed system

Late 1990s

  • LPB introduced

2000s+

  • PPQN-style internal clocks

Summary

  • PAL / NTSC → video refresh standards
  • VBlank → music tick tied to screen frame
  • CIA timer → programmable hardware timer interrupts
  • LPB → musical resolution (rows per beat)
  • PPQN → MIDI timing resolution

No comments:

Post a Comment