home *** CD-ROM | disk | FTP | other *** search
RISC OS BBC BASIC V Source | 1993-09-21 | 13.5 KB | 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$:
- r(b$):
- (b$):
- &6,138,0,
- b$,i%):
- b(r$,ub%):
- ++vb%=Oa%:Oa%=
- Oa%-vb%<200
- wb%+=1
- wb%=0
- wb%>5
- &400DD:
- &400EF,0:qa%!0=255:$(qa%+4)=r$:
- &400DF,qa%,18,ra%
- ,xb%:=xb%
- k(I%,d%):!a%=I%:a%!4=d%:
- &400CE,,a%:=$(a%!28)
- f(yb%):!a%=yb%:
- &400CB,,a%:a%!28=0:
- &400C6,,a%:
- G:c%!12=c%!8:c%!16=4:
- &400E7,17,c%,c%!4:
- h(yb%):
- S:!a%=yb%:
- &400CB,,a%:
- T:Sa%=
- a%!28=-1:
- &400C5,,a%:
- S:a%!0=4:a%!4=5:a%!8=11:a%!12=12:a%!16=-1:
- &31,a%,a%+20:zb%=1<<(a%!20):Ab%=1<<(a%!24):Bb%=(a%!28+1)*zb%:Cb%=(a%!32+1)*Ab%:
- T:W%=a%!12-a%!4:H%=a%!16-a%!8:X%=(Bb%-W%)
- 2:Y%=(Cb%-H%)
- 2:a%!4=X%:a%!8=Y%:a%!12=X%+W%:a%!16=Y%+H%:
- c(I%,d%,s$):!a%=I%:a%!4=d%:
- &400CE,,a%:$(a%!28)=s$:a%!8=0:a%!12=0:
- &400CD,,a%:
- g(t$):
- &23,t$,sa%,255,0,3
- ,,i%:sa%?i%=13:=$sa%
- R(I%,d%,Db%):
- &400D2,I%,d%,-1,-1,-1,Db%:
- e(Eb%,d%,Fb%,f$,Gb%):
- $+" whilst trying to load template '"+f$+"'",
- &400DB,,Eb%,d%,d%+Fb%,-1,f$,0:Eb%!64=Gb%:
- &400C1,,Eb%
- yb%:=yb%
- a(q%,Hb%,Ib%,Jb%,Kb%,h%,b$,Lb%,Mb%,Nb%,Ob%):a%!0=q%:a%!4=Hb%:a%!8=Ib%:a%!12=Jb%:a%!16=Kb%:a%!20=h%:
- Lb%=0
- a%!24 (
- b$+1):$(a%!24)=b$:a%!28=C%:a%!32=(
- b$+1)
- :$(a%+24)=b$
- :a%!24=Lb%:a%!28=Mb%:a%!32=Nb%
- &400C2,,a%
- yb%:=yb%
- a(Z%,Pb%,i%,h%,b$):
- $+" (whilst trying to create menu item """+b$+""")",
- D%Z%!0=Pb%:Z%!4=i%:Z%!8=h%:
- b$<12
- $(Z%+12)=b$
- :Z%!12=Ja%:Z%!16=-1:Z%!20=
- b$+1:Z%!8=(Z%!8
- -257)
- 256:$Ja%=b$:Ja%+=
- P:f%=
- "<Suite$Dir>.Defaults":
- #f%,(
- d(g%,d%)
- u:f%=
- "<Suite$Dir>.Defaults":
- f%<>0
- 8:Qb%=
- #f%:Qb%=(
- Qb%)+1:Rb%=
- d(g%,d%):
- Qb%<>Rb%
- L4!a%=g%:a%!4=d%:a%!8=2097152:a%!12=0:
- &400CD,,a%
- #f%:G%=
- #f%:z%=
- :K%=3:G%=0:z%=1
- Q\ca%=
- d(g%,6):Ua%=
- d(g%,7):da%=
- d(g%,8):
- c(g%,12,
- c(g%,13,b$(G%)):
- c(g%,14,c$(z%)):
- L:q%=c%!32:d%=c%!36:
- r%:a$="bin"
- s%:a$="set"
- t%:a$="bas"
- u%:a$="vdu"
- m%:a$="spe"
- v%:a$="csd"
- w%:a$="spr"
- l%:a$="clk"
- n%:a$="arm"
- p%:a$="del"
- M%:a$="typ"
- Za%:a$="inf"
- 15:a$="def"
- :a$="opt"
- c(a$)):
- U(b$):Na%=
- b$+1:c%!12=c%!8:c%!16=1283:$(c%+20)=b$+
- 0:!c%=(24+Na%)
- &400E7,17,c%,c%!4:
- d(q%,d%):!a%=q%:a%!4=d%:
- &400CE,,a%:=((a%!24
- 2097152)=2097152)
- i(q%,d%):!a%=q%:a%!4=d%:
- &400CE,,a%:=((a%!24
- 8388608)=8388608)
- m:$Aa%=
- "sspeakeroff,sspeakeron",
- mb%*13,11):
- D:f%=
- "<Suite$Dir>.Messages":Sb%=0:
- #f%:Sb%+=1:
- e$(Sb%):
- #f%=0:
- Sb%:e$(i%)=
- c(b$):
- Tb%=0
- Sb%:i%=
- e$(Tb%),":"):
- m2u$=
- e$(Tb%),i%-1):
- u$=b$=
- e$(Tb%),
- e$(Tb%)-i%)
- E:f%=
- "<Suite$Dir>.Code":
- f%=0o%=
- b("Where is my code? Some people...",
- &400DD
- #f%+4:
- &5,"Load <Suite$Dir>.Code "+
- ~J%:rb%=J%+36:sb%=J%:ib%=J%+72:mb%=J%+120:aa%=J%+160:jb%=J%+96:kb%=J%+108:nb%=J%+136:ob%=J%+148:
- F(I%,d%,Ub%):!a%=I%:a%!4=d%:a%!8=0:a%!12=1<<22:
- &400CD,,a%:
- s6!a%=I%:a%!4=d%:a%!8=1<<22:a%!12=1<<22:
- &400CD,,a%
-