Page 4 of 7

Posted: Tue Mar 13, 2007 2:30 pm
by Wildwest
> http://footballtabl.h15.ru/ivan/info 0.6.zip

Прога интересная. Может попробуешь её портировать с помощью PPro Pascal http://nillsoft.narod.ru/download/download.html или FreePascal...

Posted: Thu Apr 05, 2007 3:47 pm
by Wildwest
>нужен ли форк PCIDEV, который будет давать информацию о видяхах

Процесс идет, но очень медленными темпами. Ищутся желающие заполнить примерно 700 записей о видеокартах 27 разных фирм (если найдутся несколько человек, то на каждого придется меньше) + если у вас видяха например NVidia, то вы заполняете только Nvidia и одновременно тестите прогу. Причем по сути дело сводится к банальному copy+paste c исправлением 7 строк на каждую запись. Сами понимаете, что у меня на этот процесс ((копирование 3-х участков кода в разных частях проги + исправление 7 строк) * 700 записей) уйдет большое количество времени.
http://coolthemes.narod.ru/gfx041.PNG

Формат записей на примере ATi

ATi:
cmp [PCI_Device], 0x5961
je at_5961 // копировать и править 2 строки для каждого девайса

...............

at_5941:
mov eax,4 ; function 4 : write text to window
and ebx, 0x0000FFFF ;clear X position
or ebx, 470*65536 ;X start becomes 470
xor ecx, ecx ;font color
mov edx,AT__5941 ; pointer to text beginning //копировать и править еще пару строк
mov esi, AT__5941len-AT__5941 ; text length
int 0x40
jmp outd

........

AT__5961: ; копировать и править еще 3 строки
db 'RADEON 9200' ;
AT__5961len:

ЗЫ: может найдутся спецы по Перлу или подобным языкам, которые автоматизируют процесс генерации записей...

Posted: Thu Apr 05, 2007 5:41 pm
by Pavia
Wildwest
Мой тебе совет. Надо менять структуру программы пока не поздно. Сделать одну процедуру для поиска в списке ID. И одну для вывода. А то так код раздувается, да и лень делать copy+paste. У себя все строки в файл выняс, прада у меня помима этих причин были и другие.

Posted: Thu Apr 05, 2007 5:49 pm
by Heavyiron
Согласен, то же пожелание и к cpuid. Сначала собрал все данные, задал нужные текстовые и числовые переменные и вывел все в одном месте. Так проще потом будет работать с исходником, если надо что изменить. Да и оптимальнее, наверное. А так, если нужно чуть сдвинуть, например, строки в программе, придется править 700 строк :)
И еще рекомендую начать использовать asciiz-строки.
Тогда вместо:
str:
db '...'
str_len

будет
srt db '...',0

(эконимия 2-х строчек в исходнике на каждую строку текста)
Если строк 700, то это на 1400 строк можно уменьшить исходник. Кроме того не нужно будет передавать в esi str_len, а это уже сокращение самого кода.

Posted: Fri May 11, 2007 4:04 pm
by Wildwest
На SVN новая версия

;2.1: PCIDEV ??/04/2007
;Author: Mihailov Ilia aka Ghost
;Features:
; fixed
; * Same little bugs
; * Source code formating
; * PCI version normalized 0210 -> 2.10
; added
; * + 13 vendor (total now 1000!)
; * + 3 class type
; * Fast call source ready
; * Device IRQ detection
; optimized
; * ! size optimized (61025 -> 32501 see added)
; * easy to add new vendor & class names

Re: Детект PCI устройств

Posted: Sat Jun 18, 2011 12:58 am
by Mario
Возникла идея сделать сохранение данных PCIDEV в текстовый файл по нажатию кнопки (выбор например через OpenDialog) и сохранение в текстовый файл при запуске с параметром - путь к файлу, если никто не изъявляет желание - буду делать сам.

Re: PCIDEV - определение PCI устройств

Posted: Sat Jun 18, 2011 12:56 pm
by art_zh
Очень полезная вещь. Могу помочь с дампом блоков MMIO и Extension_ROM (там где такой сервис разрешен ядром).

Еще была идея чтобы PCIDEV показывала развернутый список Capabilities для выбранного устройства, но на экране для этого совершенно нет места. Проблема снимается, если будет запись в файл.

Re: PCIDEV - определение PCI устройств

Posted: Sat Jun 18, 2011 4:02 pm
by Mario
Ну, если сделаешь код, то я естественно возражать не буду.

Re: PCIDEV - определение PCI устройств

Posted: Sun Jun 26, 2011 3:09 am
by Mario
SVN r. 1982
1) Сохранение списка устройств на диск
2) Выбор пути через OpenDialog

С учетом всех предыдущих ревизий присвоил программе версию 2.3

Re: PCIDEV - определение PCI устройств

Posted: Sun Jun 26, 2011 8:50 am
by yogev_ezra
Твоя версия стала падать при запуске в VMWare (последняя версия от CleverMouse не падала).

Скриншот падения на доске и скриншот из дебаггера:
Spoiler:
pcidev002.png
pcidev002.png (8.74 KiB)
Viewed 9671 times
pcidev001.png
pcidev001.png (42.94 KiB)
Viewed 9672 times
Скриншот как это было раньше:
Spoiler:
pcidev003.png
pcidev003.png (46.68 KiB)
Viewed 9669 times

Re: PCIDEV - определение PCI устройств

Posted: Sun Jun 26, 2011 2:36 pm
by Mario
Я предполагаю, что знаю в чем проблема. :)
Spoiler:

Code: Select all

prepare_text_area:
146		mov	edi,[store_text_area_start]
147	
148		push	edi
149		mov	ecx,4096/4 ; I hope this will be enough for store of data
150		mov	eax,dword '    '
151		cld
152		rep	stosd
153		pop	edi

Re: PCIDEV - определение PCI устройств

Posted: Sun Jun 26, 2011 2:41 pm
by yogev_ezra
Mario wrote:Я предполагаю, что знаю в чем проблема. :)
Экономные FASM программисты такие экономные :mrgreen:То есть, упало там, где ты написал в комментах, что может здесь упасть :D Ну так увеличь :wink:

Re: PCIDEV - определение PCI устройств

Posted: Sun Jun 26, 2011 2:43 pm
by Mario
Не, ну в Qemu все хоккей. ;-)
Кстати сам можешь проверить, увеличить, закоммитить и восстановить твое поражение в правах как программиста. :mrgreen:

Re: PCIDEV - определение PCI устройств

Posted: Sun Jun 26, 2011 3:09 pm
by DmitrySokolowsky
На eBox не упало, список сохраняет успешно.

Re: PCIDEV - определение PCI устройств

Posted: Sun Jun 26, 2011 8:16 pm
by yogev_ezra
Mario wrote:Не, ну в Qemu все хоккей. ;-) Кстати сам можешь проверить, увеличить, закоммитить и восстановить твое поражение в правах как программиста. :mrgreen:
Не проканало: поменял 4096/4 на 4096 - стало падать в другом месте :oops:
Spoiler:
pcidev004.png
pcidev004.png (39.38 KiB)
Viewed 9616 times