В OpenIT немного изменилось положение в лучшую сторонуНа 154 треке уже 2 сектора, как и должно быть, только вместо ожидаемого 1-го сектора идет сектор с номером 101, который содержит вместо данных разметку дорожки. 2й сектор, судя по всему, подходящий.
P.S.В общем, стало понятно, на чем строится оригинальная защита:
1) В буфер по адресу, допустим, c000 cначала грузится со 154 дорожки сектор номер 2 (512 байт).
2) Потом в этот же буфер по этому же адресу c000 грузится сектор номер 1, который записан с ошибкой. Сектор 1 загружается в буфер не целиком, а столько, сколько успело считаться до ошибки, естественно. Допустим, 194 байта.
(Если сектор считан БЕЗ ОШИБКИ, то это считается ненормальным и программа переходит в п.1)
Таким образом, получается, что в буфере с адреса с000 будет лежать считанный кусок (194 байта) 1го сектора и остаток до 512 байт заполнен окончанием второго сектора. Потом автором подсчитывается контрольная сумма половины буфера, и сохраняется, и сравнивается с ожидаемой. Если совпало, то ОК, переходим в буфер на выполнение кода, загруженного из "битого" сектора номер 1 (ксорка). Иначе возврат в п.1
Вывод: сектор 1 желательно считать
P.P.S. И отсылаю Гудбоя к нему же: http://zx.pk.ru/showpost.php?p=582455&postcount=4
P.P.S. И еще вот сюда отсылаю: http://zx.pk.ru/showpost.php?p=14608&postcount=12




На 154 треке уже 2 сектора, как и должно быть, только вместо ожидаемого 1-го сектора идет сектор с номером 101, который содержит вместо данных разметку дорожки. 2й сектор, судя по всему, подходящий.
Ответить с цитированием