Хочу использовать IDE интерфейс на своем компе для управления внешней платой (пробовал LPT - но скорость не устраивает). Так вот хотел узнать - возможно ли отбить у винды контроль над интерфейсом и работать с ним как с обычным портом с помощью какого либо уже существующего драйвера(компоненты)? Может кто уже пробовал?
Pyku_He_oTTyda
Nov 7 2005, 13:57
http://www.hdd-911.com/index.php?option=co...ed&ascdesc=DESCпосмотрите этот драйвер, написано что открывает доступ к портам ИДЕ
Цитата(altmer @ Nov 7 2005, 15:52)

Хочу использовать IDE интерфейс на своем компе для управления внешней платой (пробовал LPT - но скорость не устраивает). Так вот хотел узнать - возможно ли отбить у винды контроль над интерфейсом и работать с ним как с обычным портом с помощью какого либо уже существующего драйвера(компоненты)? Может кто уже пробовал?
А какая винда? Если 98 - можно просто руками, была еще утилита HDDspeed - вродк бы с исходниками.
Цитата(Pyku_He_oTTyda @ Nov 7 2005, 16:57)

http://www.hdd-911.com/index.php?option=co...ed&ascdesc=DESCпосмотрите этот драйвер, написано что открывает доступ к портам ИДЕ
Спасибо, то что нужно!
А по поводу винды - мне под XP.
И еще тогда один вопросик, какие ноги IDE необходимо подтягивать на моем устройстве?
Я нашел описание на IDE при использовании с 80 жильным шлейфом (и то довольно мутное описание), но мне надо на 40 жильном (хотя возможно в моем случае разници меж ними не так уж и много?).
Pyku_He_oTTyda
Nov 8 2005, 12:04
не в курсе про подтяжку ног, но насколько знаю, IDE прекрасно работает и с 40 жильным шлейфом. правда ДМА33. Но думаю Вам больше и не надо.
Chupakabra
Nov 8 2005, 12:13
Если я не ошибаюсь, то 80-жильный отличается от 40 дополнительными информационными землями в шлейфе для каждого сигнала, что положительно сказывается на скорости/качестве передачи, но распиновка разъемов идентична.
Dron_Gus
Nov 8 2005, 21:45
Цитата(Chupakabra @ Nov 8 2005, 15:13)

Если я не ошибаюсь, то 80-жильный отличается от 40 дополнительными информационными землями в шлейфе для каждого сигнала, что положительно сказывается на скорости/качестве передачи, но распиновка разъемов идентична.
Именно.
По поводу подтяжки. "У устройства не должно быть подтягивающего резистора на линии DD7 - на хост контроллере эта линия подтянута через 10 кОм к земле. Это позволяет хосту определить факт отсутствия устройства сразу после аппаратного сброса - при чтении состояния у отсутствующего устройства будет сброшен флаг BSY".
altmer
Nov 30 2005, 08:23
Спасибо за помощь - наконец-то домучал эту фишку, я подтянул все ноги данных (седьмую тоже, тока через 4,7К к плюсу - у меня на устройстве открытый коллектор - влом было транзистор раскорячивать) - работает.
Kadzak
Sep 25 2006, 08:50
А каким режимом вы пользуетесь, и какую скорость получили в итоге?
ValeraK
Sep 27 2006, 18:29
В своё время попался мне видеобластер от креативтехнолоджи на ISA шине,
непомню по каким причинам он мне не понравился, но филипсовский видео декодер
вполне сносным оказался, спаял буферное RAM и сделал видеограбер на IDE интерфейс.
Под DOS написал програмку, и затем в офлайне перекодирывал в MPEG1 для
перегона с VHS на VCD.
Была мысль сделать осцилограф, но дело так и не дошло до реализации,
параметры можно получить впечетляющие, особенно при использовании DMA.
На сегодняшний день LPT и (более быстрый)IDE интерфейсы пожалуй
единственное решение из параллельных интерфейсов для простого подключения
разрабатываемых устройств для PC.
Цитата(ValeraK @ Sep 27 2006, 22:29)

