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,58E1h
  94.                 call    Analyzer_draw
  95.  
  96.                 ld      c,13
  97.                 ld      hl,5901h
  98.                 call    Analyzer_draw
  99.  
  100.                 ld      c,11
  101.                 ld      hl,5921h
  102.                 call    Analyzer_draw
  103.  
  104.                 ld      c,9
  105.                 ld      hl,5941h
  106.                 call    Analyzer_draw
  107.                                                        
  108.                 ld      c,7
  109.                 ld      hl,5961h
  110.                 call    Analyzer_draw
  111.  
  112.                 ld      c,6
  113.                 ld      hl,5981h
  114.                 call    Analyzer_draw
  115.                                                        
  116.                 ld      c,5
  117.                 ld      hl,59A1h
  118.                 call    Analyzer_draw
  119.  
  120.                 ld      c,4
  121.                 ld      hl,59C1h
  122.                 call    Analyzer_draw
  123.  
  124.                 ld      c,3
  125.                 ld      hl,59E1h
  126.                 call    Analyzer_draw
  127.  
  128.                 ld      c,2
  129.                 ld      hl,5A01h
  130.                 call    Analyzer_draw
  131.  
  132.                 ld      c,1
  133.                 ld      hl,5A21h
  134.                 call    Analyzer_draw
  135.  
  136.                 ret
  137. ;-------------------------------------------------------------------
  138. ; описание: Отрисовка левого канала анализатора
  139. ; параметры: HL - адрес экрана
  140. ;            C - позиция в индикаторе
  141. ; возвращаемое  значение: нет
  142. ;---------------------------------------------------------------------
  143. Analyzer_draw:
  144.                 ld      b,12
  145.                 ld      de,Analyzer_ch0_left
  146. Analyzer_loop:
  147.                 ld      (hl),0
  148.                 inc     l
  149.                 ld      (hl),0
  150.                 ld      a,(de)
  151.                 cp      c
  152.                 jr      c,Analyzer_skip
  153.                 ld      a,12
  154.                 sub     b
  155.                 push    hl
  156.                 push    de
  157.                 ld      d,0
  158.                 ld      e,a
  159.                 ld      hl,Analyzer_table
  160.                 add     hl,de
  161.                 ld      a,(hl)
  162.                 pop     de
  163.                 pop     hl
  164.                 ld      (hl),a
  165.                 dec     l
  166.                 ld      (hl),a
  167.                 inc     l
  168. Analyzer_skip:
  169.                 inc     l
  170.                 inc     de
  171.                 djnz    Analyzer_loop
  172.                 ret    
  173. ;-------------------------------------------------------------------
  174. ; описание: Отрисовка левого канала анализатора
  175. ; параметры: HL - адрес экрана
  176. ; возвращаемое  значение: нет
  177. ;---------------------------------------------------------------------
  178. Analyzer_fill:
  179.                 ld      b,12
  180.                 ld      a,0Fh
  181. Analyzer_fill_loop:
  182.                 ld      (hl),a
  183.                 inc     l
  184.                 djnz    Analyzer_fill_loop
  185.                 ret    
  186. ;-------------------------------------------------------------------
  187. ; описание: Обновление параметров анализатора
  188. ; параметры: нет
  189. ; возвращаемое  значение: нет
  190. ;---------------------------------------------------------------------
  191. Analyzer_init:
  192.                 ld      b, 12
  193.                 ld      hl,Analyzer_ch0_left
  194.  
  195. Analyzer_init_loop:
  196.                 ld      (hl),0
  197.                 inc     hl
  198.                 djnz    Analyzer_init_loop
  199.                 ret
  200.  
  201. ;-------------------------------------------------------------------
  202. ; описание:  Переменные правого и левого каналов анализатора
  203. ;---------------------------------------------------------------------
  204. Analyzer_table:
  205.                 db      01,41h,02,42h,03,43h,04,44h,05,45h,06,46h      
  206. ;-------------------------------------------------------------------
  207. ; описание:  Переменные правого и левого каналов анализатора
  208. ;---------------------------------------------------------------------
  209. Analyzer_ch0_left:
  210.                 db      0      
  211. Analyzer_ch0_right:
  212.                 db      0      
  213. Analyzer_ch1_left:
  214.                 db      0      
  215. Analyzer_ch1_right:
  216.                 db      0      
  217. Analyzer_ch2_left:
  218.                 db      0      
  219. Analyzer_ch2_right:
  220.                 db      0      
  221. Analyzer_ch3_left:
  222.                 db      0      
  223. Analyzer_ch3_right:
  224.                 db      0      
  225. Analyzer_ch4_left:
  226.                 db      0      
  227. Analyzer_ch4_right:
  228.                 db      0      
  229. Analyzer_ch5_left:
  230.                 db      0      
  231. Analyzer_ch5_right:
  232.                 db      0      
  233. ;               .end