Звук через PC Speaker
procedure MyBeep(Tone: Word; ADelay: Integer);
{Издавание звука тональностью Tone и
продолжительностью ADelay миллисекунд
Автор: МИХАИЛ. Е-МЫЛО: klez@bk.ru}
procedure Delay(Milliseconds: DWORD);
var
FirstTick: DWORD;
begin
FirstTick := GetTickCount;
repeat
Application.ProcessMessages;
until GetTickCount - FirstTick >= Milliseconds;
end;
begin
asm
mov al, 0b6H
out 43H, al
mov ax, Tone
out 42h, al
ror ax, 8
out 42h, al
in al, 61H
or al, 03H
out 61H, al
end;
Delay(ADelay);
asm
in al, 61H
and al, 0fcH
out 61H, al
end;
end;
|