Там режим прерываний для фифо нужно доделывать (мне не хотца пока что влезать в эту кашу
) - есть фифо у которых прерывание формируется в зависимости от битика либо после того как устройство выгребло все данные, либо после того как паоследнее слово отправлено в фифо. Иногда получается что тот же ДСП не все данные вытягивает и прерывания не происходит - возможно в нем в самом ошибка есть.
Еще нашел ошибку в таймерах из-за нее игры (лост айден) медленно некоторые шли, а некоторые даже подвисали - теперь с ними все нормально - надо было просто пропускать таймеры включенные в каскад, но без предшествующего активного таймера, там иногда получается что они не разом пишутся, а по порядку, начиная со старших в цепочке. И частота была занижена в 2 раза, при нормальной частоте, частота зависонов резко увеличивалась )