S3 Vision 968 VLB Replica und Entwicklung des VirgeVL

  • Das Geschichte mit ViRGE Treiber bringt mich etwas zum zweifeln.

    Ich habe S3 Trio64V+ Treiber durch IDA Disassembler gejagt und fand paar Stelle, dass etwas mit MMIO (Memory mapped I/O) gefummelt wird.

    Das übersteigt leider meine Software-Fähigkeit, den Ergebnisse von IDA Disassembler 100% sicher verstehen.


    Laut eine User in Vogons wird irgendwo in Treiber VLB und PCI unterschiedlich angesteuert wird. Bei VLB wird es über "alte MMIO" angesteuert und bei PCI wird "alte und neue MMIO" genutzt.

    Dafür fällt diese VLB-Feartures (nur "alte MMIO") beim Virge-Treiber weg. D.H. Ich müsste paar Virge PCI Karte verbauen und gucken, wo ihre MMIO-Basisadresse liegt und VLB Karte darauf anpassen. Bei Nutzung mit Trio64V+ Chip ist es sofort und einwanfrei verwendbar, bei ViRGE bin ich nicht ganz sicher. Ausser wenn wir jemand findet, der Treiber darauf anpassen könnte, bzw. ich in Treiber bei MMIO-Register umschreiben.

    d.H. Erste Prototyp wird für dieser Geschichte konfigbare Adresse-Dekoder bekommen.
    Ich bin gespannt ob Änderung ins zweite Version fliessen soll oder erste Prototyp taugt sofort.



    Mometan zeichne ich Schaltplan in KiCad.... nur noch Analog-Teil und RAM fehlt , dann ist Schaltplan fertig.


    Grüss

    Matt

  • Heute ist ViRGE 325 PCI Karte angekommt. Messung an Karte wird morgen stattfinden. Dann ist nur eine Frage des Zeit, bis ich Schaltung für Virge VL fertigstelle.



    Spasshalber hatte ich ELSA Winner 2000AVI ROM ins 968VL eingesetzt, es geht und ist minimal stabilier als SPEA ROM ( seltene Glitches bei Mauszeiger Sanduhr & Pfeil )

    Der 968VL hat Modifikation seit 2te Entwurf, damit ELSA ROM ohne Problem einsetzbar. (ELSA Winner 2000AVI ist stark aus dem Reihe getanzt, minimalische Entwurf, nicht mit 2000PRO-x verwechseln)


    Allerdings werde ich ELSA ROM nicht empfehlen, denn hier mit ELSA ROM verschenkt man viel Leistung, sogar zuviel.

    Kein Hardware-Cursor, 50MHz Speichertakt. Ältere VBE. Leistung in DOS etwa über S3 805 Niveau, die ich gestern getestet habe.

    SPEA ROM bringt RAM auf 66Mhz.


    ich habe hier eine lustige Fehlerbild. Ich habe hier 3x 968VL-001 (zweite Entwurf) zusammengelötet. Einer zeigt keine Lebenszeichen und habe ihm dann monatslang links liegen lassen. Erst heute habe ich angeschaut und mir fällt auf, dass es startet, wenn ich VGA Bios ins ISA ROM Karte stecke.


    Also, ich habe ROM-Kreis genauer untergesucht und ungewöhnliche Lötfehler beseitigt. (Spritzer unter Widerstand)

    Dann wacht 968VL auf und redet altägyptisch.:crazy1

    dosreloaded.de/forum/core/attachment/43785/

    Das war nur PD5 Datenleitung zu VRAM, Lötbrücke zu VSS.


    Dieser Karte wird ich mit S3 Vision964 bestücken und testen.


    Grüss

    Matt

  • Ich denke bei dieser Fehlerbild sofort an Speicher-Problem und habe mit Augen an 968-Chip geguckt, da ist was faul und hole Cutter-Messer. Eine Ruck zwischen 2 Pin von 968, dann ist Lötzinn-Brücke weg. Immerhin hat meine Wissen mich schon geholfen: Text/VGA-Modus wird nur 2 Speicher an untere 32bit Speicher-Bus genutzt. -> Fehler auf untere 32bit Bus eingegrenzt. PD5 = Pixeldaten-Leitung Nummer 5

    Richtig harte Fehler war Bildverschiebung, der ich in Vogons beschrieben habe.


    Grüss

    Matt

  • So, Virge-VL Schaltung ist vorläuftig fertig bis auf Dekoder für SAUP1 & SAUP2
    Diese SAUP1/2 Eingang ersetzt Adressleitung A23-A31 und man müsste Dekoder selber basteln, wegen Eingang-Mangel beim ViRGE in VL-Modus.


    Ich überlege manchmal, wie ich mit Dekoder lösen werde.

    Genau wie STB PowerGraph64 VL (Trio64V+ VLB ) machen* -> Virge-Treiber ist dann vielleicht eine Problem ( PCI MMIO ist Grund ). Ich ich blicke disassemblierte Virge-Treiber noch nicht durch.


    Oder ich klatsche FPGA/CPLD als Dekoder drauf , der gleichzeitig als PCI-Device ausgibt.
    PCI-config-space ist ansprechbar über 0xCF8 (Adresse) & 0xCFC (Daten) und ViRGE Treiber kann ihre Basis-Adresse holen und somit ist VLB-Karte wie PCI-Karte zu behandelbar.. aber da gibt eine Problem: "new MMIO" lässt in VL Modus warscheinlich nicht aktivert und wenn Treiber linear ohne Segment Videospeicher zugreifen. Das gibt Salat.


    Ich müsste genau durchlesen, ob mit SAUP1 Zugriff lineare Videospeicher-Zugriff klappt , falls ja -> TOP !
    Kleine Glück in diese Geschichte.. nicht wenige S3D-Spiele läuft mit 16bit Code, wenn ich Disassembler-Ergebnisse so verstehe. 16bit und "new MMIO (= PCI-MMIO)" ist keine Freunde.



    Nächste Salat: PCI Config Space ist 32bit breit und ISA hat nur 16bit Bus und VLB-Anbindung sollte man besser verzichten (wenig Treibleistung)


    Grüss

    Matt


    * STB Powergraph64 VL hat Videospeicher-Adresse 0-8MB, der dann auf 128-136, 256-264 und 384-392MB (inkl. 2GB Offset) gespiegelt ist, Register-Zugriff erfolgt hier dann auf 1GB-Bereich, der alle 8Mb bis 2GB gespiegelt ist. Allerdings greift Trio64V+ VLB Treiber nicht auf Register in 1GB Bereich zu sondern per "old MMIO" ins 0xA0000 Basis-Adresse. Das macht ViRGE Treiber leider nicht.



    PS: Vorschlag mit 74HCT688 oder ähnlich -> vergisst es, Laufszeit des Bausteine ist kritisch lang. EDIT: 74FCT521AT ist schnelle Komparator, tpd = max 4,5ns

    Ich glaube, ich verpasse Dekoder wie STB Karte und gleichzeitig wird es mit Stiftleiste bestückt -> Huckepack-Dekoder.

    4 Mal editiert, zuletzt von matt ()

  • Zurück zu 968VL Karte:


    Ich habe heute "hingerotzte Testsystem" 486DX2-66 Mhz auf 80 MHz übergetaktet und müsste Speichertiming von "Fastest" runter auf "fast" in BIOS runternehmen. Was ich mich besonders freue: Ich habe vergessen Waitstate / over 33Mhz Jumper auf Mainboard gesetzt und 968VL läuft stabil mit 40MHz FSB.


    Grüss

    matt

  • Ich hatte auch mal gelesen dass es wenige Grafikkarten die 40mhz mitmachen. Aber alle die ich zur Verfügung hatte, haben es mitgemacht. Die einzige die ein wenig empfindlich war war die alg2228. Die hab ich jetzt erstmal auf 2mb schnelleren Speicher aufgerüstet. Muss die mal im Windows testen.


    Kannst du mal die 968vl mit speedsys 4.78 testen? Evtl sogar mit einem AMD 5x86? Oder hast du nur einen dx2?

    Zitat

    Ohne Ketchup schmeckt einfach alles gleich!

  • Ich habe doch Intel und AMD DX4 und 5x86 von AMD, aber nicht hier, bei Eltern, ebenso Mainboard mit 3.3V CPU Support.

    50Mhz FSB Test, da müsste ich auch 486DX50 bei Eltern rauskramen.


    Leider kann meine TMC PAT48AV keine 3.3V CPU.

    Grüss

    Matt

  • Da tuns doch auch viele frühe ISA-VGA Karten - die können häufig auch 8 Bit

    Von allen Dingen auf Erden ist die Intelligenz am gerechtesten verteilt: Jeder glaubt, er hätte genug davon.

  • Ich weiß nicht so ganz was du dir vorgestellt hast: Platine, DIY, nichts löten...

    Von allen Dingen auf Erden ist die Intelligenz am gerechtesten verteilt: Jeder glaubt, er hätte genug davon.

  • Übung macht den Meister. Rückschläge akzeptieren und draus lernen.

    Bevor ich mit der ARGUS angefangen hab konnte ich auch nur grobes SMD (QFP160, inzwischen löte ich auch QFP208).

  • Für 8bit ISA ist Trident 9000 schon nicht schlecht. Aber ich habe OAK OTI037C 8 bit VGA Karte schon hier, das müsste reichen.



    Ja, Übung macht Meister, aber auch gute Werkzeug hilft. Erstmal an Schrott Löten üben.



    Neues gibt es: Ich bin krank und habe Zeit...(erkältet, kein Bier-Virus )


    dosreloaded.de/forum/core/attachment/44213/



    Ich habe sogar Ziel gesetzt, dass es nur auf 2 Layer beschränkt wird. So kann ich dann Platine-Kosten massiv nach unten drücken. (reine PCB-Kosten ca 2€ Stück, mit Vergoldung ca 5 € , bei 5 Stück Produktion )


    Ausserdem hat Trio64V+ auf erste Blick bei ihre Pin-Belegung Unfall mit Buchstabensuppe. Aber nein, das ist geniale Entwurf von S3.
    Einfach direkt zu DRAM fädeln. Bei 968 müsste ich schon viel Kopf dafür einsetzen.

    dosreloaded.de/forum/core/attachment/44214/



    Dass Entwurf nicht feststeht, ist es selbstverständlich, ich prüfe in paar Tage nochmals durch, auch Schaltplan.
    Ausserdem müsste ich 2 Layer Platine Impedanz (Videoleitung ist über 20cm lang !! ) herausfinden, es sei denn durch Mathematik.


    Dann haue ich es bei jlcpcb raus und wenn es angekommt ist, dann dürfte eine no name S3 ViRGE dran glauben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!