home *** CD-ROM | disk | FTP | other *** search
/ Dream 42 / Amiga_Dream_42.iso / RiscPC / Utils / Archivers / tbaf.sfx (.txt) < prev    next >
Encoding:
RISC OS BBC BASIC V Source  |  1997-06-13  |  20.0 KB  |  326 lines

  1.  ** Basic Self extractor program for TBAFS (C) 1996 TBA Software **
  2.  ** Do not modify or self extractor will cease to work.          **
  3.  ** If you have any problems using this self extracting version  **
  4.  ** don't hesitate to contact 'TBAFS@tbalond.demon.co.uk'        **
  5.  "XHourglass_Smash":
  6.  " at line ";
  7. +16+1316+19194
  8. blocklen%=19194
  9. block%=
  10. +1316
  11. pos%=block%
  12. (numfle%=pos%!0:total%=pos%!4:pos%+=8
  13. leaf$=""
  14.  "TBAFS self extractor"
  15.  "Found ";numfle%;" file(s) to extract."
  16.  "Total space required is ";total%;" bytes (";
  17. ((total%+512)/1024);"K)"
  18.  "Enter path to create TBAFS Read only or hit enter"
  19.  "to create into the current directory"
  20.  leaf$
  21. leaf$,1)<>"." 
  22.  leaf$<>"" 
  23.  leaf$+="."
  24.  "XHourglass_On"
  25.  a%=1
  26. numfle%
  27.  "XHourglass_Percentage",(100*(pos%-block%))/blocklen%
  28.  file$=$pos%:pos%+=
  29. (file$)+2
  30. type%=pos%!0
  31. load%=pos%!4
  32. exec%=pos%!8
  33. len%=pos%!12
  34. attr%=pos%!16
  35. pos%+=20
  36.  type%=1 
  37.  "Extracting file "+file$
  38.  "OS_File",0,leaf$+file$,0,0,pos%,pos%+len%
  39. pos%+=len%
  40.  "Extracting file "+file$
  41.  "OS_File",8,leaf$+file$,0,0,0
  42.  "OS_File",1,leaf$+file$,load%,exec%,,attr%
  43.  "XHourglass_Off"
  44.  "Finished!!"
  45. <Obey$Dir>
  46. !TBAFSrd
  47. !TBAFSrd.!Boot
  48. | !Boot for TBA Advanced Filing System Read Only - V1.00 - 14/11/96
  49. 1996 - TBA Software
  50. IconSprites <Obey$Dir>.!Sprites
  51. Set TBAFSrd$Dir <Obey$Dir>
  52. Set File$Type_B21 TBAFSarc
  53. IF "<Alias$@RunType_B21>" = "" Then Set Alias$@RunType_B21 Run <TBAFSrd$Dir> %*0
  54. !TBAFSrd.!Run
  55. | !Run for TBA Advanced Filing System (Read Only) - V1.00 - 15/11/96
  56. | (C)1996 - TBA Software
  57. IconSprites <Obey$Dir>.!Sprites
  58. Set TBAFS$Dir <Obey$Dir>
  59. Set File$Type_B21 TBAFSarc
  60. RMENSURE TBAFSMOD   1.01  RMLoad <TBAFSrd$Dir>.TBAFSmodR
  61. RMENSURE TBAFSMOD   1.01  ERROR  You need TBAFSmod 1.01 to run !TBAFSrd
  62. RMensure ImageFSfix 0.11  RMload <TBAFSrd$Dir>.ImageFSfix
  63. WimpSlot -min 32k -max 32k
  64. Run <TBAFSrd$Dir>.!RunImageX %*0!TBAFSrd.Templates
  65. Deleted>
  66. Deleted>
  67. Deleted>
  68. Deleted>
  69. Deleted>
  70. Deleted>
  71. Deleted>
  72. Deleted>
  73. About this program
  74. TBA FS (read only)
  75. N3/;R2
  76. Reading TBA FS images
  77. N3/;R2
  78. 1996 TBA Software
  79. N3/;R2
  80. 1.01 (15-Nov-96)
  81. N3/version;R2
  82. Purpose
  83. Author
  84. Version
  85. TBAFSrd - Configuration
  86. Data Caching
  87. General Cache (Kb)
  88. Data Buffers
  89. Cancel
  90. !TBAFSrd.!Sprites
  91. file_b21
  92. wwwwwww
  93. wwwwwwwwwwwwww
  94. pwwwwwwwwwwwwwww
  95. !tbafsrd
  96. """""""""""""""""
  97. """rwww'"""""""""
  98. """WUUTt"""""""""
  99. """WUEEs"""""""""
  100. ""rUUT4
  101. '""""""""
  102. rwwUEE#!wwwwwww""
  103. WUUUT4
  104. "3CDURUU'"
  105. WUUEE#!23DT%UUU'"
  106. WUUT4
  107. "3CDURUUU'"
  108. WUwwwwwwwwwwwwww'
  109. GsUUUUUT4
  110. "3CDUSu
  111. 7rUUUUEE#!23DT5Uu
  112. 'qUUUUT4
  113. "3CDUSUu
  114. rUUUEE#!23DT5UUu
  115. 'rUUUT4
  116. "3CDUSUUu
  117. 'sUUEE#!23DT5UUUu
  118. 7sUUT4
  119. "3CDUSUUUu
  120. 7tUEE#!23DT5UUUUu
  121. GtUT4
  122. "3CDUSUUUUu
  123. GtEE#!23DT5UUUUUu
  124. "3CDUSUUUUUu
  125. WuE#!23DT5UUUUUUu
  126. "3CDUSUUUUUUu
  127. "w#!23DT5UUUUUUUu
  128. "rwwwwwwwwwwwwwww
  129. !TBAFSrd.ImageFSfix
  130. ImageFSFix
  131. ImageFSFix    0.04 (11 Jun 1996)
  132. ImageFSFix_ON
  133. ImageFSFix_OFF
  134. ImageFSFix module (c) Copyright David Pilling December 1992
  135. R!TBAFSrd.TBAFSModR
  136. TBAFSMod
  137. ZTBA FS Module (Read Only)    1.01 (14 Nov 1996)
  138. Error Initialising Module
  139. TAFS<TBAFS$DIR>.Config
  140. Not a TBAFS image file
  141. This item is locked to stop changes being made to it
  142. Directory not empty
  143. Path not found
  144. Alreay exists
  145. Serious! TBAFS File I/O Error
  146. This file has been left open from a previous operation
  147. Access violation
  148. You can not open a TBAFS image within another TBAFS image
  149. This version of TBAFS is read only!
  150. Unknown Call to TBAFSmod
  151. Unknown Compression Type
  152. Cache Size Too Small
  153. Insufficient Memory for New Cache
  154. Invalid number of buffers
  155. Insufficient Memory for New Data Buffers
  156. Insufficient Memory to Create New Image File
  157. This version of TBAFS is read only!
  158. Image File Not Found
  159. Invalid Flush Delay
  160. Not a CompMod Archive!
  161. !TBAFSrd.!RunImage
  162. >!RunImage
  163. (C)1995 - TBA Software (NOT Public Domain) 
  164. &400c7,t%,Z%
  165. &400c5,,Z%
  166. &400c6,,Z%
  167. 17,18,19:
  168. Y%256,Z%1024,E%1024,_%1024,x%256,g%1024:J%=_%:Z%!0=0:
  169. &400c0,310,&4b534154,"TBA FS (Read Only)",Z%
  170. ,w%:V%=
  171. :t%=1:b%=
  172. C("!TBAFSrd","TBAFSrd"):
  173. &400d9,,"<TBAFSrd$Dir>.Templates":a%=
  174. A("Info"):F%=
  175. A("Main"):
  176. &400da:C=1:B=2:F=4:U=0:X=1:J=2
  177. P=3:M=4:G=5:L=6:S=7:D=8:N=9:H=10:Q=11:
  178. 34)>0:E$=
  179. (E$)-
  180. 34)):
  181. E$,1)=" ":E$=
  182. (E$)-1):
  183. E$<>""
  184. &400de,"Filer_Run "+E$
  185. A(M$):
  186. Q%,s%:
  187. &400db,,0,J%,_%+1024,-1,M$+
  188. ,,Q%:
  189. &400db,,Z%,J%,_%+1024,-1,M$+
  190. &400c1,,Z%
  191. s%:J%+=Q%:=s%
  192. &400dd,w%,&4b534154:
  193. z%:Y%!0=1:$(Y%+4)=
  194. $+" Code:"+
  195. )+"  Ok to Continue?"+
  196. &400df,Y%,19,"Error from TBA FS (Read Only)"
  197. z%<>1
  198. M%,S%,L%,U%,H%:M%=Z%!0:S%=Z%!4:L%=Z%!8:U%=Z%!12:H%=Z%!16:
  199. U%,H%,q%:U%=Z%!0:H%=Z%!4:q%=Z%!24:
  200. &400dc,q%
  201. &400cf,,E%:L%=E%!8:
  202. B(Z%!4)
  203. 3:V%=
  204. M(e%,f%)
  205. B(D%):A%=S:C%=D%:
  206. 13,0,E!4
  207. r%:r%=Z%!16:
  208. 0:V%=
  209. M(M%-56,96+5*44+4)
  210. M(M%,S%):
  211. D%:D%=
  212. S(x%,"TBA FS rd",176):
  213. A(0,"Info",a%,0):
  214. A(2,"Close Image",g%,D%):
  215. A(2,"Options...",-1,0):
  216. A(128,"Quit",-1,0):
  217. &400d4,,x%,M%,S%:e%=M%:f%=S%:
  218. D%,T%:
  219. S(g%,"Images",128):
  220. :A%=S:C%=D%:
  221. A(128,
  222. M(E!8)),-1,0):D%+=1
  223. !Z=1:T%=0:
  224. D%=0T%=1
  225. D(F%,-1,-1,-1):
  226. Z:E%!0=F%:
  227. &400c6,,E%:
  228. N%,G%:N%=
  229. E(F%,3)):G%=
  230. E(F%,7)):
  231. N%<9999N%+=1:
  232. E(F%,3,
  233. N%>8N%-=1:
  234. E(F%,3,
  235. G%<99G%+=1:
  236. E(F%,7,
  237. G%>1G%-=1:
  238. E(F%,7,
  239. N%,G%:A%=J:
  240. A:N%=E!4
  241. 1024:A%=M:
  242. A:G%=E!8:
  243. E(F%,3,
  244. E(F%,7,
  245. N%,G%:N%=
  246. E(F%,3)):G%=
  247. E(F%,7)):A%=P:B%=N%*1024:
  248. 43,E!0
  249. A.A%=M:
  250. A:A%=G:B%=E!4:C%=G%:
  251. 43,E!0
  252. S(X%,Z$,R%):W%=X%:$W%=Z$+
  253. 0:W%!12=&70207:W%!16=R%:W%!20=44:W%!24=0:W%+=28:
  254. A(T%,Z$,Q%,K%):
  255. K%<>0K%=1
  256. E?W%!0=T%:W%!4=Q%:W%!8=&7000001+(K%<<22):$(W%+12)=Z$:W%+=24:
  257. D(U%,M%,S%,I%):
  258. R%,O%:
  259. W:E%!4=M%:E%!8=S%-O%:E%!12=M%+R%:E%!16=S%:E%!28=-1:
  260. &400c5,,E%:
  261. I%=-1
  262. &400d2,U%,I%,0,0,-1,-1
  263. Q%:E%!0=U%:
  264. &400cb,,E%:R%=(E%!12-E%!4):O%=(E%!16-E%!8):
  265. ((E%!32)
  266. 65536)M%=E%!4:S%=E%!16:
  267. d%,c%,y%:
  268. 53,-1,4
  269. ,,Q%:
  270. 53,-1,11
  271. ,,M%:M%+=1:M%=M%/2:
  272. Q%>0M%=M%<<Q%
  273. M%-=R%/2
  274. -2:M%=d%-64
  275. 53,-1,4
  276. ,,Q%:
  277. 53,-1,12
  278. ,,S%:S%+=1:S%=S%/2:
  279. Q%>0S%=S%<<Q%
  280. S%+=O%/2
  281. -2:S%=c%
  282. C(A$,Z$):
  283. I%:E%!0=-5:E%!4=0:E%!8=-16:E%!12=112:E%!16=E%!8+96:E%!20=&17003103+8:E%!24=J%:$J%=Z$+
  284. 0:J%+=
  285. (Z$)+1:E%!28=J%:$J%="S"+A$+
  286. 0:J%+=
  287. (A$)+2:E%!32=
  288. (A$)+1:
  289. &400c2,,E%
  290. I%:J%=(J%+3)
  291. -4:=I%
  292. E(U%,H%,A$):E%!0=U%:E%!4=H%:
  293. &400ce,,E%:$(E%!28)=A$:E%!8=0:E%!12=0:
  294. &400cd,,E%:
  295. E(U%,H%):
  296. A$:E%!0=U%:E%!4=H%:
  297. &400ce,,E%:=
  298. M(E%!28)
  299. M(X%):
  300. A$,n%:
  301. X%?0>=32:A$+=
  302. X%?0:X%+=1:
  303. S(A$):
  304. A$,".")>0:A$=
  305. (A$)-
  306. A$,".")):
  307. h%256:
  308. 2:P%=h%:[OPTX%:.W EQUS("TBAFSMOD"):DCB0:ALIGN:.A:STMFD13!,{0-12,14}:MOV0,#18:ADR1,W:SWI 30:MOV10,4:LDR12,[3,#11*4]:ADD12,12,3:LDMIA13,{0-7}:MOV14,15:MOV15,12:MOVVC8,#0:MOVVS8,#1:ADR9,E:STMIA9,{0-8}:LDMFD13!,{0-12,14}:MOVS15,14
  309. X<.E DCD0:DCD0:DCD0:DCD0:DCD0:DCD0:DCD0:DCD0:.Z DCD0:]:
  310. !TBAFSrd.Messages
  311. _TaskName:TBA FS (Read Only)
  312. !TBAFSrd.!Help
  313. !TBAFSrd is a read-only version of !TBAFS, to receive a price list
  314. contact TBA Software at.
  315. email: sales@tbalond.demon.co.uk
  316. post:  TBA Software
  317.        Mead Farm
  318.        North Road
  319.        Timsbury
  320.        Nr Bath
  321.        Acon
  322.        BA3 1JH
  323. phone: 01761 470003
  324. Don't forget to visit our web pages for all the latest news at
  325. http://www.netlink.co.uk/users/tba
  326.