[Back to SOUND SWAG index] [Back to Main SWAG index] [Original]
===========================================================================
BBS: Canada Remote Systems
Date: 07-11-93 (13:22) Number: 30113
From: STEVE WIERENGA Refer#: NONE
To: TRAVIS GRIGGS Recvd: NO
Subj: SPEAKER(OFF) Conf: (1221) F-PASCAL
---------------------------------------------------------------------------
Hello Travis:
>> { untested, but should work }
>> {$M 1024,0,0}
>> {$F+}
>> uses DOS;
>> Var
>> Old1C : Procedure;
TG>
>> Procedure SpeakerOff; Interrupt;
>> Begin
>> ASM { no sound proc, removes need to use CRT unit in a TSR }
>> mov dx,061h
>> in al,dx
>> and al,11111100b
>> out dx,al
>> pushf
>> End;
>> Old1C;
>> End;
TG>
>> Begin
>> GetIntVec ($1C,@Old1C);
>> SetIntVec ($1C,@SpeakerOff);
>> Keep(0);
>> End.
TG>
TG> I'm trying to learn to write a TSR. Could you explain every step and
TG> why it's there? Thanks...
I didn't write that code, actually. I have never written a TSR and don't plan
to in the near future, so I suggest you ask one of the gurus here.
>> --- FMail 0.90
TG>
TG> Fmail 0.94 is out. You should get it. It's much better...
I'm still with .90 because I can't afford to register .94 (.90 doesn't have a
registration) :-(.
Take Care, Steve
Shockwave Software Systems
--- FMail 0.90
* Origin: The Programmer's Armpit... Home of Monsoon*Qomm! (1:2613/228.2)
===========================================================================
BBS: Canada Remote Systems
Date: 07-10-93 (11:08) Number: 30157
From: STEVEN TALLENT Refer#: NONE
To: NIELS LANGKILDE Recvd: NO
Subj: RE: SPEAKER(OFF) Conf: (1221) F-PASCAL
---------------------------------------------------------------------------
-=> Quoting Niels Langkilde to Everyone <=-
NL> Is it possible to diable/enable the speaker output (alternatvly
NL> redirect it) ?? If so, please help !
The only thing that can be done is disabling the speaker many times
a second to do it. Here's some code that disables it 18 times a second,
but notably does NOT work with programs that shut down interrupts
during playback.
{$M 1024,0,0}
{$N-,S-,G+} { Use g- for 8088 systems, g+ for V20 and above }
PROGRAM NoSpeak;
USES Dos;
VAR OLDINT1C : Procedure;
PROCEDURE ShutOff; INTERRUPT;
BEGIN
Port [97] := Port[97] and 253; {Turn off speaker}
OldInt1C;
end;
BEGIN
GetIntVec($1C, @OldInt1C);
SetIntVec($1C, @ShutOff);
Keep(0);
end.
Note this is a TSR, and I can't guarantee that it'll work right on
anyone's computer.
___ Blue Wave/QWK v2.12
--- Renegade v06-25 Beta
* Origin: Pink's Place (409)883-8344 735-3712 (1:3811/210)
[Back to SOUND SWAG index] [Back to Main SWAG index] [Original]