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.