Дык. Иногда и костыли работают :)
Вид для печати
Исправленная схема:
http://denn.ru/8bit/orion/pro/rtc_safe_mode.jpg
Полная схема IDE-RTC тут - http://denn.ru/8bit/orion/pro/ide-rtc.jpg
- - - Добавлено - - -
b2m, ну а что, костыли поверх колхоза - вполне вариант ))
Камрады, кому удалось разобраться с интерфейсом IDE на карте IDE-RTC ?
У меня есть в хозяйстве флэшовый 1-гиговый винчестер-затычка в форм-факторе IDE-разъёма:
https://pp.userapi.com/c639618/v6396...c33gBZMyWs.jpg
Он "почти" работает. А именно, утилита "из интернетов" HDDR$ успешно читает в буфер 80 секторов, и считанное похоже на правду:
https://pp.userapi.com/c840130/v8401...hSAXIuNdmM.jpg
Другая утилита HDTST$ успешно отрабатывает все пункты тестов, кроме последнего - "тест поверхности", в процессе которого стабильно происходит затык на секторе #72 и всех последующих:
https://pp.userapi.com/c841230/v8412...2hy81G8Vqk.jpg
Но это не основная беда.
Теперь о грустном. Решил также попробовать подключить "обычный" винчестер, т.е. механический 3,5". Благо в хозяйстве их много всяких, совершенно разной степени свежести (но все исправные и 100% рабочие на писи). Ни один с картой IDE-RTC не работает вообще ("Ошибка IDE = 59")! Утилита HDDR$ виснет наглухо, в тесте HDTST$ затык сразу на первом пункте, который судя по описанию вообще не обращается к диску, а только тестирует регистры самой платы IDE-RTC.
Заметил вот что странное. Картина с неработоспособностью интерфейса полностью аналогичная при воткнутом голом шлейфе в гнездо IDE на плате IDE-RTC! Т.е. совершенно не играет роли есть винчестер на том конце провода или нет, ошибка та же самая. Шлейфов пробовал три штуки: два 40-пиновых и один 80-пиновый, со всеми картина одинаковая, и все они на писи работают прекрасно.
Как я понял, ошибку вызывает сам шлейф, до диска никакие команды не доходят. Диск при подаче питания раскручивается и через некоторое время из-за отсутствия обращений со стороны интерфейса паркует головки и торомзит двигло, на этом всё,с вами был Василий Уткин.
Если бы не работал флэш-вариант диска, то можно было бы предположить какие-то неисправности в плате и что-то искать... но тем не менее, интерфейс вроде как рабочий. Но что не так с механикой?
Дальше ещё интереснее! По аналогичной схемотехнике мой коллега собрал IDE-интерфейс для ПРК "Орион-128" и у него... ровно всё тоже самое! Т.е. фактически аппаратно у него всё другое: разводка платы, дешифрация портов, процессор ВМ80 vs. Z80 (т.е. клок МПС, времянки сигналов и т.п.). Однако точно также: флэшовый "винт" прекрасно работает (читается), а "классика" вообще "не алё".
Предвосхищая вопросы:
1) На всех дисках джамперами выставлено "мастер". Модели и эпохи механических "винтов" разные.
2) Кабель втыкаю правильно (но пробовал и наоборот :) - без разницы). Без воткнутого в гнездо карты шлейфа ошибок нет, они появляются только с этим грёбаным куском провода.
3) Регистры ИР23 серии 1533, буфер АП6 - быстрая КМОП 74HCT245. У коллеги микросхемы на кроватках, он пробовал другие серии микросхем.
Вот даже вообще не представляю куда копать ((
для эксперимента можно попробовать максимально короткий кабель. Ещё, пару лет назад кто-то из форумчан анализировал времянки этой версии ИДЕ, и там было не все хорошо, он же рекомендовал что-то поправить на схеме, но помогало хреново. А полгода или чуть более назад тут появлялся автор схемы (он же автор Ордос6), и во вложении поста клал поправленную схему, обещал прочую отладку схемы и ПО, но пропал
Кабель стандартный, более коротких я не встречал в природе. А у 80-пинового вообще перемежение всех жил земляными, там наводки исключены.
Схемотехника чуть менее, чем полностью взята с ZX-Spectrum, емнип. Стало быть автор должен быть не совсем русский :)
А можно "тыц" на тот пост, плз?
Начинается вот с этого:
http://zx-pk.ru/threads/27178-orion-...l=1#post908920
Я несколько раз списывался с Михаловским. Он отвечал, что подготовил много дискет для размещения на форуме, что у него есть более свежая, по тому времени, версия Ордос-6. Но потом он с форума пропал, а напоминать о себе я больше не стал, чтобы не надоедать.
У меня из десятка жестких дисков нормально определился только один. Я его смог отформатировать, установил на нем Ордос-6. Нормально проходят операции чтения, записи, переименования файлов и т.п.
С остальными дисками тест работает так же.
А вот с установкой Альтаира все проходит на УРА, и именно с этим же контроллером.
Из "механики" я попробовал только три штуки. На десяток меня бы не хватило :)
Вероятно проблема в согласовании линии, которого со стороны карты IDE-RTC попросту нет. Скорее всего нужно ставить в интерфейс микросхемы серии 74ACTxxx плюс резисторы-подтяжки (330..470 ом) с каждой линии на питание.
Я использую кабель 10 см, не помню где взял. На более длинных не пробовал. Но я в-основном с CF работаю.
Вот:
http://zx-pk.ru/threads/25327-perife...l=1#post897811
За эту схему не скажу, но на подобной (Sunrise IDE) схеме косяки определения винтов правили путем установки на линию IOR (IDE интерфейс) конденсатора порядка 100…800 пФ.
После доработки "строб TRD сигналом RD" появился намёк на чтение данных с механики:
https://pp.userapi.com/c639328/v6393...R8ptBB-U4g.jpg
Но голый кабель по-прежнему продолжает портить запись в регистры.
Уже написали прицельный тест, который показывает, что в регистр записано FFh, а по факту тут же считано E7h.
Соответственно, порча также накладывается и на читаемые данные ((
Похоже, нужен всё таки нормальный лайн-драйвер, чтобы прокачать кабель.
П.С. доработку сделал коллега на своём О-128, я доберусь с паяльником до своей ПРОшки не раньше выходных.