Eigener Treiber für OPTi 929 Soundkarten

  • Unbedingt in eine Doku zum Treiber dazu schreiben !

    Ich habe mir schon ein paar Notizen dafür gemacht und eine erste Readme liegt bei. :)




    Für alle mit OPTi 82C924 habe ich hier auch schon eine neue Version:OPTI924 Treiber v0.2.zip
    Ich habe den aktuellen Treiber gemäß des Datenblattes für den 924 angepasst und die veränderten Ports bei Plug and Play berücksichtigt. Da ich aber selber keine Karte mit dem Chip habe, kann ich nichts testen. Also keine Ahnung, ob alles so funktioniert, wie es soll :)

    Meine DOS-Rechner:

    Kleiner Industrie-486er mit 100 MHz (Intel 80486DX-4), 32 MB SD-RAM, Diamond SpeedSTAR 24 und SB 16 ( CT2770 ) + TNDY

    "Frankenstein" Pentium II mit 266 MHz, Elsa Winner 1000 TrioV + Voodoo I, SB 16 (CT2290) + Yamaha DB50XG


    Von mir geschriebene DOS-Programme gibt es hier.

  • Ich glaube ich hab noch wo eine liegen, muss ich mal gucken. Sollte ich die doppelt haben, kannst du die haben, wenn du willst.

    Danke für das Angebot. Das nehme ich gerne an.
    Ich bin auch gerne bereit zu tauschen. Hätte hier z.B. noch mehrere SB16 Vibra, SB16 kompatible Karten mit ALS100 Chip und noch einige andere liegen.

    Meine DOS-Rechner:

    Kleiner Industrie-486er mit 100 MHz (Intel 80486DX-4), 32 MB SD-RAM, Diamond SpeedSTAR 24 und SB 16 ( CT2770 ) + TNDY

    "Frankenstein" Pentium II mit 266 MHz, Elsa Winner 1000 TrioV + Voodoo I, SB 16 (CT2290) + Yamaha DB50XG


    Von mir geschriebene DOS-Programme gibt es hier.

  • Ich werde heute oder morgen noch eine Version mit zwei kleinen Bugfixes hier einstellen.


    Ich habe gestern Abend nochmal ein paar Spiele getestet und dabei ist mir ein kleiner Bug bei der Initialisierung vom Midi UART-Modus aufgefallen.
    Nichts größeres, aber manche Spiele (z.B. Doom) erkennen die Soundkarte dadurch erst bei einem erneuten Spielstart, wenn GM-Musik benutzt wird.
    Auch habe ich es beim Einbau der Tastatursteuerung im Setup geschafft, dass das Setup abstürzt wenn noch keine cfg-Datei im Verzeichnis vorhanden ist.
    Zwei blöde kleine Fehler, die aber zum Glück schnell zu beheben sind. :)


    Auch werde ich noch meine Liste einstellen, welche der von mir getesteten Spiele mit welchen Einstellungen am besten laufen.

    Meine DOS-Rechner:

    Kleiner Industrie-486er mit 100 MHz (Intel 80486DX-4), 32 MB SD-RAM, Diamond SpeedSTAR 24 und SB 16 ( CT2770 ) + TNDY

    "Frankenstein" Pentium II mit 266 MHz, Elsa Winner 1000 TrioV + Voodoo I, SB 16 (CT2290) + Yamaha DB50XG


    Von mir geschriebene DOS-Programme gibt es hier.

  • Hab ich noch gar nicht testen können, bisher. Aber nun habe ich wieder mehr Zeit. Danke für deine Akribie :)

  • Habe gerade den Download im ersten Beitrag aktualisiert. :)
    Version 1.1 behebt, wie schon gesagt, ein paar blöde kleine Fehler


    Behoben wurden:
    - Bei der Sound Blaster Initialisierung wurden der Zugriff auf das Codec nicht wieder gesperrt (Manche Spiele erkennen dadurch keinen Sound Blaster)
    - Stereo/Mono wurde in bestimmten Situationen nicht korrekt gesetzt.
    - MPU-401 wird nun korrekt initialisiert.
    - Option "/INFO" überarbeitet. Zeigt nun die Codec Revision und das aktuell im Codec eingestellte Format für Audiodaten



    Bei den meisten Spielen, die mit diesen Soundkarten Probleme haben, hilft es "Automatic Volume Control" im Setup auszuschalten.
    Einige wenige Programme brauchen die Einstellung aber zwingend aktiviert! Zum Beispiel das Sound Blaster Pro Testprogramm von Creative....
    Mit den Einstellungen probiere ich bei Gelegenheit auch noch weiter rum, vielleicht bekomme ich ja noch mehr Spiele dazu, nicht mehr herumzuzicken. :D



    Hab ich noch gar nicht testen können, bisher. Aber nun habe ich wieder mehr Zeit. Danke für deine Akribie :)

    Ich freue mich auf dein Feedback :)

    Meine DOS-Rechner:

    Kleiner Industrie-486er mit 100 MHz (Intel 80486DX-4), 32 MB SD-RAM, Diamond SpeedSTAR 24 und SB 16 ( CT2770 ) + TNDY

    "Frankenstein" Pentium II mit 266 MHz, Elsa Winner 1000 TrioV + Voodoo I, SB 16 (CT2290) + Yamaha DB50XG


    Von mir geschriebene DOS-Programme gibt es hier.

  • Am Wochenende habe ich mich nochmal ein bisschen mit dem Treiber befasst, hier und da noch ein bisschen optimier, Unterstützung für OPL4 eingebaut und noch mehr Einstellungsmöglichkeiten ergänzt. :)
    Neu hinzugekommen ist auch die Möglichkeit, per Kommandozeile zwischen Stereo und Mono umzuschalten. Damit kann man sich jetzt einfach Batchdateien für die Spiele basteln, die eine Sonderbehandlung brauchen (Mono oder Stereo, WSS oder SB, dass geht jetzt alles per Kommandozeile).


    Den Link zur neuen Version (1.21) findet ihr wieder im ersten Beitrag dieses Threads.
    Ich habe keine Fehler mehr entdeckt und bin mit meinem Treiber nun sehr zufrieden. Meine Shuttle HOT-233 läuft absolut perfekt damit und die Miro FM10 zu 95%
    Für mich ist das Projekt "eigener Treiber" damit jetzt auch erstmal abgeschlossen. Es sei denn, ihr findet noch üble Bugs. Wenn ich denn die entsprechenden Karten in die Finger kriege, werde ich noch weiter an einer Anpassung auf ähnlich aufgebaute OPTi Chips und die "großen" Miro Soundkarten basteln, aber ansonsten ist der Treiber jetzt fertig.


    Eine Beschreibung liegt als Textdatei (Deutsch/Englisch) bei und für euch gibt es auch noch eine ausführliche Dokumentation als PDF (auch im ersten Beitrag).
    Den Quellcode der neusten Version stelle ich natürlich auch wieder bei Github zur Verfügung.


    Hier noch ein paar Bilder:





    Und jetzt bin ich sehr gespannt auf eure Meinungen und euer Feedback dazu :)

    Meine DOS-Rechner:

    Kleiner Industrie-486er mit 100 MHz (Intel 80486DX-4), 32 MB SD-RAM, Diamond SpeedSTAR 24 und SB 16 ( CT2770 ) + TNDY

    "Frankenstein" Pentium II mit 266 MHz, Elsa Winner 1000 TrioV + Voodoo I, SB 16 (CT2290) + Yamaha DB50XG


    Von mir geschriebene DOS-Programme gibt es hier.

    Einmal editiert, zuletzt von Dragonsphere ()

  • Wie immer sehr gute Arbeit, ich bin leider immer noch nicht dazu gekommen den Treiber richtig zu testen.


    Welche Karten suchst du denn um den Treiber zu erweitern? Ggf. könnte man dir sonst einfach eine leihen?

  • Man kann eine Liste einpflegen in der alle getesteten Karten (Hersteller, Model, FCC-ID) eingetragen sind. Es gibt ja doch schon einige Varianten.

    Meine Vintagerechner: XT (NEC V20) & Book8088 (v2, VGA) #-# Epson XT portable #-# HighScreen 286@16MHz #-# L&P 286-20MHz #-# Cyrix 386DRx²-33/66 #-# ESCOM Black Slim Am386DX@40MHz #-# SCT Proline Cyrix486DX2@66 #-# Cyrix 5x86@100 VIP #-# Libretto 50CT #-# && 1x Sockel 8 & 3x Sockel4 (60MHz + 66MHz)

  • Wie immer sehr gute Arbeit, ich bin leider immer noch nicht dazu gekommen den Treiber richtig zu testen.


    Welche Karten suchst du denn um den Treiber zu erweitern? Ggf. könnte man dir sonst einfach eine leihen?

    Danke :)


    Wenn mir jemand seine Karte leihen oder gegen eine von meinen tauschen möchte, nehme ich das gerne an.


    Ich hatte ja schon angefangen, den Treiber auf den 82c924 anzupassen. Das geht sehrt gut, da der interne Aufbau der Chips sehrt ähnlich ist.
    Der 924 ist quasi nur ein 929 mit einigen zusätzlichen Registern und Plug and play Funktion. Aber da "Plug and Pray" ja gerne mal zicken macht und das natürlich erst recht, wenn ich daher komme und ganz andere Einstellungen in den Chip schreiben möchte, wäre es schon sehr gut, da selber etwas rumprobieren zu können.
    Klappt alles mit dem 924, dann wäre es eine Kleinigkeit, auch den 925 zu unterstützen. Der ist ein 924 mit zusätzlicher, integrierter "OPTIFM" Ohrenfolter.


    Ebenfalls sollte es einfach sein, die älteren Karten mit 82c928 oder Mozart zu unterstützen. Dafür finde ich zwar keine Datenblätter, aber ich ahbe ja den Quellcode vom Linux Treiber. Auch hier würde ich aber gerne selber ausprobieren und testen können.


    Da die späteren Miro-Treiber für DOS ja so besonders lieblos gemacht sind und für mich überhaupt den Auschlag gaben, es selber zu versuchen, würde ich ja auch gerne weitere Miro-Karten unterstützen.
    Bisher habe ich eine Miro FM 10 und eine PCM 10 erfolgreich getestet, aber die größeren haben ja einen zusätzlichen Mixerchip. Für die Programmierung von diesem Chip habe ich sogar schon etwas Quellcode gefunden, aber da brauche ich natürlich auch jemanden, der seine Karte einer Reihe von Tests unterzieht (oder sie mir mal leiht).


    Von mac-daniel habe ich kürzlich eine Karte mit 82c931 ertauscht, damit habe ich auch schon etwas rumprobiert, aber der Chip unterscheidet sich schon sehr von den älteren. Obwohl ich alles entsprechend dem Datenblatt und des Linux-Treibers gemacht habe, bekomme ich keinen Zugriff auf den Chip.... Da gilt es also erstmal noch grundlegende Dinge rauszufinden und es ist leider mehr Aufwand, als ich gehofft hatte.


    Man kann eine Liste einpflegen in der alle getesteten Karten (Hersteller, Model, FCC-ID) eingetragen sind. Es gibt ja doch schon einige Varianten.

    Hatte ich auch schon überlegt. Man müsste nur auch reinschreiben, welches Spiel mit welchen Einstellungen läuft. Und das macht es recht komplex. Immerhin kannst du mit meinem Treiber Mono, Stereo, Samplerate und diverse andere Funktionen frei anpassen....
    Ich überlege mir mal was... Leider sind hier excel-Dateien hier ja auch nicht erlaubt. Sonst hätte ich meine Tabelle schon hochgeladen.

    Meine DOS-Rechner:

    Kleiner Industrie-486er mit 100 MHz (Intel 80486DX-4), 32 MB SD-RAM, Diamond SpeedSTAR 24 und SB 16 ( CT2770 ) + TNDY

    "Frankenstein" Pentium II mit 266 MHz, Elsa Winner 1000 TrioV + Voodoo I, SB 16 (CT2290) + Yamaha DB50XG


    Von mir geschriebene DOS-Programme gibt es hier.

  • @Jigo
    Danke Dir! Dann muss ich da für den 924 wohl nochmal ran :D


    Hat deine Karte einen Jumper, um sie auf Plug and Play zu setzen? Falls ja, könntest du es mal mit ausgeschaltetem PnP probieren.
    Wenn ich Zeit finde, probier ich am nächsten Wochenende mal, den Treiber weiter anzupassen.


    Habe auch neulich ein Konvolut an Soundkarten für einen guten Preis bekommen und da ist auch eine mit 82c924 Chip bei. Hatte aber noch keine Zeit die auszuprobieren.
    (Eigentlich wollte ich meine Sammlung an ISA Soundkarten ja verkleinern.... und was mache ich? Gebe zwei weg und kaufe fünf neue - dieses Hobby ist schlimm! :D )

    Meine DOS-Rechner:

    Kleiner Industrie-486er mit 100 MHz (Intel 80486DX-4), 32 MB SD-RAM, Diamond SpeedSTAR 24 und SB 16 ( CT2770 ) + TNDY

    "Frankenstein" Pentium II mit 266 MHz, Elsa Winner 1000 TrioV + Voodoo I, SB 16 (CT2290) + Yamaha DB50XG


    Von mir geschriebene DOS-Programme gibt es hier.

  • Vielleicht liegt es ja am AD Chip.
    Du hast einen 45JP und in der Software wird wohl nach einem 48 gesucht.

  • Ne, am AD-Codec liegt es sicher nicht. Ich habe ja auch eine Karte mit 82c929 und AD1845 und die läuft ganz fabelhaft mit meinem Treiber.
    Der AD1845 ist eine Weiterentwicklung des AD1848 (die Buchstaben am Ende K, JP... geben die Revision an), aber voll abwärtskompatibel.
    Zu den Unterschieden zwischen den Codecs (AD1848, 1845, CS...) hatte ich hier auf Seite 5 mal was geschrieben.


    Die Screenshots zeigen ja auch, dass der Codec initialisiert werden kann. Nur lässt sich der 82C924 nicht konfigurieren und es stehen weder SB noch WSS an den eingestellten Adressen zur Verfügung.
    Ich schätze, die Karte muss wirklich erst in den non PnP Modus geschaltet werden, damit Werte in die Register geschrieben werden können. Wenn es keinen Jumper gibt, düfte das ja direkt über die Software gehen.

    Meine DOS-Rechner:

    Kleiner Industrie-486er mit 100 MHz (Intel 80486DX-4), 32 MB SD-RAM, Diamond SpeedSTAR 24 und SB 16 ( CT2770 ) + TNDY

    "Frankenstein" Pentium II mit 266 MHz, Elsa Winner 1000 TrioV + Voodoo I, SB 16 (CT2290) + Yamaha DB50XG


    Von mir geschriebene DOS-Programme gibt es hier.

Jetzt mitmachen!

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