flat assembler
Message board for the users of flat assembler.

Index > MenuetOS > Updated PCIDev

Goto page 1, 2  Next
Author
Thread Post new topic This topic is locked: you cannot edit posts or make replies.
Wildwest



Joined: 13 Sep 2004
Posts: 100
Location: Russia
Wildwest
Just curious that cordata51 think about this


Description: Program will be included in Kolibri4
Filesize: 32.38 KB
Viewed: 22360 Time(s)

PCIWORK1.PNG


Post 05 Jun 2005, 14:45
View user's profile Send private message Reply with quote
Endre



Joined: 29 Dec 2003
Posts: 212
Location: Budapest, Hungary
Endre
Good job. Only one remark: 'Quantity of devices' is, as I guess at least, a byte that consists of number of devices and number of functions. So the 43 in your case is not the quantity of devices.
Post 05 Jun 2005, 17:44
View user's profile Send private message Reply with quote
Wildwest



Joined: 13 Sep 2004
Posts: 100
Location: Russia
Wildwest
Endre wrote:
So the 43 in your case is not the quantity of devices.

43-is quantity of strings in report. It is not quantity of devices since one device (e.g. ATI Radion) have 2 strings and so on.
Post 06 Jun 2005, 19:50
View user's profile Send private message Reply with quote
JMD



Joined: 24 Sep 2003
Posts: 32
JMD
Very Nice WildWest Very Happy

<---cordata51
Post 23 Aug 2005, 08:15
View user's profile Send private message Reply with quote
Wildwest



Joined: 13 Sep 2004
Posts: 100
Location: Russia
Wildwest
Thanks to cordata51 (JMD) and vhanla.


Description: PCIDEV 1.25 will be released in Kolibri 5
Filesize: 26.61 KB
Viewed: 22012 Time(s)

pcidevic.png


Post 02 Oct 2005, 16:24
View user's profile Send private message Reply with quote
JMD



Joined: 24 Sep 2003
Posts: 32
JMD
Wheres the source code at Wildwest?
Post 07 Oct 2005, 15:58
View user's profile Send private message Reply with quote
Wildwest



Joined: 13 Sep 2004
Posts: 100
Location: Russia
Wildwest
In K5 sources or at http://coolthemes.narod.ru/files/pcidev125.zip
It is not a full detection. PCI driver should be rewritten for getting additional information from Interface byte.
Post 07 Oct 2005, 17:49
View user's profile Send private message Reply with quote
Madis731



Joined: 25 Sep 2003
Posts: 2140
Location: Estonia
Madis731
Does anyone have an answer to this:
Intel manuals tell me to look into bus ID-s 4 and 5 etc. but MenuetOS always returns 0FFh in every memory location. Is it the fault of MenuetOS, the fault of configuring or I'm just unable to write the right code to do that?
Post 10 Oct 2005, 07:04
View user's profile Send private message Visit poster's website Yahoo Messenger MSN Messenger Reply with quote
Octavio



Joined: 21 Jun 2003
Posts: 366
Location: Spain
Octavio
Madis731 wrote:
Does anyone have an answer to this:
Intel manuals tell me to look into bus ID-s 4 and 5 etc. but MenuetOS always returns 0FFh in every memory location. Is it the fault of MenuetOS, the fault of configuring or I'm just unable to write the right code to do that?

Assuming that you are using phisical memory, perhaps the i/o mem map is disabled on the device.
Quote:
Good job. Only one remark: 'Quantity of devices' is, as I guess at least, a byte that consists of number of devices and number of functions. So the 43 in your case is not the quantity of devices.

The problem is that some devices are not multifunction and are reported 8 times.
Post 10 Oct 2005, 09:02
View user's profile Send private message Visit poster's website Reply with quote
JMD



Joined: 24 Sep 2003
Posts: 32
JMD
Hello all

