Re: Where to find AGP details
Nick Maroudas <[email protected]> Sat, 13 Sep 2008 07:06:08 +0300
| Newsgroups | gmane.comp.lang.forth.colorforth |
|---|---|
| Message-ID | <[email protected]> |
Here is a snippet on AGP from the weblogs: Anyway, I was trawling through a rather large book called "PCI System Architecture" from Addison Wesley and in the section entitled "Configuration Registers" they provide an example of how to control a PCI card using what is termed a 'capabilities list'. Guess what the example is that they used? --- AGP! No information of the 3D acceleration bit but all the information on how to turn up the speed of the AGP slot. After testing, there was a substantial increase in the amount of data I could shove accross the connection. (Depending on your system, there may be a larger or smaller increase). Top Xardfir Post subject: Re:A small tutorial in AGP speed setup PostPosted: Mon Oct 25, 2004 6:51 am So here it is - a small tutorial in AGP speed setup. I assume that you have access to the PCI specs and can read/write PCI configuration registers. If you don't, what follows isn't going to be much use. I'm assuming PCI Spec 2.2 or higher. Have no idea if these work on the PCI Ex cards coming onto the market, somehow I doubt it. Firstly, detect the AGP card using standard PCI interrogation. The device ID should be 03h with a subclass code of 02h indicating: display controller - 3D controller. Next from dword 0dh you will find the capabilities pointer. This points to a linked list of 'capabilities' a device may have. At the Dword pointed by the pointer you'll find another Dword with the following format 0-7 Capability ID 8-15 Pointer to next capability (points directly to the next capability in the list) 16 - 31 Feature Specific So what you do is follow the yellow brick list until you come to an entry with the capability ID of 02h or "AGP". By the way, power management (01h), slot id (04h), message signaled interrupts (05h), compactpci (06h) - no information provided. Once you have the appropriate capability, you can now check which AGP version you have. In the same DWord holding the Capability ID - the following bits have the following meaning: Bits 16 - 19 Minor revision Bits 20 - 23 Major revision Now that you're satisfied that you've got an AGP of the appropriate revision in custody, the next DWORD holds the AGP status register(read only unimplemented bits are 0's): Bits 0-2 AGP SPEED This indicates the data transfer rates supported by the AGP card. All data rates supported are indicated by set bits. Bit Transfer rate 0 1X 1 2X 2 4X Top Xardfir Post subject: Re:A small tutorial in AGP speed setup PostPosted: Mon Oct 25, 2004 6:51 am Bit 3 Reserved I don't have an 8X AGP card, but it wouldn't be too much to assume that this is now the 8X rate indicator bit, particularly since 16X cards will never exist due to PCI Ex. On the other hand flipping both 2X and 4X should equal 8X so....... Bit 4 Fast Writes supported. (1 - Yes) Bit 5 Addresses > 4Gbytes. (1 - Yes) This one's for 64 bit systems Mips, Sparc, PowerPC etc. Bits 8 - 6 Reserved Bit 9 Side Band Addressing supported. (1 - Yes) If supported (and activated) increases the speed of AGP accesses. Bits 10 - 23 Reserved Bits 24 - 31 Maximum depth of the AGP request queue supported. Unless you're into the 3D stuff - this is useless. OK, now we know the rates supported and the AGP's capabilities, time to speed things up. The next DWORD is the AGP Command Register where all the good stuff resides and it's format is exactly the same as the status register except for one bit - the activate AGP bit (bit 8). To increase speed, flip one (and only one) bit in the data rate section. For example to enable 4x AGP, set bit 2 of the configuration register then turn on bit 8 and - ZIPPPP, ZAPPPP, KAPOWWWW ***** 4X the data rate ***** Set the Fast-write and side-band addressing bits (if applicable) to get a little bit more speed. Be warned, some cards do not like these enabled when installed on particular chipsets (some VIA boards I believe). So there, a quick and easy way to boost video speed. Many thanks to Tom Shanley, Don Anderson and Addison Wesley for providing the information. "PCI SYSTEM ARCHITECTURE, Fourth Edition, ISBN 0-201-30974-2" I also noticed there's an "AGP ARCHITECTURE, ISBN 0-201-37964-3", *currently unavailable (like all the other AGP programming info)* - Is this some sort of conspiracy? Is there a secret government agency determined to suppress all AGP information? It's not like the PCI hardware specs or anything to do with actual AGP hardware implemenatation. All I want to do is know how to program the blasted thing! P.S. If you use the above for GUI/graphics/whatever development, I'd really be interested in the results obtained. Not necessarily a detailed analysis, just a - "Everything speeded up - happy". Quoting Jason Kemp <[email protected]>: >... " Good morning all, >... " >... " I am trying to understand a little about how the >... " AGP works. How are the >... " AGP memory addresses determined? 0x0f0000000 is >... " for a fujitsu, >... " 0xE8000000 seems to work on my ATI with Josh >... " Grams's 2005 source. Can >... " anyone please point me to a datasheet or article >... " that explains AGP >... " configuration, or is this more a BIOS set-up >... " thing? It appears that ATI >... " don't give away any technical info. I've found >... " >... " http://download.intel.com/design/chipsets/datashts/25302704.pdf >... " but this >... " doesn't shed much light (may be I have to spend >... " more time on that though?) >... " >... " Thanks, >... " Jason >... " >... " >... " --------------------------------------------------------------------- >... " To unsubscribe, e-mail: >... " [email protected] >... " For additional commands, e-mail: >... " [email protected] >... " Main web page - http://www.colorforth.com >... " -- Dr Nicolas George Maroudas Avigdor Meiri 9/1 Sea View Haifa 3 55 00 Israel Tel +972 048 337 315 **************************** A better world is not only possible but on the way. On a quiet day you can hear her breathing. - Arundhati Roy ****