flat assembler
Message board for the users of flat assembler.

Index > Main > PCI Programming/Graphics card polling

Goto page Previous  1, 2
Author
Thread Post new topic Reply to topic
rhyno_dagreat



Joined: 31 Jul 2006
Posts: 487
Location: Maryland, Unol Daleithiau
rhyno_dagreat 16 Mar 2007, 01:40
Yeah, most definately. Unless you labelled them wrong in the code. I'm trying freeDOS.
Post 16 Mar 2007, 01:40
View user's profile Send private message Reply with quote
LocoDelAssembly
Your code has a bug


Joined: 06 May 2005
Posts: 4624
Location: Argentina
LocoDelAssembly 16 Mar 2007, 01:45
But Win98 allows DOS programs to do low level access to hardware. Even Ralf Brown's PCICFG works on Win98
Post 16 Mar 2007, 01:45
View user's profile Send private message Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u 16 Mar 2007, 02:01
Just tested it in win98, with my graphic card and it worked fine.
Post 16 Mar 2007, 02:01
View user's profile Send private message Reply with quote
rhyno_dagreat



Joined: 31 Jul 2006
Posts: 487
Location: Maryland, Unol Daleithiau
rhyno_dagreat 16 Mar 2007, 02:11
I just used my other PC which works with MiniDos and has a nVidia TNT2 gfx card and it does work. Thanks Dex =D. I'll reverse engineer and learn from your code, and hopefully I can program for my other machine.
Post 16 Mar 2007, 02:11
View user's profile Send private message Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u 16 Mar 2007, 02:26
Cool, i have a PC with a nVidia GeForce FX 5200 (64mb ram) and i used your vendor and device id on it along with minidos and pci.com, and it found the card, so your ID are right.

Here is the cut and pasted code
Code:
mov     ax,0322h ;0801h                            ; Deviceshl     eax,16mov     ax,10deh ;1319h                            ; Vendor    
Post 16 Mar 2007, 02:26
View user's profile Send private message Reply with quote
rhyno_dagreat



Joined: 31 Jul 2006
Posts: 487
Location: Maryland, Unol Daleithiau
rhyno_dagreat 16 Mar 2007, 02:41
Yeah. I think it's Windows XP being the overprotective parent of it's programs. I've just deeply looked into the V3Mon code you showed me, and it's actually not too difficult, just very long. I know there's not gonna be a easy way around all of this so I'm just gonna thrash my way through it. If I can make a working demo for the TNT Pro 2, I'm gonna see if it will port cleanly to a nVidia GeForce FX 5200 processor, which I might need you to test when the time comes if you don't mind.
Post 16 Mar 2007, 02:41
View user's profile Send private message Reply with quote
rhyno_dagreat



Joined: 31 Jul 2006
Posts: 487
Location: Maryland, Unol Daleithiau
rhyno_dagreat 16 Mar 2007, 03:03
Oh, also Dex - how does the carry flag work with the jz command exactly? I heard that they had nothing to do with each other in the code so why are you always setting it before jz and clearing it at the end?
Post 16 Mar 2007, 03:03
View user's profile Send private message Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u 16 Mar 2007, 03:24
We set carry flag to 1 if no device/vendor ID is found and 0 if found, we then test on the return from function.
We also pushf and popf so as the "and" does not give wrong results.
Post 16 Mar 2007, 03:24
View user's profile Send private message Reply with quote
rhyno_dagreat



Joined: 31 Jul 2006
Posts: 487
Location: Maryland, Unol Daleithiau
rhyno_dagreat 16 Mar 2007, 03:41
Ah, thanks. That was actually gonna be the next thing I was gonna ask... What are the EFLAGs exactly and what is their purpose?

And also, more importantly (or at least I'd assume so) is how did you know to do the discrete mathematics on the control dword you sent to the control port? Like... how did you come up with that pattern?

Sorry if I'm getting on your nerves with these questions but in order to accomplish my goals I need to know as much as I can about why you did what you did in your example.
Post 16 Mar 2007, 03:41
View user's profile Send private message Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u 16 Mar 2007, 16:30
The info is in certain bits, you need to ether test these bits and/ or change these bits. here is some good info http://www.waste.org/~winkles/hardware/pci.htm
Post 16 Mar 2007, 16:30
View user's profile Send private message Reply with quote
rhyno_dagreat



Joined: 31 Jul 2006
Posts: 487
Location: Maryland, Unol Daleithiau
rhyno_dagreat 16 Mar 2007, 16:57
Thanks!
Post 16 Mar 2007, 16:57
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page Previous  1, 2

< 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 cannot attach files in this forum
You can download files in this forum


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

Website powered by rwasa.