A computer components & hardware forum. HardwareBanter

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » HardwareBanter forum » Processors » Intel
Site Map Home Register Authors List Search Today's Posts Mark Forums Read Web Partners

Access VGA ports through S/W??????



 
 
Thread Tools Display Modes
  #1  
Old August 25th 03, 05:46 PM
Yousuf Khan
external usenet poster
 
Posts: n/a
Default Access VGA ports through S/W??????

(Sonu) wrote in message . com...
Hi all,

I asm trying to access the video port (i.e conventional VGA port)
which is connected to the monitor via a DSUB line.


Okay there are various issues here that you haven't considered (or at
least you haven't mentioned). (1) Is this running under Windows or
DOS? (2) video cards are considerably more complicated than simply
accessing their I/O ports. There are also memory-mapped I/O ranges
too.

The resource tab of my graphics driver shows me the addresses for the
ports as below:

I/O Range : 0x3b0-0x3bb
I/O Range : 0x3c0-0x3DF

Can I acccess the port addresses as it is in my Driver for porting the
data out or I have to map it into logical address as in the case if my
Port is mapped in Memory Space of the OS.


Okay first of all, the i/o ports are only really used for controlling
the modes and other status info of the video card, such as its
resolution, color depth, blanking intervals, etc. The actual pictures
are drawn by writing to either of a couple of memory-mapped video
ranges, known as the video buffer. The traditional video buffer
address is between memory addresses 0x000A0000 to 0x000BFFFF, which
happens to be the address 640K to 768K. And now more modern AGP video
cards have an alternative video buffer range that you'll notice
FA000000 to FBFFFFFF (corresponding to 4000MB to 4032MB).

I tried porting the data out directly but had no effect on my VGA
port.


The other thing you haven't considered is that you're running under
Windows. Windows or any other Protected mode operating system, such as
Linux, will automatically prevent you from accessing these ports and
memory locations directly. The OS will manage these access itself, and
it will prevent user-level programs from gaining access to these
things and screwing up the display.

Yousuf Khan
  #2  
Old August 26th 03, 04:29 AM
Sonu
external usenet poster
 
Posts: n/a
Default

Greets all,

Thanks ffer the ideas which you had dropped to me in the box.
Well, I need to tell you all that I wish to access the port from my
User Aplllication but through a proper port driver which I already had
made.

Actually I have tested my port driver on parallel port,where it is
giving out data properly.In my port driver I have used HAL(Hardware
Abstraction layer) supplied function
"WRITE_PORT_UCHAR/ULONG(PUCHAR Port,Int Byte)"
And from my user application I pass on the port address and the data
to the driver through IOCTL Codes.

But when I issue the I/O mapped range for VGA port (I/o :::::
0x3c0---0x3da)
it shows me no activity on the lines.

I need to know how can I pass Data through the DSUB channel along the
SDA pin of the VGA cabvle which plugs into the monitor.Please find me
some way of doing this.

Any Idea are welcome.

-with thanks and regards,
sonu




(Yousuf Khan) wrote in message . com...
(Sonu) wrote in message . com...
Hi all,

I asm trying to access the video port (i.e conventional VGA port)
which is connected to the monitor via a DSUB line.


Okay there are various issues here that you haven't considered (or at
least you haven't mentioned). (1) Is this running under Windows or
DOS? (2) video cards are considerably more complicated than simply
accessing their I/O ports. There are also memory-mapped I/O ranges
too.

The resource tab of my graphics driver shows me the addresses for the
ports as below:

I/O Range : 0x3b0-0x3bb
I/O Range : 0x3c0-0x3DF

Can I acccess the port addresses as it is in my Driver for porting the
data out or I have to map it into logical address as in the case if my
Port is mapped in Memory Space of the OS.


Okay first of all, the i/o ports are only really used for controlling
the modes and other status info of the video card, such as its
resolution, color depth, blanking intervals, etc. The actual pictures
are drawn by writing to either of a couple of memory-mapped video
ranges, known as the video buffer. The traditional video buffer
address is between memory addresses 0x000A0000 to 0x000BFFFF, which
happens to be the address 640K to 768K. And now more modern AGP video
cards have an alternative video buffer range that you'll notice
FA000000 to FBFFFFFF (corresponding to 4000MB to 4032MB).

I tried porting the data out directly but had no effect on my VGA
port.


The other thing you haven't considered is that you're running under
Windows. Windows or any other Protected mode operating system, such as
Linux, will automatically prevent you from accessing these ports and
memory locations directly. The OS will manage these access itself, and
it will prevent user-level programs from gaining access to these
things and screwing up the display.

Yousuf Khan

  #3  
Old August 26th 03, 06:49 PM
Ian Stirling
external usenet poster
 
Posts: n/a
Default

Sonu wrote:
Greets all,

Thanks ffer the ideas which you had dropped to me in the box.
Well, I need to tell you all that I wish to access the port from my
User Aplllication but through a proper port driver which I already had
made.

snip
I need to know how can I pass Data through the DSUB channel along the
SDA pin of the VGA cabvle which plugs into the monitor.Please find me
some way of doing this.

Any Idea are welcome.


IIRC, you need to go through the VESA bios, there is no standard way of
accessing the DDC info through registers.

You are probably going about this the wrong way.
Do some googling for
DDC VESA
and your language/OS of choice.

--
http://inquisitor.i.am/ | | Ian Stirling.
---------------------------+-------------------------+--------------------------
Lord, grant me the serenity to accept that I cannot change, the
courage to change what I can, and the wisdom to hide the bodies
of those I had to kill because they ****ed me off. - Random
 




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Newbie: OC Advice: AMDXP2200 CPU Donald Bock Overclocking AMD Processors 2 March 12th 05 12:14 AM
presario 4506: How to Enable Easy Access Keys John7 Compaq Computers 0 April 1st 04 01:48 AM
A7V333 : USB 2.0 ports stopped working in Win XP SP1 Misk Asus Motherboards 10 October 27th 03 08:23 AM
Building a new system: SCSI or IDE? Jonathan Sachs Storage (alternative) 48 August 5th 03 07:11 PM
ASR-8400 Modem/Router/4 Port 10/100 Swith - Having Problems.... Carlos Arruda Asus Motherboards 11 July 21st 03 03:27 AM


All times are GMT +1. The time now is 06:39 AM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 HardwareBanter.
The comments are property of their posters.