Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2002.12.26;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.012 c
6-86058
Novichek
2002-10-16 01:07
2002.12.26
Как узнать ай-пи сервера


3-85831
Fishka
2002-12-06 14:52
2002.12.26
DBCtrlGrid - добавление пустой записи?


6-86063
ALeshka
2002-10-29 22:25
2002.12.26
Переслать текст+картинка по сети


3-85846
ДМ
2002-12-06 07:09
2002.12.26
BLOB- поля в базах Microsoft


7-86200
ocean
2002-10-21 19:44
2002.12.26
Версия Windows





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский