The
Wikipedia article about Frak! states that, in the copy protection music for the Electron version, "polyphony was achieved via 50 Hz interrupt-driven note-switching to achieve the necessary chords". I've just looked at the code for this and I don't see anything to support that, unless it's doing something very sneaky - which is, of course, quite possible. It defines envelopes and calls &FFF1 a lot, but I don't see any code that explicitly relies on a 50 Hz interrupt. Perhaps it relies on one of the OS routines to control the timing used.