Subversion Repositories tsfmpro

Rev

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

  1. ;--------------------------------------------------------------------
  2. ; Описание: Сдвиг шахматки
  3. ; Автор порта: Тарасов М.Н.(Mick),2011
  4. ;--------------------------------------------------------------------
  5. Animation_star_init:
  6.                 xor     a
  7.                 ld      (Animation_step),a
  8.                 ld      (Animation_phase),a
  9.                 ld      (Animation_count),a
  10.  
  11. Animation_star_view:
  12.                 ld      a,(Animation_step)
  13.                 inc     a
  14.                 and     07h
  15.                 ld      (Animation_step),a
  16.                 ret     nz
  17.                 ld      a,(Animation_phase)
  18.                 inc     a      
  19.                 cp      09h
  20.                 jr      c,Animation_next_phase
  21.                 ld      a,(Animation_count)
  22.                 xor     1
  23.                 ld      (Animation_count),a
  24.                 xor     a
  25. Animation_next_phase:
  26.                 ld      (Animation_phase),a
  27.                 ld      l,a
  28.                 ld      h,0
  29.                 ld      b,h
  30.                 add     hl,hl
  31.                 ld      bc,Animation_table_phase
  32.                 add     hl,bc
  33.                 ld      a,(hl)                          ;адрес фазы
  34.                 inc     hl
  35.                 ld      h,(hl)                          ;адрес фазы
  36.                 ld      l,a
  37.  
  38.                 ld      a,(Animation_count)
  39.                 and     a
  40.                 jr      z,Animation_star_right
  41.                 ld      de,4040h
  42.                 jr      Animation_draw
  43.  
  44. Animation_star_right:
  45.                 ld      de,405Eh
  46. Animation_draw:
  47.                 ld      b,16
  48. Animation_loop_Y:
  49.                 ld      c,d
  50.                 ldi
  51.                 ldi
  52.                 dec     e
  53.                 dec     e
  54.                 inc     d
  55.                 ld      a,d
  56.                 and     7
  57.                 jr      nz,Animation_next_line
  58.                 ld      a,e
  59.                 add     20h
  60.                 ld      e,a
  61.                 jr      c,Animation_next_line
  62.                 ld      a,d
  63.                 sub     8
  64.                 ld      d,a
  65. Animation_next_line:
  66.                 dec     b
  67.                 jr      nz,Animation_loop_Y
  68.                 ret        
  69.  
  70. Animation_step:
  71.                 db      0
  72. Animation_phase:
  73.                 db      0
  74. Animation_count:
  75.                 db      0
  76.  
  77. Animation_table_phase:
  78.                 dw      Animation_phase_00     
  79.                 dw      Animation_phase_01     
  80.                 dw      Animation_phase_02     
  81.                 dw      Animation_phase_03     
  82.                 dw      Animation_phase_04     
  83.                 dw      Animation_phase_03     
  84.                 dw      Animation_phase_02     
  85.                 dw      Animation_phase_01     
  86.                 dw      Animation_phase_00     
  87.  
  88. Animation_phase_00:
  89.                 db      0,0,0,0,0,0,0,0
  90.                 db      0,0,0,0,0,0,0,0
  91.                 db      0,0,0,0,0,0,0,0
  92.                 db      0,0,0,0,0,0,0,0
  93.  
  94. Animation_phase_01:
  95.                 db      0,0,0,0,0,0,0,0
  96.                 db      0,0,0,0,0,0,0,80h
  97.                 db      1,0C0h,0,80h,0,0,0,0
  98.                 db      0,0,0,0,0,0,0,0
  99.  
  100. Animation_phase_02:
  101.                 db      0,0,0,0,0,0,0,0
  102.                 db      0,0,0,80h,0,0,0,80h
  103.                 db      5,0D0h,0,80h,0,0,0,80h
  104.                 db      0,0,0,0,0,0,0,0
  105.  
  106. Animation_phase_03:
  107.                 db      0,0,0,0,0,80h,0,0
  108.                 db      0,80h,0,90h,2,80h,1,0C0h
  109.                 db      47,0F4h,1,0C0h,0,0A0h,4,80h
  110.                 db      0,0,0,80h,0,0,0,0
  111.  
  112. Animation_phase_04:
  113.                 db      0,80h,0,0,0,80h,10h,8
  114.                 db      0,80h,4,80h,2,0A0h,1,0C0h
  115.                 db      5Fh,0FDh,1,0C0h,2,80h,4,90h
  116.                 db      0,88h,10h,80h,0,0,0,80h
  117.  
  118. Animation_view:
  119.                 ld      de,512Ah
  120.                 call    Animation_draw_line             ;512Ah
  121.                 inc     d
  122.                 call    Animation_draw_line             ;522Ah
  123.                 inc     d
  124.                 call    Animation_draw_line             ;532Ah
  125.                 inc     d
  126.                 call    Animation_draw_line             ;542Ah
  127.                 inc     d
  128.                 call    Animation_draw_line             ;552Ah
  129.                 inc     d
  130.                 call    Animation_draw_line             ;562Ah
  131.                 inc     d
  132.                 call    Animation_draw_line             ;572Ah
  133.                 ld      de,504Ah
  134.                 call    Animation_draw_line             ;504Ah
  135.                 inc     d
  136.                 call    Animation_draw_line             ;514Ah
  137.                 inc     d
  138.                 call    Animation_draw_line             ;524Ah
  139.                 inc     d
  140.                 call    Animation_draw_line             ;534Ah
  141.                 inc     d
  142.                 call    Animation_draw_line             ;544Ah
  143.                 inc     d
  144.                 call    Animation_draw_line             ;554Ah
  145.                 inc     d
  146.                 call    Animation_draw_line             ;564Ah
  147.                 inc     d
  148.                 call    Animation_draw_line             ;574Ah
  149.                 ld      de,506Ah
  150.                 call    Animation_draw_line             ;506Ah
  151.                 inc     d
  152.                 call    Animation_draw_line             ;516Ah
  153.                 inc     d
  154.                 call    Animation_draw_line             ;526Ah
  155.                 inc     d
  156.                 call    Animation_draw_line             ;536Ah
  157.                 inc     d
  158.                 call    Animation_draw_line             ;546Ah
  159.                 inc     d
  160.                 call    Animation_draw_line             ;556Ah
  161.                 inc     d
  162.                 call    Animation_draw_line             ;566Ah
  163.                 inc     d                               ;576Ah
  164.  
  165. Animation_draw_line:
  166.                 ld      h,d
  167.                 ld      l,e
  168.                 and     a
  169.  
  170.                 rr      (hl)
  171.                 inc     l
  172.                 rr      (hl)
  173.                 inc     l
  174.                 rr      (hl)
  175.                 inc     l
  176.                 rr      (hl)
  177.                 inc     l
  178.                 rr      (hl)
  179.                 inc     l
  180.                 rr      (hl)
  181.                 inc     l
  182.  
  183.                 rr      (hl)
  184.                 inc     l
  185.                 rr      (hl)
  186.                 inc     l
  187.                 rr      (hl)
  188.                 inc     l
  189.                 rr      (hl)
  190.                 inc     l
  191.                 rr      (hl)
  192.                 inc     l
  193.                 rr      (hl)
  194.  
  195.                 ret     nc
  196.                 ld      l,e
  197.                 set     7,(hl)
  198.                 ret    
  199.