ivagor, это бешено круто. Как я понимаю, проблема взаимодействия с реальной пленкой в таких запределах упирается скорее в недостаточное быстродействие Вектора, чем в физические особенности канала. Жаль, что ты не показываешь код, а заморачиваться с дизассемблером мне чего-то невмоготу. Может быть можно оптимизировать ввод бита. Например, в стандартном загрузчике написано так:
Код:
MASK: .EQU 00010000B ;бит ввода с мг.
IZMSIG: IN 01 ;
ANI MASK ;
CMP E ;
JZ IZMSIG ;
RLC ;
RLC ;
RLC ;
RLC ; итд
И все это еще в цикле. Что если цикл развернуть, а с тестом на бит схитрить так, чтобы избавиться от сравнений. Например, такой грубый псевдокод:
Код:
...
lxi h, adj_middle
mvi e, MAGIC ; то, что при сложении со значением в порте 01, будет давать или нет флаг переноса
...
adj_longest:
in 01
add e
rlc ; или jc xxx...
adj_long:
in 01
add e
rlc
adj_middle:
...
adj_shorter:
...
adj_shortest:
; тут магия, декодирование, группировка и проч
; по результатам, когда определено изменение входа, вносим временную поправку в длину цикла - меняем HL на один из adj_...
pchl
Может быть это все ерунда, но вдруг какая-то полезная идея в этом найдется.
P.S. Кстати, github теперь поддерживает закачку файлов простым дрег-н-дропом в браузере