home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Datafile PD-CD 2
/
DATAFILE_PDCD2.iso
/
utilities2
/
_suite
/
!Suite
/
!RunImage
(
.txt
)
< prev
next >
Wrap
RISC OS BBC BASIC V Source
|
1993-09-21
|
14KB
|
606 lines
>!RunImage
For !Suite
NSW 21/09/93
Qp$="1.41 (21st September 93)":
$+" (internal error code "+
+")",
$+" (internal error code "+
+")",
&400E1,,c%,
ea%>0
fa%>ea%+K%*100
&ea%=0:$L%="hh:mm":
$L%+=":ss"
_%=D%:
D%=-1
_%=-2
i(_%,l%)
:?a%=0:
&7,14,a%:e$=$(a%+16):
z%=0e$=
e$,5)
_%=D%:
D%=-1
_%=-2
W$L%=e$:!a%=_%:a%!4=l%:
&400CE,,a%:
&400D1,a%!0,a%!8+12,a%!12+12,a%!16-12,a%!20-12
&400C5,,c%
&400C6,,c%:
!c%=p%
!c%=M%d$()="":ga%=0:ha%=0
5:ia%=
d(g%,3):
!c%=p%
ja%:`%=
ja%=121`%=
8:ka%=c%!24:q%=!c%:la%=-42:
ka%=13
&400DC,ka%
17,18,19:
&400DD:
d:a$()="":j%=0:B%=0:
f(p%):
c% 512,na% 512,oa% 128,pa% 512,qa% 128,ra% 20,sa% 256,ta% 512,ua% 128,va% 512,wa% 128,a% 256,xa% 1512,ya% 600,za% 5,Aa% 15
a$(77),a%(77),d$(77),Ba% 512,Ca% 256,L% 10,Da% 30,Ea% 100,Fa% 300,c$(1),Ga% 512,Ha% 128,b$(2),Ia% 128,Ja% 128,Ka% 5,La% 30:
&400C0,200,&4B534154,"Suite"
E:f%=
("<Suite$Dir>.Sprites")
f%=0o%=
b("What have you done with my sprites file?!",0):
&400DD:
'dNa%=
#f%+16:
C% Na%:!C%=Na%-1:C%!4=0:C%!8=16:C%!12=16:
&2E,256+10,C%,"<Suite$Dir>.Sprites"
(zB%=0:j%=0:ha%=0:ga%=0:Oa%=0:Pa%=
:$Aa%="sspeakeroff":$za%="":$Da%="sclks":$L%="hh:mm:ss":ea%=0:$La%="sarm3off":$Ka%=""
l$="":r%=0:s%=0:t%=0:u%=0:m%=0:v%=0:l%=0:n%=0:w%=0:Qa%=0:Ra%=
:$ra%="Error from Suite":Sa%=
:ma%=
c("pro"):h$=
h$-4):c$(0)="hh:mm":c$(1)="hh:mm:ss":b$(0)="on left icon bar":b$(1)="on right icon bar":b$(2)="in window"
5,"Set ARM3$Present -1":
5,"RMEnsure ARM3Support 0 Set ARM3$Present 0":Ta%=
g("ARM3$Present"):
5,"UnSet ARM3$Present":
v:N%=0:O%=0:P%=0:Q%=0:R%=0:S%=0:T%=0:F%=0:U%=0:
&20010
d$:d$=
d$,"!RunImage")+9)):
d$,"BIN")>0N%=-1
d$,"SET")>0O%=-1
d$,"BAS")>0P%=-1
d$,"VDU")>0Q%=-1
d$,"SPE")>0R%=-1
d$,"CSD")>0S%=-1
d$,"SPR")>0T%=-1
d$,"CLK")>0F%=-1
d$,"ARM")>0U%=-1
Ua%k%=2048:x%=17:y%=34
k%=0:x%=34:y%=68
N%r%=
a(-2,0,0,x%*2-(x%
17)*5,68,12554+k%,"bin",0,0,0,
O%s%=
a(-2,0,0,x%*2,68,12554+k%,"settype",0,0,0,
P%t%=
a(-2,0,0,x%*2,68,12554+k%,"basedit",0,0,0,
Q%u%=
a(-2,0,0,x%*2,68,12554+k%,"vdu",0,0,0,
m:m%=
a(-2,0,0,x%*2-(x%
17)*10,y%,12555+k%,"",za%,Aa%,5,
S%v%=
a(-2,0,0,x%*2,68,12554+k%,"csd",0,0,0,
T%w%=
a(-2,0,0,x%*2,68,12554+k%,"icons",0,0,0,
k:n%=
a(-2,0,0,x%*2,68,12555+k%,"",Ka%,La%,5,
(r%=0
n%=0)Qa%=
a(-2,0,0,68,68,12298,"!suite",0,0,0,
l%<>0
_%=D%:
D%=-1
_%=-2
b(_%,l%)
0:$L%="hh:mm":$Da%="sclkm":Va%=54*2
1:$L%="hh:mm:ss":$Da%="sclks":Va%=78*2
0:D%=-2:x%=0:Wa%=0:Xa%=68:
f(Ya%)
1:D%=-1:x%=0:Wa%=0:Xa%=68:
f(Ya%)
2:D%=Ya%:x%=(190-Va%)/2:Wa%=-84:Xa%=0:
h(Ya%)
N:l%=
a(D%,x%,Wa%,x%+Va%,Xa%,385888571,"",L%,Da%,10,
&400D9,,"<Suite$Dir>.Templates":Za%=
e(na%,oa%,127,"info",C%):M%=
e(ta%,ua%,127,"sett",C%):p%=
e(va%,wa%,127,"delf",C%):Ya%=
e(Ga%,Ha%,127,"clck",C%):_a%=
e(Ba%,Ca%,255,"scsd",C%)
PFg%=
e(xa%,ya%,599,"opts",C%):
&400DA:$(oa%+20)=p$:
F(g%,8,
Ta%):
w:h%=&7091031:b%=pa%:$b%="!Suite":b%!12=459271:b%!16=16*11:b%!20=44:b%!24=0:
a(b%+28,0,Za%,h%,"Info"):
a(b%+52,0,b%+200,h%,"Show"):
a(b%+76,0,g%,h%,"Options"):
a(b%+100,128,-1,h%,"Quit")
b%=pa%+200:$b%="Show":b%!12=459271:b%!16=16*12:b%!20=44:b%!24=0:
a(b%+28,(0-N%),-1,h%,"Bin"):
a(b%+52,(0-O%),-1,h%,"Set-Type"):
a(b%+76,(0-P%),-1,h%,"BASIC Ed"):
a(b%+100,(0-Q%),-1,h%,"VDU")
a(b%+124,(0-R%),-1,h%,"Speaker"):
a(b%+148,(0-S%),-1,h%,"Set CSD"):
a(b%+172,(0-T%),-1,h%,"Icon Cacher"):
a(b%+196,(0-F%),-1,h%,"Clock"):
a(b%+220,(128-U%),-1,h%+((Ta%+1)<<22),"ARM3 Cache")
b%=Ea%:$b%="Format":b%!12=459271:b%!16=16*12:b%!20=44:b%!24=0:
a(b%+28,0+(z%=0)*-1,-1,h%,c$(0)):
a(b%+52,128+(z%=1)*-1,-1,h%,c$(1)):b%=Fa%:$b%="Time":b%!12=459271:b%!16=16*8:b%!20=44:b%!24=0
a(b%+4+e%*24,0+(e%=K%)*-1,-1,h%,
e%+" secs"):
a(b%+4+9*24,128+(K%=9)*-1,-1,h%,"9 secs"):b%=Ia%:$b%="Position":b%!12=459271:b%!16=16*20:b%!20=44:b%!24=0:
a(b%+28,(G%=0)*-1,-1,h%,b$(0))
a(b%+52,(G%=1)*-1,-1,h%,b$(1)):
a(b%+76,128+(G%=2)*-1,-1,h%,b$(2)):
!c%<>2`a%=0
0:N%=
1:O%=
2:P%=
3:Q%=
4:R%=
5:S%=
6:T%=
7:F%=
8:U%=
3:ma%=
1:e%=0:
e%+=4:
c%!e%=-1:e%+=4:z%=c%!e%:
1:Ea%!(28+e%*24)=Ea%!(28+e%*24)
c(g%,14,c$(z%)):
2:e%=0:
e%+=4:
c%!e%=-1:e%+=4:K%=(c%!e%)+1:
9:Fa%!(4+e%*24)=(Fa%!(4+e%*24)
1)+(e%=K%)
c(g%,12,
3:e%=0:
e%+=4:
c%!e%=-1:e%+=4:G%=c%!e%:
2:Ia%!(28+e%*24)=(Ia%!(28+e%*24)
1)+(e%=G%)
c(g%,13,b$(G%)):
&400CF,,a%:
(!(a%+8)
1)>0`a%=0:
&400D4,,pa%,!a%,a%!4
c%!16
0:ma%=
3:E%=c%!40:
G:c$="":i%=c%+43:
i%?1<>0:i%+=1:c$+=
c%!24
B%=78
c("er7"),
t1a$(B%)=c$:
E%=4096
E%=8192
a%(B%)=
a%(B%)=
B%+=1:
E%=4096
E%=8192o%=
c("er1"),0):
d$(ha%)=c$:ha%+=1:
E%=4096
E%=8192o%=
c("er2"),0):
H(c$)
E%=4096
E%=8192o%=
c("er3"),0):
I(c$)
m%:o%=
c("er4"),0)
J(c$,(E%=4096
E%=8192))
K(c$,(E%=8192))
l%:o%=
c("er9"),0)
n%:o%=
c("e10"),0)
#c%!20,"Run "+
g("Suite$Dir")
1282:
&4C49454E:
c%!20
0:N%=(c%!24=1)
1:O%=(c%!24=1)
2:P%=(c%!24=1)
3:Q%=(c%!24=1)
4:R%=(c%!24=1)
5:S%=(c%!24=1)
6:T%=(c%!24=1)
7:F%=(c%!24=1)
8:U%=(c%!24=1)
y:x%=!c%:y%=c%!4:ab%=c%!8:q%=c%!12:d%=c%!16:
M(x%,y%,q%=-2)
p%:`%=
d%=4`%=
d%=l%
ea%:?a%=0:
&7,14,a%:e$=$(a%+16):
z%=0e$=
e$,5)
Y$L%=e$:!a%=D%:a%!4=l%:
&400CE,,a%:
&400D1,a%!0,a%!8+12,a%!12+12,a%!16-12,a%!20-12:
r%:a$=
c("ex1")
s%:a$=
c("ex2")
u%:a$=
c("ex3")
m%:Ra%=
v%:a$=
c("ex4")
w%:a$=
c("ex5")
ea%:?a%=0:
&7,14,a%:e$=$(a%+16):
z%=0e$=
e$,5)
Y$L%=e$:!a%=-2:a%!4=l%:
&400CE,,a%:
&400D1,a%!0,a%!8+12,a%!12+12,a%!16-12,a%!20-12:
n%:V%=
Qa%:o%=
c("er6"),0):
c("er5")+a$,0)
6:ca%=
8:da%=
12:`a%=2:
&400E8,,Fa%,x%,y%
13:`a%=3:
&400E8,,Ia%,x%,y%
14:`a%=1:
&400E8,,Ea%,x%,y%
j%>=B%
d(g%,4)
Ma%>=310
:j%+=1:g$=a$(j%):
g$<>""
j%>=B%:
j%+=1:
a$(j%)=""
A:ga%+=1:
d$(ga%)=""d$()="":ha%=0:ga%=0:
f(M%):
M(bb%,cb%,db%):
db%cb%=272
$`a%=0:
&400D4,,pa%,bb%-64,cb%:
K(f$,eb%):
(f$+".!Sprites"):
&5,"IconSprites "+f$+".!Sprites"
c("er8"),
J(f$,fb%):gb%=
d(g%,5):
f(f$)
&5,"Dir "+f$:
h(_a%):
c(_a%,1,
f$,50))
k:hb%=V%:V%=
ib%*-1:
hb%<>V%
n%<>0
Q:V%=
ib%:$La%=
"sarm3off,sarm3on",V%*10,8):V%=V%*-1:
jb%:$La%="sarm3on"
kb%:$La%="sarm3off"
i(-2,n%):
x:lb%=Ra%:Ra%=
mb%*-1:
lb%<>Ra%
m%<>0
nb%:$Aa%="sspeakeron"
ob%:$Aa%="sspeakeroff"
i(-2,m%):
i(I%,d%):a%!0=I%:a%!4=d%:
&400CE,,a%:
&400D1,a%!0,a%!8,a%!12,a%!16,a%!20:
b(-2,r%):r%=0
b(-2,s%):s%=0
b(-2,t%):t%=0
b(-2,u%):u%=0
b(-2,v%):v%=0
b(-2,w%):w%=0
b(-2,m%):m%=0
b(-2,n%):n%=0
j:b%=pa%+200:
Ua%k%=2048:x%=17:y%=34
k%=0:x%=34:y%=68
0:Va%=0
1:Va%=78
N%=-1r%=
a(-2,0,0,x%*2-(x%
17)*5,68,268448042+k%,"bin",0,0,0,
O%=-1s%=
a(-2,0,0,x%*2,68,268448042+k%,"settype",0,0,0,
P%=-1t%=
a(-2,0,0,x%*2,68,268448042+k%,"basedit",0,0,0,
Q%=-1u%=
a(-2,0,0,x%*2,68,268448042+k%,"vdu",0,0,0,
R%=-1
m:m%=
a(-2,0,0,x%*2-(x%
17)*10,y%,268448011+k%,"",za%,Aa%,5,
S%=-1v%=
a(-2,0,0,x%*2,68,268448042+k%,"csd",0,0,0,
T%=-1w%=
a(-2,0,0,x%*2,68,268448042+k%,"icons",0,0,0,
F%=-1
U%=-1
Q:n%=
a(-2,0,0,x%*2,68,268448011+k%,"",Ka%,La%,5,
b(-2,r%):r%=0
b(-2,s%):s%=0
b(-2,t%):t%=0
b(-2,u%):u%=0
b(-2,m%):m%=0
b(-2,v%):v%=0
b(-2,w%):w%=0
b(D%,l%):l%=0:
f(Ya%)
b(-2,n%):n%=0
(r%=0
n%=0)
a(-2,0,0,68,68,12298,"!suite",0,0,0,
b(-2,Qa%):Qa%=0
pb%!28=0-N%:b%!52=0-O%:b%!76=0-P%:b%!100=0-Q%:b%!124=0-R%:b%!148=0-S%:b%!172=0-T%:b%!196=0-F%:b%!220=128-U%:
b(q%,d%):
"a%!0=q%:a%!4=d%:
&400C4,,a%:
n:g$=a$(j%):
c(p%,1,
g$,35)):
a%(j%)=
c(p%,2,h$+"directory?")
c(p%,2,h$+"file?")
d(g%,4)
c(p%,2,h$+"selection?"):
c(p%,1,
f(g$),35)+".*")
d(g%,3):
#!a%=p%:
a%!4=3
&400C4,,a%:
i(p%,3)
8!a%=p%:a%!8=8388608:a%!12=0:
a%!4=3
&400CD,,a%:
h(p%):
=67734
&5,"UP":
$+" (internal error code "+
+")",
d(g%,0)n$="F":pb%=5:
n$="":pb%=1
Ma%>=310
d(g%,4)
&400DE,"Filer_Action"
&40F80,qb%,
f(a$(j%))+
0:m$="":i$=
f(a$(j%)):
:o$=a$(j%):
f(o$)=i$
h(o$)+" ":a$(j%)=""
lj%+=1:
j%>=B%:
&40F81,qb%,m$+
&40F82,qb%,2,pb%,0,0,0:j%=0:m$="":
:j%+=1:
a$(j%)<>""
j%>=B%:
&400DE,"Filer_Action"
&40F80,qb%,
f(g$)+
&40F81,qb%,
h(g$):
&40F82,qb%,2,pb%,0,0,0
&5,"Wipe "+g$+" ~C~VR"+n$
h(i$):$a%=i$:A%=a%:=$
a$(e%)<>""
f(i$):$a%=i$:A%=a%:
sb%:=$a%
o:l$=d$(ga%):j$="":
c(M%,2,
l$,35)):
c(M%,3,j$):
h(M%):
R(M%,3,
H(c$):
d(g%,1)
Di%=0:k$=c$:
k$,".")<>0:i%+=1:k$=
c$-i%):
c$,i%-1):
&5,"Dir "+q$
:k$=c$:
r("*BASIC -load """+k$+""""+
13+"EDIT"+
&400DE,"BASIC":
r("*BASIC"+
13+"EDIT"+
&400DE,"BASIC":
I(c$):tb%=
&5,"echo <22><12>":
&5,"echo <28><0><31><79><0><17><134><12>":
&5,"echo <17><4><31><33><0>Shift to continue":
&5,"echo <28><0><30><79><1>":
&5,"echo <17><128><17><2><12>"
&5,"echo <14>":
&5,"type "+c$:
&5,"echo <15>":
'"Press SPACE or click mouse to continue":
:ka%=
ka%<>-1:
&400E3,tb%:
z:j$=
k(M%,3):
&5,"SetType "+l$+" "+j$: