; _ _ _ _ _ _ _ _ ;[_][_][_][_][_][_][_][_] ; ; The Land of SPUR ; ; (C)opyright 1987 ; Greg W. Davis ; and ; Peripherals Plus ; ; 06/27/87 08:44 ; _______________________ ; v3.0 ; Sysop Control ; _ _ _ _ _ _ _ _ ;[_][_][_][_][_][_][_][_] on nocar goto linkterm public list main input \"SPUR Sysop Control (?=Menu): "i$ push main if i$="A" goto listally if i$="P" goto listplyr if i$="I" goto listitem if i$="M" goto listmons if i$="R" goto room.dsp if i$="W" goto listwep if i$="S" goto listspel if i$="F" goto listfood if i$="Z" goto rnd.mons if i$="G" goto object if i$="U" goto printer if i$="T" goto sound if i$="Y" goto time.set if i$="D" goto display if i$="Q" goto quit if i$<>"?" return menu setint(1):print \s$\' [------------------------------------] [ Sysop Control Menu ] [------------------------------------] [ [G] Set Game Objectives ] [ [D] Screen Display ] [ [U] Printer Status ] [ [T] Toggle Sound ] [ [Z] Random Monsters ] [ [Y] Set Time Defaults ] [ [Q] Quit ] [ ] [------------------------------------] [ LIST COMMANDS ] [ ] [ [P]layers [S]pells ] [ [I]tems [M]onsters ] [ [W]eapons [A]llies ] [ [R]ooms [F]ood/Drink ] [ ] [------------------------------------]':setint(""):return ; ********************************** ; * Set Variable Game Objectives * ; ********************************** object print \"[ Game Objective ]" print "Current Game Objective is #"go if og<>0 print "Item number is "og g1=oh:g2=ol:gosub prt.gold:print "Gold amount is "gd$ print \' 1. Get out w/Specific Amt. of Gold 2. Get out w/Special Item 3. Get out w/Gold & Item Please Choose by number (CR=Abort): ';:input @2 i$ if i$="" return a=val(i$):if (a<1) or (a>3) goto object go=a if a=1 goto object2 object1 if ic=0 print \"No ITEMS are currently defined.":go=1:goto object2 dy$=dx$+"items" object1a input \"Item # or [L]ist: "i$ if i$="L" gosub listitem:goto object1a x=val(i$):if (x<1) or (x>ic) print \"Items 1-"ic:goto object1a open #1,dy$:position #1,30,x:input #1,cb$\it$\it:close #1:ty$=left$(it$,1):og$=mid$(it$,3) if cb$="*" print \"ITEM has been killed":goto object1a if ty$<>"T" print \"The ITEM must be a carried Treasure":goto object1a i$="JEWEL":gosub chk.obj i$="DIAMOND":gosub chk.obj i$="GOLD":gosub chk.obj i$="SILVER":gosub chk.obj i$="COIN":gosub chk.obj print \"Item selected is "og$:og=x if a=2 then oh=0:ol=0:goto object object2 input \"Amount of Gold (in Thousands)? "a$:a=val(a$):if a<0 goto object2 oh=a/10:ol=a mod 10:ol=ol*1000 if go=1 then og=0 goto object chk.obj if instr(i$,og$) print \"The item can not be "i$:pop:goto object1a return ; ************************ ; * Set Random Monsters * ; ************************ rnd.mons print\"Random Monsters set ";:if rd print"[ON]":else print"[OFF]" input@2\"Set [OFF] or [ON] ?"i$:if i$="" return if i$="OFF" rd=0 if i$="ON" rd=1 print\"Random Monsters now set ";:if rd print"[ON]":else print"[OFF]" return ; ******************* ; * List Routines * ; ******************* listally if pq gosub ptr.pmt print #o,\"Allies"\ dy$=dx$+"allies" open #1,dy$:x=1 listaly2 position #1,26,x input #1,cb$\x1$\x2,x3 setint(1) if cb$="*" goto listaly3 print #o,right$(" "+str$(x),3)". Strength:"right$(" "+str$(x2),2)" Hit: "x3"0% Name:"x1$ listaly3 x=x+1:if (x>ac) or (key(1)) close:return goto listaly2 listmons if pq gosub ptr.pmt print #o,\"Monsters"\ dy$=dx$+"monsters" open #1,dy$:x=1 listmns2 position #1,32,x input #1,cb$\m$\ms,sw setint(1) if cb$="*" goto listmns3 ty$=left$(m$,1):m$=mid$(m$,3) print #o,right$(" "+str$(x),3)". "; print #o,"Strength: "right$(" "+str$(ms),2); print #o," Special Wep: "right$(" "+str$(sw),3)" Name: "m$ listmns3 x=x+1:if (x>mc) or (key(1)) close:return goto listmns2 listspel if pq gosub ptr.pmt print #o,\"Spells"\ dy$=dx$+"spells" open #1,dy$:z=1 listspl2 position #1,40,z input #1,cb$\q$,q2$,q3,q4 setint(1) if (cb$="*") or (cb$="") goto listspl3 print #o,right$(" "+str$(z),3)". "left$(q$+" ",21);right$(" "+str$(q4),4)"g "str$(q3)"0% "q2$ listspl3 z=z+1:if (z>sc) or (key(1)) close:return goto listspl2 listitem if pq gosub ptr.pmt print #o,\"Items"\ dy$=dx$+"items" open #1,dy$:x=1 listitm2 position #1,30,x input #1,cb$\it$\it setint(1) if cb$="*" goto listitm3 ty$=left$(it$,1):it$=left$(mid$(it$,3)+" ",20) print #o,right$(" "+str$(x),3)". "it$" Type: "ty$" "right$(" "+str$(it),3)"g" listitm3 x=x+1:if (x>ic) or (key(1)) close #1:return goto listitm2 listwep if pq gosub ptr.pmt print #o,\"Weapons"\ dy$=dx$+"weapons" open #1,dy$:x=1 listwep2 position #1,34,x input #1,cb$\w$\s,d,v setint(1) if cb$="*" goto listwep3 ty$=left$(w$,1):w$=left$(mid$(w$,3)+" ",18) print #o,right$(" "+str$(x),3)". "w$"Class: "ty$" "right$(" "+str$(v),4)"g Stability: "s"0% Damage: "d"0%" listwep3 x=x+1:if (x>wc) or (key(1)) close:return goto listwep2 listfood if pq gosub ptr.pmt print #o,\"Rations"\ dy$=dx$+"stores" open #1,dy$:x=1 listfd2 position #1,26,x input #1,cb$\gs$\gs setint(1) if cb$="*" goto listfd3 ty$=left$(gs$,1):gs$=left$(mid$(gs$,3)+" ",18) print #o,right$(" "+str$(x),3);". "; if ty$="F" print #o,"Food :";:else if ty$="D" print #o,"Drink :";:else print #o,"Cursed :"; print #o,gs$;right$(" "+str$(gs),3)" gold" listfd3 x=x+1:if (x>cg) or (key(1)) close:return goto listfd2 listplyr if pq gosub ptr.pmt print #o,\"Players:"\ dy$=dx$+"spur.users":open #1,dy$:x=1 dw$="b:users":open #2,dw$ lstplyr2 position #1,130,x input #1,n$,b1,b2,p1$\f\g1,g2,g3,g4\s1,s2,s3 setint(1) if not b1 goto lstplyr3 position #2,64,b1:input #2,p1$,p2$ setint(1) gosub gold.cnv p1$=p1$+" "+p2$ print #o,right$(" "+str$(b1),4)" "left$(p1$+chr$(32,21),21); print #o," DR="right$(" "+str$(s1),3)" "; print #o,"SR="right$(" "+str$(s3),3); print #o,right$(" "+str$(b2),4)" "left$(n$+chr$(32,16),16); print #o," "a$" - gold" lstplyr3 x=x+1:if (x>np) or (key(1)) close:return goto lstplyr2 gold.cnv t1=g1+g3 t2=g2+g4 if t2>10000 then t2=t2-10000:t1=t1+1 b$=str$(t1):a$="0000":if t1=0 then a$=" ":b$=" " a$=right$(" "+b$,5)+right$(a$+str$(t2),4) return room.dsp input @2\"Rooms on which level "i$ if i$="" return x=val(i$):if (x<1) or (x>lc) print \lc" levels only":goto room.dsp i$=str$(x):dr$=dx$+"room.level"+i$:f1$=dx$+"d.level"+i$ listroom if pq gosub ptr.pmt open #1,f1$:input #1,ln$,nr,ri:close #1:if not nr print \"Level not defined.":return dy$=dm$+"mail":ready dy$ open #1,dr$:a=mark(1):close #1 if a print \"No rooms to read":return input @2\"Start at room # "i$:x=val(i$):if x<1 then x=1 if x>nr then x=nr ready dr$ listrm2 edit(0) input #msg(x),lo$,m,i,wp,fd,n,s,e,w,rc,rt,tp if lo$="" goto listrm3 copy #6,#8 setint(1) print #o,\md$\ print #o,"Room Number : "x print #o,"Contains : "; if m print #o,"Monster # "m" "; if i print #o,"Item # "i" "; if wp print #o,"Weapon # "wp" "; if fd print #o,"Ration # "fd" "; if (not m) and (not i) and (not wp) and (not fd) print #o,"Nothing"; print #o print #o,"Exits :"; if n print #o," North"; if s print #o," South"; if w print #o," West"; if e print #o," East"; print #o,\\"Room command : ";:if rc=1 print #o,"UP";:else if rc=2 print #o,"DOWN";:else if rc=3 print #o,"IN";:else if rc=4 print #o,"OUT";:else print #o,"NONE"; if (rc>0) and (rt>0) print #o," - to level #"tp" room #"rt:else if (rc>0) and (rt=0) print #o," - Shoppe":else print #o print #o,"Room Name : "lo$ print #o,\"Room Description :"\ copy #8,#o print #o,\ listrm3 x=x+1:if (x>nr) or (key(1)) return if lo$="" goto listrm2 if o=0 print \md$:input @2\"Q=Quit, C/R=Continue: "i$:if i$="Q" return goto listrm2 ptr.pmt o=0:if info(0) return q$="":input @0\"Send output to printer? "q$ if q$="Y" then o=5 return printer input \"Printer Prompts - [ON] or [OFF] -> "i$ if i$="ON" then pq=1 if i$="OFF" then pq=0 return sound if sd then sd=0:tone(133,50):print \"Sound is OFF":return tone(119,75):tone(99,75):tone(94,75):tone(99,75) sd=1:print \"Sound is ON":return time.set a=mv/60 print \"Current time limit: ";:if a print a" mins.":else print "Unlimited" set.tim1 input @2\"Enter time limit -> "i$ if i$="" goto set.tim2 e=val(i$):if (e<0) or (e>90) print \"Enter 0-90":goto set.tim1 mv=e*60 set.tim2 print \"Time limit: ";:if not mv print "Unlimited time":else print mv/60" mins" return display print \"BBS User Stats - Currently ";:if td print "[ON]":else print "[OFF]" input \"BBS User Stats - [ON] or [OFF] -> "i$ if i$="ON" then td=1 if i$="OFF" then td=0 text:home:if td print ^ print \"BBS User Stats - Currently ";:if td print "[ON]":else print "[OFF]" print \"SPUR Stats - Currently ";:if bd print "[ON]":else print "[OFF]" input \"SPUR Stats - [ON] or [OFF] -> "i$ if i$="ON" then bd=1 if i$="OFF" then bd=0 if bd gosub screen:else poke 35,24:home print \"SPUR Stats - Currently ";:if bd print "[ON]":else print "[OFF]" return list on nocar goto linkterm if xl$="listally" gosub listally:goto relink if xl$="listmons" gosub listmons:goto relink if xl$="listspel" gosub listspel:goto relink if xl$="listitem" gosub listitem:goto relink if xl$="listwep" gosub listwep:goto relink if xl$="listfood" gosub listfood:goto relink if xl$="listplyr" gosub listplyr:goto relink if xl$="room0" gosub room0:goto relink if xl$="levels" gosub levels0:goto relink room0 xl$="listroom":xn$="ROOMS":zz=flag:z1=edit(5)+3072:fill z1,255,0 rooms print \"Rooms on which" input @2\"Level #: "i$:if i$="" then flag=zz:return x=val(i$):if (x<1) or (x>lc) print \"Levels 1 to "lc" only.":goto rooms dr$=dx$+"room.level"+str$(x):f1$=dx$+"d.level"+str$(x):gosub rd.lvl:ready dr$:flag=z1:lx=x room2 print \"[ "xn$" ]" print \'[R]ebuild Flags [M]issing Definitions [D]efined Rooms [U]naccessible Rooms' input \"[L]ist [E]dit [#] [K]ill or [Q]uit: "i$ if i$="Q" then x=lx:gosub wr.lvl:flag=zz:return if i$="L" gosub listroom:i$="L" if i$="E" goto ed.room if i$="K" goto kil.room if i$="R" goto rm.rbld if i$="D" goto rm.defn if i$="M" goto rm.miss if i$="U" goto rm.unac x=val(i$):if x>0 goto ed.room1 goto room2 kil.room gosub rd.room print \"There are "nr" rooms on "mid$(f1$,5) input @2\"Kill room # (CR=Abort): "i$:if i$="" goto rooms x=val(i$):if (x<1) or (x>nr) goto kil.room input @0\"Are you sure? "i$:if i$<>"Y" goto kil.room n=0:s=0:e=0:w=0:m=0:i=0:wp=0:fd=0:rc=0:rt=0:lo$="":tp=0 edit(0) gosub wr.room goto room2 ed.room input @2\"Room number (CR=Abort): "i$:x=val(i$):if i$="" goto room2 ed.room1 if (x<1) or (x>nr) print \"Rooms 1 to "nr" only.":goto ed.room gosub rd.room if (x=1) and (lx=1) then rc=2:rt=0 ed.room2 print \"Room Number "x" of "nr" rooms in Level "lx print \"M:Monster # : "m print "I:Item # : "i print "P:Weapon # : "wp print "R:Ration # : "fd print "C:Room Cmd # : ";:if rc=1 print "UP";:else if rc=2 print "DOWN";:else if rc=3 print "IN";:else if rc=4 print "OUT"; if rc=5 print "TELEPORT";:else if rc=6 print "Entrance to Wizard's Lair";:else if rc=7 print "Entrance to Rest INN"; if rc=8 print "Entrance to Smithy's";:else if rc=9 print "Entrance to Healer's"; if (not rc) print "NONE"; if (rc>0) and (rc<6) and (rt>0) print " - to level #"tp" room #"rt:else if (rc>0) and (rt=0) and (rc<6) print " - Market":else print print \"N:North exit : ";:if n print "YES":else print "NO" print "S:South exit : ";:if s print "YES":else print "NO" print "E:East exit : ";:if e print "YES":else print "NO" print "W:West exit : ";:if w print "YES":else print "NO" print \"T:Room Title : "lo$ print \"D:Room Description: ";:if not edit(2) print "[ NONE ]":else print "[ WRITTEN ]" room.pmt input @2\"Which: (?=List) : "i$ if i$="?" goto ed.room2 if i$="M" gosub ed.r.mon if i$="I" gosub ed.r.itm if i$="P" gosub ed.r.wep if i$="R" gosub ed.r.rat if i$="C" gosub ed.r.cmd if i$="N" then n=not n:if n then c=(x<=ri)*nr+x-ri:gosub set.rmpt if i$="S" then s=not s:if s then a=nr-ri:c=x+ri-((x>a)*nr):gosub set.rmpt if i$="E" then e=not e:if e then b=x mod ri:c=x+1-((b=0)*ri):gosub set.rmpt if i$="W" then w=not w:if w then b=x mod ri:c=x+((b=1)*ri)-1:gosub set.rmpt if i$="D" print \"Edit room scenario, 1000 bytes max."\:gosub ed.room3 ed.name if i$="T" input \"You are in: "lo$:if len(lo$)>25 print \"Maximum 25 char length exceeded"\:goto ed.name if i$<>"" goto ed.room2 room.sav input \"[S]ave [R]eturn [A]bort: "i$ if i$="A" goto room2 if i$="R" goto ed.room2 if i$<>"S" goto room.sav if (not n) and (not s) and (not e) and (not w) and (not rc) print \"Exit MUST be defined from this room!":goto ed.room2 if lo$="" then lo$="ROOM # "+str$(x):print \"Room name = "lo$ gosub wr.room:goto room2 ed.room3 edit(1) if edit(2)>1000 print\"Room desc. too long, please shorten."\:goto ed.room3 if not edit(2) pop:goto ed.room2 return ed.r.mon input \"Monster #: "m if (m<0) or (m>mc) print \"Enter 0-"mc:goto ed.r.mon if m=0 print \"No monster waiting!" return ed.r.itm input \"Item #: "i if i=0 print \"No item in room!":return if (i<6) or (i>ic) print \"Enter 6-"ic:goto ed.r.itm return ed.r.wep input \"Weapon #: "wp if wp=0 print \"No weapon here!":return if (wp<11) or (wp>wc) print \"Enter 11-"wc:goto ed.r.wep return ed.r.rat input \"Ration #: "fd if (fd<0) or (fd>cg) print \"Enter 0-"cg:goto ed.r.rat if fd=0 print \"No rations in room!" return ed.r.cmd if (x=1) and (lx=1) then rc=2:print\"Room command CANNOT be edited!":return input \"Room Command # (?=List): "rc$:rc=val(rc$) if rc$="?" gosub cmd.list:goto ed.r.cmd if (rc<0) or (rc>9) print \"Enter 0-9 only!":goto ed.r.cmd if rc=0 print \"No room command!":rt=0:return if rc=1 print \"Ladder UP!" if rc=2 print \"Ladder DOWN!" if rc=3 print\"Entrance IN!" if rc=4 print\"Exit OUT!" if rc=5 print\"TELEPORT TRAP!" if rc=6 print\"Entrance to Wizard's Lair!":return if rc=7 print\"Entrance to Rest INN!":return if rc=8 print\"Entrance to Smithy's":return if rc=9 print\"Entrance to Healer's":return ed.rc2 if (lx=1) and (rc=1) then rt=x:tp=0:print\"Exit to WIN!":return input\" Connect to Level: "tp if (tp<1) or (tp>lc) goto ed.rc2 input" Connect to Room: "rt if (rt<1) or (rt>900) goto ed.rc2 return cmd.list print\' 1- Ladder UP 5- TELEPORT 2- Ladder DOWN 6- In to Wizard`s 3- Entrance IN 7- In to Rest INN 4- Exit OUT 8- In to Smithy`s 9- In to Healer`s' return rm.rbld print \"Rebuilding all room flags"\ fill z1,255,0 for x=1 to nr gosub rd.room if lo$="" goto rbld1 flag(x)=1 if n then c=(x<=ri)*nr+x-ri:gosub set.rmpt if s then a=nr-ri:c=x+ri-((x>a)*nr):gosub set.rmpt if e then b=x mod ri:c=x+1-((b=0)*ri):gosub set.rmpt if w then b=x mod ri:c=x+((b=1)*ri)-1:gosub set.rmpt rbld1 print right$(" "+str$(x),3);chr$(8,3); next print \\"Rebuild complete." gosub wr.lvl goto room2 rm.defn print \" The following rooms have been defined for level "lx":"\ for x=1 to nr if flag(x) print right$(" "+str$(x),4); next print \:goto room2 rm.miss print \"The following rooms can be accessed but have not been defined:"\ for x=1 to nr if (flag(nr+x)) and (not flag(x)) print right$(" "+str$(x),4); next print \:goto room2 rm.unac print \" The following rooms have been defined but can never be accessed:"\ for x=1 to nr if (flag(x)) and (not flag(nr+x)) print right$(" "+str$(x),4); next print \:goto room2 set.rmpt flag(nr+c)=1:return rd.room edit(0) input #msg(x),lo$,m,i,wp,fd,n,s,e,w,rc,rt,tp copy #6,#8 return wr.room a=msg(x):kill #msg(x) print #msg(x),lo$,m,i,wp,fd,n,s,e,w,rc,rt,tp copy #8,#6 msg(x)=a:update flag(x)=1 return levels0 zz=flag:z1=edit(5)+3072:flag=z1:fill z1,255,0 levels print \'[ LEVELS ] [C]reate [E]dit [A]dd [K]ill [Q]uit: ';:input i$ if i$="C" goto cr.lvl if i$="K" goto kl.lvl if i$="A" goto ad.lvl if i$="Q" then flag=zz:return if i$<>"E" goto levels ed.lvl input \"Level #: "i$:x=val(i$) f1$=dx$+"d.level"+i$:gosub rd.lvl if ln$="" goto ed.lvl3 ed.lvl2 print \"Level "x" with "nr" rooms" print \"[1] Level Name: "ln$ print "[2] Room Incr.: "ri\ input @2\"Which (1-2,CR): "i$ if i$="1" input \"Level Name: "ln$ if i$="2" gosub ed.lvl4 if i$<>"" goto ed.lvl2 input \"[S]ave [A]bort [R]eturn: "i$ if i$="A" then goto levels if i$="R" goto ed.lvl2 if i$<>"S" then goto ed.lvl2 nr=ri*ri:gosub wr.lvl goto levels ed.lvl3 input @0 \"No data file, Create? "i$ if i$<>"Y" goto levels goto cr.lvl ed.lvl4 input @2\"Room Increment (2-30): "i$:if i$="" return i=val(i$) if (i<2) or (i>30) print \"Illegal dimension":goto ed.lvl4 print \"This will create a "i"x"i" level with "(i*i)" rooms." print ' You MUST alter existing rooms and define new rooms to accomodate this new grid!' input @0\"Is this OK? "i$:if i$<>"Y" return ri=i:return kl.lvl input @2\"Level # (CR=Abort): "i$:if i$="" goto levels ln=val(i$):if (ln<1) or (ln>lc) goto kl.lvl f1$=dx$+"d.level"+str$(ln):gosub rd.lvl dr$=dx$+"room.level"+str$(ln) print \"Remove "ln$\"With "nr" rooms? "; input @0 i$:if i$<>"Y" goto levels f$=dm$+"mail":ready f$:kill dr$:kill f1$:print \"Level Killed" if ln<>lc goto kl.lvl2 lc=lc-1 print \"You MUST now remove access from this Level in Level"lc goto rooms kl.lvl2 for i=(ln+1) to lc f1$=dx$+"room.level"+str$(i):f2$=dx$+"d.level"+str$(i) f3$=dx$+"room.level"+str$(i-1):f4$=dx$+"d.level"+str$(i-1) dy$="b:xdos" use dy$,"R "+f1$+","+f3$ use dy$,"R "+f2$+","+f4$:next print \"Levels Adjusted.":lc=lc-1 goto levels ad.lvl input @0\"Add a predefined level? "i$ if i$<>"Y" goto levels input \"File name of new Level? "f0$:f0$=dx$+f0$ open #1,f0$:if mark(1) print \"File not on "dx$" drive.":close:goto ad.lvl close:input \"ROOM file name of new level? "f2$:f2$=dx$+f2$ open #1,f2$:if mark(1) print \"File not on "dx$" drive.":close:goto ad.lvl close:f$=dx$+"room.level"+str$(lc+1):f1$=dx$+"d.level"+str$(lc+1) print \"Adding new Level #"lc+1 dy$="b:xdos" use dy$,"R "+f0$+","+f1$ use dy$,"R "+f2$+","+f$ print \"Checking Monsters, Items, Weapons and Rations....." for x=1 to nr:z=0:gosub rd.room if m>mc then zz$=rnd$:m=random(mc):z=1 if i>ic then zz$=rnd$:i=random(ic):z=1 if w>wc then zz$=rnd$:w=random(wc):z=1 if fd>cg then zz$=rnd$:fd=random(cg):z=1 if z gosub wr.room next:print \"Level Added!":lc=lc+1:goto levels cr.lvl print \"Level Number: "lc+1:ln=lc+1 f1$=dx$+"d.level"+str$(ln):gosub rd.lvl if ln$<>"" print \"Level exists!":goto levels input \"Level Name: "ln$ cr.lvl2 input \"Room Increment (2-30): "i$:ri=val(i$) if (ri<2) or (ri>30) print \"Illegal dimension":goto cr.lvl2 print \"This will create a "ri"x"ri" level with "(ri*ri)" rooms." input @0\"Is this OK? "i$:if i$<>"Y" goto levels nr=ri*ri dr$=dx$+"room.level"+str$(ln):create dr$ open #1,dr$:gosub bld.mgfl ready dr$:msg(0)=nr:update f1$=dx$+"d.level"+str$(ln):create f1$:fill z1,255,0 gosub wr.lvl:lc=lc+1:goto levels rd.lvl open #1,f1$ input #1,ln$,nr,ri read #1,z1,255 close #1:return wr.lvl open #1,f1$ print #1,ln$,nr,ri write #1,z1,255 close #1:return bld.mgfl ed=edit(5):fill ed,255,0:poke ed,8:poke ed+1,32 write #1,ed,2:fill ed,255,0:for x=1 to 20:write #1,ed,255:next write #1,ed,26:close:return screen poke 35,20 a$=a1$+" "+a2$ l=len(a$)+12:a=peek(33)-l:a=a/2:l=peek(33)-l:l=l-a print #3 @1,22 chr$(45,a)"[ #"right$(" "+str$(un),4)"-"a$" ]-"chr$(45,l):print #3 @1,1 print #3 @1,23 "LV: RM: |PS: PC: PW: " print #3 @1,24 "MV: EP: |PE: PD: PI: "; if peek(33)=40 goto scn.dsp print #3 @41,23 "|RT: IT: WP: AR: SH: KL:" print #3 @41,24 "|XL: TI: GH: DR: SR:"; scn.dsp print #3 @4,23 right$(" "+str$(cl),4) print #3 @13,23 right$(" "+str$(cr),4) print #3 @21,23 right$(" "+str$(ps),3) print #3 @29,23 right$(" "+str$(pt),3) print #3 @37,23 right$(" "+str$(pw),3) print #3 @4,24 right$(" "+str$(mm),4); print #3 @13,24 right$(" "+str$(ep),4); print #3 @21,24 right$(" "+str$(pe),3); print #3 @29,24 right$(" "+str$(pd),3); print #3 @37,24 right$(" "+str$(pi),3); print #3 @1,20 if peek(33)=40 goto scn.rtn print #3 @45,23 right$(" "+str$(xf),2) print #3 @51,23 right$(" "+str$(xi),2) print #3 @57,23 right$(" "+str$(xw),2) print #3 @63,23 right$(" "+str$(ar),3) print #3 @70,23 right$(" "+str$(sh),3) print #3 @77,23 right$(" "+str$(mk),3) print #3 @45,24 right$(" "+str$(xp),2); print #3 @51,24 right$(" "+str$((ev-ex)/60),2); g1=gh:g2=gl:gosub prt.gold:print #3 @57,24 gd$; print #3 @70,24 right$(" "+str$(df),3); print #3 @77,24 right$(" "+str$(sr),3); scn.rtn print #3 @1,20 return prt.gold a$=str$(g1):gd$="0000":if g1=0 then gd$=" ":a$=" " gd$=right$(" "+a$,5)+right$(gd$+str$(g2),4) return relink dw$=ds$+"spur.sysop":link dw$,"relink" quit pop:dy$=ds$+"spur.sysop" link dy$ linkterm dy$=dz$+"spur.logon":link dy$,"quit3"