Piepsen lassen



  • Hallo Leute!!!

    Da man mit Windows den PC-Lautsprecher piepsen lassen kann, der aber kein Lautstärkeparameter nimmt, habe ich mich mal gefragt, wie es im BIOS mit Assembler aussieht.
    Wie kann ich mit Inline-Assembler den PC-Lautsprecher in einer bestimmten Frequenz piepen lassen und mit einer bestimmten Lautstärke??

    Ich hab schon gegooglet, aber das ist ziehmlich kompliziert. hab bis jetzt nur c/c++ gemacht.

    Danke.



  • In Windows oder anderen Multitasking-Betriebssystemen gibt dir Assembler nicht auf magische Weise mehr Zugriffsmoeglichkeiten als C++.
    1. Hast du in solchen OS keinen Zugriff auf das BIOS,
    2. bietet das BIOS nur sehr rudimentaere Moeglichkeiten, es "piepen" zu lassen - auf keinen Fall mehr als Windows und
    3. bietet die PC-Hardware normalerweise so oder so keine Moeglickeit, die Lautstaerke des PC-Speakers einzustellen. Nur die Frequenz laesst sich aendern.



  • thx thx.

    Dann benutze ich weiterhin Beep() von Windows.

    aber kann man damit die Lautstärke verändern?



  • Nobuo T schrieb:

    3. bietet die PC-Hardware normalerweise so oder so keine Moeglickeit, die Lautstaerke des PC-Speakers einzustellen. Nur die Frequenz laesst sich aendern.



  • aber dennoch habe ich eine Frage zum Piepsen:

    ich erzeuge siränen mithilfe von einem Sinus.

    jedoch klingt das sehr abgehackt, weil die Frequenz nicht sauber in einander überläuft. kann man mit assembler nicht bessere machen?



  • Kurz: Nein.
    Lang: Nicht in dieser Umgebung. Entweder ist dein Algorithmus ... suboptimal, oder der entsprechende Windows API-Aufruf hakelt. An Beidem kann eine Umsetzung in Assembler jedoch nichts aendern.



  • ja jut.

    aber mein algorythmus ist gut! er funzt gut, nur wenn ich die Aufrufe von Beep schneller hintereinander mache, klingt das so abgehackt...
    also da kann man nix machen.


Anmelden zum Antworten