Вот лог аутов в порт 85
- Code: Select all
out85(85,0)
WD1793::out(FF, 13)
out85(85,21)
WD1793::out(FF, 30)
out85(85,0)
WD1793::out(FF, 13)
В кворуме используется "усовершенствованный" контроллер дисковода, не совместимый со стандартным betadisk контроллером (совершенно по другому сделана схема управления мотором дисковода). В кворуме бит D5 порта 85(FF) трдоса управляет включением/выключением мотора дисковода, при этом автоматическое включение/выключение мотора от ВГ93 не используется. Во всех командах ВГ93 где есть бит H - загрузка головки в биосе кворума стоит ноль, т.е. головка не загружена, в обычном трдос контроллере это означает, что мотор дисковода выключен, и в новых версиях унриала именно это поведение и реализовано. Далее, если мотор дисковода не крутится, то в порте 1F (регистр статуса ВГ93) выставлен старший бит, который означает, что дисковод не готов. Биос кворума этот бит опрашивает, предварительно включив мотор дисковода через бит D5 порта 85, но не подав ни одной команды на ВГ93. В новых версиях унриала при этом мотор дисковода не работает, т.к. реализован стандартный трдос контроллер.
В тестовой версии, я сделал костыль (запретил отключение мотора дисковода), если установлен бит D5 порта 85(FF). После этого cp/m для кворума, который давал мне caro стал грузится, а диск с бейсиком все равн оне работает, стартует частично (рисует картинку) а потом пишет can't read disk.