home *** CD-ROM | disk | FTP | other *** search
/ Kosovo Orphans' Appeal Charity CD / KosovoOrphansAppeal.iso / archimedesworld_cd2 / utilities / _compare / _runimage (.txt) < prev    next >
RISC OS BBC BASIC V Source  |  1993-08-27  |  6KB  |  279 lines

  1.  >!RunImage
  2.  For !Compare
  3.  30/5/93
  4. 6i$="1.11 (30 May 93)":
  5. $+" at line "+
  6. $+" at line "+
  7. &400C7,,d%
  8. &400C5,,d%
  9. &400C6,,d%
  10. 17,18:
  11. b("Program terminated when "+
  12. #k%+" bytes into the files.")
  13. &400DD:
  14. u%>1023
  15. j%=1023
  16. j%=u%
  17. 12,4,k%,r%,j%:
  18. 12,4,D%,s%,j%:
  19. g%=j%
  20. j%+(j%
  21. 4)+4:r%?g%=0:s%?g%=0:
  22. j%-(j%
  23. r%!g%=s%!g%
  24. h(0):
  25. $u%=z%-
  26. a(e%,2,
  27. #k%):
  28. a("idn"))
  29. a(e%,0,"Busy"):n%=g%+1:
  30. n%<j%-(j%
  31. `%=n%
  32. n%+4-(n%
  33. r%?`%=s%?`%
  34. !n%=g%+4-(g%
  35. n%<j%-(j%
  36. g%=n%
  37. j%-(j%
  38. r%!g%=s%!g%
  39. h(0):
  40. +u%=z%-
  41. a(e%,2,
  42. #k%):
  43. 3:J%=
  44. d% 512,K% 100,ba% 20,p% 255,ca% 256,da% 511,ea% 176,fa% 511,ga% 512,ha% 511,ia% 512,L% 12,a% 512,r% 1032,s% 1032,M% 256,ja% 511,ka% 512:
  45. la% 511,ma% 512,na% 511,oa% 512,pa% 640,qa% 512:!L%=2:L%!4=3:L%!8=0
  46. :ra%=
  47. :h%=0:N%=0:$ba%="Compare":m%=
  48. :b$="":c$="":v%=0:E%=
  49. :O%=0:F%=1:A%=0:P%=
  50. &400C0,200,&4B534154,"Compare"
  51. sa%:h%=
  52. "<Compare$Dir>.Sprites":ta%=
  53. #h%+16:
  54. o% ta%
  55. (S!o%=ta%-1:o%!4=0:o%!12=16:o%!16=16:
  56. &2E,256+10,o%,"<Compare$Dir>.Sprites":
  57. &400D9,,"<Compare$Dir>.Templates":ua%=
  58. b(da%,ea%,175,"info",o%):Q%=
  59. b(fa%,ga%,511,"main",o%):R%=
  60. b(ha%,ia%,511,"main",o%):e%=
  61. b(ja%,ka%,511,"stat",o%):va%=
  62. b(la%,ma%,511,"opts",o%)
  63. b(na%,oa%,511,"save",o%):S%=
  64. b(pa%,qa%,511,"resu",o%):
  65. &400DA:$(ea%+20)=i$:$ca%=
  66. 0):$ia%="File 2":$oa%="LogFile":c%=
  67. f(-1,0,0,68,68,12298,"!compare",0,0,0):
  68. a(S%,c%,""):
  69. d%!16
  70. 0:J%=
  71. l:$p%="Compare":p%!12=459271:p%!16=16*11:p%!20=44:p%!24=0:
  72. g(p%+28,0,ua%,&7091031,"Info"):
  73. g(p%+52,0,-1,&7091031,"Start"):
  74. g(p%+76,0,va%,&7091031,"Options"):
  75. g(p%+100,128,-1,&7091031,"Quit"):
  76. x(wa%,T%,xa%):
  77. T%=272
  78. T%+=16
  79. &400D4,,p%,wa%-64,T%:
  80. n:x%=!d%:y%=d%!4:ya%=d%!8:C%=d%!12:c%=d%!16:
  81. x(x%,y%,C%=-2)
  82. c(e%,c%,
  83. c(e%,c%,
  84. e(e%)
  85. 5:m%=
  86. f(e%,5,
  87. f(e%,6,
  88. a(e%,0,"Busy")
  89. 6:m%=
  90. f(e%,5,
  91. f(e%,6,
  92. a(e%,0,"Paused")
  93. 7:m%=
  94. b("Aborted "+
  95. #k%+" bytes into the files."):
  96. c(e%,c%,
  97. c(e%,c%,
  98. 9:m%=
  99. b("Stopped after difference found."):
  100. 16,64:
  101. y:x%=!d%:y%=d%!4:d%!4=5:d%!8=x%-76:d%!16=x%+76:d%!12=y%-52:d%!20=y%+52:d%!24=0:d%!32=&7FFFFFFF:d%!28=0:d%!36=&7FFFFFFF:
  102. 6,161,28
  103. ,,f%:
  104. sa%>=310
  105. &42400,197,1,"file_fff",d%+8,d%+24
  106. &400D0,,d%
  107. w:q%=d%!40:
  108. q%=4096
  109. q%=8192w%=
  110. a("dir")):
  111. q%<10d$="00"+
  112. q%<100
  113. q%>9d$="0"+
  114. q%>99d$=
  115. P4C$=
  116. g("File$Type_"+d$):d$="&"+d$+" - "+C$:
  117. Q(b$=
  118. d:h%=
  119. (b$):
  120. h%=0w%=
  121. a("fnf"))
  122. #h%:h%=0:
  123. a(Q%,1,
  124. b$,36)):
  125. a(Q%,3,d$):
  126. e(Q%)
  127. d:h%=
  128. (c$):
  129. h%=0w%=
  130. a("fnf"))
  131. #h%:h%=0:
  132. a(R%,1,
  133. c$,36)):
  134. a(R%,3,d$):
  135. e(R%)
  136. N%=N%
  137. b$=""
  138. c$=""
  139. a("two")):
  140. XKU%=0:r%!1022=0:s%!1022=0:k%=
  141. (b$):D%=
  142. (c$):P%=
  143. #D%):
  144. U%<>0
  145. a("dif")+
  146. a("byt")):
  147. b("("+b$+
  148. a("itl")):
  149. b("("+c$+
  150. a("itl"))
  151. #k%:z%=
  152. #k%:A%=0:
  153. c(e%,c%,
  154. c(e%,c%,
  155. e(e%):
  156. a(e%,0,"Busy"):
  157. a(e%,2,
  158. #k%)):
  159. a(e%,4,
  160. f(e%,5,
  161. h(va%,0)
  162. h(i%,c%):!a%=i%:a%!4=c%:
  163. &400CE,,a%:=((a%!24
  164. 1<<21)=(1<<21))
  165. e(B%):
  166. &39,,"DragASprite_Stop"
  167. &42401
  168. &400D0,,0:b%=d%:
  169. &400CF,,b%:x%=b%!0:y%=b%!4:i%=b%!12:c%=b%!16:!b%=56:b%!12=0:b%!16=1:b%!20=i%:b%!24=c%:b%!28=x%:b%!32=y%:b%!36=0:b%!40=4095:$(b%+44)=
  170. e(B%,0)):
  171. &400E7,17,d%,i%,c%:E%=
  172. e(i%,c%):!a%=i%:a%!4=c%:
  173. &400CE,,a%:=$(a%!28)
  174. i(e$):
  175. e$,".")>0:e$=
  176. e$,".")+1):
  177. i(B%):
  178. e    f$=
  179. e(B%,0)
  180. h>E%=
  181. (f$):
  182. b("File 1 : "+b$):
  183. b("File 2 : "+c$):m%=
  184. d:g$="":l%=d%+43:
  185. l%?1<>0:l%+=1:g$+=
  186. h(Aa%):
  187. V%=Aa%
  188. r%?(g%+V%)=s%?(g%+V%)
  189. g%+=V%
  190. a("fad")+
  191. #k%-j%+g%)+
  192. a("bif")):
  193. c(e%,c%,
  194. c(e%,c%,
  195. a(e%,0,"Difference found"):
  196. a(e%,2,
  197. #k%-j%+g%)):m%=
  198. :A%+=1:
  199. b(a$):
  200. #v%,a$
  201. a(S%,F%,
  202. a$,70)):F%+=1:
  203. F%=5F%=1
  204. A%+" differences found.")
  205. "SetType "+f$+" FFF":v%=0
  206. &400EF,0:
  207. i(e%):
  208. e(S%):m%=
  209. i(t%):!a%=t%:
  210. &400CB,,a%:a%!28=0:
  211. &400C6,,a%:
  212. t:h%=
  213. "<Compare$Dir>.Messages":G%=0:
  214. h$<>""
  215. h$,1)<>"#"
  216. G%+=1
  217. a$(G%):
  218. #h%=0:
  219. G%-1:a$(l%)=
  220. a$(l%)=""
  221. a$(l%),1)="#"
  222. l%-=1
  223. g(n%,Ba%,l%,Z%,a$):n%!0=Ba%:n%!4=l%:n%!8=Z%:$(n%+12)=a$:
  224. b(_%,c%,z%,j$,Ca%):
  225. &400DB,,_%,c%,c%+z%,-1,j$,0:_%!64=Ca%:
  226. &400C1,,_%
  227. t%:=t%
  228. c(k$):Da%=O%:O%=
  229. O%-Da%<200
  230. Ea%+=1
  231. Ea%=0
  232. Ea%>5
  233. &400DD:
  234. &400EF,0:K%!0=255:$(K%+4)=k$:
  235. &400DF,K%,18,ba%
  236. ,Fa%:=Fa%
  237. f(C%,Ga%,Ha%,Ia%,Ja%,Z%,a$,Ka%,La%,Ma%):a%!0=C%:a%!4=Ga%:a%!8=Ha%:a%!12=Ia%:a%!16=Ja%:a%!20=Z%:
  238. Ka%=0
  239. :$(a%+24)=a$:
  240. :a%!24=Ka%:a%!28=La%:a%!32=Ma%
  241. &400C2,,a%
  242. t%:=t%
  243. v:d%!12=d%!8:d%!16=4:
  244. &400E7,17,d%,d%!4:
  245. e(t%):
  246. A:!a%=t%:
  247. &400CB,,a%:
  248. B:ra%=
  249. a%!28=-1:
  250. &400C5,,a%:
  251. A:a%!0=4:a%!4=5:a%!8=11:a%!12=12:a%!16=-1:
  252. &31,a%,a%+20:Na%=1<<(a%!20):Oa%=1<<(a%!24):Pa%=(a%!28+1)*Na%:Qa%=(a%!32+1)*Oa%:
  253. B:W%=a%!12-a%!4:H%=a%!16-a%!8:X%=(Pa%-W%)/2:Y%=(Qa%-H%)/2:a%!4=X%:a%!8=Y%:a%!12=X%+W%:a%!16=Y%+H%:
  254. a(i%,c%,l$):!a%=i%:a%!4=c%:
  255. &400CE,,a%:$(a%!28)=l$:a%!8=0:a%!12=0:
  256. &400CD,,a%:
  257. g(m$):
  258. &23,m$,M%,255,0,3
  259. ,,b%:M%?b%=13:=$M%
  260. a(a$):
  261. G%:l%=
  262. a$(I%),":"):
  263. a$(I%),l%-1):
  264. n$=a$
  265. a$(I%),
  266. a$(I%)-l%)
  267. f(i%,c%,Ra%):!a%=i%:a%!4=c%:a%!8=0:a%!12=1<<22:
  268. &400CD,,a%:
  269. 6!a%=i%:a%!4=c%:a%!8=1<<22:a%!12=1<<22:
  270. &400CD,,a%
  271. c(i%,c%,Sa%):!a%=i%:a%!4=c%:a%!8=0:a%!12=(1<<23):
  272. &400CD,,a%:
  273. !a%=i%:a%!4=c%:
  274. &400C4,,a%
  275. C(i%,c%):
  276. C(i%,c%):a%!0=i%:a%!4=c%:
  277. &400CE,,a%:
  278. &400D1,a%!0,a%!8,a%!12,a%!16,a%!20:
  279.