I finally got a chance to try out version 1.25. I also tried it on a newer laptop and noticed the problem others discribed before about not being able to enumerate all devices. I tracked down this bug and i believe i corrected it, let me know how it works for you. Here is a small list of things i updated in this release....

- Fixed bug that would not allow devices with device
numbers > 16 to be displayed. (JNO changed to JNZ near end of PCI
Loop)

- Added another heading called "FNC" (function) which allows
the Multipurpose Device/Function varible to be split and displayed
to the user properly.

- Also added horizontal bars to display for easier reading.

- Optimized vendor/description search routines for speed and space.

In order to implement the horizontal bars i used the Process Info function so i could detect when the window was resized. I noticed when using this function there may possibly be a Kernal Side bug.

The situation exists when i define a buffer for the kernal to write the information to, the kernal appears to start writing to the buffer 1 byte before it should which destroys the byte in adjacent code/varables.

I havnt spent much time figuring this one out and temporarly inserted a non-used varible just before the buffer. This bug could be one i introduced or it could be a legit kernal bug if anyone cares to investigate it further.

To test this bug you can open PCIDEV.asm and scroll to the bottom and comment out the "J" varible and recompile it. When you run the application, move or resize the window and the Sub class descriptions should all change to "Unknown Device".

I am still using the last official release of menuet also so if the bug is on kernal side it may be fixed in other distros.

cordata51
JMD


Description: PCI Device Enumeration V1.26
Download
Filename: pcidev126.zip
Filesize: 34.37 KB
Downloaded: 702 Time(s)

Post 01 May 2006, 02:05
View user's profile Send private message Reply with quote
Mario79



Joined: 11 Mar 2004
Posts: 4
Location: Russian Federation
Mario79
JMD
125D|1969|00|09|00|02|04|01|UNKNOWN VENDOR|Multimedia Audio
This device ESS ES1938S - sound card.
Post 01 May 2006, 09:38
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
JMD



Joined: 24 Sep 2003
Posts: 32
JMD
Looks like Vendor ID 0x125D (ESS) is not yet in the vendors list? so the program functioned as expected i believe... just the Vendor list needs to be updated.
Post 01 May 2006, 10:02
View user's profile Send private message Reply with quote
Wildwest



Joined: 13 Sep 2004
Posts: 100
Location: Russia
Wildwest
Hi all!
Madis, file pcidev in JMD's archive dated 02.10.2005 and sources from 30.04.2006. Try to recompile sources to binary.
Post 02 May 2006, 15:49
View user's profile Send private message Reply with quote
JMD



Joined: 24 Sep 2003
Posts: 32
JMD
Hello

Just wondering if everyone that had problems in the past with not being able to enumerate all devices can now do so with current updated Version 1.26?

As for the vendor/device list being out of date... i hope to figure out a way to automatcally update the list as an include file perhaps using a VB script and an up to date database although this may require rewritting the current code used to parse the information. The next question is where to obtain a regularly maintained list for which to get the information from. there are many available online but anyone know which is most current or who is responsible for maintaining a master list? According to some sites... "there is no other centralized database of PCI device IDs" so this makes it difficult to keep the list up to date and error free.

here is one site that looks like a good choice... http://www.pcidatabase.com/reports.php?type=csv

JMD
Post 02 May 2006, 20:15
View user's profile Send private message Reply with quote
Madis731



Joined: 25 Sep 2003
Posts: 2140
Location: Estonia
Madis731
JMD, like Wildwest mentioned - you have not compiled your new sources and the pcidev is dated 2nd Oct LAST YEAR!!!. You sources, though, are from the end of this April.

