Перейти к содержанию
    

А на пин готовности 1 подавалась? У меня ~600 нс и получается. Когда выдаю частоту с учетом производительности проца получается от 700 до 1000 нс.

Есть еще вариант - есть платы PCI-IDE. Их БИОС становится при подключении частью машинного БИОСа. Можно там поковыряться в коде и в самом этом БИОСе прошить нужный режим PIO, как будто определился диск.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Когда выдаю частоту с учетом производительности проца получается от 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.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Скорей всего в регистре остается число, которое выдавали в адрес. Без сигнала готовности чтения нет в принципе.

Есть еще вариант - есть платы PCI-IDE. Их БИОС становится при подключении частью машинного БИОСа. Можно там поковыряться в коде и в самом этом БИОСе прошить нужный режим PIO, как будто определился диск.
Тогда придется еще разбираться в программировании контроллера хоста и в коде бивиса платки. Скорее всего придется без "жульничества" реализовывать IDE девайс. А вот использовать PCI-IDE резонно, т.к. всеж безопасней для материнки. Спасиб за совет :)

Программировать контроллер не надо, БИОС живет немного "сам по себе", если он есть, он подключается к основному БИОСу, в нем обыные инструкции процессора, дизассемблируешь - меняешь часть кода-ассемблируешь-шьешь флэшку-вставляешь обратно в панельку-радуешься жизни! Програматор для флэшек сделаю, попробую этот фокус.

 

На сайте Интела инфа только на новые чипсеты. Я декаюсь со старой асусовской платой.

Изменено пользователем Георгий

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нашел еще один pdf на ICH. В принципе, я думаю, можно и программно ускорить работу. Режимы PIO, это не что иное, как различное количество тактов клока на один цикл обращения к IDE. Записывая в эти регистры (регистры тайминга IDE) нужные значения можно "обмануть" систему.

Кстати, если система и отключает канал при отсутствии устройств, то это всего лишь отключение драйверов. Напрямую с регистрами из своего драйвера мы же работаем!

Надеюсь, что адреса регистров не меняются от версии к версии чипсета.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На сайте Интела инфа только на новые чипсеты. Я декаюсь со старой асусовской платой.

 

Здесь смотрел?

 

 

Кстати, если система и отключает канал при отсутствии устройств, то это всего лишь отключение драйверов.

 

Слово драйвер в данном контексте - это компонент программного обеспечения или шинный формирователь? :)

 

BIOS отключает соответствующий блок в чипсете, который после этого перестает откликаться на адреса по шине и соответственно не пропускает сигналы на разъем IDE.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На сайте Интела инфа только на новые чипсеты. Я декаюсь со старой асусовской платой.

 

Здесь смотрел?

Нашел в архивах Интела, адреса регистров, кстати, остались прежними.

Кстати, если система и отключает канал при отсутствии устройств, то это всего лишь отключение драйверов.

 

Слово драйвер в данном контексте - это компонент программного обеспечения или шинный формирователь? :)

 

BIOS отключает соответствующий блок в чипсете, который после этого перестает откликаться на адреса по шине и соответственно не пропускает сигналы на разъем IDE.

Я все таки склонен к тому, что отключается программный драйвер, поскольку и без физических устройств работа с адресами из пространства IDE остается, на шине есть сигналы, чтение/запись с самопала идет.

Кстати, в той доке, что наше в архиве, конкретно написано, что режимы PIO0-PIO4 определяются количеством клоков PCI на сооответствующий сигнал. Эти клоки собраны в двух регистрах таймингов IDE (а если не заморачиваться на раздельные тайминги по каждому устройству на канале, то можно обойтись и одним). До самих регистров я уже достучался, инфу из них беру. Поскольку на канале висели живые диски, то тайминги были установлены по минимуму (PIO4). Писать на работе в эти регистры не рискнул.

Вечером попробую дома на подопытном кролике - старой асустешке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Озаботился ковырянием контроллера PCI 2 IDE . Не могу найти вразумительную доку на чипец SiI0680A (http://www.siliconimage.com/products/product.aspx?id=31). Все, что видел - пдф на 34 листа. Ни как конфигурировать, ни как обращаться с регистрами со стороны PCI. Есть ли у кого доки?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вобщем, полный фигвам! Установка таймингов ничего не дала, система просто их проигнорировала. Надо еще попробовать из под ДОС, если получится, значит ХР имеет еще свои регистры управления, если нет, то проблема кроется где то гораздо глубже.

Кстати, не подскажете где ДОС взять. А тоя скачал с какого то сайта DR DOS Caldera, а там на всех трех образах дискет оказался один и тот же и не загрузочный.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вобщем, полный фигвам! Установка таймингов ничего не дала, система просто их проигнорировала. Надо еще попробовать из под ДОС, если получится, значит ХР имеет еще свои регистры управления, если нет, то проблема кроется где то гораздо глубже.

 

Кто же такие вещи под XP делает? Она и не пустит тебя к железу. Только голый DOS.

 

Кстати, не подскажете где ДОС взять. А тоя скачал с какого то сайта DR DOS Caldera, а там на всех трех образах дискет оказался один и тот же и не загрузочный.

 

В XP: Мой компьютер -> Диск A -> [Правая кнопка мыши] Форматировать -> Поставить галочку на Создание загрузочного диска MS-DOS.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вобщем, полный фигвам! Установка таймингов ничего не дала, система просто их проигнорировала. Надо еще попробовать из под ДОС, если получится, значит ХР имеет еще свои регистры управления, если нет, то проблема кроется где то гораздо глубже.

 

Кто же такие вещи под XP делает? Она и не пустит тебя к железу. Только голый DOS.

Я ж не полный дуб, с железом работаю из драйвера! И к железу меня допускает. Я же написал, что установил тайминги в регистрах!

Кстати, не подскажете где ДОС взять. А тоя скачал с какого то сайта DR DOS Caldera, а там на всех трех образах дискет оказался один и тот же и не загрузочный.

 

В XP: Мой компьютер -> Диск A -> [Правая кнопка мыши] Форматировать -> Поставить галочку на Создание загрузочного диска MS-DOS.

Это несколько не то (форматирование создает именно загрузочный диск, а не диск с ДОС). Хотелось бы полноценную ДОС, типа Caldera или PTR DOS. Они к тому же поддерживают псевдомногозадачность.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хотелось бы полноценную ДОС, типа Caldera или PTR DOS.

 

Попробуй ROM-DOS взять можно с http://datalight.com/products/romdos/

Поддерживает длинные имена, TCP-IP стэк имеется, вполне разумно работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поставил вчера DR DOS 8. Теперь надо весь инструментарий под ДОС восстановить, сто лет уже под ДОС не работал.

А этот ROM-DOS действительно позволяет работать из-под ROM памяти? Каким образом это физически выглядит?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кроме установки своего бутрома в панельку сетевой карты есть ли еще такой же простой путь? Поствил связку флопик + юсб-флэшдиск, получилась малогабаритненькая бездисковая измерительная система (плата старая, загрузку с юсб не поддерживает), убрать еще флопик в РОМ, вообще замечательная вещь. Накопленную информацию либо по сети, либо через флэшку на другой комп.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А этот ROM-DOS действительно позволяет работать из-под ROM памяти?

Каким образом это физически выглядит?

 

В приципе ставится ПЗУшка на неё простенькая файловая система и от туда грузятся проги.

Документация на серваке по ROM-DOS написана по человечески - разобратся легко можно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...