Grafikmüll EGA mit Turbo-XT

  • Hab mich nach längerer Zeit wieder mal mit meinem XT-Klon Victor VPC IIc herumgespielt...

    Da ich leider immer noch kein Manual für die DIP-Settings und keine Setup-Disk habe, hat es mich sehr gewundert, dass eine EGA-Karte "einfach so" funktioniert...

    Also nach dem Einschalten kommen mal 12 BIOS-Beeps, jedoch startet er danach ganz normal mit der EGA-Karte als primären Bildschirm und schaltet auf die onboard-Hercules um, sobald man etwas in dem Video-Modus startet...

    Jedoch bekomme ich in den Grafik-Modi immer nur Müll, egal ob CGA oder EGA und auch nach Verlassen von NC4 erscheinen wirre Zeichen am Bildschirm...


    Das macht er, wenn ich ihn mit 7,16MHz laufen lasse...


    Starte ich ihn mit 4,77MHz, läuft alles vollkommen normal...


    Da ich zuerst auf GrafikRAM-Fehler getippt habe, habe ich mal die RAM-Chips getauscht, was aber keine Änderung brachte...

    Auf der Karte finde ich nur "Auto Mode HEGA" und die Chip-Bezeichnung "PC-Chips G3101"...

    Mit den DIP-Switches habe ich auch schon verschiedene Einstellungen ausprobiert, ändert aber auch nichts...


    Eine VGA-Karte läuft sowohl mit 4,77 als auch mit 7,16MHz vollkommen normal...

    Auch läuft die EGA-Karte in einem 286er vollkommen normal...

    Aus Gründen würde ich aber gerne die EGA-Karte in dem XT betreiben...

    Irgendwer ne Ahnung, was da sein könnte, bzw wie ich die Karte mit 7,16MHz zum laufen kriege?


    schubl

  • schubl

    aus dem Bauch heraus klingt dies fuer mich, als wuerde die Karte vom Victor mit dem hoeheren Takt versorgt, die sie nicht vertraegt und der 286 macht dies evtl nicht.

    Oder die Karte nutzt im schnellen Modus mehr Strom, die der Victor nicht liefert, aber der 286er schon.

  • Das könnte aber doch auch sein, dass z. B. die Adressdekodierung ab einem gewissen Takt nicht mehr geht.


    Evtl könnte man da mit einem Tausch der ICs was machen. Wenn die Leiterbahnen das Problem sind, wird es aber schwierig.

  • Das könnte aber doch auch sein, dass z. B. die Adressdekodierung ab einem gewissen Takt nicht mehr geht.

    Dagegen spricht, dass die Karte in einem 286er und 386er problemlos funktionieren und da ist der ISA-Bus auch auf mehr als 4,77MHz getaktet...

    Müsste jetzt genau nachschauen, aber ich tippe mal auf 8MHz...

    Die getauschten RAM-Chips haben auch 100ns Zugriffszeit statt der 120ns der Originalchips...


    schubl

  • ISA-Zyklen orientieren sich (fast) nicht am Bus-Takt. Die Timing-Beziehungen auf dem ISA-Bus gehen darauf, wann die Kommando-Pins wie /MEMR, /MEMW, /IOR oder /IOW aktiviert und deaktiviert werden, und lassen den Takt außen vor. Der Bustakt spielt nur im Zusammenhang mit 0WS (haben echte 8-bit-Karten eh nicht, da diese Funktion erst im AT eingeführt wurde) und als Sampling-Rate für IOCHRDY eine Rolle. Ein 8088-System lässt den ISA-Bus in der Regel direkt auf dem Prozessortakt laufen, so dass ein 8-Bit-Speicher-Zyklus 4 Prozessortakte dauert, das sins 838ns. Ein Zyklus kann verlängert werden, wenn die Karte IOCHRDY auf low zieht, was EGA-Karten häufig auch tun.


    In AT-Computern werden 8-Bit-Zyklen in der Regel so viele Wait States hinzugefügt, dass sie etwa die Geschwindigkeit von 8-Bit-Zyklen im IBM-PC bei 4,77MHz haben. Karten, die schnellere Zugriffe erlauben (der 286 kann Speicher- und I/O-Zugriffe in 2 Prozessortakten abwickeln) müssen sich als 16-Bit-Karten zu erkennen geben, und dann auch 16 Bit Busbreite unterstützen (Standard auf den meisten AT-Mainboards ist dann 1WS), oder durch früheres Bedienen der 0WS-Leitung den Waitstate-Generator auf dem Mainboard überstimmen.


    Das Ergebnis ist, dass 8-Bit-Zyklen in einem 8MHz-AT möglicherweise deutlich langsamer sind (durch mehr Wait-States) als in einem 7,16MHz-PC/XT. Es scheint, dass die EGA-Karte in diesem Thread mit dem verkürzten ISA-Timing bei 7,16MHz nicht klar kommt.


    Mein 10-MHz-Turbo-XT-Mainboard fügt bei 10MHz zu Speicherzyklen auf dem ISA-Bus (nicht aber im konventionellen Arbeitsspeicher) immerhin einen Waitstate hinzu, so dass die Zykluszeit von 838ns im Standard-Modus nicht auf 400ns sinkt, sondern immerhin 500ns übrig bleiben. Meine Genoa-basierte Super-EGA (kann bis zu 800x600) kommt mit dem 10MHz-Timing auf dem Board problemlos klar. Das Testen einer anderen EGA-Karte auf Kompatibilität mit dem 7,16MHz-Bustimings des Boards ist meiner Ansicht nach vielversprechend.