Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.26;
Скачать: CL | DM;

Вниз

Sound - NoSound beginer1 help me   Найти похожие ветки 

 
vidiv   (2002-10-23 09:12) [0]

Здравствуте. Помогите еще такой вопрос. ниже приведен код который мне дал Beginer1 по теме Thread. Помогите переделать его на Sound(f:integer) и NoSound . Я бы и сам бы рад, да в асме не шарю, но вижу что через $61 порт, а попробую переделать, что нибудь обязательно напутаю...



beginer1 © (22.10.02 17:16)
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Генерация звукого сигнала на встроенном динамике

Frequency - частота звука, Гц
Duration - длительность звучания, 1/1000 сек

Зависимости: Windows, SysUtils,
Автор: Dimka Maslov, mainbox@endimus.ru, ICQ:148442121, Санкт- Петербург
Copyright: Dimka Maslov
Дата: 29 апреля 2002 г.
***************************************************** }

procedure Sound(Frequency, Duration: Integer);
asm
push edx
push eax
mov eax, Win32Platform
cmp eax, VER_PLATFORM_WIN32_NT
jne @@9X
call Windows.Beep
ret
@@9X:
pop eax
pop edx
push ebx
push edx
mov bx, ax
mov ax, 34DDh
mov dx, 0012h
cmp dx, bx
jnc @@2
div bx
mov bx, ax
in al, 61h
test al, 3
jnz @@1
or al, 3
out 61h, al
mov al, 0B6h
out 43h, al
@@1:
mov al, bl
out 42h, al
mov al, bh
out 42h, al
call Windows.Sleep
in al, 61h
and al, 0FCh
out 61h, al
jmp @@3
@@2:
pop edx
@@3:
pop ebx
end;



 
AlexKniga ©   (2002-10-23 11:15) [1]

Procedure Sound (Frequency: Word); Assembler;
Asm
PUSH EBX // must preserve
MOV BX, AX // BX := Frequency;
MOV AX, 34DDH
MOV DX, 0012H
CMP DX, BX
JNC @@2
DIV BX
MOV BX, AX
IN AL, 61H
TEST AL, 3
JNZ @@1
OR AL, 3
OUT 61H, AL
MOV AL, 0B6H
OUT 43H, AL
@@1: MOV AL, BL
OUT 42H, AL
MOV AL, BH
OUT 42H, AL
@@2: POP EBX
End;

Procedure NoSound; Assembler;
Asm
IN AL,61H
AND AL,0FCH
OUT 61H,AL
End;


 
AlexKniga ©   (2002-10-23 11:25) [2]

2 vidiv
В конференции не принято, задавая вопрос, обращаться к кому-то конкретно. Для этого есть e-mail.
И еще общий совет: почаще заглядывай на UBPFD by delphibase.endimus.com


 
AlexKniga ©   (2002-10-23 11:30) [3]

2 vidiv
Приведенное выше разделение на Sound/NoSound только для линейки Win9x, не для NT.


 
Sharik_212   (2002-10-23 15:20) [4]

Для NT можно использовать Windows.Beep



Страницы: 1 вся ветка

Текущий архив: 2002.12.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
1-85984
xyz
2002-12-16 00:43
2002.12.26
Как изменить BIOS?


3-85863
DKalinin
2002-12-06 13:35
2002.12.26
текст в BDE


3-85830
pavelsinicinv
2002-12-06 15:20
2002.12.26
SQL


14-86173
Дмитрий К.К.
2002-12-06 16:12
2002.12.26
Шаблоны HTML-страниц для сайта


14-86113
Igorek
2002-11-28 19:38
2002.12.26
Нужен ModelMaker из Delphi7