
pctl  equ $fffd
bcr equ $fffe ; BCR Register
ogdbr equ $fffc ; OnCE GDB Register
ecsr equ $ffeb ; EMI Control/Status Register
edrr0 equ $ffea ; EMI Data Read Register
ebar0 equ $ffe8 ; EMI Base Address Register 0
eor0 equ $ffe9 ; EMI Offset Register
edrf equ 13 ; EMI EDRR Full flag
hrne equ 17 ; SHI FIFO Not Empty flag
hrx equ $fff3 ; SHI HRX FIFO
hcsr equ $fff1 ; SHI Control/Status Register
hi2c equ 1 ; SHI IIC Enable Control Bit
ma equ 0 ; OMR Mode A
mb equ 1 ; OMR Mode B
mc equ 4 ; OMR Mode C
gpior equ $fff7 ; GPIO Control/Data Register
gdd3 equ 9 ; direction bit for GPIO3
gd3 equ 1 ; data bit for GPIO3
rcs equ $ffe1  ;SAI receiver control / status register
tcs equ $ffe4  ;SAI transmitter conntrol /status register
brc equ $ffe0  ;baud rate control register
rx0 equ $ffe2  ;SAI receive data register
rx1 equ $ffe3  ;SAI receive data register
tx0 equ $ffe5  ;SAI transmit data register
tx1 equ $ffe6  ;SAI transmit data register
tx2 equ $ffe7  ;SAI transmit data register
ipr equ $ffff  ;interrupt priority register
rldf equ 14
rrdf equ 15


N equ 3


  org p:$0 ; bootstrap code starts at $0
  jmp start1




start1:
  ;filtr dolnoprzepustowy fir na 0.1 fs

  move #0.8739,a
  move a,y:0
  move #0.9217,a
  move a,y:1
  move #0.2671,a
  move a,y:2
  move #-0.2036,a
  move a,y:3
  move #0.2036,a
  move a,y:4
  move #-0.1868,a
  move a,y:5
  move #0.1868,a
  move a,y:6



    movep #$260023,x:pctl    ; uaktywnij PLL i ustaw 50MHz
    movep #$000201,x:rcs     ;uaktywnij SAI

    movep #$000201,x:tcs     ;uaktywnij SAI
  ;  movep #$000101,x:brc     ;uaktywnij preskaler


;    movep #$000c00,x:ipr
  ;    ori   #$0c,mr   ;wylacz przerwania




      move #0,r0      ;poczatek bufora probek
      move #0,r4      ;pocz. buf. wsp.
      move #N-1,m0    ;arytm. mod N dla rej. adres
      move #2*N,m4      ;dotycz. obu buforow

      move #15,r1      ;poczatek bufora probek
      move #0,r5      ;pocz. buf. wsp.
      move #N-1,m1    ;arytm. mod N dla rej. adres
      move #2*N,m5      ;dotycz. obu buforow





petla:
    nop
    jset #rldf,x:rcs,odbierz_lewy
    nop
    jset #rrdf,x:rcs,odbierz_prawy

    nop
    jmp petla


odbierz_lewy:
    move x:rx0,a
    nop
    nop
;;;;;;;;;;;;;;;;;;;;;;;;;
    ;NOI
    move x:(r0)+,x0   y:(r4)+,y0

    do  #N-1,splot_n

      mac -x0,y0,a    x:(r0)+,x0   y:(r4)+,y0

splot_n:


    macr -x0,y0,a   x:(r0)+,x0 y:(r4)+,y0
    ;SOI
    clr a    a,y1

    do #N-1,splot_s
    mac  +x0,y0,a  x:(r0)+,x0  y:(r4)+,y0
splot_s:
    mac  +x0,y0,a  x:(r0)-,x0  y:(r4)+,y0
    macr +y1,y0,a  y1,x:(r0)



;;;;;;;;;;;;;;;;;;;;;;;;;
    move a,x:tx0
    nop
    jmp petla


odbierz_prawy:
    move x:rx0,a
    nop

   ;NOI
    move x:(r1)+,x0   y:(r5)+,y0

    do  #N-1,splot_n1

      mac -x0,y0,a    x:(r1)+,x0   y:(r5)+,y0

splot_n1:


    macr -x0,y0,a   x:(r1)+,x0 y:(r5)+,y0
    ;SOI
    clr a    a,y1

    do #N-1,splot_s1
    mac  +x0,y0,a  x:(r1)+,x0  y:(r5)+,y0
splot_s1:
    mac  +x0,y0,a  x:(r1)-,x0  y:(r5)+,y0
    macr +y1,y0,a  y1,x:(r1)





    nop
    move a,x:tx0
    nop
  ; jmp start2
   jmp petla







;start2:

;    move x:rx0,a
    ; abs a
;    asl a
  ;  move a,x:tx0


 ;   jmp petla

;start3:
;    nop
;    bset #gdd3,x:gpior
;    nop
   ; do #1,petla2
   ; do #1,petla1

;    nop




;petla1:
;    nop
;petla2:
;

;    bclr #gdd3,x:gpior
   ; do #1,petla3
   ; do #1,petla4

;    nop

;petla4:
;   nop
;petla3:
   ; rti

;    jmp start2
;     jmp petla
