ZXTape! 0Created with Ramsoft MakeTZXsforthv48 Y[ -5,8;"****************" )8;"*SPECTRUM FORTH*" B8;"****************"''"V2.0  March 83 M Hampson" 11 ,8;"From CP Software 17 Orchard Lane, Prestwood, Gt.Missenden, Bucks."''"Please wait still loading" (+"":"":'"You are now in Command Mode." 2236099\,128 <.23728\,236:23729\,115s Fn$="" P236077\,204 da$="***>":1000 ia$="cp":100d n\4000-2000*(a$="s")-1000*(a$=":")+2000*(a$="d")+3000 *(a$="f") /n$="".4L,10 :(a$);n$:n$=n$+" " a$="":x=0 8n$(1)=""""n$(1)="("n$(1)=")"x=x 'n$(1)=" "xn$=n$(2): 0a$=a$+n$(1):n$=n$(2):1020 a$="File Name:":1000 ڊ" Copying of this program is illegal except for storage of the purchacer's own FORTH words exclusively for his own use." Ya$1:"dict&chrs"52224,d-52224:"routines"29696t,r-29696t \"Please play back to verify.":"":"":"":23692\,255:'"Tape OK.":100d ):": "; a$="Name Word:":1000 !a$;27;r'':a$=a$+" " ,z=16:23263Z+z,a$(z):z z=31361z @z0'"Word already used.":n$="":200:3000 *z=16:d+z-1,a$(z):z &d+6,r-256*(r/256) d+7,(r/256) d=d+8 5000   100d "Compiling - please wait." rr=r  5010 r=rr "" -23684\,224:23685\,80P r ܍23692\,255:21,0''''"Stack:";(29676s-23728\-256*23729\)/2;13 ;"---OK":100d 'a$="Continue definition:":1000 a$="":5000 )a$=";"";":r,201:r=r+1: a$"mc"5040  '"mc "; a$="mc byte:":1000 Ra$-1((a$+1000))(2);" ";:r,a$:r=r+1:5032 "end":5000 a$<25050  a$(2)"."""5050 @a$;" ";:r,205:r+1,164:r+2,119w z=3̱a$:r+z,a$(z):z r=r+a$+1:5000 P((a$(1)="-"Ʊa$>1)(a$(1)"0"a$(1)"9"))5060 ?a$;" ";:r,205:r+1,11 :r+2,116t `z=a$:r+3,z-256*(z/256):r+4,(z/256):r=r+5:5000 Ăa$="IF"a$;" ";:r,205:r+1,9 :r+2,119w:r+3,40(:if=r+4:r=r+5:5000 Za$="ELSE"a$;" ";:r,24:else=r+1:r=r+2:if,r-if-1:5000 5a$="THEN"a$;" ";:else,r-else-1:5000 *a$="BEGIN"a$;" ";:begin=r:5000 a$="UNTIL"a$;" ";:r,205:r+1,9 :r+2,119w:r+3,40(:r+4,begin-r+251:r=r+5:5000 a$="WHILE"a$;" ";:r,205:r+1,9 :r+2,119w:r+3,40(:while=r+4:r=r+5:5000 oa$="REPEAT"a$;" ";:r,24:r+1,begin-r+254:r=r+2:while,r-while-1:5000  "a$(1)="("a$':5000 |a$;" ";:a$=a$+" " ,z=16:23263Z+z,a$(z):z z=31361z 9z=0'"Typing error.Continue.":n$="":5000 Vr,205:r+1,(z+6):r+2,(z+7):r=r+3:5000 p zla$="Give UDG number:":1000:C=A$:" Redefinition of character ";a$ z=07 ?a$=" ........ Line "+z+":":1000 9x=18:5+z,x+10 ;ݰa$(x);"+":x #C*8+52224+z,(""+a$) z /14,9 ;"Character ";C::100d Xforget words b)a$="Forget ":1000:a$=a$+" " l,z=16:23263Z+z,a$(z):z vz=31361z 1z=0'"Word not found.":n$="":100d ,d=z:r=(d+6)+256*(d+7) "":"Forgotten:";a$  100d dr} }|ls|egi|hil{Cbc!nA sforthv48Ndict&chrs ۀI $$$~$$~$>(> >bd&F(*D:  >>> < >>A]U_@?>BB<DHpHDB@@@@@~BfZBBBBbRJFB>BB<DHpHDB@@@@@~BfZBBBBbRJFB -vDROP AvDUP IvOVER SvPICK _vSWAP qvROT |vROLL v>R vR> vR@ vI vMOD vNEGATEvABS vNOT wflgtst wDO wLOOP "w+LOOP 7wLEAVE WwEXIT ^wEXITLP`wWAIT ewMAX vwMIN wprstrgwSPACESwCLS wAT wATTR xFLASH xBRIGHT(xPAPER ;xINK QxBORDERbxHIRES qxPLOT xUNPLOTxPOINT xOVRPLTx@ yC@ ,y! 8yC! DyP@ NyP! [yFILL fyERASE xyDELETEyCMOVE yMOVE yTYPE yCDUMP yDUMP yC? z? #z' *zINKEY 9zKEY MzRND tzwrdschzA zB zC {D {E {F {G {H !{J '{K -{L 3{M 9{N ?{O E{P K{Q Q{R W{S ]{T c{U i{V o{W u{X {{Y {Z {+! {/MOD {QUERY {WORD {>IN $|?DUP *|ABORT @|COUNT _|DEPTH t|EXECUT|EXPECT|FIND |PAD |QUIT |INVERS|BEEP }VLIST %}~routines tۀ+ *\s\^#V#tt!\4#~w_g6P+6@! @   !P 6# !Z 68#tt)))K6\T( [\>(ttt|(!-yt|/g}/o# R| yZR| ZR| ;(#R| /'R|(yt/R|(yt!,yt/dR|(yt/ R|(yt0 yt!\>wt!\>wtt ttBttyH!90)ttz(z/W{/_7x(x/Gy/O?x!jR0?G0x/Gy/OttxGyOttxGyOttxGyOttB ttB(vttB" # twt"w!@6# 68# !@"\tt!\{w#{@wt)))))X txt˾ txt˶ txt{_~dzwtxt~wtttt===}Do;;;twty/!\wy/Otqxt>Ɓ!xw*\tqxt>!xw*\tqxt>F!xw*\F(tqxt>F! yw*\>(>!yw*\ttN#FttNttq#pttqtth&ttitt}w# t tfy t fyttt!tSv\uqvwv,ypt"wSv\uqvwvIv͝t,yFu͝tewQu"w ttuSv\uqvwvIv͝t yFu͝tewQu t7w,y͝t y͝t#N#F#ttt:\o:\1)(a$(1)"0"a$(1)"9"))5060 ?a$;" ";:r,205:r+1,11 :r+2,116t `z=a$:r+3,z-256*(z/256):r+4,(z/256):r=r+5:5000 Ăa$="IF"a$;" ";:r,205:r+1,9 :r+2,119w:r+3,40(:if=r+4:r=r+5:5000 Za$="ELSE"a$;" ";:r,24:else=r+1:r=r+2:if,r-if-1:5000 5a$="THEN"a$;" ";:else,r-else-1:5000 *a$="BEGIN"a$;" ";:begin=r:5000 a$="UNTIL"a$;" ";:r,205:r+1,9 :r+2,119w:r+3,40(:r+4,begin-r+251:r=r+5:5000 a$="WHILE"a$;" ";:r,205:r+1,9 :r+2,119w:r+3,40(:while=r+4:r=r+5:5000 oa$="REPEAT"a$;" ";:r,24:r+1,begin-r+254:r=r+2:while,r-while-1:5000  "a$(1)="("a$':5000 |a$;" ";:a$=a$+" " !z=54272d-88 9x=05:a$(x+1)=(z+x)x:5540 1z:'"Typing error.Continue.":n$="":5000 Vr,205:r+1,(z+6):r+2,(z+7):r=r+3:5000 p zla$="Give UDG number:":1000:C=A$:" Redefinition of character ";a$ z=07 ?a$=" ........ Line "+z+":":1000 9x=18:5+z,x+10 ;ݰa$(x);"+":x #C*8+52224+z,(""+a$) z /14,9 ;"Character ";C::100d dr~~!{ls({egi~hil}Cbc$AGAMENvdict&chrs `z $$T*T*T*bd&F(*D:  >>> < >>A]U_@?>BB<DHpHDB@@@@@~BfZBBBBbRJFB>BB<DHpHDB@@@@@~BfZBBBBbRJFB -vDROP AvDUP IvOVER SvPICK _vSWAP qvROT |vROLL v>R vR> vR@ vI vMOD vNEGATEvABS vNOT wflgtst wDO wLOOP "w+LOOP 7wLEAVE WwEXIT ^wEXITLP`wWAIT ewMAX vwMIN wprstrgwSPACESwCLS wAT wATTR xFLASH xBRIGHT(xPAPER ;xINK QxBORDERbxHIRES qxPLOT xUNPLOTxPOINT xOVRPLTx@ yC@ ,y! 8yC! DyP@ NyP! [yFILL fyERASE xyDELETEyCMOVE yMOVE yTYPE yCDUMP yDUMP yC? z? #z' *zINKEY 9zKEY MzRND tzSCREENzTURN9 {INP3 |RAND |SKILL "}FINI? }GAME ~VLIST ~routines t`!  *\s\^#V#tt!\4#~w_g6P+6@! @   !P 6# !Z 68#tt)))K6\T( [\>(ttt|(!-yt|/g}/o# R| yZR| ZR| ;(#R| /'R|(yt/R|(yt!,yt/dR|(yt/ R|(yt0 yt!\>wt!\>wtt ttBttyH!90)ttz(z/W{/_7x(x/Gy/O?x!jR0?G0x/Gy/OttxGyOttxGyOttxGyOttB ttB(vttB" # twt"w!@6# 68# !@"\tt!\{w#{@wt)))))X txt˾ txt˶ txt{_~dzwtxt~wtttt===}Do;;;twty/!\wy/Otqxt>Ɓ!xw*\tqxt>!xw*\tqxt>F!xw*\F(tqxt>F! yw*\>(>!yw*\ttN#FttNttq#pttqtth&ttitt}w# t tfy t fyttt!tSv\uqvwv,ypt"wSv\uqvwvIv͝t,yFu͝tewQu"w ttuSv\uqvwvIv͝t yFu͝tewQu t7w,y͝t y͝t#N#F#ttt:\o:\1)(a$(1)"0"a$(1)"9"))5060 ?a$;" ";:r,205:r+1,11 :r+2,116t `z=a$:r+3,z-256*(z/256):r+4,(z/256):r=r+5:5000 Ăa$="IF"a$;" ";:r,205:r+1,9 :r+2,119w:r+3,40(:if=r+4:r=r+5:5000 Za$="ELSE"a$;" ";:r,24:else=r+1:r=r+2:if,r-if-1:5000 5a$="THEN"a$;" ";:else,r-else-1:5000 *a$="BEGIN"a$;" ";:begin=r:5000 a$="UNTIL"a$;" ";:r,205:r+1,9 :r+2,119w:r+3,40(:r+4,begin-r+251:r=r+5:5000 a$="WHILE"a$;" ";:r,205:r+1,9 :r+2,119w:r+3,40(:while=r+4:r=r+5:5000 oa$="REPEAT"a$;" ";:r,24:r+1,begin-r+254:r=r+2:while,r-while-1:5000  "a$(1)="("a$':5000 |a$;" ";:a$=a$+" " !z=28160nd-88 9x=05:a$(x+1)=(z+x)x:5540 1z:'"Typing error.Continue.":n$="":5000 Vr,205:r+1,(z+6):r+2,(z+7):r=r+3:5000 p z~" ABCDEFGHIJKLMNOPQRSTU " #a$="Name UDG:":1000:c$=a$ z=07 ?a$=" ........ Line "+z+":":1000 8x=18:5+z,x+10 ;ݰa$(x);c$:x c$+z,(""+a$) 0,0;" ABCDEFGHIJKLMNOPQRSTU " z  :100d dppr{hphp{wlswegitzhilkwCbA sforthv16N$$dict'ry pn~rSTKSWPtnumber tSPACE tEMIT pt. tFIELD FuCR Qu+ \u- gu* tu/ uAND uOR uXOR u= v< v> -vDROP AvDUP IvOVER SvPICK _vSWAP qvROT |vROLL v>R vR> vR@ vI vMOD vNEGATEvABS vNOT wflgtst wDO wLOOP "w+LOOP 7wLEAVE WwEXIT ^wEXITLP`wWAIT ewMAX vwMIN wprstrgwSPACESwCLS wAT wATTR xFLASH xBRIGHT(xPAPER ;xINK QxBORDERbxHIRES qxPLOT xUNPLOTxPOINT xOVRPLTx@ yC@ ,y! 8yC! DyP@ NyP! [yFILL fyERASE xyDELETEyCMOVE yMOVE yTYPE yCDUMP yDUMP yC? z? #z' *zINKEY 9zKEY MzRND tzVLIST z6routines t*\s\^#V#tt!\4#~w_g6P+6@! @   !P 6# !Z 68#tt)))K6\T(> [\>(ttt|(!-yt|/g}/o# R| yZR| ZR| ;(#R| /'R|(yt/R|(yt!,yt/dR|(yt/ R|(yt0 yt!\>wt!\>wtt ttBttyH!90)ttz(z/W{/_7x(x/Gy/O?x!jR0?G0x/Gy/OttxGyOttxGyOttxGyOttB ttB(vttB" # twt"w!@6# 68# !@"\tt!\{w#{@wt)))))X txt˾ txt˶ txt{_~dzwtxt~wtttt===}Do;;;twty/!\wy/Otqxt>Ɓ!xw*\tqxt>!xw*\tqxt>F!xw*\F(tqxt>F! yw*\>(>!yw*\ttN#FttNttq#pttqtth&ttitt}w# t tfy t fyttt!tSv\uqvwv,ypt"wSv\uqvwvIv͝t,yFu͝tewQu"w ttuSv\uqvwvIv͝t yFu͝tewQu t7w,y͝t y͝t#N#F#ttt:\o:\>BB<DHpHDB@@@@@~BfZ'BBbRJFB