с шифтом сталкивался, победить не смог, что directInput, что win32 api никак не отличают. но способ есть (не помню только в каком эмуляторе видел различие). хотел положить его в очередь на взломку, но теперь уже без живой 98-й нет смысла
могу расказать, что у себя придумал: ЦАПы генерируют кусочно-постоянные функции (между выводами в ЦАПы - константа). пусть x - сигнал, f - импульсная характеристика. тогда самый тяжёлый циклСообщение от Bulba
y(k)=... + x(i+1)*f(j+1)+x(i+2)*f(j+2)+...+x(i+n)*f(j+n) + ...,
где x не изменяется в период от (i+1) до (i+n) можно записать как
x(i+1)*(f(j+1)+f(j+2)+..+f(j+n)) = x(i+1)*(s(j+n)-s(j)),
где s(m)=f(1)+f(2)+...+f(m) - посчитана заранее. то есть на n постоянных семплах (а в оверсемплинге у меня частота около 3mhz) вместо n умножений и сложений - только одно. заодно не важно, какая частота оверсемплинга, всё равно 1 умножение на 1 вывод в ЦАП




Ответить с цитированием