Странный код честно говоря. Помню что когда мне надо было остановить привод я смотрел как это было сделано в BestView. Изза чего кстати он и не работает на R80 под которым я пишу преимущественно - он использует команду восстановления вслед за которой сразу же (!) без всяких пауз идёт команда экстренного безусловного останова. Почему не работает в эмулях - да всё просто - эмулятор в отличие от реала успевает выполнить эту команду %) восстановления. Помню что в своей View для гашения привода я использовал немного другой алгоритм - любой из реалов и эмулей отрабатывал это корректней чем алгоритм из BestView - вначале восстановление и сброс, затем позиционирование на ту дорожку, где головка находилась до команды восстановления и так же принудительный сброс. На самом деле мотор остановится ещё на первой команде, вторая нужна чтобы дурные эмуляторы не глючили.
Пауза же в BestView была, но только в процедуре определения диска в флопике - там так же даётся команда восстановления, вслед за которой - после паузы - запускается подпрограмма IN_1F, опять же лучше почитать статьи Ивана Рощина, как он это делал и из каких соображений задавалась пауза.


Ага, вот счас специально посмотрел в своей п/п чтения дисков, завершалась она так:
LD A,(#5CF5)
AND A
RRA ; задаётся номер физической дорожки
LD C,#7F
CALL OUTCA
LD A,#18 ; команда позиционирования с загрузкой - бит h=1
LD C,#1F
CALL OUTCA
LD A,#D0 ; команда принудительного прерывания
JP OUTCA

и
OUTCA LD IX,OUTC
JP TO_DOS
; OUTC есть
OUTC EQU #2A53

Ага, я похоже изменил алгоритм - вместо того чтобы два раза позиционироваться - вначале на нулевую потом на основную дорожку, сразу ставил позиционирование на основную дорожку.