|
ZX Power
#02
24 мая 1997 |
|
Ликбез - Борьба контроллеров или о том, как я ломал 800К дискеты.

(C) Cobra ________________________________ Всем синклеристам, которые перекачивали файлы с компьютеров клона IBM известна так называе- мая проблема 800К дискет - на ZX при их чтении постоянно возника- ет злополучная ошибка: disk error tr xx sec 10, и как обидно бывает, когда после стольких му- чений добытая информация отказы- вается читаться и все из-за то- го, что диск был отформатирован не на 720К, а на 800К, причем, интерестно, что: 1.Если диск был отформати- рован на Спектруме,то ника- ких проблем с чтением не возникает !!! 2.При чтении IBM совмести- мыми компьютерами синкле- ровских дискет, которые предварительно отформатиро- вали в TR-DOS, также возни- кают ошибки,уже другого ха- рактера - не читается пер- вый на дорожке сектор !? Но если такой диск отреставри- ровать, например, в RDS, то никаких проблем больше не возникает... Давайте разберемся,почему это присходит.После анализа програм- мой RDS удалось выяснить,что наш злополучный сектор, тот, что под номером 10, имеет метку + + ? ,а это значит следующее - заголовок сектора есть, сам сектор есть,но вот беда - он не заканчивается, контрольной суммы сектора нет! Хмммм, интерестно... Дальше, прочитав трек с нашего диска ко- мандой read track, я обнаружил самое интерестное - наш любимый сектор не заканчивается вовсе!!! Прочитав его до половины,команда read track обрывает свою работу. Известно, что команда read track начинает чтение с приходом индексного импульса (это когда отверстие в дискете совпадает с отверстием в конверте диска), читает всю дорожку и по приходу следующего индексного синхроим- пульса прекращает чтение. Следо- вательно, синхроимпульс приходит в то время, когда читается сек- тор... И очевидно, контроллер формирует в этот момент ошибку чтения... И тут напрашивается банальное решение - заклеить ин- дексное отверстие вообще! Просто взять и заклеить, чтобы контрол- лер не знал, когда приходит ин- дексный синхроимпульс! Р А Б О Т А Е Т ! ! ! Диски читаются отменно! А всего делов то было - синк- леровский контроллер синхронизи- руется по началу индекса, а IBM-овский - по концу! Отсюда и все неприятности. Происходит не- большое смещение, в результе ко- торого синклер не читает послед- ний сектор, а IBM - первый (из- вестно,что TR-DOS формирует пер- вый сектор с отступом от начала дорожки меньшим, чем дисковые утилиты, такие как RDS...). Так что можно смело говорить, что одной проблеммой на синклере стало меньше - я вот, пока наби- вал этот текст, слушал MOD-ик, который загрузил с такого вот диска... В продолжении рассмотрения вопросов о загадках TR-DOS хочу обратиться к читателям: если кто знает какие-то подробности из жизни TR-DOS, например почему команда read track в определен- ных случаях не прекращает чтение даже по приходу индексного синх- роимпульса, просьба писать в штаб-квартиру редакции по адре- су, указанному в разделе "Авто- ры". ________________________________
Другие статьи номера:
Похожие статьи:
В этот день... 1 марта
ACNews #67,
Sinc Re-Stared #03,
Cossackos #01,
Life #03,
Spectrum Magazine #03,
Screamergy #03,
Promised Land #04,
IzhNews #0D,
TargeT #10,
IzhNews #0D,
ACNews #07,
Polesse #18,
Dni-Pro #01,
C-Net Week #22,
Demo or Die #01,
ZX Club #07,
Sorrow News #01,
Depth #02,
Gorodok #04,
Adventurer #06,
Buzz #01,
ZX News #03,
Emulate #05,
Speccy #04,
ZX Format #03,
Realtime #02,
Adventurer #02,
Spectrofon #03,
Spectrum News #01,
ZX Revija #03