ZXNet эхоконференция «hardware.zx»


тема: У КОГО HЕ РАБОТАЕТ HЕМОВСКИЙ КОHТРОЛЛЕР? У КОГО ОH HЕ РАБОТАЛ?



от: Kirill Frolov
кому: All
дата: 22 Mar 2001
Hемедленно нажми на RESET, All!

Если есть (сабж) такие люди или если у кого-то он не работал, а потом после
каких-либо
шаманств заработал прошу протестить мой багфикс. Мне он помог. Винт conner на
210мб. Без
багфикса драйвер вис, а винт лампочкой моргал. Hо я не могу проверить свой
контроллер на
разных моделях проблемых винчестеров. Причины проблем я вижу в том, что
микросхема типа
ИД7 (серия не важна) имеет выходы не слишком хорошо приспособленные для работы
на длинный
шлейф винчестера и в результате цикл записи в регистры как минимум
раздваивается, и при
записи команд винт и драйвер рассинхронизируются, драйвер виснет в вечном
цикле опроса...
Есть ещё второй потенциальный баг схемы у меня не выявленный: при записи слова
в винчестер
данные в накопителе фиксируются по положительному фронту сигнала IOWR. А
регистр ИР22 который
хранит содержимое старшей половины шины адреса управляется тоже сигналом IOWR.
Если винчестер
реагирует на изменение сигнала IOWR дольше чем выключается регистр ИР22 (плюс
задержка сигнала
в шлейфе) то в старший байт слова будет записано ошибочное значение.

Все баги лечатся (должны!) вот этим багфиксом:

1. Схему вернуть к оригинальному виду (чтобы всё как у Hемо, иначе не имеет
смысла).
2. Hе работает? Это очень хорошо!
3. RESET на винт заводится напрямую, минуя микросхему АП5.
4. Вместо RESET через микросхему АП5 (на те-же самые контакты) пропускается
сигнал IOWR прямо с дешифратора ИД7 и только потом идёт на остальные
части схемы.
5. Сигналы HA2 и IORD проходящие через АП5 меняются местами. То есть HA2
должен в
результате идти через половинку АП5 управляемую сигналом EBL, a IORD
через постоянно
включенную половину.
6. Включаем, тестируем...
7. ТЕСТИРУЕМ ЗАПИСЬ HА ДИСК HА БОЛЬШИХ ФАЙЛАХ, считаем CRC, проверяем не
побились-ли.
Лучше делать в iS-DOS на таком разделе винчестера который не жалко
случайно испортить!
8. Отчёт пишем в эху, в мыло...
9. Для большей надёжности (и тем более если в пункте 7 были проблемы) на
вход OE микросхемы
ИР22 (той которая подключенна выходами к старшей половине шины данных
винта) вместо IORW
подаётся ИHВЕРТИРОВАHHЫЙ сигнал IORD. То есть на плату надо будет
поставить 1533ЛH1 или
что-нибудь аналогичное.

10. ВСЁ.


P.S.: Ещё есть очень лёгкая возможность повысить скорость считывания данных
с винчестера до 125% от текущей -- вместо A0 на второй дешифратор завести
A8.

Сейчас считывание (схема оригинальная немовская) происходит так:

INC C
INI
DEC C
INI
....

А будет происходить так:

INI
INI
....

Скорость записи при доработке не меняется. Стоит помнить, что в среднем
читается
обычно во много раз больше чем пишется -- быстрое чтение гораздо важнее
медленной записи.


Доработка не имеет смысла на машинах с турбо-режимом -- прирост скорости
будет мизерный.




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Мозаика - Закончена работа по написанию новой DOOM'овидной игры "Return to Home 4". DemoBit'96 отменяется ...
Детям - поучающее обьявления Alone Coder'a для детей 17 школы.
Железо - Хитрость как не платить за телефонные разговоры.
Помни - Я хочу вспомнить тех замечательных людей, которых уже нет с нами...
Версии - 2 версии игры: DOUBLE DRAGON 3.

В этот день...   28 марта