;***************************************
;*       DSP als Sinusgenerator        *
;***************************************
    
flag        equ     $10
    
            org     p:0   	 
            jmp     start
            
include     "F30SSI.INC"  	
 
start       movec   #0,sp               ;Stack loeschen
            ori     #$4,omr             ;Sinustabelle ein
            jsr     init                ;SSI-Init aufrufen
            bclr    #0,x:$FFE1
            bclr    #1,x:$FFE1
            bclr    #2,x:$FFE1
            movep   #7,x:$FFE3
 
            move    #0.125,y1           ;Lautstaerke
anfang      move    #256,r0             ;Adresse des Sinus
            do      #255,next           ;Hardware-Schleife
            move    y:(r0)+,x1          ;Sinus holen
            mpy     x1,y1,a             ;leiser machen
            move    a1,x:out_r          ;Ausgabe links
            move    a1,x:out_l          ;Ausgabe rechts
lp          jclr    #1,x:sync,lp        ;Warten bis Ausgabe erfolgt 
            bclr    #1,x:sync           ;Flag loeschen
next        nop      										;hier darf kein JMP stehen
            nop
            jclr    #0,x:flag,ein
            bclr    #0,x:flag
            movep   #0,x:$FFE5
            jmp     anfang
ein         bset    #0,x:flag
            movep   #7,x:$FFE5
            jmp     anfang              ;das ganze von vorn
         
            end
 
