Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 11833
Последний выпуск: 19.06.2015

Блокировка встроенного динамика.

А как можно заблокиpовать вывод звука на динамик ?

Откpываешь коpпус, находишь пpоводки идущие от динамика, выдеpгиваешь 1 и наслаждаешься тишиной :))). А если серьезно, то:

        .MODEL  TINY
        .CODE
        org     100h
Start:
        jmp     begin
OldVec  label   dword
ip_old  dw      ?
cs_old  dw      ?
Old9    label   dword
ip_9    dw      ?
cs_9    dw      ?
Flag    db      1
Pro:
        pushf
        cmp     cs:flag,1
        jnz     a3
        push    ax
        in      al,61h
        and     al,0FEh
        out     61h,al                  ; port 61h, 8255 B - spkr, etc
          ;  al = 0, disable parity
        mov     al,0B0h
        out     43h,al                  ; port 43h, 8253 wrt timr mode
        pop     ax
A3:
        popf
        jmp     cs:oldvec
Int9:
        pushf
        push    ax es
        mov     ax,0
        mov     es,ax
        mov     al,es:[417h]
        and     al,1100b
        cmp     al,1100b
        jnz     a1
        in      al,60h
        cmp     al,49           ;N
        jnz     a2
        mov     cs:flag,0
        mov     al,20h
        out     20h,al
        pop     es ax
        popf
        retf    2
A2:
        cmp     al,33           ;F
        jnz     a1
        mov     cs:flag,1
        mov     al,20h
        out     20h,al
        pop     es ax
        popf
        retf    2
A1:
        pop     es ax
        popf
        jmp     cs:old9
Begin:
        lea     dx,copyright
        mov     ah,9
        int     21h
        mov     ax,3509h
        int     21h
        mov     cs_9,es
        mov     ip_9,bx
        mov     ax,2509h
        lea     dx,int9
        int     21h
        mov     ax,3508h
        int     21h
        mov     cs_old,es
        mov     ip_old,bx
        mov     ax,2508h
        lea     dx,pro
        int     21h
        lea     dx,begin
        int     27h
Copyright       db      'Sound Off. Version 1.1.',10,13
                db      'Copyright (C) by Averbuh Alexander,'
                db      't. Vinnitsa, July 1994.',10,13
                db      'tel (043-22) 27-76-18.',10,13
                db      'Press Ctrl-Alt-F for Sound off.',10,13
                db      'Press Ctrl-Alt-N for Sound on.',10,13
                db      'Sound is Off!',10,13,'$'
End     start

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 

Комментарии

1.
Аноним
Мне нравитсяМне не нравится
10 марта 2005, 18:00:41
Много кода и ни одного коментария! :-)
Это просто резидент, который перехватывает преривание динамика и както его глушит. Под DOS пойдет без проблем, а под WINDOWS надо попробовать. А вообще то - очень полезная вещь. СПАСИБО!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог