Эта ошибка исправлена ещё в 5.04t.
L2048_TstSeek:
and 11111100b ;позиционировать с быстрой скоростью
jp ExeFDCcmd_with_kbd_Break ;выдача команды и ожидание INTRQ
Вид для печати
Вот уж позвольте с вашего профессианализма таки профессионально поржать от души. Вы вообще изволили читать что именно написано по ссылке из 103 поста? И вникали ли вы вообще как сочетается выше приведенный код с тем что по ссылке написано? Я так понимаю что профессианально было проигнорировано, типо так было есть и будет есть. Действительно, а зачем вникать. Ведь уже исправлено. А что исправлено никого не колышет. :)
Если так на самом деле. Значит надо исправить.
Любые seek в конечном итоге идут куда? На L2048_TstSeek. Во всех местах стоит, перед выховом оной OR 18h, вот пример
Seek_to_A:
out (FDC_Data),A ;помещение номера дорожки в регистр данных
ld a,b ;время перемещения в 2-х мл.битах
or 18h ;код команды seek с временем перемещения
jp L2048_TstSeek ;позиционирование с быстрой скоростью
;───────────────────────────────────────────────── ───────────────
;Позиционирование. На входе в A должен быть физичес-
;кий номер дорожки, а в b - время перемещения головки дисковода.
Seek_toA_:
out (FDC_Data),a ;загрузка номера дорожки в регистр данных
push bc ;сохранение времени перемещения головки дисковода
ld b,a ;головка уже спозиционирована?
in a,(FDC_Trk)
cp b
pop bc ;восстановление времени перемещения головки
push af ;сохранение результата проверки
ld a,b ;получение команды позиционирования
or 18h
call L2048_TstSeek
pop af ;восстановление результата проверки положения головки
ret z ;если головка была спозиционирована, то возврат
push bc ;сохранение времени перемещения головки?
call Pause02s ;задержка в 725779 тактов
pop bc ;восстановление времени перемещения головки
ret
Что бы ни лежало в b делается or 18h, а в L2048
L2048_TstSeek:
and 00011000b
jp ExeFDCcmd_with_kbd_Break
Т.е? В рег.А получаем всегда 18h т.е. код команды seek
ну ваще, читал все мессаги не отрываясь...
чо в итоге то?
Приятно юзать классическую прошивку TR-DOS без глюков :)
Vadim, на 3 версии плат будет работать? Как заменить версию внутри 27512
Будет. Это ж по сути фикшенная 5.04Т. Как сделать файл для 27512? Слить 4 прошивки в одно целое. тест, трдос, бейсик 128 (или его замену, есть разные прошивки) и бейсик 48. Именно в этом порядке. Потом шить.