Subversion Repositories tsfmpro

Rev

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

  1. ;--------------------------------------------------------------------
  2. ; Описание: Анимация спрайта цифры 8
  3. ; Автор порта: Тарасов М.Н.(Mick),2010
  4. ;--------------------------------------------------------------------
  5. Title_init:
  6.                 xor     a
  7.                 ld      (Title_step),a
  8.                 ld      (Title_phase),a
  9.                 ld      (Title_count_symbol),a
  10.                 ret
  11. Title_view:
  12.                 ld      a,(Title_step)
  13.                 inc     a
  14.                 and     07h
  15.                 ld      (Title_step),a
  16.                 ret     nz
  17.                 ld      a,(Title_phase)
  18.                 inc     a      
  19.                 and     1Fh
  20.                 ld      (Title_phase),a
  21.                 call    z,Title_next_symbol
  22.                 ld      hl,(Title_addr_table)
  23.  
  24.                 ld      bc,7ffdh
  25.                 ld      e,90h
  26.                 out     (c),e
  27.  
  28.                 ld      c,a
  29.                 ld      b,(hl)                          ;число строк
  30.                 inc     hl
  31.                 ld      e,(hl)                          ;адрес экрана
  32.                 inc     hl
  33.                 ld      d,(hl)
  34.                 inc     hl
  35.                 ld      a,b
  36.                 push    hl
  37.                 ld      l,c
  38.                 ld      h,0
  39.                 pop     bc
  40.                 add     hl,hl
  41.                 add     hl,bc
  42.                 ld      b,a
  43.                 ld      a,(hl)
  44.                 inc     hl
  45.                 ld      h,(hl)
  46.                 ld      l,a
  47.                 ex      hl,de                           ;HL- адрес экрана, DE - буфер                          
  48. Title_loop_Y:
  49.                 push    hl
  50.                 ex      hl,de
  51.                 ldi
  52.                 ldi
  53.                 ldi
  54.                 ldi
  55.                 ldi
  56.                 ldi
  57.                 ex      hl,de
  58.                 pop     hl
  59.                 inc     h
  60.                 ld      a,h
  61.                 and     7
  62.                 jr      nz,Title_next_line
  63.                 ld      a,l
  64.                 add     20h
  65.                 ld      l,a
  66.                 jr      c,Title_next_line
  67.                 ld      a,h
  68.                 sub     8
  69.                 ld      h,a
  70. Title_next_line:
  71.                 dec     b
  72.                 jr      nz,Title_loop_Y
  73.                 ret        
  74.  
  75. Title_next_symbol:
  76.                 ld      c,a
  77.                 ld      a,(Title_count_symbol)
  78.                 inc     a
  79.                 cp      7
  80.                 jr      c,Title_update_symbol
  81.                 xor     a
  82.  
  83. Title_update_symbol:   
  84.                 ld      (Title_count_symbol),a
  85.                 ld      l,a
  86.                 ld      h,0
  87.                 add     hl,hl
  88.                 ld      de,Title_table_phase
  89.                 add     hl,de
  90.                 ld      a,(hl)
  91.                 inc     hl
  92.                 ld      h,(hl)
  93.                 ld      l,a
  94.                 ld      (Title_addr_table),hl
  95.                 ld      a,c
  96.                 ret
  97.  
  98. Title_addr_table:
  99.                 dw      Title_table_E10
  100. Title_count_symbol:
  101.                 db      0
  102. Title_step:
  103.                 db      0
  104. Title_phase:
  105.                 db      0
  106.  
  107. Title_table_phase:
  108.                 dw      Title_table_E10
  109.                 dw      Title_table_Z10
  110.                 dw      Title_table_T10
  111.                 dw      Title_table_U10
  112.                 dw      Title_table_N10
  113.                 dw      Title_table_E20
  114.                 dw      Title_table_S10
  115.