home *** CD-ROM | disk | FTP | other *** search
/ RISC DISC 1 / RISC_DISC_1.iso / commercial / gamesware / simon / !SimonDemo / !RunImage (.txt) < prev    next >
Encoding:
RISC OS BBC BASIC V Source  |  1993-12-10  |  3.3 KB  |  162 lines

  1.  >!RunImage
  2. =fade_speed%=65                :
  3.  speed at which fade goes
  4. Emaxpic%=15                    :
  5.  number of last pictures filename
  6. Jmaxtime%=500                  :
  7.  picture display time in centi-seconds
  8.  letters 70000
  9.  text 2048
  10.  path 24000
  11.  block% 32
  12.  code% 2048
  13.  uncomp% 512
  14.  picblock% &10000
  15.  ("LOAD <STSDemo$Dir>.data.uncomp "+
  16. ~uncomp%)
  17.  ("LOAD <STSDemo$Dir>.data.TEXT "+
  18. ~text)
  19.  ("LOAD <STSDemo$Dir>.data.path1 "+
  20. ~path)
  21. Uncompact("<STSDemo$Dir>.data.LETDATA",letters)
  22. block%!0=148
  23. block%!4=-1
  24.  "OS_ReadVduVariables",block%,block%
  25.  pass%=0 
  26. P%=code%
  27. [ OPT pass%
  28. .start         dcd 0
  29. .text_start    dcd text
  30. .text_len      dcd 0
  31. .data_start    dcd letters
  32. .scr_map       dcd path
  33. .temp          dcd 0
  34. .scr           dcd block%!0
  35. .scroll
  36. stmfd r13!,{r0-r9,r14}
  37. mov r0,#8
  38. strb r0,[r3,#&14]
  39. mov r4,#0
  40. ldr r1,start
  41. mov r0,r1,asr#3
  42. and r1,r1,#7
  43. ldr r2,text_start
  44. -    .loop
  45. ldr r5,data_start
  46. ldrb r3,[r2,r0]
  47. sub r3,r3,#32
  48. add r5,r5,r3,asl#10
  49. add r5,r5,r1,asl#7
  50. ldr r6,scr_map
  51. ldr r6,[r6,r4]
  52. ldr r8,scr
  53. add r6,r6,r8
  54. mov r8,#4
  55. .scr_loop
  56. 9#ldr r7,[r5],#4:str r7,[r6],#320
  57. :#ldr r7,[r5],#4:str r7,[r6],#320
  58. ;#ldr r7,[r5],#4:str r7,[r6],#320
  59. <#ldr r7,[r5],#4:str r7,[r6],#320
  60. =#ldr r7,[r5],#4:str r7,[r6],#320
  61. >#ldr r7,[r5],#4:str r7,[r6],#320
  62. ?#ldr r7,[r5],#4:str r7,[r6],#320
  63. @#ldr r7,[r5],#4:str r7,[r6],#320
  64. subs r8,r8,#1
  65. bne scr_loop
  66. add r1,r1,#1
  67. ands r1,r1,#7
  68. addeq r0,r0,#1
  69. add r4,r4,#4
  70. teq r4,#320
  71. bne loop
  72. ldr r1,start
  73. ldr r2,text_len
  74. add r1,r1,#1
  75. cmp r1,r2
  76. movge r1,#0
  77. str r1,start
  78. ldmfd r13!,{r0-r9,pc}^
  79. .fade_screens
  80. stmfd r13!,{r0-r9,r14}
  81. adr r8,fade_title_start
  82. ldr r9,[r8,#12]
  83. mov r7,#fade_speed%
  84. ldr r5,[r8,#4]
  85. ldr r2,[r8,#0]
  86. ldr r1,[r8,#8]
  87. mov r3,#0
  88. mov r4,r9
  89. .title_loop
  90. ldrb r0,[r2,r3]
  91. strb r0,[r1,r3]
  92. mov r6,r7
  93. _    .time
  94. subs r6,r6,#1
  95. bne time
  96. add r3,r3,r5
  97. cmp r3,r9
  98. subpl r3,r3,r9
  99. subs r4,r4,#1
  100. bne title_loop
  101. ldmfd r13!,{r0-r9,pc}
  102. .fade_title_start  dcd 0
  103. .fade_prcon        dcd 0
  104. .fade_scrstart     dcd 0
  105. .fade_scrl         dcd 0
  106. .fade_block
  107.    dcd 77
  108.    dcd 33
  109.    dcd 37
  110.    dcd 277
  111.    dcd 17
  112.    dcd 13
  113.    dcd 9
  114.    dcd 113
  115.    dcd 781
  116.    dcd 999
  117.    dcd 1763
  118.    dcd 333
  119.    dcd 2629
  120.    dcd 321
  121. TUNE%=
  122. (500)-1
  123.  "OS_File",17,"<STSDemo$dir>.data.text" 
  124.  ,,,,len%
  125.  "XOS_CLI","DSym Load "+
  126. 34+"<STSDemo$Dir>.music."+
  127. (TUNE% 
  128.  100)+
  129.  "DSym_RestartSong"
  130. !text_len=(len%*8)-80
  131.  "OS_ClaimDeviceVector",3,scroll,0
  132. count%=0
  133. !fade_scrl=64000
  134. !fade_scrstart=block%!0
  135. !fade_title_start=picblock%
  136. *FX 200,3
  137.  count%=0 
  138.  T%=0 
  139. (maxpic%)
  140. count%=(count%+1) 
  141. Uncompact("<STSDemo$Dir>.Pictures."+
  142. (T%),picblock%)
  143. (14)-1
  144. "!fade_prcon=!(fade_block+Q%*4)
  145.  fade_screens
  146. >maxtime% 
  147.  -7))
  148.  "OS_ReleaseDeviceVector",3,scroll,0
  149. *FX 200,0
  150. *RMKILL DSymphonyplayer
  151.  "XOS_Exit"
  152. Uncompact(file$,adr%)
  153.  len%,fh%
  154.  "OS_File",17,file$ 
  155.  ,,,,len%
  156.  "OS_Find",&4F,file$ 
  157. A%=fh%
  158. B%=len%
  159. C%=adr%
  160.  uncomp%
  161.  "OS_Find",0,fh%
  162.