F65535A

Hallo,

hat jemand ein Datenblatt vom F65535A (Hersteller: CHIPS) und könnte es mir zukommen lassen oder weiss einen Ort im Web wo ich das finde? Das Teil ist ein ISA VGA Grafikcontroller und steckt auf einer ISA Karte um einen älteren Kassentouchscreen anzusteuern. Ein Linux (Slackware 11) fährt damit im Textmodus auch schön hoch, erlaubt aber nicht im Framebuffermode (vga=0x301) zu starten. Von daher weiss ich nicht sicher, ob das Teil überhaupt richtige 640x480 Grafik kann (512K RAM sind immerhin drauf...) und da ich es sowiso selbst ansteuern möchte wäre so ein Datenblatt recht hilfreich.

Danke, Michael

Reply to
Michael Dreschmann
Loading thread data ...

Dieser Chip kann das m.W. locker. Hier ist das Datenblatt:

formatting link

Falls es mit dem Download nichts wird, habe ich das Datenblatt vorlaeufig auf meine Festplatte gelegt. Kann Dir den File dann per Email oder ftp schicken, aber das Dingen ist fast 20MB gross und m.W. packt das eine gmx Adresse nicht.

--
Gruesse, Joerg

http://www.analogconsultants.com/

"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
Reply to
Joerg

Was passiert mit "vga=scan"?

Reply to
Heiko Nocon

Kein (oder zu altes) VESA-BIOS? Das braucht es nämlich für den VESA-Framebuffer. (Na, wer hätte das gedacht.)

Meine alte ISA-Grafikkarte mit ebenfalls einen halben Megabyte RAM hatte damals nur ein VESA 1.1-BIOS, mit dem sich die meisten DOS-Bildbetrachter etc. nicht anfreunden konnten.

Gruß Henning

Reply to
Henning Paul

On Wed, 13 Aug 2008 18:01:23 -0700, Joerg

Habs bekommen, vielen Dank. Bin beeindruckt, wie hasten das gefunden? Und jetzt sagt nicht, ich hätte nit richtig gesucht... ;)

Gruss, Michael

Reply to
Michael Dreschmann

Ich meine mich zu erinnern, dass er da einige Textmodes fand, aber nix grafisches. Kann jetzt im Moment gerade nicht prüfen, weil ich das Slackware durch n Fedora ersetzte, damit Wine mal anständig läuft..

Gruss, Michael

Reply to
Michael Dreschmann

Hm, ich seh da jetzt grade gar kein BIOS drauf (also als externen Chip). Aber ich denke mal mit dem Datenblatt von Jörg komm ich da weiter. Aber wo gerade die Linux Experten hier versammelt sind: Es geht darum nacher drei von diesen Karten in einem Rechner zu betreiben. Soweit ich weiss kann ISA kein PnP und man muss die Adressen eventuell per Jumer zuweisen, wenns die denn gäbe. Wenn ich nun zwei Karten einstecke erhalte ich auf beiden Monitoren das gleiche Bild, daher gehe ich bis jetzt mal davon aus, dass die Karten den selben Adressbereich nutzen und das so ne art Standart für ISA Grafikkarten ist. Der Gedanke war nun ein, zwei Adressleitungen von mind. zwei Karten umzubiegen, so dass sich die Adressbereiche nicht mehr überlappen und dann selbst noch bischen zu programmieren (will eigentlich nur 640x480 mit so vielen Farben wie möglich, in dem Fall wohl 8 Bit). Meint ihr das klappt so?

Gruß Michael

Reply to
Michael Dreschmann

Dann dürftest Du aber bis zum Start des Linuxkernels gar nichts sehen können, das Mainboard-BIOS und z.B. DOS nutzen die INT10-Routinen des Grafik-BIOS, um überhaupt etwas auf dem Bildschirm darstellen zu können.

Ja. Multihead-Betrieb ist damals kein Thema gewesen.

Ja. Allerdings hast Du Glück, daß Du überhaupt etwas siehst, denn wenn mehrere Karten auf derselben Adresse laufen, dann arbeiten ihre Bustreiber u.U. gegeneinander, und das will man vermeiden.

Das eine Problem sind die VGA-Register, die kann vielleicht noch mit geringem Aufwand umbiegen, das andere sind die festen Speicherfenster von VGA (ab 0xA000:0x0000 zum Beispiel), ist die Frage, ob man das hinbekommt. Falls ja, sollte das ganze mit spezieller Programmierung funktionieren. Gruß Henning

Reply to
Henning Paul

Ok, dann kann ich es ja wieder vom Server hier loeschen. Eigentlich braucht man nur drei Worte eingeben, "datasheet + F65535 + Chips", so wie hier:

formatting link

Dann sehe ich immer nach grossen Haendlern wie China-IC und diesmal war es gleich der dritte Link in der Liste.

Viel Erfolg bei Programmieren.

--
Gruesse, Joerg

http://www.analogconsultants.com/

"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
Reply to
Joerg

Es gibt durchaus noch andere Framebuffertreiber als vesafb. Für eine VGA-Karte ohne VESA-BIOS kommt z.B. der vga16fb in Frage.

Der bringt zwar nur 640x480x16C@60Hz, aber immerhin Vollgrafik statt nur Text.

Reply to
Heiko Nocon

Wird nicht ganz einfach.

VGA hat fixe I/O-Ports für die verschiedenen Systemkomponenten (siehe Seite

33 des Datenblattes). Die müßtest Du alle ummappen, und zwar nur für Zugriffe in den IO Space, nicht für Zugriffe in den Memory Space. Deswegen geht immer nur genau eine VGA-Karte im System, und das ist bis heute so geblieben.

Mit Ausnahme von sehr alten Grafikkarten kann man bei PCI/AGP/PCIe Grafikkarten den VGA-Teil abschalten. Anfangs brauchte es einen Jumper, später hat das Karten-BIOS das dann softwaregesteuert gemacht. Was dann übrig bleibt, ist ein Framebuffer, dessen Adresslage durch PCI zugewiesen wird, und davon können dann problemlos mehrere in einem Rechner betrieben werden. So können heute mehrere Grafikkarten gleichzeitig in einem Rechner betrieben werden - nur bei einer einzigen ist halt der alte Legacy VGA Teil aktiv.

Bei den alten ISA-Karten kann man den VGA-Teil nicht abschalten, dann wäre ja nichts mehr von der Karte übrig. Du kannst allerdings eine Karte als Hercules Monochrom-Karte betreiben und eine als CGA/EGA-Farbkarte. Das ging damals und war auch vorgesehen. Bei Hercules darfst Du dann aber die obere Hälte des Kartenspeichers nicht benutzen ("Half Modus" hieß das damals). So kommst Du ohne Modifikationen aus, kannst aber die Karten nur beschränkt nutzen, und ob diese historischen Modi überhaupt noch unterstützt werden, ist fraglich.

Grafikkarten für LCDs gibts auch als PCI-Ausführung. Das wäre erfolgversprechender.

Mit freundlichen Grüßen

Frank-Christian Krügel

Reply to
Frank-Christian Kruegel

Das ist nicht korrekt. Es gehen auch mehrere VGA-Karten im System. Aber natürlich nicht unter Benutzung derselben Adressen, egal ob IO oder memory-mapped. Die zusätzliche Karte ist also vorhanden, inklusive sämtlicher IO-Register und Speicherbereiche, aber nur eine Karte im System ist auf den Standard-VGA-Adressen zu erreichen, die anderen halt woanders.

Es ist überhaupt nicht nötig, den "VGA-Teil" abzuschalten. Er muß halt bloß für jede zusätzliche Karte auf andere Adressen gemapped werden. Alle genannten modernen Busse sehen entsprechende Auto-Konfig-Funktionen vor. Das klappt bei IDE-Controllern und das klappt (fast) genauso auch bei VGA-Karten.

Nein, nicht das Karten-BIOS macht das, sondern das Businterface. Dem Karten-BIOS geht's nämlich genauso wie allen anderen Komponenten der Karte: Es hat erstmal garkeine Adressen. Dementsprechend kann natürlich auch keinerlei darin enthaltene Software laufen. Erst nachdem das Businterface mit dem PCI-Hostcontroller ausgekegelt hat, welche ihm genehmen Adressen denn noch frei sind, bekommt auch das Karten-BIOS einen Adressbereich zugewiesen. Gleichzeitig mit allen anderen Komponenten der Karte.

Praktisch gibt es aber zwei Probleme.

1) Das Karten-BIOS (jedenfalls der Int10-Teil) ist nicht lauffähig, wenn es selber und/oder das VGA-Fenster zum Video-RAM der Karte nicht in den im real mode ansprechbaren Adressbereich gemapped werden kann. 2) Das Int10-API (im Gegensatz zum Int13 für oben erwähnte IDE-Controller) sieht mehrere Instanzen eines Videoausgabegerätes überhaupt nicht vor, selbst ein prinzipiell lauffähiges zweites Karten-BIOS könnte sich also nicht mit in den Int10 reinhängen.

Beides hat zur Folge, daß zusätzliche Karten im real mode nicht über die Int10-Schnittstelle angesprochen werden können.

