Код с моей точки зрения не важен,
однако раз уж надо то приведу:
Там была такая тема: каждый байт состоял из двух половинок,
младшая половинка есть громкость, старшая есть число повторов (кто не понял, по 4 бита каждая)
LD A,(HL)
AND 15
LD D,A
LD A,(HL)
AND #F0
LABEL1:OUT (C),D
<ВЫРАВНИВАНИЕ ПО ТАКТАМ>
SUB #10
JR NZ LABEL1
INC HL
ну и т.д.
Хе ну вроде ты силён в асме а такое спрашиваешь...
Каждое значение должно выводиться ровно раз в 80 тактов [раз в 80 тактов есть 44кГц] (вот тебе выравнивание по тактам), кроме того есть первый цикл, потерянный, где происходит увеличение указателя = HL, загрузка регистров = = AND #F LD D,A и т.д.
Т.о. я не стал просто расписывтаь эту ерунду, просто записал <выравнивание..> и всё..
Если сильно надо могу ОРИГИНАЛЬНЫЙ текст приложить, это мне кажется не так важно..
Ну хоть один человек меня понял...
Нет дело вовсе не в способе преобразования оцифровки (8 бит в 4 бита), потому что сам оцифровка играется нормально на других девайсах (интереса ради потом запускал на Sound Blaster на PC, так же не поленился написать опять же проигрыватель, которое выдавал это всё на ZX Beeper), нет, везде КРОМЕ AY звук шёл нормально... Один аук хрипел...
Даже таблицу конвертации переписал, ничего не помогло... Где то здесь же в форуме есть линк на спецификацию по ауку, там кстати написано распределение громокостей аука, там кстати же указано что она логарифмическая... Также я забивал более сложные таблицы конвертации (т.е. по умолчанию длина таблицы конвертации была 16 элементов, я её до 32 расширял (бОльший запас точности), ничего не помогало, тогда меня это не больно волновало, сейчаз же вопрос стал ребром...