Ранний ZX Spectrum не имел звукового чипа. Динамик понимал только два состояния: включено и выключено. Программист Майкл Мартин разобрался, как из этого ограничения выжать трёхголосное звучание на Z80 с частотой 3,5 МГц.

Эксперимент работал с оригинальными 16 и 48-килобайтными моделями. Более поздний Spectrum 128 получил настоящий звуковой чип AY-3-8912. Энтузиасты до сих пор интересуются такими ограничениями и собирают ретрокомпьютеры на архаичных технологиях.

Однобитный выход позволял лишь быстро включать и выключать динамик, создавая импульсные последовательности. Мартин попробовал воспроизводить 1-битный PCM на скорости около 16 кГц. Такой поток требовал примерно 2 килобайта в секунду, заметно для 48-килобайтной машины, и качество было грубым.

Трёхголосный синтез оказался куда интереснее. Программа одновременно вела три счётчика частоты, складывала их состояния и на каждом цикле решала, включать динамик или нет. Один проход микширования занимал 338 тактов. Такие эксперименты показывают, что результат зависит не столько от мощности железа, сколько от понимания его границ.

Мартин проверил и широтно-импульсную модуляцию, где громкость имитируется длительностью коротких импульсов. Теоретически это должно было дать чище звук, так как механика динамика не реагирует мгновенно. На деле вышел в основном высокочастотный писк, и разработчик вернулся к программному смешиванию каналов.

Сам приём не изобретали недавно. Программисты игр для Spectrum создавали сложную музыку без отдельного аудиочипа ещё в 1980-х. Композитор Тим Фоллин написал известные треки для Agent X, Agent X II и Chronos. Современный разбор старых техник показывает, насколько далеко программисты тех лет заходили ради нескольких дополнительных голосов.

Мартин выложил код и звукозаписи. В подробном разборе разобрал подсчёт тактов Z80, PCM, программное смешивание и неудачные попытки с PWM. По его словам, успешный трёхканальный вариант звучит настолько густо, что едва ли напоминает однобитную систему.

Старые игровые платформы вообще гибче своих характеристик. Летом разработчики запустили Linux на Sega MegaDrive 1988 года, где процессор Motorola 68000 работает на 7,6 МГц. Память добавил современный картридж с FPGA.

Ностальгия работает и в обратном направлении. Проект 240-MP превратил Raspberry Pi в ретро-медиаплеер для кинескопного телевизора с интерфейсом видеомагнитофона 1990-х годов.