вот кстати да, я тоже не мог понять, почему все фальшивило, пока не понял, что проц и AY несинхронны, а вся логика конфы вместе с зетником работает на 50гц кадровой :)
Ну, как-то так, да. Кстати, забыл сказать про важный момент: в анриле для правильного воспроизведения надо выставить клок аигрека в полклока Z80 руками, вписав в ини-файле в секции [AY] значение FQ=1792000. Я себе все мозги выделал, прежде чем дошло, почему играет неправильно.
Я пошагал чучуть в дебаггере.
1. Извращения производятся с одним каналом АУ (канал В).
2. Заметил 2 эффекта: дига и скважность.
3. Скважность делается так: берется значение периода канала: период из рега * 32 = период меандра в тактах Z80. Из этого вычисляется сколько тактов держать канал включенным (рег. 09 = громкость), и остальные такты — выключенным (рег. 09 = 0). Сумма тактов в обоих полупериодах должна быть точно одинаковой. Значение скважности варьируется в пределах 0-50%.
4. Как происходит сихронизация с фазой меандра не разбирался.
ох, а впиливание диги в вортекс — отдельная история: среди каши бульбокода воткнуть нужную фичу, не сломав остальное (что мы таки несколько раз и натворили, оставляя ковальского без рабочего psg-экспорта и вообще :)
Гарантированно точно не скажешь, согласен. Здесь я опирался еще на то, что много характерных для конверсии неаккуратностей присутствует. Да и цветок справа не внушает доверия к техническим умениям — обратите внимание на стебель.
Спасибо! Как раз на днях в одном из телеграм-канальчиков вспоминали о Mason в контексте того, что он был сильно недооценен, и что там есть чему поучиться. Я вернулся на ZX не так давно, поэтому всю эту тему пропустил (хотя Вова меня и толкал посмотреть, но, как обычно, руки всё никак не доходили), а жаль: возможно, иначе статья была бы совершенно другой. Я понимаю, что в свете написанного в комментарии это как-то странно прозвучит, но, может быть, стоит попытаться достучаться ещё раз? Прямо здесь, на Хайпе? Многие с тех пор пришли и многие вернулись всё же.
Спасибо! Скажем так, попытки впихнуть эффекты во время воспроизведения всего вот этого напоминают попытки пробежать между струями дождя так, чтобы не намокнуть. В нашем случае струи — это моменты переключения состояния софт-генератора. Если успеваешь что-то сделать между ними — то хорошо. В целом сейчас плеер устроен так, что у нас на большей части фрейма остаются свободные куски времени ЦПУ где-то по 250 тактов — то есть, если хочется показать эффект параллельно воспроизведению, надо разбивать его код на куски так, чтобы он в эти такты влезал. (Морока ещё та, короче).
Это интересная тема на самом деле. Насколько я помню, что-то такое на генераторах тона (правда, четь более, чем на трёх) умудрялись выделывать на MSX — играли речевые сэмплы одним тиком на фрейм, как-то хитро аппроксимируя их тоном (Фурье там и всё такое):
1. Извращения производятся с одним каналом АУ (канал В).
2. Заметил 2 эффекта: дига и скважность.
3. Скважность делается так: берется значение периода канала: период из рега * 32 = период меандра в тактах Z80. Из этого вычисляется сколько тактов держать канал включенным (рег. 09 = громкость), и остальные такты — выключенным (рег. 09 = 0). Сумма тактов в обоих полупериодах должна быть точно одинаковой. Значение скважности варьируется в пределах 0-50%.
4. Как происходит сихронизация с фазой меандра не разбирался.
вот знали бы что так можно — не стали бы всякие ковоксы и GS то делать :)
впрочем, VT3.0 будет, так что stay tuned! :)
zxart.ee/eng/authors/p/pedro-jose-gonzalez-casares/judas-priest
zxart.ee/eng/authors/j/julio-cesar-socorro-garcia/conan3/
zxart.ee/eng/authors/j/jose-m-morales-jimenez/charles-chaplin-the-great-dictator/ — тут более точную позу нашел