
Сообщение от
ZPilot
Вот если вы не ответите на эту константу вовремя, получите трап4.
То есть?
Код:
BIS #200,2(R3) ; Установить бит шага в копии РСН
MOV 2(R3),@R4 ; Сделать шаг
MOV 24(R3),R0 ; R0 = время шага
BIC #200,2(R3) ; Сбросить бит шага в копии РСН
7566$: SOB R0,7566$ ; Цикл ожидания
Вот, пересылаем в R0 константу (вернее не константу, а заранее рассчитанное число) и ждем командой SOB самой на себя. На что здесь отвечать?
Это из MY. В УКНЦ посложнее, там, кроме обслуживания ВП1-128 нужно заниматься еще кучкой оборудования, например, видеоконтроллером, поэтому у УКНЦ ожидание не такое тупое - они выходят по RTI, а ожидание делается, похоже, аппаратным таймером (не вникал). Но, по-любому, пока головка движется, принимать с нее информацию нет смысла, а сигналов, свидетельствующих об окончании движения головки в интерфейсе флопиков НЕТ! Поэтому, только ждать, смотреть в регистры 177130/132 бесполезно.

Сообщение от
ZPilot
Всё страньше и страньше! Всё чудесатее и чудесатее!
Мне это дело больше нравится в редакции Высоцкого: "Все чудесатее и страньше. Нет, чудестраньше. Ах, я заблуждаюсь!.." 
- - - Добавлено - - -
Я вижу еще пару "подводных камней".
Во-первых, запись. При записи надо будет просто заменить информацию нужных секторов в буфере и пометить этот факт флажком, а при шаге на другую дорожку, перед считыванием нового цилиндра, сбросить по этому флажку измененный цилиндр (или измененные сектора цилиндра) на СД-шку. Вопрос, успеет ли пройти запись этого цилиндра и считывание нового за время одного шага?
И, во-вторых. КМД-УК может обслуживать 4 накопителя. Вопрос: будет ли время на считывание цилиндра при смене накопителей? Он же может стоять уже на нужной дорожке, так, что шаги не потребуются. Впрочем, буфер цилиндра всего 10К, а оперативки у МК 128К, да? Так, что, вероятно, можно выделить каждому накопителю свои 10К на индивидуальный буфер...
Да, кстати, напоминаю. Хоть у ВП1-128 сделаны 4 бита "выбор накопителя", по одному на каждый из доступных накопителей на интерфейсе Shugart, в КМД-УК на два (младших?) бита поставили дешифратор и передают номер накопителя двоичным числом в этих двух битах, а два других бита заняли управлением прекомпенсацией