Member
Статус: Не в сети Регистрация: 03.04.2004 Фото: 1
Давненько я сюда не заходил...
Daemon если еще надо, инфа из Winbond83627 добывается так:
Есть два порта - индексный регистр и регистр данных. Первый base+5, второй base+6. Обычно 295h и 296h.
В первый пишем внутренний номер регистра микросхемы (из даташита), из второго читаем содержимое (или пишем в него). Это те, что до 50h. Потом есть еще 6 страниц. Для доступа к ним в 295h пишем 4eh, в 296h номер страницы (0-5), потом в 295h номер регистра и читаем из 296h (пишем).
Для C++Builder и компонента IOPort чтение всего содержимого выглядит так:
Код:
unsigned char n,m; for (n=0;n<0x50;n++) { IOPort1->Port[0x295] = n; regs[n]=IOPort1->Port[0x296]; } for (m=0;m<6;m++) { IOPort1->Port[0x295] = 0x4e; IOPort1->Port[0x296] = m; for (n=0;n<16;n++) { IOPort1->Port[0x295] = n+0x50; pregs[m][n]=IOPort1->Port[0x296]; } }
Advanced member
Статус: Не в сети Регистрация: 09.06.2003 Откуда: USSR
AleX_SPb о! Вот хоть так елси бы кто обьянил было бы просто супер,
stargaz0r Я просто к тому говорю, что я вообще не знаю как пахать с такими делами. Тоесть надо бы простыми словами описание протокола общения и структуры. Вон Алекс двумя словами, а как информативно!
Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Киев, Украина
AleX_SPb спасибо я уже как давно разобрался и написал программу, да дейсвтительно тут все легко, теперь для практики интересно бы достать этот же чип через SMbus.
Ray Adams ну там и даташит соответствующий, единственное с расчетом напряжений темнят, да AleX_SPb где-ты был месяц назад!
Добавлено спустя 1 час, 1 минуту, 49 секунд: Некто не подскажет по WinXP драйвер, который глючит меньше чем GiveIO.sys?
Member
Статус: Не в сети Регистрация: 23.09.2003 Откуда: South Ural
Daemon сама идея открытия портов через IOPM ущербна - почти все такие драйверы будут глючить - т.е. найдется такой комп где будет глючить - выход: написание драйвера с открытием только нужных тебе портов и только для твоей программы.
Advanced member
Статус: Не в сети Регистрация: 09.06.2003 Откуда: USSR
stargaz0r Ну почему, не обязательно писать каждый раз один драйвер для работы только содними портами! К примеру у меня в ATI Tray Tools сидит драйвер, который используется также в RivaTuner. Он дает доступ ко всему. Это удобно, вдруг завтра мне надо помимо мапинга регистров видеокарты, делает такое и с материнкой? И почему он должен глючить?
А вот использование общедоступных драйверов не очень хорошая идея, я всего один раз использовал такой драйвер в nVIDIA BIOS Editor. Но и то, я достал исходники и перекомпилровал драйвер под редактор, с новым именем.
Добавлено спустя 1 минуту, 4 секунды: Кстати , а ты какой драйвер испоьзуеш в своей софтинке?
Advanced member
Статус: Не в сети Регистрация: 09.06.2003 Откуда: USSR
stargaz0r Ну giveio конечно не вариант для серьезной работы, там есть еще кажется в комплекте и TotalIO так это вообще ужастик, лучше не юзать! С этом полностью согласен.
Работать в варианте giveio, кода ты напрямую вызывает in/out не есть гуд . вот через DeviceIOControl самый безопасный вариант мне кажется.
Member
Статус: Не в сети Регистрация: 23.09.2003 Откуда: South Ural
Ray Adams
Цитата:
вот через DeviceIOControl самый безопасный вариант мне кажется.
это стандартный интерфейс для управления драйвером - его и нужно применять, хотя для работы по портам подходит с некоторой натяжкой - очень медленный метод...
Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Киев, Украина
stargaz0r
Цитата:
сама идея открытия портов через IOPM ущербна - почти все такие драйверы будут глючить - т.е. найдется такой комп где будет глючить - выход: написание драйвера с открытием только нужных тебе портов и только для твоей программы.
А где про это можно почитать, а то GiveIO глюковат, если свою прогу под Винду писать, то надо че-то стабильнее. А то все эти СпидФаны слишком громоздки, хочеться что-то для себя и для друзей накатать.
И как можно GiveIO в систему поставить, а то один раз как-т получилось, потом случайно убил и не могу заново поставить, так что работаю паралельно с 8rdavcore.
Advanced member
Статус: Не в сети Регистрация: 09.06.2003 Откуда: USSR
Цитата:
И как можно GiveIO в систему поставить,
Вообще то ставить не обязательно, так как его можно загружать вместе со своей программой и выгружать из памяти после завершения программы. Это будет намного лучше, чем постоянно держать его в памяти. Я не понимаю почему все кто юзает GiveIO/TotalIO не делают это таким образом. Ну конечно тут ограничение есть, надо иметь админские права чтобы инсталить драйвер. Но мы все (почти) сидим под локальными админами.
А лучше всего, как минимум перекомпилить хотя бы тотже GiveIO с другим именем, чтобы потом не конфликтовать с уже существующими программами.
Если что могу скомпилить его с любым именем и выдать готовый .sys
Member
Статус: Не в сети Регистрация: 23.09.2003 Откуда: South Ural
Ray Adams вырубать giveio нельзя именно потому что им пользуется куча других программ, а иметь кучу одинаковых драйверов с разными именами в системе тоже напрягает
Daemon исходники giveio доступны - они на си
Advanced member
Статус: Не в сети Регистрация: 09.06.2003 Откуда: USSR
stargaz0r В это м и проблемма, что все юзают этот GiveIO! Ты сам утверждал, что лучше иметь свой, конкретный драйвер. В принципе даже если переименовывать giveIO то хотябы ты не будеш зависить от других программ. Да и его , как и писал выше, можно загрузить и выгрузить.
Добавлено спустя 6 минут, 18 секунд: Да и еще, вот не дай бог этот GiveIO так сильно распространится, что будет на каждой тачке. Я просто уверен на все 100%, что пойдут и вирусы которые через этот драйвер такое могут натворить!
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения