home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / demos / baah / CakeHead2 / Cake2_Src / Main < prev    next >
Encoding:
Text File  |  1996-02-02  |  6.4 KB  |  141 lines

  1. ;                                     \|/
  2. ;                                     O O
  3. ; --------------------------------oOO--U--OOo--------------------------------
  4. ; |                                                                         |
  5. ; |                               Cake Head 2                               |
  6. ; |                       By Alain BROBECKER. (as Baah)                     |
  7. ; |                                                                         |
  8. ; ---------------------------------------------------------------------------
  9.  
  10. #name CakeHead2
  11.  
  12. #set inv_nb = 1024                  ; Nb of inverses.
  13.  
  14. #set stack = 4*128                  ; Points on top of stack.
  15. #set inv_ad = stack                 ; Inverses table adress.
  16. #set sin_cos_ad = inv_ad+4*inv_nb   ; Sin-Cos table adress.
  17. #set megabuffer = sin_cos_ad+4*640  ; Points after precalcs.
  18.  
  19. #set text_time = 74*32              ; Nb of centi-secs for text.
  20. #set bubble_time = 162*32           ; Time before the bubbles disappear.
  21. #set rss_time = 21*32               ; Time a shape stays on screen.
  22.  
  23. ; ===========================================================================
  24. ; |                                                                         |
  25. ; |                             REAL START                                  |
  26. ; |                                                                         |
  27. ; ===========================================================================
  28.  
  29. .main_proggy
  30.   adr       r13,bss+stack           ; We need a stack.
  31.   stmfd     r13!,{r14}              ; Save the return adress.
  32.   bl        screen_init             ; Initialise the screen.
  33.  
  34.   adr       r0,music_name           ; Contains name of music.
  35.   mov       r2,#0                   ; Load module in RMA.
  36.   mov       r4,#0                   ; Claim RMA memory.
  37.   swi       &45880                  ; Dsym Load.
  38.   swi       &45881                  ; Dsym RestartSong
  39.  
  40. ;---- Print text ------------------------------------------------------------
  41.   adr       r2,text_colors
  42.   bl        set_palette
  43.   adr       r0,text
  44.   swi       OS_Write0
  45.   bl        fix_time                ; Fix time just after text is drawn.
  46. ;---- Initialise tables -----------------------------------------------------
  47.   adr       r0,bss+inv_ad+4         ; Create the inverses table. (Forget 0)
  48.   mov       r1,#65536               ; The premul.
  49.   mov       r2,#inv_nb-1            ; inv_nb inverses, including zero.
  50.   bl        make_inverses
  51.   adr       r1,bss+sin_cos_ad       ; Create the sin-cos table.
  52.   bl        make_sinus
  53. ;---- Wait a bit ------------------------------------------------------------
  54. ._wait_text
  55.   bl        read_time
  56.   cmp       r0,#text_time
  57.   bLE       _wait_text
  58.   mov       r1,#0                   ; Fill screen with color 0.
  59.   bl        disappear
  60. ;---- Zoomer ----------------------------------------------------------------
  61.   adr       r2,text_colors          ; All colors to black.
  62.   bl        set_palette
  63.   bl        zoomer_part
  64. ;---- Bubbles ---------------------------------------------------------------
  65.   adr       r2,text_colors          ; All colors to black.
  66.   bl        set_palette
  67.   bl        get_showscreen          ; Fill screen with color 0.
  68.   mov       r1,#&00
  69.   bl        clear_mode9
  70.   adr       r0,bss+megabuffer
  71.   bl        bubble_part
  72. ;---- RSS shape blending ----------------------------------------------------
  73.   adr       r2,text_colors          ; All colors to black.
  74.   bl        set_palette
  75.   bl        get_showscreen          ; Fill screen with color 15.
  76.   mov       r1,#&ff
  77.   bl        clear_mode9
  78.   bl        get_workscreen          ; Fill screen with color 15.
  79.   mov       r1,#&ff
  80.   bl        clear_mode9
  81.   adr       r0,bss+megabuffer
  82.   bl        rss_part
  83. ;---- THE END ---------------------------------------------------------------
  84.   ldmfd     r13!,{pc}^              ; Quit. (Restore flags)
  85.  
  86.  
  87. ; ===========================================================================
  88. ; ===========================================================================
  89. ; =                                                                         =
  90. ; =                               MAIN DATAS                                =
  91. ; =                                                                         =
  92. ; ===========================================================================
  93. ; ===========================================================================
  94.  
  95.  
  96. ;---- Colors and more -------------------------------------------------------
  97. .text_colors
  98.   dcb       &00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00
  99.   dcb       &00,&00,&00,&00,&00,&00,&00,&00,&00,&77,&77,&aa
  100.   dcb       &00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00
  101.   dcb       &00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00
  102. .music_name
  103.   dcb       &22,"<Cake2$dir>.LastRigger",&22
  104. .text
  105.   dcb       &d,&a
  106.   dcb       "             - CakeHead 2 -",&d,&a
  107.   dcb       "               ~~~~~~~~~~",&d,&a,&a,&a
  108.   dcb       "            Once upon a time",&d,&a
  109.   dcb       "    in a swampy country called France",&d,&a
  110.   dcb       "        a tiny froggy discovered",&d,&a
  111.   dcb       "      a dust covered Archimedes...",&d,&a,&a
  112.   dcb       "        - And she fell in love! -",&d,&a,&a,&a
  113.   dcb       "       Noises by Cry/The Xperience",&d,&a
  114.   dcb       "   Bugs and doodles by Baah/Arm's Tech",&d,&a
  115.   dcb       "      (Bugs sources freely released)",&d,&a,&a,&a
  116.   dcb       "The frog and the Archimedes lived long,",&d,&a
  117.   dcb       "and had no childs, because I' m not yet",&d,&a
  118.   dcb       "mad enough to have sex with a computer!",&d,&a,&a,&a
  119.   dcb       "  In case you liked this demo, do not",&d,&a
  120.   dcb       "   forget to send me a nice postcard.",&d,&a
  121.   dcb       "    (cheap and VERY valuable to me)",&d,&a,&a,&a
  122.   dcb       "Happy New Year        Baah - 17 dec 1995",0
  123. ALIGN
  124.  
  125. ; ===========================================================================
  126. ; ===========================================================================
  127. ; =                                                                         =
  128. ; =                               ROUTINES                                  =
  129. ; =                                                                         =
  130. ; ===========================================================================
  131. ; ===========================================================================
  132.  
  133. #include MathMacros
  134. #include Library
  135. #include ZoomerPart
  136. #include BubblePart
  137. #include RssPart
  138.  
  139. ;----------------------- THIS MUST BE AT THE VERY END -----------------------
  140. .bss
  141.