Subversion Repositories tsfmpro

Rev

Rev 544 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?

  1. ;--------------------------------------------------------------------
  2. ; Описание: Модуль отображения анализатора
  3. ; Автор порта: Тарасов М.Н.(Mick),2010
  4. ;--------------------------------------------------------------------
  5.  
  6. ;-------------------------------------------------------------------
  7. ; описание: Обновление параметров анализатора
  8. ; параметры: нет
  9. ; возвращаемое  значение: нет
  10. ;---------------------------------------------------------------------
  11. Analyzer_update:
  12.                 ld      hl,EAmplitude_ch0
  13.  
  14.                 ld      a,(hl)                          ;+00h - Amplitude 0 right/left
  15.                 and     0Fh
  16.                 ld      (Analyzer_ch0_left),a           ;Amplitude 0 left
  17.                 ld      a,(hl)                          ;+00h - Amplitude 0 right/left                         
  18.                 and     0F0h
  19.                 rrca   
  20.                 rrca   
  21.                 rrca
  22.                 rrca   
  23.                 ld      (Analyzer_ch0_right),a          ;Amplitude 0 right
  24.  
  25.                 inc     hl
  26.                 ld      a,(hl)                          ;+01h - Amplitude 1 right/left
  27.                 and     0Fh
  28.                 ld      (Analyzer_ch1_left),a           ;Amplitude 1 left
  29.                 ld      a, (hl)                         ;+01h - Amplitude 1 right/left
  30.                 and     0F0h
  31.                 rrca   
  32.                 rrca   
  33.                 rrca   
  34.                 rrca   
  35.                 ld      (Analyzer_ch1_right),a          ;Amplitude 1 right
  36.  
  37.                 inc     hl
  38.                 ld      a,(hl)                          ;+02h - Amplitude 2 right/left
  39.                 and     0Fh
  40.                 ld      (Analyzer_ch2_left),a           ;Amplitude 2 left
  41.                 ld      a,(hl)                          ;+02h - Amplitude 2 right/left
  42.                 and     0F0h
  43.                 rrca   
  44.                 rrca   
  45.                 rrca   
  46.                 rrca   
  47.                 ld      (Analyzer_ch2_right),a          ;Amplitude 2 right
  48.  
  49.                 inc     hl
  50.                 ld      a, (hl)                         ;+03h - Amplitude 3 right/left
  51.                 and     0Fh
  52.                 ld      (Analyzer_ch3_left),a           ;Amplitude 3 left
  53.                 ld      a, (hl)                         ;+03h - Amplitude 3 right/left
  54.                 and     0F0h
  55.                 rrca   
  56.                 rrca   
  57.                 rrca   
  58.                 rrca   
  59.                 ld      (Analyzer_ch3_right),a          ;Amplitude 3 right
  60.  
  61.                 inc     hl
  62.                 ld      a, (hl)                         ;+04h - Amplitude 4 right/left
  63.                 and     0Fh
  64.                 ld      (Analyzer_ch4_left),a           ;Amplitude 4 left
  65.                 ld      a, (hl)
  66.                 and     0F0h
  67.                 rrca   
  68.                 rrca   
  69.                 rrca   
  70.                 rrca   
  71.                 ld      (Analyzer_ch4_right),a          ;Amplitude 4 right
  72.  
  73.                 inc     hl
  74.                 ld      a, (hl)                         ;+05h - Amplitude 5 right/left
  75.                 and     0Fh
  76.                 ld      (Analyzer_ch5_left),a           ;Amplitude 5 left
  77.                 ld      a, (hl)
  78.                 and     0F0h
  79.                 rrca   
  80.                 rrca   
  81.                 rrca   
  82.                 rrca   
  83.                 ld      (Analyzer_ch5_right),a          ;Amplitude 5 right
  84.                 ret
  85.  
  86. ;-------------------------------------------------------------------
  87. ; описание: Отображение анализатора
  88. ; параметры: нет
  89. ; возвращаемое  значение: нет
  90. ;---------------------------------------------------------------------
  91. Analyzer_view:
  92.                 ld      c,15
  93.                 ld      hl,5264h
  94.                 call    Analyzer_draw
  95.  
  96.                 ld      c,13
  97.                 ld      hl,5464h
  98.                 call    Analyzer_draw
  99.  
  100.                 ld      c,12
  101.                 ld      hl,5664h
  102.                 call    Analyzer_draw
  103.  
  104.                 ld      c,10
  105.                 ld      hl,5084h
  106.                 call    Analyzer_draw
  107.  
  108.                 ld      c,9
  109.                 ld      hl,5284h
  110.                 call    Analyzer_draw
  111.  
  112.                 ld      c,8
  113.                 ld      hl,5484h
  114.                 call    Analyzer_draw
  115.                                                        
  116.                 ld      c,7
  117.                 ld      hl,5684h
  118.                 call    Analyzer_draw
  119.  
  120.                 ld      c,6
  121.                 ld      hl,50A4h
  122.                 call    Analyzer_draw
  123.                                                        
  124.                 ld      c,5
  125.                 ld      hl,52A4h
  126.                 call    Analyzer_draw
  127.  
  128.                 ld      c,4
  129.                 ld      hl,54A4h
  130.                 call    Analyzer_draw
  131.  
  132.                 ld      c,3
  133.                 ld      hl,56A4h
  134.                 call    Analyzer_draw
  135.  
  136.                 ld      c,2
  137.                 ld      hl,50C4h
  138.                 call    Analyzer_draw
  139.  
  140.                 ld      c,1
  141.                 ld      hl,52C4h
  142.                 call    Analyzer_draw
  143.  
  144.                 ret
  145. ;-------------------------------------------------------------------
  146. ; описание: Отрисовка левого канала анализатора
  147. ; параметры: HL - адрес экрана
  148. ;            C - позиция в индикаторе
  149. ; возвращаемое  значение: нет
  150. ;---------------------------------------------------------------------
  151. Analyzer_draw:
  152.                 ld      b,12
  153.                 ld      de,Analyzer_ch0_left
  154. Analyzer_loop:
  155.                 ld      (hl),0
  156.                 inc     l
  157.                 ld      (hl),0
  158.                 ld      a,(de)
  159.                 cp      c
  160.                 jr      c,Analyzer_skip
  161.                 ld      (hl),0FCh
  162.                 dec     l
  163.                 ld      (hl),3Fh
  164.                 inc     l
  165. Analyzer_next:
  166.                 inc     l
  167.                 inc     de
  168.                 djnz    Analyzer_loop
  169.                 ret    
  170. Analyzer_skip:
  171.                 nop
  172.                 add     a,1
  173.                 jr      Analyzer_next  
  174. ;-------------------------------------------------------------------
  175. ; описание: Отрисовка левого канала анализатора
  176. ; параметры: HL - адрес экрана
  177. ;            C - позиция в индикаторе
  178. ; возвращаемое  значение: нет
  179. ;---------------------------------------------------------------------
  180. Analyzer_draw_flash:
  181.                 ld      a,(Analyzer_ch0_left)
  182.                 ld      e,a
  183.                 ld      a,(Analyzer_ch0_right)
  184.                 add     e
  185.                 ld      e,a
  186.                 ld      a,(Analyzer_ch1_left)
  187.                 add     e
  188.                 ld      e,a
  189.                 ld      a,(Analyzer_ch1_right)
  190.                 add     e
  191.                 ld      e,a
  192.                 ld      a,(Analyzer_ch2_left)
  193.                 add     e
  194.                 ld      e,a
  195.                 ld      a,(Analyzer_ch2_right)
  196.                 add     e
  197.                 and     0Fh
  198.                 ld      hl,Analyzer_table
  199.                 ld      e,a
  200.                 ld      d,0
  201.                 add     hl,de
  202.                 ld      a,(hl)
  203.                 ld      hl,5A1Dh
  204.                 ld      (hl),a
  205.                 inc     l
  206.                 ld      (hl),a
  207.                 ld      a,(Analyzer_ch3_left)
  208.                 ld      e,a
  209.                 ld      a,(Analyzer_ch3_right)
  210.                 add     e
  211.                 ld      e,a
  212.                 ld      a,(Analyzer_ch4_left)
  213.                 add     e
  214.                 ld      e,a
  215.                 ld      a,(Analyzer_ch4_right)
  216.                 add     e
  217.                 ld      e,a
  218.                 ld      a,(Analyzer_ch5_left)
  219.                 add     e
  220.                 ld      e,a
  221.                 ld      a,(Analyzer_ch5_right)
  222.                 add     e
  223.                 and     0Fh
  224.                 ld      hl,Analyzer_table
  225.                 ld      e,a
  226.                 ld      d,0
  227.                 add     hl,de
  228.                 ld      a,(hl)
  229.                 ld      hl,586Dh
  230.                 ld      (hl),a
  231.                 inc     l
  232.                 ld      (hl),a
  233.                 inc     l
  234.                 ld      (hl),a
  235.                 inc     l
  236.                 ld      (hl),a
  237.                 ret
  238.  
  239. ;-------------------------------------------------------------------
  240. ; описание: Обновление параметров анализатора
  241. ; параметры: нет
  242. ; возвращаемое  значение: нет
  243. ;---------------------------------------------------------------------
  244. Analyzer_init:
  245.                 ld      b, 12
  246.                 ld      hl,Analyzer_ch0_left
  247.  
  248. Analyzer_init_loop:
  249.                 ld      (hl),0
  250.                 inc     hl
  251.                 djnz    Analyzer_init_loop
  252.                 ret
  253. ;-------------------------------------------------------------------
  254. ; описание:  Переменные правого и левого каналов анализатора
  255. ;---------------------------------------------------------------------
  256. Analyzer_table:
  257.                 db      47h,47h,47h,47h,46h,46h,45h,45h,44h,44h,43h,43h,42h,42h,41h,41h
  258. ;-------------------------------------------------------------------
  259. ; описание:  Переменные правого и левого каналов анализатора
  260. ;---------------------------------------------------------------------
  261. Analyzer_ch0_left:
  262.                 db      0      
  263. Analyzer_ch0_right:
  264.                 db      0      
  265. Analyzer_ch1_left:
  266.                 db      0      
  267. Analyzer_ch1_right:
  268.                 db      0      
  269. Analyzer_ch2_left:
  270.                 db      0      
  271. Analyzer_ch2_right:
  272.                 db      0      
  273. Analyzer_ch3_left:
  274.                 db      0      
  275. Analyzer_ch3_right:
  276.                 db      0      
  277. Analyzer_ch4_left:
  278.                 db      0      
  279. Analyzer_ch4_right:
  280.                 db      0      
  281. Analyzer_ch5_left:
  282.                 db      0      
  283. Analyzer_ch5_right:
  284.                 db      0      
  285. ;               .end