В своё время попался мне видеобластер от креативтехнолоджи на ISA шине,
непомню по каким причинам он мне не понравился, но филипсовский видео декодер
вполне сносным оказался, спаял буферное RAM и сделал видеограбер на IDE интерфейс.
Под DOS написал програмку, и затем в офлайне перекодирывал в MPEG1 для
перегона с VHS на VCD.
Была мысль сделать осцилограф, но дело так и не дошло до реализации,
параметры можно получить впечетляющие, особенно при использовании DMA.
На сегодняшний день LPT и (более быстрый)IDE интерфейсы пожалуй
единственное решение из параллельных интерфейсов для простого подключения
разрабатываемых устройств для PC.
Сегодняшний день быстро клонится к вечеру. На новых материнках местами уже LPT портов не наблюдается. С ATA(не Serial) пока получше но думаю скоро и они исчезнут.
Цитата(Kadzak @ Sep 25 2006, 12:50)

А каким режимом вы пользуетесь, и какую скорость получили в итоге?
UDMA133 на базе Spartan3 + два 74ALVC164245 для согласования уровней. Можно и выше, но UDMA133 это последний режим для PATA. 74ALVC164245 нужны для совместимости с медленными системами, где IDE ещё пятивольтовое.
Если применить SATA-PATA мост (например SiI3811,
http://www.siliconimage.com/products/product.aspx?id=79 ), то, во-первых, можно подключиться к SATA, а во-вторых, достичь UDMA150 и выше.
ValeraK
Oct 2 2006, 03:14
Цитата(klop @ Oct 1 2006, 17:53)

Сегодняшний день быстро клонится к вечеру. На новых материнках местами уже LPT портов не наблюдается. С ATA(не Serial) пока получше но думаю скоро и они исчезнут.
Да я в курсе этих извратов, но никто не мешает использавать Ft232, Ft245,
sata-pata (в виде платки или микросхемы) для получения Rs-232, Centronics и IDE.
Такчто вполне можно пользоватся стандартными интерфейсами ещё долгие годы.
А как правильно строить IDE устройства?
Они обязательно должны иметь внешний буфер или можно обойтись оперативной памятью компа?
Например можно ли подключить ЦАП и непрерывно выводить на него данные синхронно с внешним генератором?
Георгий
Oct 24 2006, 04:54
Попробовал побаловаться с IDE портом. Пробовал записывать считывать что-нибудь в регистр данных, на шлейфе на осциллографе никаких сигналов. (Шлейф вторым концом никуда не подключен). Означает ли это, что если устройство физически не обнаружено в каком то канале, то регистры этого канала отключаются?
Считывание регистра ошибок на таком шлейфе дало 8E (или E8, точно уже не помню), когда подключил к сидюку, ошибка 18 в регистре. Чтение данных всегда давало слово 0x0000FFFF.
И присоединяюсь к предыдущему посту, может кто-то кинет кусок живой схемы.
Еще вопросы по ходу разбирательства:
1. Откуда ни шине берутся сигналы DIOR-, DIOW-, Reset, т.е. по какому алгоритму они формируются при записи команды в регистр команд?
2. Откуда берутся сигналы BSY, DRDY, DRQ готовности устройства, если на шине вроде присутствует один сигнал IORDY?
3. Если подключен не жесткий диск, а что то другое, все равно надо считывать с устройства 512 байт, как с сектора или необязательно?
Я понимаю, чтто все это как то описано в стандарте, но пока я в двух томах не разобрался, особенно с графами состояний, может кто на пальцах объяснит простейший PIO обмен.
Очередное добавление (пока разговор самого с собой). Я видимо заблуждаюсь в корне и все эти регистры находятся непосредственно на устройстве. Комп предоставляет только адресное пространство и транслирует адреса 1F0-1F7 (170-177) в сигналы CS0, CS1, DA0-DA2 шины IDE.
Георгий
Oct 25 2006, 04:49
Подвожу итог вчерашним размышлениям (старый посто не удаляю, вдруг кто то еще решит пойти по этому пути).
Главный вывод - IDE это просто скоростной двунаправленный 16 разрядный порт с 5 разрядной адресацией внешних устройств с некоторыми дополнительными сигналами, которые в данном контексте можно вообще не рассматривать. Если вы не делаете аналог жесткого диска, то этой информации достаточно. Все регистры и все команды относятся уже к устройству, подключенному к шине.
Но в этом режиме добиться времени цикла менее 1 мкс невозможно, так как контроллер IDE, не обнаружив диска и информации о нем, оставляет режим обмена по умолчанию - PIO0 с временем цикла 600 нс. Для более скоростной работы надо ставить активное внешнее устройство, практически эмулировать HDD. Тогда можно загнать контроллер в режим более скоростной, или вообще обеспечить режим DMA. Но тут уже нужны ПЛИС.
Coryphae
Oct 27 2006, 21:56
2 altmer, прошу вас описать что у вас заработало и как после того, как вы все ноги данных подтянули. Особенно интересует: какие минимальные "телодвижения" со стороны IDE устройства необходимо выполнить, чтоб IDE-Host вошел в режим, хотябы PIO4; возможно ли после инициализации хоста БИОСом его программное переконфигурирование; если IDE устройства отсутствуют на шлейфе, то в какой режим входит хост...
Георгий
Oct 30 2006, 05:35
Частично ответ в моем предыдущем посте, а минимально надо дать ответ хосту на запрос информации о диске, что он поддерживает DMA или PIO4(5), даже если самого диска нет, но ответ такой надо сформировать. В настоящий момент над этим работаю.
Еще наверно можно грубо влезть в регистры контроллера IDE, но у меня пока нет такой информации.
Altmer, похоже, сюда уже не заглядывает.
Георгий
Oct 30 2006, 11:37
Обнаружился еще один, достаточно простой вариант - между шиной IDE и внешними устройствами подключается двунаправленный шинный формирователь на два устройства. По умолчанию при включении питания подключается к одному каналу любой (даже запиленный и рассыпающийся диск), система опознает устройство и устанавливает режим PIO5. Далее переключаете формирователь на свое устройство и работаете с быстродействующим каналом. Реальное время опроса внешнего у-ва составило уже всего 700 нс. (Для DMA этот номер не пройдет, внешний контроллер придется все равно городить, если надо еще быстрее)
Coryphae
Oct 31 2006, 19:11
Оперируя терминами книги:
В. Кулаков Программирование на аппаратном уровне.
(хттп://rapidshare.de/files/4565817/kulakov.rar.html - еще рабочая ссылка),
следует чтобы IDE-устройство корректно отвечало на ОБЯЗАТЕЛЬНУЮ комманду IDENTIFY_DEVICE Таблица 6.43 (единственная служебная команда в режиме PIO (ввод данных PI)).
По этой команде устройство должно передать МЕГА пачку данных аж из 256 2х байтных слов (Таблица 6.44).
Так ли я понимаю?
И еще вопросик?
Номер комманды IDE-устройство принимает по шине данных при состоянии служебных проволок CS0#=0 CS1#=1 DA2=1 DA1=1 DA0=1 (Уже в терминах книги Гука)?
И Где можно найти временные диаграммы этих служебных сигналов в совокупности с другими.
З.Ы. Книгу Гука (толстенную такую, 2006 г.) можно нарыть тут:
хттп://rapidshare.de/files/34181115/apparatnie_sretstva_ibm_warezteam.ws.rar - еще рабочая ссылка
Цитата(Coryphae @ Oct 31 2006, 23:11)

И Где можно найти временные диаграммы этих служебных сигналов в совокупности с другими.
В совокупности со ВСЕМИ другими можно найти тут: www.t13.org
Например:
http://www.t13.org/project/d1410r3b-ATA-ATAPI-6.pdf страница 374 в документе (388 по Акробату) и дальше.
Цитата(Coryphae @ Oct 31 2006, 23:11)

следует чтобы IDE-устройство корректно отвечало на ОБЯЗАТЕЛЬНУЮ комманду IDENTIFY_DEVICE Таблица 6.43 (единственная служебная команда в режиме PIO (ввод данных PI)).
По этой команде устройство должно передать МЕГА пачку данных аж из 256 2х байтных слов (Таблица 6.44).
Так ли я понимаю?
Совершенно верно. Именно на основании информации из этой "МЕГА пачки" хост может применить к устройству режим интерфейса отличный от PIO MODE 0.
Команда IDENTIFY DEVICE (ECh) является далеко не единственной служебной и обязательной для режима PIO. В этом Вы можете легко убедиться в упомянутом выше документе на странице 476 (490 по Акробату), где расположена сводная таблица кодов комманд. Команды M = Mandatory обязательны к исполнению (по крайней мере - необходимо рапортовать хосту об их успешном выполнении). В противном случае хост может "заподозрить" Ваше устройство в "странном" поведении и

опять PIO MODE 0.
Георгий
Nov 1 2006, 05:53
А как то до регистров контроллера IDE можно добраться, как например до регистров USB контроллеров?
Coryphae
Nov 1 2006, 14:43
2 AlexB, У меня была простая логика (может я ошибаюсь - вы поправите):
Раз изначально хост контроллер работает в режиме PIO, то для инициализации он может оперировать только коммандами с признаками PI, PO (по таблице 6.43). Единственной обязательной СЛУЖЕБНОЙ коммандой (не относящейся, непосредственно, к чтению/записи) является IDENTIFY DEVICE (ECh). И если необходимо инициализировать IDE-устройство в любом из PIO режимов, то оно должно корректно обработать эту комманду.
А далее (возможно, что это лишь мечта) можно производить чтение/запись (не блочно) программно при помощи комманд REP OUTS/REP INS по соответствующему порту регистра данных. Конечно же чтении/записи IDE-устройство должно правильно отрабатывать сигналы по линиям CS0# CS1# DA2 DA1 DA0, и DIOR# DIOW# IORDY
Насчет "может "заподозрить" " можно подробнее....
2 Coryphae: Вы пишите программу для работы с ATA устройством или Вы разрабатываете ATA устройство?
В первом случае творение гражданина Кулакова, вероятно, является достаточным источником информации (если закрыть глаза на "рядовых пользователей", коими он видит своих читателей).
Применяете IDENTIFY DEVICE (ECh) "при запуске программы", определяете наличие устройства и его параметры, а дальше с чистой совестью читаете или пишите данные понравившимся способом.
Если же Вы разрабатываете ATA устройство, то изучение
http://www.t13.org/project/d1410r3b-ATA-ATAPI-6.pdf Вам просто необходимо на начальном этапе.
Цитата(Coryphae @ Nov 1 2006, 18:43)

Насчет "может "заподозрить" " можно подробнее....
IDENTIFY DEVICE (ECh) не является единственной служебной командой. Есть ещё команды с признаком ND. Их в таблице 6.43 пять штук. И каждая из них имеет свой набор данных, обмен которыми происходит при помощи регистров ATA устройства. Если устройство не отвечает на эти комманды или отвечает неправильно, то хост, вероятнее всего, сделает вывод, что устройство неисправно со всеми вытекающими.
Георгий
Nov 2 2006, 05:24
В принципе, я тут посидел, подумал, имитировать наличие устройства с PIO > 0 можно и не на ПЛИС, а микроконтроллере. Он должен отследить прием обязательных команд и ответить на них заранее заданным способом. В этом случае большого быстродействия не требуется, в крайнем случае по протоколу можно попризадержать IORDY. А сама прога работает на пределе с быстродействующим буфером. (Это я для своего случая - быстрый опрос 8 внешних линий для снятия протоколов).
Coryphae
Nov 2 2006, 08:12
Цитата
2 Coryphae: Вы пишите программу для работы с ATA устройством или Вы разрабатываете ATA устройство?
Я разрабатываю устройство IDE, точнее пытаюсь задействовать IDE согласно САБЖу, ибо, IDE пока везде есть и имеет достаточную для меня скорость.
Задаю так много вопросов, т.к. пока нет возможности проверить на практике (железо в прожекте), ну, и конечно, сужаю область поиска.
Цитата
IDENTIFY DEVICE (ECh) не является единственной служебной командой. Есть ещё команды с признаком ND. Их в таблице 6.43 пять штук.
За это спасибо, как то не досмотрел.
Цитата
В принципе, я тут посидел, подумал, имитировать наличие устройства с PIO > 0 можно и не на ПЛИС, а микроконтроллере.
В принципе можно, но если делать на ПЛИС, то можно, вероятно, привинтить ПЗУ через ПЛИС для передачи "МЕГА пачки". Все остальные комманды придется по-любому отрабатывать в быстрых режимах на ПЛИС.
Coryphae
Nov 10 2006, 22:08
Кто-нибудь рассматривал возможность начальной "насильственной" конфигурации хоста IDE при помощи настроек BIOS'а?
Может и не надо передавать эту "МЕГА пачку"?
ЗЫ
Сомневаюсь в современных мат. платах. Они могут "передумать" еще много раз во время загрузки системы, и сбросить host. Хотя с платами 1ых пентиумов, где уже встречаются UDMA33, возможно, что-то может получиться =\
Георгий
Nov 13 2006, 05:44
На БИОС современные операционки частенько просто плюют и пожменяют его функции своими. Когда с клавой разбирался, оказалось, что ее один раз инициализирует БИОС, а потом еще раз операционка. Так что с ИДЕ тоже так скорей всего не пройдет и дело тут не в матери, а в операционке. А вот доступ к регистрам ИДЕ-контроллера, который на материнке, тут шанс реальнее. Только описания нигде найти не могу.
Coryphae
Nov 19 2006, 21:25
Был проведен следующий эксперимент: в BIOSе мат. платы для PIII (точно не знаю какой) принудительно менялись режимы Secondary Master канала, в отсутствие каких либо устройств на шлейфе. Даже устанавливался режим (disable Secondary Master). Производилась запись двубайтного слова в порт 0х170. Контроль записи производился осциллографом по линии d[7] (3 нога разъема IDE уст-ва).
Результаты: В любом режиме, установленном в BIOSe, в отсутствие устройств, IDE-host переходил в режим PIO-0. Вывод об установленном режиме делался на основе длительности бита, установленного на линии, которая, почему-то, составляла 1 мкс.
Георгий
Nov 21 2006, 09:35
А на пин готовности 1 подавалась? У меня ~600 нс и получается. Когда выдаю частоту с учетом производительности проца получается от 700 до 1000 нс.
Есть еще вариант - есть платы PCI-IDE. Их БИОС становится при подключении частью машинного БИОСа. Можно там поковыряться в коде и в самом этом БИОСе прошить нужный режим PIO, как будто определился диск.
Coryphae
Nov 21 2006, 14:42
Цитата
Когда выдаю частоту с учетом производительности проца получается от 700 до 1000 нс.
Наверное 1 мкс - максимум строба записи/чтения в PIO-0.
Было еще подмечено следующее: если произвести запись в порт в отсутствие каких либо устройств IDE (без установки каких либо сигналов), выставка состояний линий производиться хостом периодически (значение частоты повторений посылки, примерно, 32 - 60 Гц). Когда произвожу чтение из порта - посылки прекражаются, а возвращаемое значение равно 170h (хм... пишу именно в этот порт). Все проволоки висят в воздухе =\.
Цитата
Есть еще вариант - есть платы PCI-IDE. Их БИОС становится при подключении частью машинного БИОСа. Можно там поковыряться в коде и в самом этом БИОСе прошить нужный режим PIO, как будто определился диск.
Тогда придется еще разбираться в программировании контроллера хоста и в коде бивиса платки. Скорее всего придется без "жульничества" реализовывать IDE девайс. А вот использовать PCI-IDE резонно, т.к. всеж безопасней для материнки. Спасиб за совет
Добавлю еще несколько замечаний.
1. Если вы используете secondary IDE канал, на котором больше ничего нет, то _некоторые_ BIOS просто его отключают, если не находят на нем работающих устройств.
2. В компьютерах на интелевских чипсетах ide-диски висят на I/O Controller Hub (ICH). Описание на ICH8 можно взять
здесь.
3. Для чтения и записи конфигурационных регистров PCI устройств в программах для DOS следует использовать прерывание INT 1Ah, AH=0B1h, описанное в PCI BIOS Specification.
Георгий
Nov 22 2006, 12:04
Цитата(Coryphae @ Nov 21 2006, 14:42)

Было еще подмечено следующее: если произвести запись в порт в отсутствие каких либо устройств IDE (без установки каких либо сигналов), выставка состояний линий производиться хостом периодически (значение частоты повторений посылки, примерно, 32 - 60 Гц). Когда произвожу чтение из порта - посылки прекражаются, а возвращаемое значение равно 170h (хм... пишу именно в этот порт). Все проволоки висят в воздухе =\.
Скорей всего в регистре остается число, которое выдавали в адрес. Без сигнала готовности чтения нет в принципе.
Цитата
Цитата
Есть еще вариант - есть платы PCI-IDE. Их БИОС становится при подключении частью машинного БИОСа. Можно там поковыряться в коде и в самом этом БИОСе прошить нужный режим PIO, как будто определился диск.
Тогда придется еще разбираться в программировании контроллера хоста и в коде бивиса платки. Скорее всего придется без "жульничества" реализовывать IDE девайс. А вот использовать PCI-IDE резонно, т.к. всеж безопасней для материнки. Спасиб за совет

Программировать контроллер не надо, БИОС живет немного "сам по себе", если он есть, он подключается к основному БИОСу, в нем обыные инструкции процессора, дизассемблируешь - меняешь часть кода-ассемблируешь-шьешь флэшку-вставляешь обратно в панельку-радуешься жизни! Програматор для флэшек сделаю, попробую этот фокус.
На сайте Интела инфа только на новые чипсеты. Я декаюсь со старой асусовской платой.
Георгий
Nov 22 2006, 13:49
Нашел еще один pdf на ICH. В принципе, я думаю, можно и программно ускорить работу. Режимы PIO, это не что иное, как различное количество тактов клока на один цикл обращения к IDE. Записывая в эти регистры (регистры тайминга IDE) нужные значения можно "обмануть" систему.
Кстати, если система и отключает канал при отсутствии устройств, то это всего лишь отключение драйверов. Напрямую с регистрами из своего драйвера мы же работаем!
Надеюсь, что адреса регистров не меняются от версии к версии чипсета.
Цитата(Георгий @ Nov 22 2006, 12:04)

На сайте Интела инфа только на новые чипсеты. Я декаюсь со старой асусовской платой.
Здесь смотрел?
Цитата(Георгий @ Nov 22 2006, 13:49)

Кстати, если система и отключает канал при отсутствии устройств, то это всего лишь отключение драйверов.
Слово
драйвер в данном контексте - это компонент программного обеспечения или шинный формирователь?

BIOS отключает соответствующий блок в чипсете, который после этого перестает откликаться на адреса по шине и соответственно не пропускает сигналы на разъем IDE.
Георгий
Nov 23 2006, 13:05
Цитата(vmp @ Nov 22 2006, 16:59)

Цитата(Георгий @ Nov 22 2006, 12:04)

На сайте Интела инфа только на новые чипсеты. Я декаюсь со старой асусовской платой.
Здесь смотрел?
Нашел в архивах Интела, адреса регистров, кстати, остались прежними.
Цитата
Цитата(Георгий @ Nov 22 2006, 13:49)

Кстати, если система и отключает канал при отсутствии устройств, то это всего лишь отключение драйверов.
Слово
драйвер в данном контексте - это компонент программного обеспечения или шинный формирователь?

BIOS отключает соответствующий блок в чипсете, который после этого перестает откликаться на адреса по шине и соответственно не пропускает сигналы на разъем IDE.
Я все таки склонен к тому, что отключается программный драйвер, поскольку и без физических устройств работа с адресами из пространства IDE остается, на шине есть сигналы, чтение/запись с самопала идет.
Кстати, в той доке, что наше в архиве, конкретно написано, что режимы PIO0-PIO4 определяются количеством клоков PCI на сооответствующий сигнал. Эти клоки собраны в двух регистрах таймингов IDE (а если не заморачиваться на раздельные тайминги по каждому устройству на канале, то можно обойтись и одним). До самих регистров я уже достучался, инфу из них беру. Поскольку на канале висели живые диски, то тайминги были установлены по минимуму (PIO4). Писать на работе в эти регистры не рискнул.
Вечером попробую дома на подопытном кролике - старой асустешке.
Coryphae
Nov 23 2006, 21:58
Озаботился ковырянием контроллера PCI 2 IDE . Не могу найти вразумительную доку на чипец SiI0680A (http://www.siliconimage.com/products/product.aspx?id=31). Все, что видел - пдф на 34 листа. Ни как конфигурировать, ни как обращаться с регистрами со стороны PCI. Есть ли у кого доки?
Георгий
Nov 27 2006, 09:17
Вобщем, полный фигвам! Установка таймингов ничего не дала, система просто их проигнорировала. Надо еще попробовать из под ДОС, если получится, значит ХР имеет еще свои регистры управления, если нет, то проблема кроется где то гораздо глубже.
Кстати, не подскажете где ДОС взять. А тоя скачал с какого то сайта DR DOS Caldera, а там на всех трех образах дискет оказался один и тот же и не загрузочный.
Цитата(Георгий @ Nov 27 2006, 09:17)

Вобщем, полный фигвам! Установка таймингов ничего не дала, система просто их проигнорировала. Надо еще попробовать из под ДОС, если получится, значит ХР имеет еще свои регистры управления, если нет, то проблема кроется где то гораздо глубже.
Кто же такие вещи под XP делает? Она и не пустит тебя к железу. Только голый DOS.
Цитата
Кстати, не подскажете где ДОС взять. А тоя скачал с какого то сайта DR DOS Caldera, а там на всех трех образах дискет оказался один и тот же и не загрузочный.
В XP: Мой компьютер -> Диск A -> [Правая кнопка мыши] Форматировать -> Поставить галочку на Создание загрузочного диска MS-DOS.
Георгий
Nov 28 2006, 09:20
Цитата(vmp @ Nov 27 2006, 11:04)

Цитата(Георгий @ Nov 27 2006, 09:17)

Вобщем, полный фигвам! Установка таймингов ничего не дала, система просто их проигнорировала. Надо еще попробовать из под ДОС, если получится, значит ХР имеет еще свои регистры управления, если нет, то проблема кроется где то гораздо глубже.
Кто же такие вещи под XP делает? Она и не пустит тебя к железу. Только голый DOS.
Я ж не полный дуб, с железом работаю из драйвера! И к железу меня допускает. Я же написал, что установил тайминги в регистрах!
Цитата
Цитата
Кстати, не подскажете где ДОС взять. А тоя скачал с какого то сайта DR DOS Caldera, а там на всех трех образах дискет оказался один и тот же и не загрузочный.
В XP: Мой компьютер -> Диск A -> [Правая кнопка мыши] Форматировать -> Поставить галочку на Создание загрузочного диска MS-DOS.
Это несколько не то (форматирование создает именно загрузочный диск, а не диск с ДОС). Хотелось бы полноценную ДОС, типа Caldera или PTR DOS. Они к тому же поддерживают псевдомногозадачность.
ValeraK
Nov 28 2006, 16:26
Цитата(Георгий @ Nov 28 2006, 11:20)

Хотелось бы полноценную ДОС, типа Caldera или PTR DOS.
Попробуй ROM-DOS взять можно с
http://datalight.com/products/romdos/Поддерживает длинные имена, TCP-IP стэк имеется, вполне разумно работает.
Георгий
Nov 29 2006, 08:38
Поставил вчера DR DOS 8. Теперь надо весь инструментарий под ДОС восстановить, сто лет уже под ДОС не работал.
А этот ROM-DOS действительно позволяет работать из-под ROM памяти? Каким образом это физически выглядит?
Георгий
Nov 30 2006, 09:10
Кроме установки своего бутрома в панельку сетевой карты есть ли еще такой же простой путь? Поствил связку флопик + юсб-флэшдиск, получилась малогабаритненькая бездисковая измерительная система (плата старая, загрузку с юсб не поддерживает), убрать еще флопик в РОМ, вообще замечательная вещь. Накопленную информацию либо по сети, либо через флэшку на другой комп.
ValeraK
Dec 3 2006, 20:07
Цитата(Георгий @ Nov 29 2006, 10:38)

А этот ROM-DOS действительно позволяет работать из-под ROM памяти?
Каким образом это физически выглядит?
В приципе ставится ПЗУшка на неё простенькая файловая система и от туда грузятся проги.
Документация на серваке по ROM-DOS написана по человечески - разобратся легко можно.
ValeraK
Dec 3 2006, 20:18
Цитата(Георгий @ Nov 30 2006, 11:10)

убрать еще флопик в РОМ, вообще замечательная вещь.
Я делал эмулятор флопика, садился на Int 13h и направлял чтение диска на ROM в сетевой карте,
размера окна было маловато, дык я припаял переключатель банков защелкивающий номер банка
при чтении по определённым адресам.
Еще был вариант: с помощью бутрома вытягивал образ флопика на электронный диск
в качестве которого использовал часть видеопамяти, а затем перезагружал машину для
загрузки с этого диска.
Георгий
Dec 9 2006, 12:41
Сейчас в отпуске, пишу по субботам с работы.
1. Выбрал вариант с ROM DOS, как то он больше понравился по сравнению с DR DOS Caldera.
2. Результаты экспериментов с IDE каналов:
- в старой асустешке режим PIO можно выставить в БИОСе, и операционка в этом случае не меняет на свои значения. Но считывание данных в режимах 0, 1 и 2 дает одну задержку - порядка 900 нс, в режимах 3 и 4 - 600 нс, хотя значения регистров с таймингами показывают для каждого режима свои значения.
- цикл чтения раза в полтора длиннее цикла записи, хотя по даташиту они выглядят одинаково и даже не различаются режими записи и чтения.
- режим контроллера IDE может быть совместимым (привычные для нас адреса), а может быть "родным" (native), адреса в последнем случае жестко не определены. Не исключено, что это как и в случае с параллельным портом, можно работать в режиме Центроникса по привычным адресам, а можно в двунаправленном режиме по другим адресам. Старые платы, похоже, работают в режиме совместимости, а новые в native, поэтому на них и не влияет установка таймингов по привычным адресам. Это я обнаружил недавно, поэтому до конца этот вопрос еще не пробил.
Универсальная Смотрелка-Копалка по PCI девайсам. Но в свое время писал для копания и последующего латания криво проинициализированного контроллера IDE :-) от VIA.
Может кому пригодится. Инструкция по использованию в архиве.
Простите что вмешиваюсь, но возможно ли замена Floppe -дисковода на CF с переходником ide2cf?