
Сообщение от
Mifody
Только по моему не правильно определяются дорожки. Первая дорожка как и должно быть, едет в начало. А вот 79 дорожка -головка доезжает до середины всего лишь, а должна доезжать до конца диска. Ну и так, там 46 по моему есть, головка должна где то в район середины ехать, а доезжает где то на четверть диска.
Странно. Нужно будет подумать. Пока же уточняющий вопрос. Сравните надписи в эмуляторе и на реале. Расположение и количество точек совпадает? Это я так состояние контроллера обозначил, лень было что-то более наглядное делать
Что за напасть то с этим 7 битом? Порт ТМ8 то работает, или вы забыли туда 1 записать?
Практически весь код - это рип с оригинала. На всякий случай завтра тщательно проверю код. Но по моему там в принципе не может быть установки этого бита. Засылка значения в TM8 осуществляется посредством одной подпрограммы:
Код:
fdd_MotorOn:
push B ; формируем биты включения мотора дисковода
lda dskSel ; <- биты выделенного диска и мотора
ani 10011b ; выделяем сторону (bit 4) и номер диска (bit 0-1)
mov B, A
rrc
rrc
rrc
ani 1100000b ; 0XX00000 - биты включения мотора
ora B
sta 7FF7h ; выставляем номер дисковода, стороны и биты мотора
Выделенные команды - это операция AND. Поэтому здесь 7-й бит полюбому будет равен нулю 
Завтра тщательно проверю весь код. По идее этот бит действительно должен бы выставляться.