;                   
; STEALTH GROUP WW  Mail:   BOX 15, 125080 MOSCOW     
;        Ŀ Ĵ   ¿ 
;                    ٳ ĿĴ      
;                                         
;                           WINTER ' 96  
;       
;
;     :   ...   

;Copyright 1993 by Gurre in Moscow
 PAUS = 1
 END_MUSIC = 0

.model small
.8086
.code
int_1C_handler:

mov bx,cs:counter
shl bx,1
mov ax,word ptr cs:[bx][offset mus]
cmp ax,END_MUSIC
jne continue
mov cs:counter,0FFFFh
iret
continue: cmp ax,PAUS
jne not_pause
in al,97
and al,0FCh
out 97,al			;Speaker off
jmp return
not_pause:
 out 66,al
 mov al,ah
 out 66,al
 in al,97
 or al,3
 out 97,al
return:
 inc cs:counter
 iret

 start:
mov ax,351Ch			;Get 1C vect
int 21h
mov cs:old1c,bx
mov ax,es
mov cs:old1ch,ax		;Save 1C vector
push cs
pop ds
mov dx,offset int_1C_handler
mov ax,251ch			;Set vect
int 21h
wait_for: cmp cs:counter,0FFFFh
jne wait_for
in al,97
and al,11111100b
out 97,al			;Speaker off
lds dx,dword ptr cs:old1c
mov ax,251ch
int 21h				;Restore 1C vector
mov ax,4C00h
int 21h				;Terminate

EVEN

A = 5422
B = 5117
H = 4830
C = 4559
CIS = 4303
D = 4061
DIS = 3833
E = 3619
F = 3416
FIS = 3224
G = 3042
GIS = 2872
A2 = 2711
B2 = 2559
H2 = 2415
C2 = 2279
CIS2 = 2151
P = PAUS

mus:
DW F,F,F,F,F,F,F, E,E,E,E,E,E,E, D,D,D,D,D,D,D, C,C,C,C,C,C
DW G,G,G,G,G,G,G,G,G,  P,P,P, G,G,G,G,G,G,G,G,G, P,P,P
DW F,F,F,F,F,F,F, E,E,E,E,E,E,E, D,D,D,D,D,D,D, C,C,C,C,C,C
DW G,G,G,G,G,G,G,G,G,G, P,P,P,P, G,G,G,G,G,G,G,G,G,G, P,P,P
DW F,F,F,F,F,F,F, A2,A2,A2,A2,A2,A2, P,P, A2,A2,A2,A2,A2,A2, F,F,F,F,F,F,F
DW E,E,E,E,E,E,E, G,G,G,G,G,G, P,P, G,G,G,G,G,G, E,E,E,E,E,E,E
DW D,D,D,D,D,D,D, E,E,E,E,E,E,E, F,F,F,F,F,F,F, D,D,D,D,D,D,D
DW C,C,C,C,C,C,C,C,C, P,P,P,P, C,C,C,C,C,C,C,C,C

   DW PAUS,END_MUSIC

old1c	dw 00
old1ch	dw 00
counter dw 00


.stack
end start