Блокировка встроенного динамика.
А как можно заблоки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
Оставить комментарий
Комментарии
1.


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