PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Chipdesigner/-hersteller


BAGZZlash
2009-02-27, 14:43:45
Für 'ne Funktion in RBE möchte ich BIOSes diverser nicht-ATI GraKas erkennen können. Dafür muss ich wissen, was für Hersteller es überhaupt noch gibt, deren Karten man in einem PC der letzten 10 Jahre finden könnte. Ich brauche also nicht die "Sapphires", "Palits" usw. dieser Welt (also keine GraKa-Hersteller), sondern Chipdesigner.

Bisher habe ich:

ATI Technologies
Intel
S3 Graphics
XGI Technology
nVidia
3Dfx
Matrox
SiS


/edit 1: SiS hinzugefügt, danke Sorkalm! :smile:

Außerdem noch

Phoenix


weil das "Grafikkarten-BIOS" in der VMWare von denen ist. Btw: Was steckt denn in anderen Virtualisierungslösungen so drin?

Was fehlt mir noch?

Sorkalm
2009-02-27, 14:51:27
SiS bis 2003 (ging dann in XGI über).

Gast
2009-02-27, 16:24:30
AMD ab Ende 2006.

Coda
2009-02-27, 16:28:00
Öh, wieso checkst du nicht einfach anhand der PCI-Vendor-ID, dass die Karte definitiv von ATI ist und nicht andersrum?

Mr. Lolman
2009-02-27, 16:29:23
http://de.wikipedia.org/wiki/Kategorie:Grafikchip-Hersteller

BAGZZlash
2009-02-27, 17:18:09
Öh, wieso checkst du nicht einfach anhand der PCI-Vendor-ID, dass die Karte definitiv von ATI ist und nicht andersrum?

Wenn die Karte nicht von ATI stammt, ist dies natürlich leicht festzustellen. Von wem sie dann aber statt dessen stammt, ist nicht so leicht 'rauszufinden: Die Vendor-ID steht ja nicht bei jedem Hersteller an der gleichen Stelle im BIOS. Die ID zu suchen und dann anhand einer Datenbank abzugleichen, ist mir zuviel Arbeit (und ist auch fehleranfällig). Also suche ich einfach im BIOS nach Strings, schließlich hat jeder Hersteller irgend 'ne Copyright-Message da drin.


http://de.wikipedia.org/wiki/Kategorie:Grafikchip-Hersteller

Danke für den Link, da hätt' ich ja mal selbst drauf kommen können. (y)
Hm, der Markt ist hier wirklich übersichtlich. Bei fast allen Herstellern, die man da anklicken kann, steht am Ende sowas wie


... und dann hat [Hersteller] Ende [Jahreszahl] den Geschäftsbetrieb eingestellt.


oder so ähnlich.

Okay, dann interessieren mich jetzt aber noch die Virtualisierungslösungen. Aber da mach' ich wohl besser mal 'nen Thread auf, wenn RBE v1.20 draußen ist. Davon ab: Das ist ja nun auch wirklich nicht so wichtig... :rolleyes:

Coda
2009-02-27, 17:21:45
Die Vendor-ID steht ja nicht bei jedem Hersteller an der gleichen Stelle im BIOS.
Nein, aber es gibt entsprechende APIs um diese auszulesen:
http://msdn.microsoft.com/en-us/library/aa490175.aspx etc.

Die ID zu suchen und dann anhand einer Datenbank abzugleichen, ist mir zuviel Arbeit (und ist auch fehleranfällig).
Es gibt genau eine Vendor-ID pro Hersteller. Die wird von der PCI SIG vergeben. Das ist eindeutig die sauberere Lösung.

BAGZZlash
2009-02-27, 17:33:42
Nein, aber es gibt entsprechende APIs um diese auszulesen:
http://msdn.microsoft.com/en-us/library/aa490175.aspx etc.

Das funktioniert aber über den Treiber, also nur auf einem Rechner, wo die entsprechende GraKa auch läuft. Wenn das BIOS fremd in RBE geladen wird, dann nicht.


Es gibt genau eine Vendor-ID pro Hersteller. Die wird von der PCI SIG vergeben. Das ist eindeutig die sauberere Lösung.

Das mag stimmen. Allerdings ist hier wirklich das Schlimmste, was passieren kann, dass eine MessageBox ausgegeben wird, in der ein falsch erkannter Hersteller steht. Er wird keine Entscheidung im Code auf Basis dieser Erkennung durchgeführt.
Letzten Endes funktioniert diese Quick&Dirty-Lösung zufriedenstellend, und es ist ja auch nicht so, als hätte ich mir die Gedanken, auf die Du hier kommst, nicht vorher schon selbst gemacht.
So, wie es jetzt ist, wird der Hersteller entweder korrekt erkannt, oder er ist eben unknown. Hab' das Ding aber schon auf ein paar Kisten getestet, bis jetzt hat's immer geklappt. :smile:

Brimborium
2009-02-27, 17:57:46
Eher aus der kuriosen Ecke und wird daher wohl nicht auf der Wikipedia-Liste aufgeführt: der Videoprozessor (IMSGP2000) auf Infotronics Quasar-Karten ist wohlmöglich auch hausgebacken. Aber keine Ahnung, ob die noch produziert werden.

http://www.infotronic.com/images/quasar2.jpg
http://pc-resellers.de/ebay/Grafikkarten/infotronic.jpg
http://web.archive.org/web/20050219125502/http://www.infotronic.com/quasar_family.htm

Vendor ID: 0x105F Infotronic America Inc

=Floi=
2009-02-27, 19:37:04
hier noch einen netten Code

// Example code to retrieve vendor and device ID's for the primary display
// device.
//
// NOTE: Visual Studio 6 does not ship with a winuser.h that defines the
// EnumDisplayDevices function so in order to compile this code, you'll
// need to install the Platform SDK.

#include <windows.h>

#include <string>
#include <iostream>

using namespace std;

bool GetDeviceIdentification(string &vendorID, string &deviceID)
{
DISPLAY_DEVICE dd;
dd.cb = sizeof(DISPLAY_DEVICE);

int i = 0;
string id;

// locate primary display device
while (EnumDisplayDevices(NULL, i, &dd, 0))
{
if (dd.StateFlags & DISPLAY_DEVICE_PRIMARY_DEVICE)
{
id = dd.DeviceID;
break;
}

i++;
}

if (id == "") return false;

// get vendor ID
vendorID = id.substr(8, 4);

// get device ID
deviceID = id.substr(17, 4);

return true;
}

int main(void)
{
string vendorID;
string deviceID;

if (GetDeviceIdentification(vendorID, deviceID))
{
cout << "Vendor ID: " << vendorID << endl;
cout << "Device ID: " << deviceID << endl;
}
else
cout << "Unable to locate device information" << endl;

return 0;
}

BAGZZlash
2009-02-27, 20:39:38
hier noch einen netten Code

// Example code to retrieve vendor and device ID's for the primary display
// device.
//
// NOTE: Visual Studio 6 does not ship with a winuser.h that defines the
// EnumDisplayDevices function so in order to compile this code, you'll
// need to install the Platform SDK.

[...]




Vielen Dank, aber es gilt das vorhin schon gesagte:
Damit kann man nur die IDs der laufenden Karte ermitteln; nicht die eines fremden BIOS.

urbi
2009-02-27, 20:53:42
PowerVR(?) Diese Kyro-Karten halt!

BAGZZlash
2009-02-27, 21:04:13
PowerVR(?) Diese Kyro-Karten halt!
Danke. Ob man da wohl mal ein BIOS in die Finger kriegen kann? Hat hier jemand so 'ne Karte?

anddill
2009-02-27, 23:15:36
Rendition (Veritee)
Trident (Blade3D)
Real3D (i740)

PS: Ich hab eine Kyro eingemottet. Muß mal eine AGP-Testkiste scharfmachen und mal versuchen das BIOS auszulesen.

Gast
2009-02-27, 23:27:26
Da wir mittlerweile weit aus diesem Jahrtausend heraus sind:
PowerVR (PCX)?
3DLabs (Permedia, Gamma, GLint, Wildcats)?
Chromatic mPact!

Carsten

Gast
2009-02-27, 23:28:30
Oh - und Power-VR-BIOSe gibt's hier:
http://www.mitrax.de/?cont=artikel&aid=29&page=2

BAGZZlash
2009-02-27, 23:56:53
Rendition (Veritee)
Trident (Blade3D)
Real3D (i740)

PS: Ich hab eine Kyro eingemottet. Muß mal eine AGP-Testkiste scharfmachen und mal versuchen das BIOS auszulesen.

Danke. Der Gast weiter unten hat ja schon Kyro-BIOSes verlinkt. Wenn Du aber trotzdem 'ne AGP-Kiste am Start hast, meld' Dich mal. Dann helf' ich Dir mit dem BIOS.


Da wir mittlerweile weit aus diesem Jahrtausend heraus sind:
PowerVR (PCX)?
3DLabs (Permedia, Gamma, GLint, Wildcats)?
Chromatic mPact!

Carsten

Danke. Wahnsinn, was Ihr hier für Kuriositäten zusammentragt! :smile:(y)


Oh - und Power-VR-BIOSe gibt's hier:
http://www.mitrax.de/?cont=artikel&aid=29&page=2

Super, vielen Dank! (y)

Coda
2009-02-28, 12:04:41
Das funktioniert aber über den Treiber, also nur auf einem Rechner, wo die entsprechende GraKa auch läuft. Wenn das BIOS fremd in RBE geladen wird, dann nicht.
Ah okay. Das erklärt die Sache.