Subversion Repositories tsfmpro

Rev

Rev 546 | 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,504Dh
  94.                 call    Analyzer_draw
  95.  
  96.                 ld      c,13
  97.                 ld      hl,514Dh
  98.                 call    Analyzer_draw
  99.  
  100.                 ld      c,11
  101.                 ld      hl,524Dh
  102.                 call    Analyzer_draw
  103.  
  104.                 ld      c,10
  105.                 ld      hl,534Dh
  106.                 call    Analyzer_draw
  107.  
  108.                 ld      c,8
  109.                 ld      hl,544Dh
  110.                 call    Analyzer_draw
  111.  
  112.                 ld      c,7
  113.                 ld      hl,554Dh
  114.                 call    Analyzer_draw
  115.                                                        
  116.                 ld      c,6
  117.                 ld      hl,564Dh
  118.                 call    Analyzer_draw
  119.  
  120.                 ld      c,5
  121.                 ld      hl,574Dh
  122.                 call    Analyzer_draw
  123.                                                        
  124.                 ld      c,4
  125.                 ld      hl,506Dh
  126.                 call    Analyzer_draw
  127.  
  128.                 ld      c,3
  129.                 ld      hl,516Dh
  130.                 call    Analyzer_draw
  131.  
  132.                 ld      c,2
  133.                 ld      hl,526Dh
  134.                 call    Analyzer_draw
  135.  
  136.                 ld      c,1
  137.                 ld      hl,536Dh
  138.                 call    Analyzer_draw
  139.  
  140.                 ret
  141. ;-------------------------------------------------------------------
  142. ; описание: Отрисовка левого канала анализатора
  143. ; параметры: HL - адрес экрана
  144. ;            C - позиция в индикаторе
  145. ; возвращаемое  значение: нет
  146. ;---------------------------------------------------------------------
  147. Analyzer_draw:
  148.                 ld      b,6
  149.                 ld      de,Analyzer_ch0_left
  150. Analyzer_loop:
  151.                 ld      (hl),0
  152.                 ld      a,(de)
  153.                 cp      c
  154.                 jr      c,Analyzer_next
  155.                 ld      (hl),0E0h
  156.  
  157. Analyzer_next:
  158.                 inc     de
  159.                 ld      a,(de)
  160.                 cp      c
  161.                 jr      c,Analyzer_next_1
  162.                 ld      a,0Eh
  163.                 or      (hl)
  164.                 ld      (hl),a
  165.  
  166. Analyzer_next_1:
  167.                 inc     l
  168.                 inc     de
  169.                 djnz    Analyzer_loop
  170.                 ret    
  171. ;-------------------------------------------------------------------
  172. ; описание: Отрисовка левого канала анализатора
  173. ; параметры: HL - адрес экрана
  174. ;            C - позиция в индикаторе
  175. ; возвращаемое  значение: нет
  176. ;---------------------------------------------------------------------
  177. Analyzer_draw_flash:
  178.                 ld      a,(Analyzer_ch0_left)
  179.                 ld      e,a
  180.                 ld      a,(Analyzer_ch0_right)
  181.                 add     e
  182.                 ld      e,a
  183.                 ld      a,(Analyzer_ch1_left)
  184.                 add     e
  185.                 ld      e,a
  186.                 ld      a,(Analyzer_ch1_right)
  187.                 add     e
  188.                 ld      e,a
  189.                 ld      a,(Analyzer_ch2_left)
  190.                 add     e
  191.                 ld      e,a
  192.                 ld      a,(Analyzer_ch2_right)
  193.                 add     e
  194.                 and     0Fh
  195.                 ld      hl,Analyzer_table
  196.                 ld      e,a
  197.                 ld      d,0
  198.                 add     hl,de
  199.                 ld      a,(hl)
  200.                 ld      hl,5A8Dh
  201.                 ld      (hl),a
  202.                 inc     l
  203.                 ld      (hl),a
  204.                 inc     l
  205.                 ld      (hl),a
  206.                 inc     l
  207.                 ld      (hl),a
  208.                 ld      l,0ADh
  209.                 ld      (hl),a
  210.                 inc     l
  211.                 ld      (hl),a
  212.                 inc     l
  213.                 ld      (hl),a
  214.                 inc     l
  215.                 ld      (hl),a
  216.  
  217.                 ld      a,(Analyzer_ch3_left)
  218.                 ld      e,a
  219.                 ld      a,(Analyzer_ch3_right)
  220.                 add     e
  221.                 ld      e,a
  222.                 ld      a,(Analyzer_ch4_left)
  223.                 add     e
  224.                 ld      e,a
  225.                 ld      a,(Analyzer_ch4_right)
  226.                 add     e
  227.                 ld      e,a
  228.                 ld      a,(Analyzer_ch5_left)
  229.                 add     e
  230.                 ld      e,a
  231.                 ld      a,(Analyzer_ch5_right)
  232.                 add     e
  233.                 and     0Fh
  234.                 ld      hl,Analyzer_table
  235.                 ld      e,a
  236.                 ld      d,0
  237.                 add     hl,de
  238.                 ld      a,(hl)
  239.                 ld      hl,5A91h
  240.                 ld      (hl),a
  241.                 inc     l
  242.                 ld      (hl),a
  243.                 ld      l,0B1h
  244.                 ld      (hl),a
  245.                 inc     l
  246.                 ld      (hl),a
  247.                 ret
  248.  
  249. ;-------------------------------------------------------------------
  250. ; описание: Обновление параметров анализатора
  251. ; параметры: нет
  252. ; возвращаемое  значение: нет
  253. ;---------------------------------------------------------------------
  254. Analyzer_init:
  255.                 ld      b, 12
  256.                 ld      hl,Analyzer_ch0_left
  257.  
  258. Analyzer_init_loop:
  259.                 ld      (hl),0
  260.                 inc     hl
  261.                 djnz    Analyzer_init_loop
  262.                 ret
  263. ;-------------------------------------------------------------------
  264. ; описание:  Переменные правого и левого каналов анализатора
  265. ;---------------------------------------------------------------------
  266. Analyzer_table:
  267.                 db      78h,78h,78h,78h,7Dh,7Dh,7Dh,7Ch,7Ch,7Ch,7Bh,7Bh,7Ah,7Ah,79h,79h
  268. ;-------------------------------------------------------------------
  269. ; описание:  Переменные правого и левого каналов анализатора
  270. ;---------------------------------------------------------------------
  271. Analyzer_ch0_left:
  272.                 db      0      
  273. Analyzer_ch0_right:
  274.                 db      0      
  275. Analyzer_ch1_left:
  276.                 db      0      
  277. Analyzer_ch1_right:
  278.                 db      0      
  279. Analyzer_ch2_left:
  280.                 db      0      
  281. Analyzer_ch2_right:
  282.                 db      0      
  283. Analyzer_ch3_left:
  284.                 db      0      
  285. Analyzer_ch3_right:
  286.                 db      0      
  287. Analyzer_ch4_left:
  288.                 db      0      
  289. Analyzer_ch4_right:
  290.                 db      0      
  291. Analyzer_ch5_left:
  292.                 db      0      
  293. Analyzer_ch5_right:
  294.                 db      0      
  295. ;               .end