Всё, победил я эту ВГ93! Извиняюсь за переполох.
Всё немного хитрее оказалось. Я предположил следующее, раз при записи трека целиком мы отслеживание окончания процесса поручаем ВГхе, значит она как-то это умеет определять. А как? Начинаю фантазировать: скорее всего по морганию индексного маркера. А как иначе, вроде других вариантов и нету?
А раз такое дело, значит возможна ситуация, когда ВГ выставила нам в статус запрос очередного байта и тут - облом - внезапно моргнул индекс, и вроде как надо прерваться. Мой короткий цикл не умел обрабатывать такую ситуацию, я предполагал что её не может быть, т.к. если ВГ закончила выполнять команду (сбросила бит "занято"), то и никаких запросов в статусе быть не должно. Фигушки, оказывается всё возможно. Тупняк, конечно, но что имеем, то имеем. В итоге пришлось полностью переписать алгоритм, причём для нового алгоритма не хватало регистров МП, выручило задействование регистра [SP]. Всё работает 100%, ура!





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