home *** CD-ROM | disk | FTP | other *** search
RISC OS BBC BASIC V Source | 1996-01-15 | 15.6 KB | 634 lines |
- --> SAsm front end
- This program and all documentation
- David Holden 1995
- A_$="0.04":
- 262343,D_%,E_%
- 262341,,E_%
- 262342,,E_%
- 262364,E_%!24
- 17,18:
- E_%!16
- E_%!40=&2EF
- E_%!20
- E_%!24=17
- E_%!40=&FFD
- P_(E_%+44)
- 262364,E_%!24
- 262351,,E_%+&C0:R_%=E_%!&C8:S_%=E_%:
- W_(U_%,3)
- 4:!X_%=O_%:X_%!4=38:X_%!12=0:X_%!8=1<<22:
- 262349,,X_%
- Z_(O_%,11,"Absolute")
- Z_(O_%,11,"Utility")
- Z_(O_%,11,"Module")
- Z_(O_%,12,"32K")
- Z_(O_%,12,"64K")
- Z_(O_%,12,"96K")
- Z_(O_%,12,"128K")
- Z_(O_%,10,"128K")
- Z_(O_%,10,"256K")
- Z_(O_%,10,"400K")
- Z_(O_%,10,"640K")
- Z_(O_%,10,"1024K")
- !E_%=3
- e_%=0 I%=
- f_(1,"No files!"):
- J/F%=
- F%<0 I%=
- f_(1,"No file selected"):
- h_(M_%,F%,0):I%=i_%:
- F%>0:
- ?I%<>13:I%+=1:
- :I%+=1:F%-=1:
- :J%=I%:
- ?J%<>13:J%+=1:
- :J%+=1:
- J%<j_%:?I%=?J%:J%+=1:I%+=1:
- :j_%=I%:
- e_%>1
- h_(M_%,F%,0):I%=i_%:J%=F%:
- J%>1:
- ?I%<>13:I%+=1:
- :I%+=1:J%-=1:
- :J%=I%:
- ?J%<>13:J%+=1:
- :J%+=1:$X_%=$I%:$I%=$J%:$(I%+
- ($I%)+1)=$X_%:
- h_(M_%,F%-1,1)
- F%<e_%-1
- e_%>1
- h_(M_%,F%,0):I%=i_%:J%=F%:
- J%>0:
- ?I%<>13:I%+=1:
- :I%+=1:J%-=1:
- :J%=I%:
- ?J%<>13:J%+=1:
- :J%+=1:$X_%=$I%:$I%=$J%:$(I%+
- ($I%)+1)=$X_%:
- h_(M_%,F%+1,1)
- R_%=1
- 262356,,T_%,l_%,m_%
- n_%,o_%:
- 262351,,E_%+&C0:R_%=E_%!&C8:S_%=E_%!&C4:o_%=E_%!12:n_%=E_%!16:
- n_%=p_%
- q_(M_%)
- 2:T_%=U_%:l_%=E_%!&C0-120:m_%=360:
- 262356,,T_%,l_%,m_%
- q_(O_%)
- r_(O_%)
- R_%=2
- ;T_%=Y_%:l_%=E_%!&C0-60:m_%=S_%-10:
- 262356,,T_%,l_%,m_%
- s_(O_%,11)
- R_%=2
- ;T_%=a_%:l_%=E_%!&C0-60:m_%=S_%-10:
- 262356,,T_%,l_%,m_%
- s_(O_%,12)
- R_%=2
- ;T_%=b_%:l_%=E_%!&C0-60:m_%=S_%-10:
- 262356,,T_%,l_%,m_%
- s_(O_%,10)
- R_%=2 T_%=c_%:l_%=E_%!&C0-60:m_%=S_%-10:
- 262356,,T_%,l_%,m_%
- 0:w_%=&2EF:
- x_(v_%,0)
- n_%=0 w_%=&FEB:
- x_(y_%,0)
- i%:i%=e_%+1:
- :i%-=1:
- z_(M_%,i%)=
- i%<0:=i%
- !(U_%+28+(3*24))
- o$<>""
- 262366,o$
- o$,s$:
- A`$="" I%=
- f_(1,"You must first save the Make file"):=""
- do$="taskwindow "+
- 34+"SAsm <SAsmProj$Dir>."+B`$+" ":s$=
- C`(O_%,14):
- s$<>"" o$=o$+s$+" "
- o$+="! "
- C`(O_%,15):
- s$<>"" o$=o$+s$
- o$+="~"
- z_(O_%,24)=
- o$+=" Q"
- z_(O_%,28)=
- o$+=" X"
- z_(O_%,29)=
- o$+=" N"
- z_(O_%,27)=
- o$+=" L"
- z_(O_%,22)=
- o$+=" V"
- z_(O_%,30)=
- o$+=" F"
- z_(O_%,21)=
- o$+=" S"
- z_(O_%,26)=
- o$+=" A"
- Jo$+=
- 34:o$+=" -wimpslot ":o$+=
- C`(O_%,10):
- o$)<>"K"
- o$)<>"k" o$+="K"
- Jo$+=" -name "+
- 34+"SAsm assembler"+
- 34:o$+=" -ctrl -display -quit":=o$
- o$,s$:
- A`$="" I%=
- f_(1,"You must first save the Make file"):
- Ro$="SAsm <SAsmProj$Dir>."+B`$+" ":s$=
- C`(O_%,14):
- s$<>"" o$=o$+s$+" "
- o$+="! "
- C`(O_%,15):
- s$<>"" o$=o$+s$
- o$+="~"
- z_(O_%,24)=
- o$+=" Q"
- z_(O_%,28)=
- o$+=" X"
- z_(O_%,29)=
- o$+=" N"
- z_(O_%,27)=
- o$+=" L"
- z_(O_%,22)=
- o$+=" V"
- z_(O_%,30)=
- o$+=" F"
- z_(O_%,21)=
- o$+=" S"
- z_(O_%,26)=
- o$+=" A"
- $X_%=o$:*fx153,0,&CC
- 4I%=X_%:
- 6,153,0,?I%:I%+=1:
- ?I%=13:*fx153,0,13
- P_(i%):
- f$:f$="":
- ?i%>31:f$+=
- (?i%):i%+=1:
- A`$>""
- f$,A`$)=1 f$="<SAsmProj$Dir>"+
- (f$)-
- (A`$))
- Z_(O_%,17,f$):
- p%,c%,a$:
- E`(j_%-i_%+&2000)=
- f_(1,"Not enough memory available to create Make file"):
- Bp%=F`%:a$=
- C`(O_%,11):
- a$>"" $p%="# type "+a$:p%=
- G`(p%)
- C`(O_%,13):
- a$>"" $p%="# org "+a$:p%=
- G`(p%)
- C`(O_%,12):
- a$>"" $p%="# size "+a$:p%=
- G`(p%)
- C`(O_%,14):
- a$>"" $p%="# obj "+a$:p%=
- G`(p%)
- C`(O_%,15):
- a$>""
- z_(O_%,25)=
- $p%="# errfile "+a$:p%=
- G`(p%)
- C`(O_%,16):
- a$>"" $p%="# listfile "+a$:p%=
- G`(p%)
- z_(O_%,27)=
- C`(O_%,17):
- a$>""
- z_(O_%,27)=
- $p%="# lib "+a$:p%=
- G`(p%)
- :$p%="# lib":p%=
- G`(p%)
- C`(O_%,18):
- a$>"" $p%="# xrfile "+a$:p%=
- G`(p%)
- C`(O_%,19):
- a$>"" $p%="# labelfile "+a$:p%=
- G`(p%)
- z_(O_%,21)=
- $p%="# swion":p%=
- G`(p%)
- z_(O_%,22)=
- $p%="# verbose":p%=
- G`(p%)
- z_(O_%,23)=
- $p%="# enhance":p%=
- G`(p%)
- $p%="# noenhance":p%=
- G`(p%)
- d?p%=10:p%+=1:c%=0:
- c%<e_%:$p%="# include "+
- C`(M_%,c%):p%=
- G`(p%):c%+=1:
- :?p%=10:p%+=1:H`%=p%:
- G`(i%):
- ?i%>31:i%+=1:
- :?i%=10:=i%+1
- f$,I`%:E_%!12=E_%!8:E_%!16=4:I%=E_%+44:f$="":
- ?I%>31:f$+=
- (?I%):I%+=1:
- 262375,17,E_%,E_%!4:I`%=E_%!40:
- &2000:I%=
- f_(1,"You can't assemble a directory!):ENDPROC
- &FFF,&FFD
- f_(3,"This isn't Text or Data file, are you sure you want to include it?")=
- A`$>""
- f$,A`$)=1 f$="<SAsmProj$Dir>"+
- (f$)-
- (A`$))
- *$j_%=f$:I%=j_%+
- (f$)-1:
- ?I%<58
- ?I%>47
- ?I%<58
- ?I%>47:I%-=1:
- :I%?1=
- "*":I%?2=13
- 35:X_%?(I%+4)=J`%?I%:
- :X_%!8-=(e_%*40):X_%!16-=(e_%*40):X_%!24=j_%:!X_%=M_%:
- 262338,e_%,X_%:e_%+=1:j_%+=(
- (f$)+1):I%=e_%*40:
- I%<520 I%=520
- -]!X_%=0:X_%!4=-I%:X_%!8=1280:X_%!12=0:
- 262359,M_%,X_%:
- 262353,M_%,0,-(e_%+1)*40,1280,0:
- r_(w%):
- x%,y%,K`%,L`%:!X_%=w%:
- 262347,,X_%:x%=X_%!4:y%=X_%!16:!X_%=v_%:
- 262347,,X_%:K`%=X_%!12-X_%!4:L`%=X_%!16-X_%!8:X_%!4=x%+480:X_%!16=y%+32:X_%!12=X_%!4+K`%:X_%!8=X_%!16-L`%:
- 262341,,X_%:
- s_(v_%,1):
- q_(w%):X_%!&80=w%:
- 262347,,X_%+&80:E_%!&9C=-1:
- 262341,,X_%+&80:
- BcE_%!12=E_%!8:E_%!16=4:I%=E_%+44:N`$="":
- ?I%>31:N`$+=
- (?I%):I%+=1:
- 262375,17,E_%,E_%!4:
- 8,17,N`$
- I%,,,,P`%:
- I%=0 I%=
- f_(1,"File not found"):
- E`(P`%+&20)=
- f_(1,"Not enough memory to load this Make file"):I%-
- E`(0):
- 8,16,N`$,F`%
- ,,,,P`%:H`%=F`%+P`%:$E_%=N`$:I%=E_%:
- ?I%>31:I%+=1:
- ?I%<>46:I%-=1:
- :?I%=13:A`$=$E_%:B`$=$(I%+1):
- "Set SAsmProj$Dir "+A`$:
- Z_(v_%,1,B`$):
- e_%>0:e_%-=1:!X_%=M_%:X_%!4=e_%:
- 262340,,X_%:
- :!X_%=0:X_%!4=-520:X_%!8=1280:X_%!12=0:
- 262359,M_%,X_%:
- 262353,M_%,0,-520,1280,0:
- n%,p%:!X_%=M_%:
- 262348,,X_%
- 1:n%=X_%!88:
- n%>=0:!X_%=M_%:X_%!4=n%:
- 262340,,X_%:n%-=1:
- :p%=i_%:e_%=0:
- p%<j_%:
- 35:X_%?(I%+4)=J`%?I%:
- :X_%!8-=(e_%*40):X_%!16-=(e_%*40):X_%!24=p%:!X_%=M_%:
- 262338,e_%,X_%:e_%+=1
- q/p%+=
- ($p%):p%+=1:
- :I%=e_%*40:
- I%<520 I%=520
- t]!X_%=0:X_%!4=-I%:X_%!8=1280:X_%!12=0:
- 262359,M_%,X_%:
- 262353,M_%,0,-(e_%+1)*40,1280,0:
- R`%,p%,d$,c%,S`%:
- $+" at line "+
- (R`%),
- |CR`%=1:p%=F`%:S`%=i_%:
- p%<H`%:
- ?p%=32
- ?p%=9:p%+=1:
- Jd$="":p%+=1:
- ?p%=32
- ?p%=9:p%+=1:
- ?p%>32:d$+=
- T`(?p%):p%+=1:
- "ORG":p%=
- U`(p%):
- V`(O_%,13,p%)
- "SIZE":p%=
- U`(p%):
- V`(O_%,12,p%)
- "TYPE":p%=
- U`(p%):
- V`(O_%,11,p%)
- "OBJ":p%=
- U`(p%):
- V`(O_%,14,p%)
- "ERRFILE":p%=
- U`(p%):
- V`(O_%,15,p%)
- "LIB":
- ?p%=32
- ?p%=9:p%+=1:
- ?p%=10
- ?p%=13
- Z_(O_%,17,""):
- h_(O_%,27,0)
- U`(p%):
- V`(O_%,17,p%)
- "VERBOSE":
- h_(O_%,22,1)
- "QUIET":
- h_(O_%,22,0)
- "INCLUDE":p%=
- U`(p%):I%=0:
- p%?I%>32:j_%?I%=p%?I%:I%+=1:
- :j_%?I%=13:j_%+=(
- ($j_%)+1)
- "LISTFILE":p%=
- U`(p%):
- V`(O_%,16,p%)
- "NOENHANCE":
- h_(O_%,23,0)
- "ENHANCE":
- h_(O_%,23,1)
- "XREF":
- h_(O_%,28,1)
- "XRFILE":p%=
- U`(p%):
- V`(O_%,18,p%)
- "LABELFILE":p%=
- U`(p%):
- V`(O_%,19,p%)
- "SWION":
- h_(O_%,21,1)
- "SWIOFF":
- h_(O_%,21,0)
- f_(1,"Unrecognised directive at line "+
- R`%+" in Make file")
- ?p%<>10
- ?p%<>13:p%+=1:
- :p%+=1:R`%+=1:
- k_:I%=
- E`(0):
- V`(w%,i%,W`%):
- X`%:X`%=W`%:
- ?X`%>32:X`%+=1:
- :?X`%=13:
- Z_(w%,i%,$W`%):
- U`(p%):
- ?p%<33:p%+=1:
- T`(c%):
- c%>96
- c%<123 c%=c%
- s_(w%,i%):L%=
- C`(w%,i%)):
- 262354,w%,i%,,,-1,L%:
- Y`(w%,i%,v%):!X_%=w%:X_%!4=i%:
- 262350,,X_%:X_%!8=0:X_%!12=0:$(X_%!28)=
- (v%):
- 262349,,X_%:
- Z_(w%,i%,s$):!X_%=w%:X_%!4=i%:
- 262350,,X_%:X_%!8=0:X_%!12=0:$(X_%!28)=s$:
- 262349,,X_%:
- C`(w%,i%):!X_%=w%:X_%!4=i%:
- 262350,,X_%:I%=(X_%!28):
- ?I%>31:I%+=1:
- :?I%=13:=$(X_%!28)
- x_(w%,i%):!E_%=w%:
- 262347,,E_%:X%=E_%!4-E_%!20:Y%=E_%!16-E_%!24:E_%!4=i%:
- 262350,,E_%:!E_%=E_%!8+X%:E_%!4=E_%!12+Y%:E_%!8=E_%!16+X%:E_%!12=E_%!20+Y%:
- 271360,%11000101,1,"file_"+
- ~(w_%),E_%:
- 271361:
- 262351,,E_%:E_%!20=E_%!12:E_%!24=E_%!16:E_%!28=!E_%:E_%!32=E_%!4:E_%!36=H`%-F`%:E_%!40=w_%:E_%!16=1:
- w_%=&2EF $(E_%+44)=
- C`(v_%,1)
- $(E_%+44)=
- C`(y_%,1)
- F!E_%=(
- ($(E_%+44))+49)
- 3:E_%!12=0:
- 262375,17,E_%,E_%!20,E_%!24:
- s%,a$:
- 0I%=E_%+44:
- ?I%>31:I%+=1:
- :?I%=13:
- w_%=&2EF
- ?I%<>46:I%-=1:
- :?I%=13:A`$=$(E_%+44):B`$=$(I%+1):
- "Set SAsmProj$Dir "+A`$:
- 8,10,A`$+"."+B`$,&2EF,,F`%,H`%:I%=
- E`(0):!E_%=v_%:
- 262342,,E_%
- :a$="Set SAsmProj$Dir <Obey$Dir>"+
- 10:$X_%=a$:s%=X_%+
- ($X_%):
- 8,10,$(E_%+44),&FEB,,X_%,s%
- A`$=""I%=
- f_(1,"Project Directory not set"):!E_%=v_%:
- 262342,,E_%:
- D`:B`$=
- C`(v_%,1):
- 8,10,A`$+"."+B`$,&2EF,,F`%,H`%:!E_%=v_%:
- 262342,,E_%:I%=
- E`(0):
- Z`(w%,i%):!X_%=w%:X_%!4=i%:
- 262350,,X_%:
- 262354,w%,i%,,,-1,
- $(X_%!28):
- z_(w%,i%):!X_%=w%:X_%!4=i%:
- 262350,,X_%:
- (X_%!24
- 1<<21):=
- h_(w%,i%,s%):!X_%=w%:X_%!4=i%:X_%!12=1<<21:X_%!8=s%<<21:
- 262349,,X_%:
- W_(m%,i%):
- p%:p%=m%+28+(i%*24):!p%=!p%
- E`(a`%):
- 262380,b`%+a`%,-1
- e%<(b`%+a`%):=
- d`,e`,f`,g`,m%:e`=1:d`=2:g`=4:f`=&80:
- h`%&300:m%=h`%:U_%=
- i`(m%,"SAsm",208):m%=
- j`("Info",0,k`%):m%=
- j`("Save Opts",0,0):m%=
- j`("Save Obey",0,y_%):m%=
- j`("Taskwindow",e`,0):m%=
- j`("Lock Set",d`,0):m%=
- j`("Quit",f`,0)
- i`(m%,"Obj type",180):m%=
- j`("Absolute",0,0):m%=
- j`("Utility",0,0):m%=
- j`("Module",f`,0):a_%=
- i`(m%,"Code size",120):m%=
- j`("32K",0,0):m%=
- j`("64K",0,0):m%=
- j`("96K",0,0):m%=
- j`("128K",f`,0):b_%=
- i`(m%,"Memory",120)
- j`("128K",0,0):m%=
- j`("256K",0,0):m%=
- j`("400K",0,0):m%=
- j`("640K",0,0):m%=
- j`("1024K",f`,0):c_%=
- i`(m%,"Files",180):m%=
- j`("Remove",0,0):m%=
- j`("Move up",0,0):m%=
- j`("Move down",0,0):m%=
- j`("Clear all",f`,0):
- i` (a%,l`$,m`%):$a%=l`$:a%!12=&70207:a%!16=m`%:a%!20=40:a%!24=0:m%=a%+28:=a%
- j` (n`$,o`%,p`%):!m%=o`%:m%!4=p`%:m%!8=&7000001:$(m%+12)=n`$:=m%+24
- q` (r`$,s`%,r`%):!m%=s`%:m%!4=0:m%!8=&7000101:m%!12=r`%:m%!16=-1:m%!20=127:
- r`$<>"?" $r`%=r`$
- =m%+24
- t` (m%,i%):!(m%+36+(24*i%))=!(m%+36+(24*i%))
- 1<<22:
- u` (m%,i%):!(m%+36+(24*i%))=!(m%+36+(24*i%))
- (1<<22):
- v` (w`$,x`%):
- y`% 24:$y`%="s!"+w`$:$(y`%+16)="SAsm":!E_%=x`%:E_%!4=0:E_%!8=-16:E_%!12=80:E_%!16=88:E_%!20=&1700210B:E_%!28=y`%:E_%!24=y`%+16:E_%!32=8:
- 262338,,E_%
- I%:=I%
- C_(z`$,_`%):
- 6,229,1:
- 6,2,0:
- 263874:D_%=&C31:!X_%=
- :$(X_%+4)="Error "+
- )+": "+z`$++
- 262367,X_%,1,``%:
- 262365,Aa%,&4B534154:
- f_(Ba%,a$):X_%!&80=0:$(X_%+&84)=a$+
- 262367,X_%+&80,16
- Ba%,``%
- ,I%:=I%
- :I%+=1:
- ?I%=34
- ?I%<32:
- ?I%<32:=""
- :I%+=1:
- ?I%<>32:
- ?I%<32:=""
- q%J%=I%:
- :J%+=1:
- ?J%<32:?J%=13:=$I%
- Ea%&300:
- 2:P%=Ea%:[OPT Fa:stmfd r13!,{r14}:adr r8,Ga:mov r0,r0,lsl#2:ldr pc,[r8,r0]
- .Ga equd Ha
- ^.Ia equd X_%:.F` equd F`%:.Ja equd Ka%:.La equd Ma%:.Na equd k`%:.Oa equd Oa%:.Pa equd ``%
- .Ha stmfd r13!,{r14}:adr r1,Qa:mov r0,#13:swi 8:cmp r0,#1:bne Ra:cmp r4,#&20:bne Sa:mov r0,#255:ldr r2,F`:mov r3,#0:swi 8:ldr r6,Oa:ldr r4,F`:ldr r3,[r4],#4:mov r2,#0:.Ta:ldrb r0,[r4,r2]:mvn r0,r0:and r0,r0,#&FF:add r0,r0,r6
- ]sub r3,r3,r0:sub r0,r0,r2:strb r0,[r4,r2]:add r2,r2,#1:cmp r2,#20:blt Ta:cmp r3,#0:beq Ua
- .Sa:ldr r0,Pa:swi&400Ef:adr r1,Va:.Wa ldrb r0,[r1],#1:cmp r0,#0:swine 0:bne Wa:align:bl Xa:mov r0,#1:ldmfd r13!,{pc}:.Ra:swi 256+7:ldr r0,La:ldr r1,F`:add r1,r1,#48:str r0,[r1]:swi&400Cb:bl Ya:mov r0,#20:ldr r2,[r1,#4]
- add r2,r2,r0:str r2,[r1,#4]:ldr r2,[r1,#12]:add r2,r2,r0:str r2,[r1,#12]:mov r0,#20:ldr r2,[r1,#8]:sub r2,r2,r0:str r2,[r1,#8]:ldr r2,[r1,#16]:sub r2,r2,r0:str r2,[r1,#16]:mvn r0,#0:str r0,[r1,#28]:swi&400c5:ldr r0,Ja
- [ldr r1,F`:add r1,r1,#48:str r0,[r1]:swi&400Cb:bl Ya:mvn r0,#0:str r0,[r1,#28]:swi&400c5
- .Za:mov r0,#0:ldr r1,F`:add r1,r1,#48:swi&400c7:subs r4,r4,#1:bpl Za:bl Xa:ldr r1,F`:add r1,r1,#48:ldr r0,La:str r0,[r1]:swi&400c6:ldr r0,Ja:str r0,[r1]:swi&400c6:mov r0,#0:ldmfd r13!,{pc}
- .Ya mov r4,#10:mvn r0,#0:mov r1,#4:swi&35:mov r10,r2:mvn r0,#0:mov r1,#11:swi&35:mov r8,r2,lsl r10:mvn r0,#0:mov r1,#5:swi&35:mov r9,r2:mvn r0,#0:mov r1,#12:swi&35:mov r7,r2,lsl r9:ldr r1,F`:add r1,r1,#48:ldr r2,[r1,#12]
- ldr r3,[r1,#4]:sub r3,r2,r3:sub r2,r8,r3:mov r2,r2,lsr#1:str r2,[r1,#4]:add r2,r2,r3:str r2,[r1,#12]:ldr r2,[r1,#16]:ldr r3,[r1,#8]:sub r3,r2,r3:sub r2,r7,r3:mov r2,r2,lsr#1:str r2,[r1,#8]:add r2,r2,r3:str r2,[r1,#16]
- mov pc,r14
- .Ua:ldr r1,F`:add r1,r1,#48:ldr r0,Na:str r0,[r1]:mov r0,#8:str r0,[r1,#4]:swi&400ce:ldr r3,[r1,#28]:ldr r2,F`:add r2,r2,#4:.Wa ldrb r0,[r2],#1:strb r0,[r3],#1:cmp r0,#32:bge Wa:mov r0,#%00010111<<24:str r0,[r1,#8]
- "Mmov r0,#%11111111<<24:str r0,[r1,#12]:swi&400CD:mov r0,#0:ldmfd r13!,{pc}
- 'S.Xa swi&42:add r3,r0,#600:.aa swi&42:cmp r0,r3:blt aa:mov pc,r14:]:
- Fa>1:=
- [OPT Fa:.Qa equs "<obey$dir>.sa_reg":equb 0:align:.Va:equd&20200A0A:equd&20656854:equd&69676552:equd&61727473:equd&6e6f6974:equd&6c694620:equd&61682065
- equd&65622073:equd&74206e65:equd&65706d61:equd&20646572:equd&68746977:equd&0A0A070D:equd&2020200A:equd&20202020:equd&20202020:equd&676f7250:equd&206d6172:equd&6d726574:equd&74616e69:equd&0A676e69:equd&0A0D:]:
- $+" loading Options",
- ?CH%=
- (da$+".Options"):
- H%=0 I%=
- f_(1,"Options file not found"):
- ca%=21
- ea(O_%,ca%):
- ea(O_%,38):
- ca%=11
- fa(O_%,ca%):
- ea(w%,i%):!X_%=w%:X_%!4=i%:
- 262350,,X_%:
- J%=64
- 67:X_%?J%=
- :X_%!8=(X_%!24)
- (X_%!64):X_%!12=0:
- 262349,,X_%:
- fa(w%,i%):
- a$,c%:a$="":
- #H%:a$+=
- (c%):
- c%<32:
- Z_(w%,i%,a$):
- W_H%=
- (da$+".Options"):
- ca%=21
- ga(O_%,ca%):
- ga(O_%,38):
- ca%=11
- ha(O_%,ca%):
- ga(w%,i%):!X_%=w%:X_%!4=i%:
- 262350,,X_%:
- J%=24
- #H%,X_%?J%:
- ha(w%,i%):!X_%=w%:X_%!4=i%:
- 262350,,X_%:J%=X_%!28:
- ?J%>31:
- #H%,?J%:J%+=1:
- #H%,13:
- ia (ja%):
- r`% ja%,ka%&100:E%=r`%+ja%:
- 262361,,da$+".templates":
- 262363,,F`%,r`%,E%,-1,"info",0
- ,,R%:
- 262337,,F`%
- 262363,,F`%,R%,E%,-1,"main",0
- ,,R%:
- 262337,,F`%
- 262363,,F`%,R%,E%,-1,"files",0
- 262337,,F`%
- 262363,,F`%,R%,E%,-1,"saveas",0
- ,,R%:
- 262337,,F`%
- 262363,,F`%,R%,E%,-1,"saveobey",0
- ,,R%:
- 262337,,F`%
- 262363,,F`%,R%,E%,-1,"shad",0
- ,,R%:
- 262337,,F`%
- 262363,,F`%,R%,E%,ka%,"banner",0
- ,,R%:
- 262337,,F`%
- 262362:
- Z_(k`%,2,la$):
- Z_(k`%,3,ma$):
- Z_(k`%,4,na$):
- Z_(v_%,1,B`$):!E_%=M_%:
- 262348,,E_%:J%=E_%+92:
- 35:J`%?I%=J%?I%:
- 262336,200,&4B534154,"Desktop SAsm"
- oa%,Aa%:
- oa%<300
- 0,"This program requires RISC-OS 3 or better":
- E_%&180,X_%&100,``% 24,i_%&4000,J`%&30:$``%="Desktop SAsm":
- $+" During initialisation",
- 35,"SAsmApp$Dir",E_%,256,0,3
- ,,I%:E_%?I%=13:da$=$E_%:b`%=
- -&8000:F`%=
- E`(&2000)=
- -1,"Not enough memory to run Desktop SAsm"
- ia(&B00):
- 8p_%=
- v`("sasm",-1):
- 8,13,da$+".Options"
- c`:N`$=
- N`$>""
- E`(0)
- M`:H`%=F`%:j_%=i_%:A`$="":
- pa:la$="Desktop SAsm":ma$=A_$+" 1995":na$="
- David Holden":qa%=&2EF:B`$="Make":Oa%=7:e_%=1:A`$="":ra%=
- :D_%=%110000110001:
-