home *** CD-ROM | disk | FTP | other *** search
- ; \|/
- ; O O
- ; --------------------------------oOO--U--OOo--------------------------------
- ; | |
- ; | Cake Head 2 |
- ; | By Alain BROBECKER. (as Baah) |
- ; | |
- ; ---------------------------------------------------------------------------
-
- #name CakeHead2
-
- #set inv_nb = 1024 ; Nb of inverses.
-
- #set stack = 4*128 ; Points on top of stack.
- #set inv_ad = stack ; Inverses table adress.
- #set sin_cos_ad = inv_ad+4*inv_nb ; Sin-Cos table adress.
- #set megabuffer = sin_cos_ad+4*640 ; Points after precalcs.
-
- #set text_time = 74*32 ; Nb of centi-secs for text.
- #set bubble_time = 162*32 ; Time before the bubbles disappear.
- #set rss_time = 21*32 ; Time a shape stays on screen.
-
- ; ===========================================================================
- ; | |
- ; | REAL START |
- ; | |
- ; ===========================================================================
-
- .main_proggy
- adr r13,bss+stack ; We need a stack.
- stmfd r13!,{r14} ; Save the return adress.
- bl screen_init ; Initialise the screen.
-
- adr r0,music_name ; Contains name of music.
- mov r2,#0 ; Load module in RMA.
- mov r4,#0 ; Claim RMA memory.
- swi &45880 ; Dsym Load.
- swi &45881 ; Dsym RestartSong
-
- ;---- Print text ------------------------------------------------------------
- adr r2,text_colors
- bl set_palette
- adr r0,text
- swi OS_Write0
- bl fix_time ; Fix time just after text is drawn.
- ;---- Initialise tables -----------------------------------------------------
- adr r0,bss+inv_ad+4 ; Create the inverses table. (Forget 0)
- mov r1,#65536 ; The premul.
- mov r2,#inv_nb-1 ; inv_nb inverses, including zero.
- bl make_inverses
- adr r1,bss+sin_cos_ad ; Create the sin-cos table.
- bl make_sinus
- ;---- Wait a bit ------------------------------------------------------------
- ._wait_text
- bl read_time
- cmp r0,#text_time
- bLE _wait_text
- mov r1,#0 ; Fill screen with color 0.
- bl disappear
- ;---- Zoomer ----------------------------------------------------------------
- adr r2,text_colors ; All colors to black.
- bl set_palette
- bl zoomer_part
- ;---- Bubbles ---------------------------------------------------------------
- adr r2,text_colors ; All colors to black.
- bl set_palette
- bl get_showscreen ; Fill screen with color 0.
- mov r1,#&00
- bl clear_mode9
- adr r0,bss+megabuffer
- bl bubble_part
- ;---- RSS shape blending ----------------------------------------------------
- adr r2,text_colors ; All colors to black.
- bl set_palette
- bl get_showscreen ; Fill screen with color 15.
- mov r1,#&ff
- bl clear_mode9
- bl get_workscreen ; Fill screen with color 15.
- mov r1,#&ff
- bl clear_mode9
- adr r0,bss+megabuffer
- bl rss_part
- ;---- THE END ---------------------------------------------------------------
- ldmfd r13!,{pc}^ ; Quit. (Restore flags)
-
-
- ; ===========================================================================
- ; ===========================================================================
- ; = =
- ; = MAIN DATAS =
- ; = =
- ; ===========================================================================
- ; ===========================================================================
-
-
- ;---- Colors and more -------------------------------------------------------
- .text_colors
- dcb &00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00
- dcb &00,&00,&00,&00,&00,&00,&00,&00,&00,&77,&77,&aa
- dcb &00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00
- dcb &00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00
- .music_name
- dcb &22,"<Cake2$dir>.LastRigger",&22
- .text
- dcb &d,&a
- dcb " - CakeHead 2 -",&d,&a
- dcb " ~~~~~~~~~~",&d,&a,&a,&a
- dcb " Once upon a time",&d,&a
- dcb " in a swampy country called France",&d,&a
- dcb " a tiny froggy discovered",&d,&a
- dcb " a dust covered Archimedes...",&d,&a,&a
- dcb " - And she fell in love! -",&d,&a,&a,&a
- dcb " Noises by Cry/The Xperience",&d,&a
- dcb " Bugs and doodles by Baah/Arm's Tech",&d,&a
- dcb " (Bugs sources freely released)",&d,&a,&a,&a
- dcb "The frog and the Archimedes lived long,",&d,&a
- dcb "and had no childs, because I' m not yet",&d,&a
- dcb "mad enough to have sex with a computer!",&d,&a,&a,&a
- dcb " In case you liked this demo, do not",&d,&a
- dcb " forget to send me a nice postcard.",&d,&a
- dcb " (cheap and VERY valuable to me)",&d,&a,&a,&a
- dcb "Happy New Year Baah - 17 dec 1995",0
- ALIGN
-
- ; ===========================================================================
- ; ===========================================================================
- ; = =
- ; = ROUTINES =
- ; = =
- ; ===========================================================================
- ; ===========================================================================
-
- #include MathMacros
- #include Library
- #include ZoomerPart
- #include BubblePart
- #include RssPart
-
- ;----------------------- THIS MUST BE AT THE VERY END -----------------------
- .bss
-