8ad TITLE LINEVOL.ASM ;===== TSR program for controlling Line volume of SB pro card ;===== links with INT 09h ;--------------------------------------------------------------- ;===== EQUATES ======== Alt_1 EQU 120 Alt_2 EQU 121 ;-------------------------------------------------------------- INCLUDE TSR_Inst.MAC ;-------------------------------------------------------------- CSEG SEGMENT ASSUME CS:CSEG ORG 100h Start: jmp Install_TSR ;============= Org_Rutin dd ? ;============= ;============== Vol_val dw 0 ;=============== ;----------------------------------------------------------------- Start_TSR: Our_Layer PROC FAR ASSUME CS:CSEG,DS:CSEG push ds push cs pop ds sti pushf call Org_Rutin push ax push dx mov ah,01h int 16h jz abort cmp al,00h ;Check if Alt/Ctrl-character jnz abort cmp ah,Alt_1 jnz Alt2_chk mov ax,Vol_Val cmp ax,0h jz no_sub sub ax,11h no_sub: mov Vol_Val,ax jmp Over_Alt2 Alt2_chk: cmp ah,Alt_2 jnz abort mov ax,Vol_Val cmp ax,0ffh jz no_inc add ax,11h no_inc: mov Vol_Val,ax Over_Alt2: push ax mov dx,224h ;Set Line volume mov al,2eh out dx,al pop ax mov dx,225h out dx,al abort: pop dx pop ax pop ds iret Our_Layer ENDP ;--------------------------------------------------------------------------- Gem2Ver PROC NEAR mov al,65 ret Gem2Ver ENDP ;=================== Contr_Char db ? ;=================== End_TSR: ;======================================================================= Install_TSR: TSR_Inst 09h ;-------------------------------------------------------------------------- CSEG ENDS END Start ;========================================================================== . 0