Eigener Treiber für OPTi 929 Soundkarten

  • Ich hab Deinen 924er Treiber meiner Miro PCM12 vorgeworfen, die hat einen OPTi 924. Dein SETUP sagt aber, dass es keine Karte finden würde. Muss ich da vorher noch was machen? PnP vorab selbst initialisieren?

    Ich checke das nachher nochmal, wenn ich etwas Zeit dafür finde. Wie gesagt habe ich selber keine Karte mit 924 und konnte da nichts selber ausprobieren. Ich habe die Erkennungsroutine für den 929 so abgeändert, wie es mir anhand des Datenblatts für den 924 logisch erschien. Anscheinend passt da etwas noch nicht....

    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 denke, ich weiß, wo's klemmt: Der 924 kann zwei Betriebsmodi: PnP und Legacy (nicht-PnP). Im PnP-Modus sind die Mode Control Register im -80h nach vorne verschoben (muss man wissen, steht wohl nicht im Datenblatt). Die PCM12 kann man in den Nicht-PnP-Modus umschalten, indem man das PnP-EEPROM der Karte löscht. Wenn ich das mache, findet SETUP die Karte. Allerdings läuft der Treiber dann immer noch nicht richtig, Test meldet Fehler


    bei IO, DMA und IRQ.

  • leckeres Treiberchen was man da so sieht :Clap


    ich muß jetzt endlich mal meine Testkiste zusammendängeln. Leider fehlt mir Penibelchen ein schönes Gehäuse dazu. Will nen großen ATX-Desktop und
    keinen Minitower aber sowas ist schwer zu finden ... außer dieser Siemens-Fujitsu-Kram ... das ist dort alles so beengt und für Rein-raus-Spielchen (TM)
    nicht geeignet ...


    vG; Daryl_Dixon

  • Ich denke, ich weiß, wo's klemmt: Der 924 kann zwei Betriebsmodi: PnP und Legacy (nicht-PnP). Im PnP-Modus sind die Mode Control Register im -80h nach vorne verschoben (muss man wissen, steht wohl nicht im Datenblatt). Die PCM12 kann man in den Nicht-PnP-Modus umschalten, indem man das PnP-EEPROM der Karte löscht. Wenn ich das mache, findet SETUP die Karte. Allerdings läuft der Treiber dann immer noch nicht richtig, Test meldet Fehler


    Ich habe ja sogar noch schnell die Option eingebaut, um zwischen PnP und Legacy Modus umzuschalten, aber dass der 924 dann seine Portbelegung ändert, dass hatte ich wirklich nicht auf dem Schirm. Danke für den Hinweis.
    Der Test sieht ja schrecklich aus mit den ganzen Fehlern! Aber das bring mich schon mal ein gutes Stück weiter.
    Ich versuche mal, dir heute vor dem Deutschlandspiel noch eine korrigierte Version zu schicken. Könntest du bei Gelegheit, jetzt wo das Setup eine cfg-Datei für den 924 erstellt hat, mal "924init.exe /INIT " aufrufen und mir schreiben, was da für Meldungen kommen?

    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.

  • Ausgabe von 924INIT /INIT


    Das mit der Portbelegung weiß ich auch nur, weil ich es in den ganz alten OSS-Treibern von Linux 2.4 gesehen habe. Da steht's nämlich als Anmerkung im Quellcode drin :D
    Mach Dir aber nicht zuviel Stress mit der neuen Version, Fußball ist wichtiger :)
    Die PCM12 braucht sowieso eine Sonderbehandlung bei den Treibern, weil die noch einen extra Mixer-Chip, den ACI Mixer hat. Der muss extra initialisiert werden.


    @Daryl_Dixon
    Falls Du ein großes Desktop-Gehäuse suchst, schau Dir mal das Silverstone GD07 an. Das Teil ist groß genug für alle Experimente, die Frontklappe kann man abschrauben, und es passen auch AT-Mainboards rein.

  • Falls Du ein großes Desktop-Gehäuse suchst, schau Dir mal das Silverstone GD07 an. Das Teil ist groß genug für alle Experimente, die Frontklappe kann man abschrauben, und es passen auch AT-Mainboards rein.

    oh ja wow; das ist wirklich ein tolles Gehäuse! Groß, stabil, praktisch. Aber für eine Testkiste ist das zu teuer. Als Testkiste wäre er
    nämlich bei Nichtgebrauch irgendwo abgebaut und verstaut. Dafür isser zu schade. Aber Danke für den Tipp! Dieses heiße Teil kannte ich nicht!


    vG; Daryl_Dixon

  • so, ich wollte den Treiber schon längst ausprobiert haben, hatte aber keinen Rechner wo ich so eine Optikarte reinstecken konnte, weil die schon alle versorgt waren.


    Habe heute einen forumsbekannten 386er DX 33 von LeChris bekommen, der ohne Soundkarte war.
    Nachdem meine persönliche Doofheit überwunden war und ich das Netzteil meiner Boxen angeschlossen hatte, habe ich bemerkt, dass da doch tatsächlich Ton rauskommt aus der Karte.


    Bisher funzt alles super, habe ein paar Crackintro und so Adlib-Zeugs getestet, weil ich sonst nichts auf Diskette hatte.


    Vielen Dank für die Arbeit und dem straight-forward-Treiber


    Auf nem 386er ist das Menü sehr schnell und funktional



    mir sind bei der Benutzung 2 kleine Glitches aufgefallen:


    1) Wenn man im Mixer den FM Sound auf 100% zieht, dann geht der Sound auf dem jeweiligen Kanal aus
    2) in der Anleitung (read.me) steht SET BLASTER A220 I5 D1 T3 allerdings müsste es heissen: SET BLASTER=A220 I5 D1 T3


    ich hatte mich gewundert, warum beim Rechnerstart immer ein Parameterfehler kam, habe ja ewig nichts mehr per Hand installiert, weil ich ja frischer Rückkehrer bin, das mit dem fehlenden "=" ist mir nur zufällig aufgefallen.


    Danke Danke, die Karte bleibt jetzt erstmal drin :D

    Einmal editiert, zuletzt von Fratzengeballer ()

  • @Fratzengeballer, danke Dir für's ausprobieren. :)


    1) Wenn man im Mixer den FM Sound auf 100% zieht, dann geht der Sound auf dem jeweiligen Kanal aus
    2) in der Anleitung (read.me) steht SET BLASTER A220 I5 D1 T3 allerdings müsste es heissen: SET BLASTER=A220 I5 D1 T3


    ich hatte mich gewundert, warum beim Rechnerstart immer ein Parameterfehler kam, habe ja ewig nichts mehr per Hand installiert, weil ich ja frischer Rückkehrer bin, das mit dem fehlenden "=" ist mir nur zufällig aufgefallen.


    Der Bug mit den 100% beim FM Volume ist mir auch schon aufgefallen. Wenn ich am Wochenende Zeit und Lust habe, mache ich mich an eine korrigierte Version.
    Dann baue ich dir auch gleich eine Option ein, die BLASTER-Variable vom Setup anpassen zu lassen :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.

  • Ohhhhhhh das ist eine ingenieursmäßige meisterleistung :D ich liebe die Treiber bei denen man dann 20 mal die blaster variable in der autoexec hat :D
    Auf alle Fälle etwas Knobel Arbeit :)

    [ SUCHTLISTE ] [ WD-40 ]

    :bump:Face:bump

    C:\>format c: /y_
    ____________________________________________

    8|

  • Ohhhhhhh das ist eine ingenieursmäßige meisterleistung :D ich liebe die Treiber bei denen man dann 20 mal die blaster variable in der autoexec hat :D
    Auf alle Fälle etwas Knobel Arbeit :)

    Oh ja! Das ist eine chte Herausforderung. Und dann gibt es ja noch die Möglichkeit, dass jemand ein ein Menü mit verschiedenen Bootoptionen in seiner Autoexec hat, dann wird die Sache richtig komplex. :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.

  • Toll, da freue ich mich drauf. Wollte halt Feedback geben, was mir so aufgefallen ist, sonst weiss ja niemand, ob es jemals jemand benutzt :D


    wäre doch schade um die ganze Arbeit

    Einmal editiert, zuletzt von Fratzengeballer ()

  • Wenn Bedarf besteht kann ich auch noch mal testen, habe hier auch noch eine passende Karte. Ist der fix mit der Lautstärke schon drin?

    nein, ist noch nicht drin, die Lautstärke geht ja, nur darf man im Mixer mit der Maus den Regler auf 100% ziehen




    Als ich meine Low Budget Karte mit dem Opti929a gegen eine Miro testweise tauschen wollte, wurde diese Karte nicht erkannt.


    Es handelt sich um die miroSound PCM10


    Laut Chipsaufdruck handelt es sich um einen Opti 82C292A und einem Analog Devices AD1848KP


    Suche Opti 82C929 audio interface chip - nicht gefunden


    PS: Der Opti-Krams sollte unter Dos laufen, der OPL4 wohl nur unter Windows, keine wirkliche Ahnung ob sich das lohnt Zeit reinzustecken,


    DOS-Treiber habe ich für die Karte sonst keine gefunden



    Möchtest du den Treiber auch auf Englisch übersetzen ?


    Das wäre Toll, dann könnte man ihn ebenfalls bei Vogons vorstellen.

    Ich kann da auch gern helfen, ist mein (fast) täglich Brot




    Achso, @Dragonsphere ein ganz kleiner Glitch ist auch die Versionsnummernanzeige im Setuptool:


    882C929/AD1848 Treiber - v0.6b (c) 2017/2018

    3 Mal editiert, zuletzt von Fratzengeballer ()

  • Möchtest du den Treiber auch auf Englisch übersetzen ?


    Das wäre Toll, dann könnte man ihn ebenfalls bei Vogons vorstellen.

    Das habe ich vor, wenn die gröbsten Bugs raus sind. Sind ja bis jetzt wrklich noch Alpha-Versionen.
    Ich werde den Quellcode auch bei GitHub einstellen, wenn ich denn mal dazu gekommen bin, den noch etwas aufzuräumen :D
    Dann komme ich auch gerne auf dich zurück, @Fratzengeballer


    nein, ist noch nicht drin, die Lautstärke geht ja, nur darf man im Mixer mit der Maus den Regler auf 100% ziehenIch kann da auch gern helfen, ist mein (fast) täglich Brot

    Das war ein ganz blöder kleiner Fehler in der Funktion zum setzen der Lautstärke. Ich habe heute mal wieder am Treiber gebastelt und den Fehler auch schon behoben. Kümmere mich noch um ein paar andere kleine Bugs und lade hier dann, wahrscheinlich am Wochenende, eine neue Version hoch.
    @Fratzengeballer Danke für's Testen und für dein Feedback.
    Ich hatte zwischenzeitlich selber wieder meine SB16 eingebaut und an diesem Projekt nicht weiter gemacht. Hatte ja noch das Setup für MARS als DOS-Programmierprojekt und Bugs zu suchen und vor allem rauszubekommen, warum manche Spiele mit der Karte einfach nicht wollen und ob das evtl. im Treiber gefixt werden kann, das wird doch schnell nervig und zeitfressend ;)
    Durch dein Feedback habe ich jetzt aber wieder eine Shuttle HOT 233 eingebaut und mich heute mal wieder mit dem Treiber befasst.
    @not_aligned, du bist herzlich eingeladen, mit zu testen. Ich freue mich über jedes Feedback zum Treiber. :)




    Das ist wundert mich, denn meine MirsoSound FM10, also quasi die kleine Schwester deiner Karte, nur mit OPL3, läuft mit dem Treiber ganz wunderbar.
    Die hat exakt die gleichen Chips (929A und AD1848KP). Das muss also irgendwie am OPL4 liegen.
    Wenn du das nochmal ausprobieren magst, mach ich ein kleines Programm fertig, das die Werte ausgibt, die der Chip zurückmeldet. Vieleicht kann ich die Erkennungsroutine dann einfach anpassen.

    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.

  • Das ist wundert mich, denn meine MirsoSound FM10, also quasi die kleine Schwester deiner Karte, nur mit OPL3, läuft mit dem Treiber ganz wunderbar.
    Die hat exakt die gleichen Chips (929A und AD1848KP). Das muss also irgendwie am OPL4 liegen.
    Wenn du das nochmal ausprobieren magst, mach ich ein kleines Programm fertig, das die Werte ausgibt, die der Chip zurückmeldet. Vieleicht kann ich die Erkennungsroutine dann einfach anpassen.

    ich habe die Karte hier als funktionierend aus dem Forum und gehe davon aus, dass die geht,


    ich teste jederzeit gern, also wenn du nen Erkennungstool hast, immer her damit. Fand ich auch komisch, dass die ned geht

  • Mir ist heute noch etwas zur Kompatibilität des OPTI929 mit Spielen aufgefallen:


    Ich habe mir als Hilfe zum Debuggen ein Programm geschrieben, das die CODEC-Register ausliest und mir anzeigt, welche Bits gesetzt sind.
    Damit wollte ich nachsehen, welche Register von den Spielen verändert werden, die noch Probleme machen.
    Mein erster Kandidat war Tyrian, denn mit meinem Treiber und einer Shuttle HOT 233 habe ich bei dem Spiel Sound im SB Modus (allerdings verzerrt). Meine zweite Karte, die Miro FM10, wird von Tyrian dagegen nicht erkannt und läuft nur im WSS-Modus mit dem Spiel.
    Ein Blick auf die Registerwerte vor und nach dem Spielstart zeigt: Tyrian schaltet im SB Modus aus irgendeinem Grund die Karte in den Aufnahmemodus über den Line In, aktiviert aber auch den Verstärker für das Mikrofon.
    Dann wird auch deutlich, warum die Shuttle-Soundkarte funktioniert, die hat einen AD1845 als Codec, der kann Full-Duplex, also Aufnahme und Wiedergabe gleichzeitig, die Miro hat einen AD1848KP., der kann immer nur eins von beidem.
    Die Shuttle spielt also den Spielsound ab, aber unterlegt mit stark verstärktem Rauschen durch den gleichzeitigen Aufnahmemodus. Die Miro schaltet in den Aufnahmemodus und wird nicht mehr als Sound Blaster erkannt (Tyrian meldet "Error 254").
    Ich fürchte, das Spiel sendet einen Sound Blaster DSP-Befehl an den OPTI929, den dieser falsch interpretiert (als Aufnahme starten). Da werde ich also per Software nichts machen können. :(


    Andere Spiele, die mit dem originalen Treiber Probleme machen, bekommt man aber über die Einstellungen in meinem Setup wunderbar zum Laufen. Prince of Persia 2 und Hocus Pocus zum Beispiel.

    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.

  • Heute gibt es wieder was zum Ausprobieren :)


    Einmal die gefixte Mixer.exe, damit ihr den OPL3-Sound auf 100% setzen könnt:


    MIXER.EXE


    Und ein kleines Programm, das nach einem OPTi 82C929 und passnedem WSS-Codec sucht, dabei jeden Schritt beschreibt und die entsprechenden Werte ausgibt.
    Damit sollte dann genau zu sehen sein, wo es bei der Erkennung der Chips hakt.


    DETECT.EXE


    Ich repariere noch ein paar andere kleine Bugs und überarbeite das Setup noch etwas. Dann wirdt es auch die Möglichkeit geben, die Einträge in der Autoexec automatisch vornehmen und aktualisieren zu lassen.
    Auch kann der Treiber dann in einem beliebigen Unterverzeichnis abgelegt werden.
    Je nachdem, wie viel Zeit ich dafür finde, kommt die neue Version vielleicht schon an diesem Wochenende :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.

Jetzt mitmachen!

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