вот блин нашел где это описывается
и там речь про блоки в 8К!
теперь придется везде переписывать все свои загрузчики...
На входе в подпрограмму #3Е44
(TR-DOS) в регистре B должна со-
держаться константа позициониро-
вания (от #08 до #0B); с ней де-
лают OR #18 и кладут результат в
регистр команд контроллера (зна-
чения #18-#1B соответствуют ко-
манде ПОИСК без проверки адрес-
ных маркеров на дорожке). При
вызове #3Е44 из #3ЕB5 регистр B
никак не определен, и он может
содержать, например, число сек-
торов при вызове #3D13 с C=5 или
C=6. Если же число секторов
больше #20 , то в регистр команд
будет направлен не код команды
ПОИСК, а что-то иное.Простая проверка показывает,
что все происходит именно таким
образом. Вызывая #3D13 с BC=
#4005 несколько раз подряд (DE
считаем неизмененным), можно
наблюдать перемещение головок
дисковода на один шаг к центру
диска перед позиционированием на
начало читаемого блока, а при
вызовах с BC=#6005 наблюдается
один шаг в обратном направлении.
Если учесть, что #40 OR #18 =
#58 - код команды шаг вперед, а
#60 OR #18 - код команды шаг на-
зад, то никаких сомнений быть не
может - это ошибка TR-DOS!
SoftLight(07.11.2020)
при загрузке больших блоков через #3d13 происходит сбой при позиционировании (хорошо видно на реальном дисководе),
но ошибок при чтении в этом случае не возникает.
поэтому все продвинутые пользователи и начали использовать свой загрузчик.
незнаю. я таких компов не встречал, да и многие фирменные игрушки берут вектор из #xxFF в ПЗУ.
так зачем лишний раз вызывать ошибку позиционирования?
которая в некоторых источниках описывается как скрежет и удары (наверно речь про то когда происходит переполнение счетчика номера дорожки)
когда это можно легко обойти читая блоками по $20 секторов
- - - Добавлено - - -
который работает только с реальным дисководом?
- - - Добавлено - - -
от чего, как известно, они не везде потом работают...
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
так это проблема кривых клонов/эмуляторов, нравиться тебе лизать всем - на здоровье.
просто некоторые "кодеры" так и не поняли как работать с устройствами и предлагают 11 интов ещё дополнительно подождать, когда девайс уже ответил. теперь в трдос загрузчики полез, которые и так все знают как писать и делали это ещё до того. как отдельные "очень умные люди" начали предлагать свои загрузчики.
я даже удивлён, что не предлагаешь на ВГ93 подождать ещё 100500 интов, ведь ВНЕЗАПНО ВГ93 работает на 1мгц. надо подождать, безобразие то какое, проц работает быстрее дисковода)))
Последний раз редактировалось Sayman; 07.11.2020 в 18:32.
Последний раз редактировалось NEO SPECTRUMAN; 07.11.2020 в 18:34.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)