home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format 43 / af043a.adf / BULL6.LHA / intro.s < prev    next >
Text File  |  1992-12-15  |  3KB  |  200 lines

  1. ********************************************************************************
  2. *                   oo                              oo                           *
  3. *                 \(  )/      Bullfrog Demo      \(  )/                           *
  4. *                 ^ ^^ ^      Introduction        ^ ^^ ^                           *
  5. ********************************************************************************
  6.  
  7. _intro_screen
  8.     clr.w    _fire
  9. .repeat
  10. ;    jsr        _wait_vbi                ; wait for a vertical blank
  11.     lea        _background,a0
  12.     jsr        _q_redraw
  13.  
  14.     jsr        _draw_credits
  15.     
  16.     jsr        _draw_logo
  17.  
  18. .wait1
  19.     move.w    $dff004,d0
  20.     btst    #0,d0
  21.     bne.s    .wait1
  22. .wait2
  23.     move.w    $dff004,d0
  24.     btst    #0,d0
  25.     beq.s    .wait2
  26.  
  27.     jsr        _swap_screens            ; display the screen
  28.  
  29.     jsr        _move_credits
  30.  
  31.     tst.w    _fire
  32.     beq        .repeat                    ; no then loop around
  33.     clr.w    _fire
  34.     clr.w    game_over
  35.     clr.w    current_level
  36.     clr.w    score
  37.     rts
  38.     even
  39. mess_1    dc.b    'HELLO AND WELCOME',0
  40.     even
  41. mess_2    dc.b    'TO',0
  42.     even
  43. mess_3    dc.b    'A PRACTICAL GUIDE',0
  44.     even
  45. mess_4    dc.b    'HOW TO PROGRAM IN ASSEMBLER',0
  46.     even
  47. mess_5    dc.b    'WRITTEN BY SCOTT JOHNSTON',0
  48.     even
  49. mess_6    dc.b    'MUSIC BY KEVIN EARL',0
  50.     even
  51. mess_7    dc.b    'HIGHEST SCORE',0
  52.     even
  53. mess_8    dc.b        '     ',0
  54. mess_1y    dc.w    0
  55. mess_2y    dc.w    0
  56. mess_3y    dc.w    0
  57. mess_4y    dc.w    0
  58. mess_5y    dc.w    0
  59. mess_6y    dc.w    0
  60. logo_d    dc.w    1
  61. logo_y    dc.w    30
  62. ********************************************************************************
  63.  
  64. _draw_logo
  65.  
  66.     move.w    logo_y,d0
  67.     add.w    logo_d,d0
  68.     blt.s    .neg_d
  69.     cmp.w    #200,d0
  70.     ble.s    .finished
  71. .neg_d
  72.     neg.w    logo_d
  73. .finished
  74.     move.w    d1,logo_d
  75.  
  76.  
  77.     move.w    logo_y,d1
  78.     moveq.w    #112,d0
  79.     lea        _logo,a1
  80.     moveq.w    #96,d2                            ;sprite height
  81.     move.l    _w_screen,a0
  82.     jsr        _s32_draw                        ;d0=x,d1=y,d2=height,a0=screen,a1=data
  83.     move.w    logo_y,d1
  84.     qmove.w    146,d0
  85. ;    moveq.l    #1,d2
  86.     lea        _logo,a1
  87. ;    mulu    #1920,d2
  88.     adda.w    #1920,a1
  89.     moveq.w    #96,d2                            ;sprite height
  90.     move.l    _w_screen,a0
  91.     jsr        _s32_draw                        ;d0=x,d1=y,d2=height,a0=screen,a1=data
  92.  
  93.     wait_blit
  94.  
  95.     rts
  96.  
  97. ********************************************************************************
  98. _draw_credits    
  99.     moveq.w    #10,d0
  100.     move.w    mess_1y,d1
  101.     lea        mess_1,a2
  102.     jsr        _draw_font
  103.  
  104.     moveq.w    #17,d0
  105.     move.w    mess_2y,d1
  106.     lea        mess_2,a2
  107.     jsr        _draw_font
  108.  
  109.     moveq.w    #10,d0
  110.     move.w    mess_3y,d1
  111.     lea        mess_3,a2
  112.     jsr        _draw_font
  113.  
  114.     moveq.w    #5,d0
  115.     move.w    mess_4y,d1
  116.     lea        mess_4,a2
  117.     jsr        _draw_font
  118.  
  119.     moveq.w    #6,d0
  120.     move.w    mess_5y,d1
  121.     lea        mess_5,a2
  122.     jsr        _draw_font
  123.  
  124.     moveq.w    #9,d0
  125.     move.w    mess_6y,d1
  126.     lea        mess_6,a2
  127.     jsr        _draw_font
  128.  
  129.  
  130.     moveq.w    #12,d0
  131.     move.w    #180,d1
  132.     lea        mess_7,a2
  133.     jsr        _draw_font
  134.  
  135.     lea        mess_8,a0
  136.     moveq.l    #0,d0
  137.     move.w    high_score,d0
  138.     moveq.w    #5,d1
  139.     jsr        _to_alpha
  140.  
  141.     moveq.w    #16,d0
  142.     move.w    #192,d1
  143.     lea        mess_8,a2
  144.     jsr        _draw_font
  145.     rts
  146. ********************************************************************************
  147. _move_credits
  148.     
  149.  
  150.     move.w    mess_1y,d0
  151.     subq.w    #1,d0
  152.     cmp.w    #10,d0
  153.     bgt.s    .no_at_y1
  154.         moveq.w    #10,d0
  155. .no_at_y1
  156.     move.w    d0,mess_1y
  157.  
  158.     move.w    mess_2y,d0
  159.     addq.w    #1,d0
  160.     cmp.w    #20,d0
  161.     blt.s    .no_at_y2
  162.         moveq.w    #20,d0
  163. .no_at_y2
  164.     move.w    d0,mess_2y
  165.  
  166.     move.w    mess_3y,d0
  167.     addq.w    #1,d0
  168.     cmp.w    #30,d0
  169.     blt.s    .no_at_y3
  170.         moveq.w    #30,d0
  171. .no_at_y3
  172.     move.w    d0,mess_3y
  173.  
  174.     move.w    mess_4y,d0
  175.     addq.w    #1,d0
  176.     cmp.w    #50,d0
  177.     blt.s    .no_at_y4
  178.         moveq.w    #50,d0
  179. .no_at_y4
  180.     move.w    d0,mess_4y
  181.  
  182.     move.w    mess_5y,d0
  183.     addq.w    #1,d0
  184.     cmp.w    #80,d0
  185.     blt.s    .no_at_y5
  186.         moveq.w    #80,d0
  187. .no_at_y5
  188.     move.w    d0,mess_5y
  189.  
  190.     move.w    mess_6y,d0
  191.     addq.w    #1,d0
  192.     cmp.w    #100,d0
  193.     blt.s    .no_at_y6
  194.         moveq.w    #100,d0
  195. .no_at_y6
  196.     move.w    d0,mess_6y
  197.  
  198.     rts
  199. ********************************************************************************
  200.