Anders sieht das allerdings im protected mode aus. Da ist es möglich, die Adress"verwirrung" (virtuell) wieder rückgängig zu machen. So ist es z.B. möglich, zwei V86-Tasks einzurichten, in denen je ein unabhängiges DOS läuft. Und jedes dieser beiden DOS hat dann eine echte eigene VGA-Karte zur Verfügung und kann sie über die üblichen Register und auch das Int10-API ansprechen.

Naja, nette Spielerei, aber heutzutage wohl weitgehend sinnfrei.

Der springende Punkt ist jedenfalls: Nix wird abgeschaltet. Es ist nur nicht an den "gewohnten" Adressen zu erreichen.

Reply to
Heiko Nocon

Genau das hab ich unter anderem versucht...

Ok, ich geb mich geschlagen... Du hast vermutlich die einzige Seite gefunden, die ich nicht genau untersucht hab... ;) Ich hab wirklich ne Stunde rumgesucht...

Danke.

Gruß, Michael

Reply to
Michael Dreschmann

Dann musses im Chip sein. Aber ich wusste gar nicht, dass ein call nach INT10 direkt zum ROM der Grafikkarte springt. Is ja abgefahrn...

Das dacht ich auch, aber rubuste Technik aus alten Tagen wird das doch nen kleinen Test lang aushalten war der zweite Gedanke ;)

Naja, einfach die hohen Adressleitungen umbiegen, 16 Bit ISA hat soweit ich weiss doch 16 MB Adressraum. Mit der Frage meinte ich weniger, ob ich ne freie Adresse aufm ISA Bus dafür finde (der is außer den drei VGA Karten frei) sondern ob's da noch andere PC Komponenten gibt deren Adressen auch in diesem Bereich festgelegt (ok, nach Murphy garantiert) sind und mit denen ich dann kollidiere. Dummerweise is das Fedora immernoch nit am laufen und ich kann mir im Moment /proc/iomem nicht angucken... Liegt der ISA Memorybereich denn immer in den ersten 16MB unteren Ende vom 4GB Adressraum oder nach welchem Prinzip werden da ISA, PCI, AGP und Hauptspeicher miteinander verwurstelt?

Gruß, Michael

Reply to
Michael Dreschmann

Naja, irgendwann ist man aus Geschwindigkeitsgründen dazu übergegangen, es ins RAM umzukopieren und an derselben Adresse einzublenden.

Da ist auf jeden Fall einiges festgelegt, schau Dir mal in Ralph Brown's Interrupt List die Liste von IO-Adressen an.

Früher war das auf jeden Fall so, und auch heute blenden PCI/AGP/PCIe-Grafikkarten ihren VGA-Grafikspeicher noch dort ein:

| [~]: cat /proc/iomem | 00000000-0009fbff : System RAM | 0009fc00-0009ffff : reserved | 000a0000-000bffff : Video RAM area | 000c0000-000ccfff : Video ROM | 000cd000-000cefff : Adapter ROM | 000f0000-000fffff : System ROM

(Das "Adapter ROM" dürfte übrigens das vom SATA-Controller sein.)

Hab schon seit Ewigkeiten keine ISA-Karte mehr laufen gehabt.

Gruß Henning

Reply to
Henning Paul

Dazu muß das BIOS nicht auf der GraKa sein. Es war mal eine ganze Weile Mode, BIOS-Erweiterungen für bestimmte Hardware mit ins Mainboard-BIOS zu packen. Diese Hardware lief dann auch ohne eigenes BIOS-ROM auf der Karte. Prominentes Beispiel: ASUS Boards der T2P4 Familie und das SCSI BIOS für den Sym810 Controller.

XL

Reply to
Axel Schwenke

Ich hatte aber den Eindruck, als würde Michael die Karte nicht im dazugehörigen Rechner betreiben.

BTDT, hab' in das BIOS eines Tyanboards mittels eines zwielichtigen Tools das Symbios-Bootrom eines Asus-Boards gebastelt, um von SCSI booten zu können. Es fehlte nur noch das Config-EEPROM, das war aber schnell nachgerüstet:

formatting link

Gruß Henning

Reply to
Henning Paul

Mehr als 16 Bit koennen viele dieser Chips bei 640*480 nicht.

--
Gruesse, Joerg

http://www.analogconsultants.com/

"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
Reply to
Joerg

Der Treiber kann bei 640x480 aber keine 16 Bit, sondern nur 16 colors, also 4Bit.

Das kann jede VGA-Karte, denn dieser Modus entspricht exakt dem VGA-Modus 0x25h.

Reply to
Heiko Nocon

Nun ja, fuer ein Kassen-Display sollte das auch reichen.

--
Gruesse, Joerg

http://www.analogconsultants.com/

"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
Reply to
Joerg

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.