Последний раз редактировалось Rindex; 23.01.2014 в 01:12.
Может, мы обидели кого-то зря,
Сбросив пару лишних мегатонн,
И горит зелёным пламенем земля,
Там, где был когда-то Пентагон!..
Profi-576 v3.2/AY-3-8912A GI/FDD-5.25'
Те кто защищал свои программы - преступники! К стенке! Сколько заработали? Да ничего! А продукт потерян... Сколько добра потеряли из за барыг и скупердяев.
Я не знаток, но прокомментировал в коде.
Надо ставить точку останова на ERROR, и смотреть, что в аккумуляторе и запостить сюда. Еще интересно знать, какую команду выполняла ВГэйка.
Посмотреть в анриле. Запостить.
Как? На скриншоте выделено. Красный квадратик - код команды ВГ, желтый квадратик состояние ВГ.
P.S. Желательно отключить trap и no_delay в анриле.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Там делается попытка прочитать первый попавшийся заголовок сектора на дорожке и ожидается, что будет ошибка контрольной суммы, так как ожидается, что сектора записаны с ошибкой (как на оригинальной дискете с журналом). А в эмуляторе получается не "ошибка КС", а "сектор не найден". Потому и не работает журнал.
Надо смотреть, правильно ли считана дискета (ковырять данные в образе fdi).
Дело не в 0 дорожке и 10-м секторе.
Там для проверки защиты головка флопика позиционируется не на 0 дорожку, а на 45-ю. И производится чтение первого встреченного (сиречь произвольного) заголовка сектора на этой 45-й дорожке.
То, что засылается затем в регистры дорожки и сектора при чтении состояния ВГ - не важно (пусть 0 дорожка и 10 сектор). На это не обращай внимания.
Дело в 45й дорожке, которая в твоем fdi вообще отсутствует. Именно она была основой защиты. И видимо, не считалась при создании образа. Нельзя ли попробовать теледиск? Или редактором файлов.fdi создать на этой дорожке один битый сектор (с испорченной КС).
Такая же ситуация со вторым номером.
Ага получилось, вот только не сектор с ошибочной CRC, а ID сектора с ошибочной CRC.
И ещё образ пришлось в формат udi сконвертировать.
В fdi можно тоже сделать, но меня проблемы совместимости пугают, не все эмуляторы проверяют флаг правильности CRC в fdi файлах.
Дело в том что формат fdi не хранит саму CRC, а только флаг правильная она или нет, да и то с оговоркой это возможно.
Далеко не факт что все эмули этого придерживаются.
Вот цитата из оригинальной спецификации.Код:bit 0-5: флаги CRC. Единица в одном из разрядов означает, что при считывании этого сектора на длину 128,256,1024,2048 или 4096 байт получается правильная контрольная сумма. Если во всех разрядах 0 - сектор записан с ошибкой контрольной суммы. bit 6: В данной версии всегда 0. Возможно, 1 в данном разряде будет обозначать адресный маркер без области данных.
А вот и сами образы.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)