The list is huge (http://www.pcidatabase.com/reports.php?type=csv) I see - 329.73KB, but you can cut it down to 233KB if you compile it into your binary. Wink
Post 03 May 2006, 08:52
View user's profile Send private message Visit poster's website Yahoo Messenger MSN Messenger Reply with quote
Wildwest



Joined: 13 Sep 2004
Posts: 100
Location: Russia
Wildwest
I tested it and
+ one more device see the light!
- but Lucent was unrecognized ?! (see the picture)
So I played a bit with the source and new version is born
http://coolthemes.narod.ru/files/pcidev130.zip
This version (1.30, since JMD's effort moved PCIDEV to 1.29 in my opinion) was mainly about changing list of vendors, interface and so one.
Just small, but important things.
PS: Madis, ESS is in the list now.

BTW, the source should be commented more deeper since example like this is hard to understand (at least without beer or coffee)

;Insert bars
mov eax, 13
mov ebx, 18
shl ebx, 16
mov bx, [Form]
sub bx, 32
mov ecx, 109*65536+10
mov edx, 0xb6b6b6
again:
int 0x40
shr ecx, 16
add ecx, 36
cmp cx,word [Form+4]
jae nomo
sub ecx, 16
shl ecx, 16
add ecx, 10
jmp again
nomo:


Description: 1.26 in the work
Filesize: 29.97 KB
Viewed: 21367 Time(s)

SCREEN.gif


Post 11 May 2006, 18:37
View user's profile Send private message Reply with quote
JMD



Joined: 24 Sep 2003
Posts: 32
JMD
hello

Did you fix the bug in the vendors list for your lucent entry?

sorry about the missing comments, although its a simple piece of code, and i found it eaiser to follow then the uncommented vendor & device string look up code that was condensed from about 650 lines to around 60 lines in the 1.26 release...

Code:
;Insert bars 
mov eax, 13           ;draw bar system function
mov ebx, 18           ;set Xstart position of bar
shl ebx, 16           ;
mov bx, [Form]        ;get width of window
sub bx, 32            ;bar is 32 pixels shorter then window width
mov ecx, 109*65536+10 ;set Ystart(109) and Height(10) of bar
mov edx, 0xb6b6b6     ;set color of bar
again:                ;begin draw bar loop
int 0x40              ;draw bar to window area
shr ecx, 16           ;move the Ystart position to working area
add ecx, 36           ;add 36 pixels to Y Start (moves bar down)
cmp cx,word [Form+4]  ;is the Ystart position outside of window area
jae nomo              ;if so stop drawing bars
sub ecx, 16           ;if not, we only need 20 pixels between bar tops
shl ecx, 16           ;set that values as Ystart
add ecx, 10           ;Bar Height is always 10 pixels
jmp again             ;draw another bar
nomo:                 ;done drawing bars here

    
Post 13 May 2006, 23:08
View user's profile Send private message Reply with quote
JMD



Joined: 24 Sep 2003
Posts: 32
JMD
V


Last edited by JMD on 14 May 2006, 03:04; edited 1 time in total
Post 13 May 2006, 23:43
View user's profile Send private message Reply with quote
JMD



Joined: 24 Sep 2003
Posts: 32
JMD
hello

made a few more updates to it, i hope all the bugs are out now, please test and let me know how it works.

Code:
;           fixed
;                 * ! bug in Company Name look up code that would cause Unknown Name errors.
;                 * ! possible bugs, many instructions missing byte, word, dword prefixes
;                 * ! possible bug which could have occured after removing  "PREVIOUSVERSIONLIST"
;                     entry in look up code and not fixing jump parameters.
;           added
;                 *  comments to various parts of the code
;           optimized
;                 * various parts of the source, too many to remember and mention.
;                 * changed entries for Subclasses in vendors.inc to Byte format, saves a little space.
    


Description:
Download
Filename: pcidev131.zip
Filesize: 33.49 KB
Downloaded: 894 Time(s)

Post 14 May 2006, 03:00
View user's profile Send private message Reply with quote
Wildwest



Joined: 13 Sep 2004
Posts: 100
Location: Russia
Wildwest
Yes, I fixed Lucent in 1.30. The 1.31 release is great (work without issues).
Post 16 May 2006, 17:48
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic This topic is locked: you cannot edit posts or make replies.

Jump to:  
Goto page 1, 2  Next

< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum


Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.

Website powered by rwasa.