ùúùúÿò×'ÿò×'ÿò×'ÿò×'ÿò×'ÿò×'ÿò×'ÿò×'ÿò×';______________________________________________________________________________
;______________________________________________________________________________

;                   Ta procedurka generuje sygnal dzwiekowy.


;                   !!!Jest to czysty przykîad,bez zastosowania,
;		    poniewaû wystepuja ogromne problemy
;                   z praca w multitaskingu.


;          		 d5 - dzwiek 100-10000
;                        d3 - czas(w 1/50 sekundy)


;                       Przyklad uzycia:

;           Efekt:
;           move.w   #1000,d5
;           move.w   #1,d3
;           bsr   SND
;           rts 


;     
;______________________________________________________________________________

SND:

   lea   SINE,a1
   move.l   a1,$dff0a0           ; AUD0LCH
   move.w   #$0002,$dff0a4       ; AUD0LEN
   move.w   d5,$dff0a6           ; AUD0PER
   move.w   #63,$dff0a8          ; AUD0VOL
   move.w   #$8281,$dff096       ; DMACON

                  			; Czekaj sekunde...
   bsr   Wait           		; -----------------


   move.w   #1,$dff096        		; Ucisz sie w koncu( DMACON )!
   
   rts               			; Wypad!


ds.w  0              			; Potrzebne!Wyrownanie!

SINE:

dc.b  0,90,127,90,0,-90,-127,-90    	; Dane dzwieku.
;______________________________________________________________________________









;______________________________________________________________________________
;______________________________________________________________________________

;           Ta procedurka odczekuje czas podany w 1/50 sekundy

;                             do rejestru d3.

;     np.:   	 move.l #50*2,d3
;        	 bsr   Wait
;       	 rts

;     Ten programik spowoduje odczekanie 2 sekund,
;     bo 50*2=100 piecdziesiatych sekundy.

;______________________________________________________________________________

Wait:

   move.l   4.W,a6           	 ;baza exec do a6
   lea   NazwaDosu(pc),a1    	 ;nazwa biblioteki do a1
   moveq #0,d0          	 ;wersja biblioteki
   jsr   -552(a6)       	 ;OpenLibrary
   move.l   d0,a6           	 ;baza dos.library do a6
   move.l   d3,d1          	 ;podanie czasu
   jsr   -198(a6)        	 ;wywolanie funkcji Delay
   move.l   a6,a1          	 ;baza dos.library do a1
   move.l   4.W,a6            	 ;baza exec do a6
   jsr   -414(a6)       	 ;CloseLibrary
   rts               	 	 ;wypad

NazwaDosu:

   dc.b  "dos.library",0         ;nazwa biblioteki dos

;______________________________________________________________________________
