home *** CD-ROM | disk | FTP | other *** search
RISC OS BBC BASIC V Source | 1993-12-10 | 3.3 KB | 162 lines |
- >!RunImage
- =fade_speed%=65 :
- speed at which fade goes
- Emaxpic%=15 :
- number of last pictures filename
- Jmaxtime%=500 :
- picture display time in centi-seconds
- letters 70000
- text 2048
- path 24000
- block% 32
- code% 2048
- uncomp% 512
- picblock% &10000
- ("LOAD <STSDemo$Dir>.data.uncomp "+
- ~uncomp%)
- ("LOAD <STSDemo$Dir>.data.TEXT "+
- ~text)
- ("LOAD <STSDemo$Dir>.data.path1 "+
- ~path)
- Uncompact("<STSDemo$Dir>.data.LETDATA",letters)
- block%!0=148
- block%!4=-1
- "OS_ReadVduVariables",block%,block%
- pass%=0
- P%=code%
- [ OPT pass%
- .start dcd 0
- .text_start dcd text
- .text_len dcd 0
- .data_start dcd letters
- .scr_map dcd path
- .temp dcd 0
- .scr dcd block%!0
- .scroll
- stmfd r13!,{r0-r9,r14}
- mov r0,#8
- strb r0,[r3,#&14]
- mov r4,#0
- ldr r1,start
- mov r0,r1,asr#3
- and r1,r1,#7
- ldr r2,text_start
- - .loop
- ldr r5,data_start
- ldrb r3,[r2,r0]
- sub r3,r3,#32
- add r5,r5,r3,asl#10
- add r5,r5,r1,asl#7
- ldr r6,scr_map
- ldr r6,[r6,r4]
- ldr r8,scr
- add r6,r6,r8
- mov r8,#4
- .scr_loop
- 9#ldr r7,[r5],#4:str r7,[r6],#320
- :#ldr r7,[r5],#4:str r7,[r6],#320
- ;#ldr r7,[r5],#4:str r7,[r6],#320
- <#ldr r7,[r5],#4:str r7,[r6],#320
- =#ldr r7,[r5],#4:str r7,[r6],#320
- >#ldr r7,[r5],#4:str r7,[r6],#320
- ?#ldr r7,[r5],#4:str r7,[r6],#320
- @#ldr r7,[r5],#4:str r7,[r6],#320
- subs r8,r8,#1
- bne scr_loop
- add r1,r1,#1
- ands r1,r1,#7
- addeq r0,r0,#1
- add r4,r4,#4
- teq r4,#320
- bne loop
- ldr r1,start
- ldr r2,text_len
- add r1,r1,#1
- cmp r1,r2
- movge r1,#0
- str r1,start
- ldmfd r13!,{r0-r9,pc}^
- .fade_screens
- stmfd r13!,{r0-r9,r14}
- adr r8,fade_title_start
- ldr r9,[r8,#12]
- mov r7,#fade_speed%
- ldr r5,[r8,#4]
- ldr r2,[r8,#0]
- ldr r1,[r8,#8]
- mov r3,#0
- mov r4,r9
- .title_loop
- ldrb r0,[r2,r3]
- strb r0,[r1,r3]
- mov r6,r7
- _ .time
- subs r6,r6,#1
- bne time
- add r3,r3,r5
- cmp r3,r9
- subpl r3,r3,r9
- subs r4,r4,#1
- bne title_loop
- ldmfd r13!,{r0-r9,pc}
- .fade_title_start dcd 0
- .fade_prcon dcd 0
- .fade_scrstart dcd 0
- .fade_scrl dcd 0
- .fade_block
- dcd 77
- dcd 33
- dcd 37
- dcd 277
- dcd 17
- dcd 13
- dcd 9
- dcd 113
- dcd 781
- dcd 999
- dcd 1763
- dcd 333
- dcd 2629
- dcd 321
- TUNE%=
- (500)-1
- "OS_File",17,"<STSDemo$dir>.data.text"
- ,,,,len%
- "XOS_CLI","DSym Load "+
- 34+"<STSDemo$Dir>.music."+
- (TUNE%
- 100)+
- "DSym_RestartSong"
- !text_len=(len%*8)-80
- "OS_ClaimDeviceVector",3,scroll,0
- count%=0
- !fade_scrl=64000
- !fade_scrstart=block%!0
- !fade_title_start=picblock%
- *FX 200,3
- count%=0
- T%=0
- (maxpic%)
- count%=(count%+1)
- Uncompact("<STSDemo$Dir>.Pictures."+
- (T%),picblock%)
- (14)-1
- "!fade_prcon=!(fade_block+Q%*4)
- fade_screens
- >maxtime%
- -7))
- "OS_ReleaseDeviceVector",3,scroll,0
- *FX 200,0
- *RMKILL DSymphonyplayer
- "XOS_Exit"
- Uncompact(file$,adr%)
- len%,fh%
- "OS_File",17,file$
- ,,,,len%
- "OS_Find",&4F,file$
- A%=fh%
- B%=len%
- C%=adr%
- uncomp%
- "OS_Find",0,fh%
-