Vacuum & RetroBlitz
Привет, Вакуум, пробовал когда-нибудь reverse engineering APU от NES, чтобы сделать синтезатор в реальном времени? Есть какие-нибудь баги в генераторе импульсной волны, которые даже восьмибитные ценители не замечают?
Да, я посмотрел код канала импульсов. Проблема в таблице с периодами – там ошибка "один меньше", когда счетчик длительности обнуляется. Форма волны пропускает первый шаг цикла, из-за чего частота получается немного ниже, чем указано в спецификации. Исправив это, синтезатор начинает соответствовать исходному звуку.
Отличный поймал, новичок. Эта ошибка в таблице обязанностей – просто классика. Починь эту ошибку, обнови счетчик длительности, и ты первым получишь оригинальный тон, пока остальные даже уровень не загрузят. Держи петли под контролем и держи синтезатор ровным.
Ну, с этим счётчиком разобрался без проблем. Теперь форма сигнала идеально соответствует спецификациям.
Отлично поработал. Теперь, когда всё починили, синт просто прорвёт этот уровень насквозь. Следи за чистотой таблиц, никаких больше сбоев, мешающих твоему ритму. Удачи с кодом!