Subversion Repositories tsfmpro

Rev

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

  1. ;--------------------------------------------------------------------
  2. ; Описание: Анимация спрайта цифры 8
  3. ; Автор порта: Тарасов М.Н.(Mick),2010
  4. ;--------------------------------------------------------------------
  5. Animation_init:
  6.                 xor     a
  7.                 ld      (Animation_step),a
  8.                 ld      (Animation_phase),a
  9.                 ld      hl,Animation_table_data
  10.                 ld      (Animation_table_addr),hl
  11.                 ret
  12. Animation_view:
  13.                 ld      a,(Animation_step)
  14.                 inc     a
  15.                 and     07h
  16.                 ld      (Animation_step),a
  17.                 ret     nz
  18.                 ld      a,(Animation_phase)
  19.                 inc     a      
  20.                 cp      28h
  21.                 jr      c,Animation_next_phase
  22.                 ld      hl,Animation_table_data
  23.                 ld      (Animation_table_addr),hl
  24.                 xor     a
  25. Animation_next_phase:
  26.                 ld      (Animation_phase),a
  27.                 ld      hl,(Animation_table_addr)
  28.                 ld      de,40ECh
  29.                 ld      a,(hl)
  30.                 call    Animation_view_data
  31.                 inc     hl
  32.                 inc     de
  33.                 ld      a,(hl)
  34.                 call    Animation_view_data
  35.                 inc     hl
  36.                 inc     de
  37.                 ld      a,(hl)
  38.                 call    Animation_view_data
  39.                 inc     hl
  40.                 inc     de
  41.                 inc     de
  42.                 ld      a,(hl)
  43.                 call    Animation_view_data
  44.                 inc     hl
  45.                 inc     de
  46.                 ld      a,(hl)
  47.                 call    Animation_view_data
  48.                 inc     hl
  49.                 inc     de
  50.                 ld      a,(hl)
  51.                 call    Animation_view_data
  52.                 inc     hl
  53.                 inc     de
  54.                 ld      a,(hl)
  55.                 call    Animation_view_data
  56.                 inc     hl
  57.  
  58.                 ld      de,480Dh
  59.                 ld      a,(hl)
  60.                 call    Animation_view_data
  61.                 inc     hl
  62.                 inc     de
  63.                 ld      a,(hl)
  64.                 call    Animation_view_data
  65.                 inc     hl
  66.                 inc     de
  67.                 inc     de
  68.                 ld      a,(hl)
  69.                 call    Animation_view_data
  70.                 inc     hl
  71.                 inc     de
  72.                 ld      a,(hl)
  73.                 call    Animation_view_data
  74.                 inc     hl
  75.  
  76.                 ld      de,482Dh
  77.                 ld      a,(hl)
  78.                 call    Animation_view_data
  79.                 inc     hl
  80.                 inc     de
  81.                 ld      a,(hl)
  82.                 call    Animation_view_data
  83.                 inc     hl
  84.                 inc     de
  85.                 inc     de
  86.                 ld      a,(hl)
  87.                 call    Animation_view_data
  88.                 inc     hl
  89.                 inc     de
  90.                 ld      a,(hl)
  91.                 call    Animation_view_data
  92.                 inc     hl
  93.                 inc     de
  94.                 ld      a,(hl)
  95.                 call    Animation_view_data
  96.                 inc     hl
  97.                 inc     de
  98.                 ld      a,(hl)
  99.                 call    Animation_view_data
  100.                 inc     hl
  101.  
  102.                 ld      de,484Dh
  103.                 ld      a,(hl)
  104.                 call    Animation_view_data
  105.                 inc     hl
  106.                 inc     de
  107.                 ld      a,(hl)
  108.                 call    Animation_view_data
  109.                 inc     hl
  110.                 inc     de
  111.                 inc     de
  112.                 inc     de
  113.                 inc     de
  114.                 ld      a,(hl)
  115.                 call    Animation_view_data
  116.                 inc     hl
  117.                 inc     de
  118.                 ld      a,(hl)
  119.                 call    Animation_view_data
  120.                 inc     hl
  121.  
  122.                 ld      de,486Dh
  123.                 ld      a,(hl)
  124.                 call    Animation_view_data
  125.                 inc     hl
  126.                 inc     de
  127.                 ld      a,(hl)
  128.                 call    Animation_view_data
  129.                 inc     hl
  130.                 inc     de
  131.                 inc     de
  132.                 inc     de
  133.                 inc     de
  134.                 ld      a,(hl)
  135.                 call    Animation_view_data
  136.                 inc     hl
  137.                 inc     de
  138.                 ld      a,(hl)
  139.                 call    Animation_view_data
  140.                 inc     hl
  141.  
  142.                 ld      de,488Dh
  143.                 ld      a,(hl)
  144.                 call    Animation_view_data
  145.                 inc     hl
  146.                 inc     de
  147.                 ld      a,(hl)
  148.                 call    Animation_view_data
  149.                 inc     hl
  150.                 inc     de
  151.                 inc     de
  152.                 ld      a,(hl)
  153.                 call    Animation_view_data
  154.                 inc     hl
  155.                 inc     de
  156.                 ld      a,(hl)
  157.                 call    Animation_view_data
  158.                 inc     hl
  159.                 inc     de
  160.                 ld      a,(hl)
  161.                 call    Animation_view_data
  162.                 inc     hl
  163.                 inc     de
  164.                 ld      a,(hl)
  165.                 call    Animation_view_data
  166.                 inc     hl
  167.                
  168.                 ld      (Animation_table_addr),hl
  169.                 ret
  170. ;-------------------------------------------------------------------
  171. ; описание: Оотбражение одной фазы
  172. ; параметры: нет
  173. ; возвращаемое  значение: нет
  174. ;---------------------------------------------------------------------
  175. Animation_view_data
  176.                 push    hl
  177.                 push    de
  178.                 ld      l,a
  179.                 ld      h,0
  180.                 add     hl,hl
  181.                 ld      bc,Animation_table_phase
  182.                 add     hl,bc
  183.                 ld      a,(hl)                         
  184.                 inc     hl
  185.                 ld      h,(hl)
  186.                 ld      l,a
  187.                 ld      b,7                            
  188. Animation_loop_Y:
  189.                 ld      a,(hl)
  190.                 ld      (de),a
  191.                 inc     hl
  192.                 inc     d
  193.                 ld      a,d
  194.                 and     7
  195.                 jr      nz,Animation_next_line
  196.                 ld      a,e
  197.                 add     20h
  198.                 ld      e,a
  199.                 jr      c,Animation_next_line
  200.                 ld      a,d
  201.                 sub     8
  202.                 ld      d,a
  203. Animation_next_line:
  204.                 djnz    Animation_loop_Y
  205.                 pop     de
  206.                 pop     hl
  207.                 ret        
  208.  
  209. Animation_step:
  210.                 db      0
  211. Animation_phase:
  212.                 db      0
  213. Animation_table_addr:
  214.                 dw      0
  215.  
  216. Animation_table_phase:
  217.                 dw      Animation_phase_00     
  218.                 dw      Animation_phase_01     
  219.                 dw      Animation_phase_02     
  220.                 dw      Animation_phase_03     
  221.                 dw      Animation_phase_04     
  222.  
  223. Animation_phase_00:
  224.                 db      6Ch,0D6h,0AAh,54h,0AAh,0D6h,6Ch
  225.  
  226. Animation_phase_01:
  227.                 db      6Ch,92h,0AAh,54h,0AAh,92h,6Ch
  228.  
  229. Animation_phase_02:
  230.                 db      6Ch,82h,0AAh,10h,0AAh,82h,6Ch
  231.  
  232. Animation_phase_03:
  233.                 db      6Ch,82h,82h,10h,82h,82h,6Ch
  234.  
  235. Animation_phase_04:
  236.                 db      6Ch,82h,82h,00h,82h,82h,6Ch
  237.  
  238.  
  239. Animation_table_data:
  240.                 db      0,0,0, 0,0,0,0          ;0
  241.                 db        0,0, 0,0
  242.                 db        0,0, 0,0,0,0
  243.                 db        0,0,     0,0
  244.                 db        0,0,     0,0
  245.                 db        0,0, 0,0,0,0
  246.  
  247.                 db      1,1,1, 1,1,1,1          ;1
  248.                 db        0,0, 0,0
  249.                 db        0,0, 0,0,0,0
  250.                 db        0,0,     0,0
  251.                 db        0,0,     0,0
  252.                 db        0,0, 0,0,0,0
  253.  
  254.                 db      2,2,2, 2,2,2,2          ;2
  255.                 db        1,1, 1,1
  256.                 db        0,0, 0,0,0,0
  257.                 db        0,0,     0,0
  258.                 db        0,0,     0,0
  259.                 db        0,0, 0,0,0,0
  260.  
  261.                 db      3,3,3, 3,3,3,3          ;3
  262.                 db        2,2, 2,2
  263.                 db        1,1, 1,1,1,1
  264.                 db        0,0,     0,0
  265.                 db        0,0,     0,0
  266.                 db        0,0, 0,0,0,0
  267.  
  268.                 db      4,4,4, 4,4,4,4          ;4
  269.                 db        3,3, 3,3
  270.                 db        2,2, 2,2,2,2
  271.                 db        1,1,     1,1
  272.                 db        0,0,     0,0
  273.                 db        0,0, 0,0,0,0
  274.  
  275.                 db      4,4,4, 4,4,4,4          ;5
  276.                 db        4,4, 4,4
  277.                 db        3,3, 3,3,3,3
  278.                 db        2,2,     2,2
  279.                 db        1,1,     1,1
  280.                 db        0,0, 0,0,0,0
  281.  
  282.                 db      3,3,3, 3,3,3,3          ;6
  283.                 db        4,4, 4,4
  284.                 db        4,4, 4,4,4,4
  285.                 db        3,3,     3,3
  286.                 db        2,2,     2,2
  287.                 db        1,1, 1,1,1,1
  288.  
  289.                 db      2,2,2, 2,2,2,2          ;7
  290.                 db        3,3, 3,3
  291.                 db        4,4, 4,4,4,4
  292.                 db        4,4,     4,4
  293.                 db        3,3,     3,3
  294.                 db        2,2, 2,2,2,2
  295.  
  296.                 db      1,1,1, 1,1,1,1          ;8
  297.                 db        2,2, 2,2
  298.                 db        3,3, 3,3,3,3
  299.                 db        4,4,     4,4
  300.                 db        4,4,     4,4
  301.                 db        3,3, 3,3,3,3
  302.  
  303.                 db      0,0,0, 0,0,0,0          ;9
  304.                 db        1,1, 1,1
  305.                 db        2,2, 2,2,2,2
  306.                 db        3,3,     3,3
  307.                 db        4,4,     4,4
  308.                 db        4,4, 4,4,4,4
  309.  
  310.                 db      0,0,0, 0,0,0,0          ;A
  311.                 db        0,0, 0,0
  312.                 db        1,1, 1,1,1,1
  313.                 db        2,2,     2,2
  314.                 db        3,3,     3,3
  315.                 db        4,4, 4,4,4,4
  316.  
  317.                 db      0,0,0, 0,0,0,0          ;B
  318.                 db        0,0, 0,0
  319.                 db        0,0, 0,0,0,0
  320.                 db        1,1,     1,1
  321.                 db        2,2,     2,2
  322.                 db        3,3, 3,3,3,3
  323.  
  324.                 db      0,0,0, 0,0,0,0          ;C
  325.                 db        0,0, 0,0
  326.                 db        0,0, 0,0,0,0
  327.                 db        0,0,     0,0
  328.                 db        1,1,     1,1
  329.                 db        2,2, 2,2,2,2
  330.  
  331.                 db      0,0,0, 0,0,0,0          ;D
  332.                 db        0,0, 0,0
  333.                 db        0,0, 0,0,0,0
  334.                 db        0,0,     0,0
  335.                 db        0,0,     0,0
  336.                 db        1,1, 1,1,1,1
  337.  
  338.                 db      0,0,0, 0,0,0,0          ;E
  339.                 db        0,0, 0,0
  340.                 db        0,0, 0,0,0,0
  341.                 db        0,0,     0,0
  342.                 db        0,0,     0,0
  343.                 db        0,0, 0,0,0,0
  344.  
  345.                 db      1,0,1, 0,1,0,1          ;F
  346.                 db        0,1, 0,1
  347.                 db        0,1, 0,1,0,1
  348.                 db        0,1,     0,1
  349.                 db        0,1,     0,1
  350.                 db        0,1, 0,1,0,1
  351.  
  352.                 db      2,1,2, 1,2,1,2          ;10
  353.                 db        1,2, 1,2
  354.                 db        1,2, 1,2,1,2
  355.                 db        1,2,     1,2
  356.                 db        1,2,     1,2
  357.                 db        1,2, 1,2,1,2
  358.  
  359.                 db      3,2,3, 2,3,2,3          ;11
  360.                 db        2,3, 2,3
  361.                 db        2,3, 2,3,2,3
  362.                 db        2,3,     2,3
  363.                 db        2,3,     2,3
  364.                 db        2,3, 2,3,2,3
  365.  
  366.                 db      4,3,4, 3,4,3,4          ;12
  367.                 db        3,4, 3,4
  368.                 db        3,4, 3,4,3,4
  369.                 db        3,4,     3,4
  370.                 db        3,4,     3,4
  371.                 db        3,4, 3,4,3,4
  372.  
  373.                 db      4,4,4, 4,4,4,4          ;13
  374.                 db        4,4, 4,4
  375.                 db        4,4, 4,4,4,4
  376.                 db        4,4,     4,4
  377.                 db        4,4,     4,4
  378.                 db        4,4, 4,4,4,4
  379.  
  380.                 db      3,4,3, 4,3,4,3          ;14
  381.                 db        4,3, 4,3
  382.                 db        4,3, 4,3,4,3
  383.                 db        4,3,     4,3
  384.                 db        4,3,     4,3
  385.                 db        4,3, 4,3,4,3
  386.  
  387.                 db      2,3,2, 3,2,3,2          ;15
  388.                 db        3,2, 3,2
  389.                 db        3,2, 3,2,3,2
  390.                 db        3,2,     3,2
  391.                 db        3,2,     3,2
  392.                 db        3,2, 3,2,3,2
  393.  
  394.                 db      1,2,1, 2,1,2,1          ;16
  395.                 db        2,1, 2,1
  396.                 db        2,1, 2,1,2,1
  397.                 db        2,1,     2,1
  398.                 db        2,1,     2,1
  399.                 db        2,1, 2,1,2,1
  400.  
  401.                 db      0,1,0, 1,0,1,0          ;17
  402.                 db        1,0, 1,0
  403.                 db        1,0, 1,0,1,0
  404.                 db        1,0,     1,0
  405.                 db        1,0,     1,0
  406.                 db        1,0, 1,0,1,0
  407.  
  408.                 db      0,0,0, 0,0,0,0          ;18
  409.                 db        0,0, 0,0
  410.                 db        0,0, 0,0,0,0
  411.                 db        0,0,     0,0
  412.                 db        0,0,     0,0
  413.                 db        0,0, 0,0,0,0
  414.  
  415.                 db      0,0,0, 0,0,0,0          ;19
  416.                 db        0,0, 0,0
  417.                 db        0,0, 0,0,0,0
  418.                 db        0,0,     0,0
  419.                 db        0,0,     0,0
  420.                 db        1,0, 0,0,0,0
  421.  
  422.                 db      0,0,0, 0,0,0,0          ;1A
  423.                 db        0,0, 0,0
  424.                 db        0,0, 0,0,0,0
  425.                 db        0,0,     0,0
  426.                 db        1,0,     0,0
  427.                 db        2,1, 0,0,0,0
  428.  
  429.                 db      0,0,0, 0,0,0,0          ;1B
  430.                 db        0,0, 0,0
  431.                 db        0,0, 0,0,0,0
  432.                 db        1,0,     0,0
  433.                 db        2,1,     0,0
  434.                 db        3,2, 1,0,0,0
  435.  
  436.                 db      0,0,0, 0,0,0,0          ;1C
  437.                 db        0,0, 0,0
  438.                 db        1,0, 0,0,0,0
  439.                 db        2,1,     0,0
  440.                 db        3,2,     0,0
  441.                 db        4,3, 2,1,0,0
  442.  
  443.                 db      1,0,0, 0,0,0,0          ;1D
  444.                 db        1,0, 0,0
  445.                 db        2,1, 0,0,0,0
  446.                 db        3,2,     0,0
  447.                 db        4,3,     0,0
  448.                 db        0,4, 3,2,1,0
  449.  
  450.                 db      2,1,0, 0,0,0,0          ;1E
  451.                 db        2,1, 0,0
  452.                 db        3,2, 0,0,0,0
  453.                 db        4,3,     0,0
  454.                 db        0,4,     0,0
  455.                 db        0,0, 4,3,1,0
  456.  
  457.                 db      3,2,1, 0,0,0,0          ;1F
  458.                 db        3,2, 0,0
  459.                 db        4,3, 1,0,0,0
  460.                 db        0,4,     0,0
  461.                 db        0,0,     1,0
  462.                 db        0,0, 4,3,2,1
  463.  
  464.                 db      4,3,2, 0,0,0,0          ;20
  465.                 db        4,3, 1,0
  466.                 db        0,4, 2,1,0,0
  467.                 db        0,0,     1,0
  468.                 db        0,0,     2,1
  469.                 db        0,0, 0,4,3,2
  470.  
  471.                 db      0,4,3, 1,0,0,0          ;21
  472.                 db        0,4, 2,1
  473.                 db        0,0, 3,2,1,0
  474.                 db        0,0,     2,1
  475.                 db        0,0,     3,2
  476.                 db        0,0, 0,0,4,3
  477.  
  478.                 db      0,0,4, 2,1,0,0          ;22
  479.                 db        0,0, 3,2
  480.                 db        0,0, 4,3,2,1
  481.                 db        0,0,     3,2
  482.                 db        0,0,     4,3
  483.                 db        0,0, 0,0,0,4
  484.  
  485.                 db      0,0,0, 3,2,1,0          ;23
  486.                 db        0,0, 4,3
  487.                 db        0,0, 0,4,3,2
  488.                 db        0,0,     4,3
  489.                 db        0,0,     0,4
  490.                 db        0,0, 0,0,0,0
  491.  
  492.                 db      0,0,0, 4,3,2,1          ;24
  493.                 db        0,0, 0,4
  494.                 db        0,0, 0,0,4,3
  495.                 db        0,0,     0,4
  496.                 db        0,0,     0,0
  497.                 db        0,0, 0,0,0,0
  498.  
  499.                 db      0,0,0, 0,4,3,2          ;25
  500.                 db        0,0, 0,0
  501.                 db        0,0, 0,0,0,4
  502.                 db        0,0,     0,0
  503.                 db        0,0,     0,0
  504.                 db        0,0, 0,0,0,0
  505.  
  506.                 db      0,0,0, 0,0,4,3          ;26
  507.                 db        0,0, 0,0
  508.                 db        0,0, 0,0,0,0
  509.                 db        0,0,     0,0
  510.                 db        0,0,     0,0
  511.                 db        0,0, 0,0,0,0
  512.  
  513.                 db      0,0,0, 0,0,0,4          ;27
  514.                 db        0,0, 0,0
  515.                 db        0,0, 0,0,0,0
  516.                 db        0,0,     0,0
  517.                 db        0,0,     0,0
  518.                 db        0,0, 0,0,0,0
  519.