Page 1 of 1

PCI-Soundkarte ??

Posted: 16. Jun 2007 13:09
by LeadingZero
Hallo

Ich bin neu hier im Forum und suche ganz dringend ein paar Antworten bezüglich meiner Soundkartenprogrammiererei.

Seit ungefähr 8 Jahren programmiere ich Grafikdemos in Assembler und bin zu der Lösung gekommen, daß eine schnelle Basicsprache mit genügend Spezialbefehlen ausreichend ist, um Desktop, Anwendungen und Spiele darauf laufen zu lassen. Kurzerhand hab ich die passende Basic-Sprache entwickelt und schon kurze Zeit später hatte ich mein erstes selbstentwickeltes Desktopsystem, das eigentlich alle Eigenschaften hat wie Win98 auch, nur daß ich eben noch nicht damit ins Internet gehen kann. Es gibt Multitasking, eine "DirectX"-Schnittstelle für Desktop- und 3dGrafik, Tastatur&Maus, Smartdrive, total generalisierte Strukturen für jeden und alles und pi pa po...

Nur leider ist die Framerate bei 800x600 nur 8FPS mit meinem 500MHz-AMD3dnow-Computer. Und außerdem muß man mit der Zeit gehen, was bedeutet: Ich brauche einen schnelleren Computer.

Nur leider gibt es keine schnelleren Computer mit ISA-Steckplätzen mehr und ich muß wohl oder übel auf PCI umsteigen.
Jetzt hab ich mit den Leuten von CREATIVE gesprochen und die meinten, daß sie keine Hardwareinformationen über ihre Soundkarten herausgeben, ich mich lediglich an Directsound, Opensound oder ASIO halten müsse, um deren Soundkarten anzusprechen.

Darum hab ich mir den (just) freigewordenen Sourcecode vom Linux Opensound-Soundsystem runtergeladen und stehe nun vor einem Problem:

- a: Ich hab keine Erklärung wie das IOCTL-System überhaupt funktioniert und was PCI für einen Standard darstellt.

- b: Ich brauche eine Übersicht über die grundlegende Aufbaustruktur eines PCI-Soundtreibers, damit ich mir den Quellcode des Opensound-Soundsystems zu Bemüte führen kann, ohne einen Nervenzusammenbruch zu erleiden :-) Ohne fremde Hilfe müßte ich ja quasi Linux (mit dem ich eigentlich nix zu tun hab) compilieren, installieren, ausprobieren und immer wieder redundante Codefragmente entfernen und den Vorgang wiederholen, bis Linux nix mehr enthält was entfernt werden könnte, ohne daß der Soundtreiber verrückt spielt !? Ich weiß nicht. Das ist echt hardcore. Zu einer einfachen Funktion (Gif-Loader) eine Umkehrfunktion zu entwickeln (Gif-Saver) ist ja nicht sooo schwer. Doch diese Sache hier erinnert mich so ziemlich an das, was ich über Einwegfunktionen gelernt hab :-(

Wer kann mir helfen, mich in das PCI-/IOCTL-System einzuarbeiten bzw. erklären, welche Layer zum Soundtreiber dazu gehören. Das Internet läßt wenig ergoogeln...