{block 0} <0b>noc gw <0d>t nnnon <01> o t9s <02>1073799170 <0b> y8 <12>0 fs r psrt t r <0b>dea?p <09> <07> e rmnaddeacz <0f> ?@ qus <0f> ?@ qhs <18>fdda7815 <07>r usrr <0a>drynn; <06>-60373925 <0b>m5wr4@eafnd <06>-12090277stws <0e>wt z8nn:s s <05>-661782528 <0f>oern r ; 4 <02>-1342175232m5mrvwyetof l <03>04oted <06>52896551 <04>*og ttn -ta4 <08>1711 e98e <03>ok @d <04>eeeeeee <15>a5f33e80 <0e> ykemnkrr!d <03> s <09>emi7c8 <04>oo y8 <0f>o 4aisar <08>1639ti a?ac <02>-385875968 <0a> rs <01>iik jdk <0f> e <09> abixd <07> tft + <02>-1061617664 <0a>9 tici <0e> orkis@ws <03>!a1yn <03>8:wn@wo8ns <0d>vsrats <01>ramltnd <05>-1957297528 <12>379ffff <0c>gy538 <04>-488511762frs37 <08>35283! <0f>ki??8 <01>???@ <09>-inixd <01>v8 mi <08>-233 <0f>v,a-8 <01>inmlotd <0c>me 0y8 <04>-222665023 <03>8:wi <0d>bfnv0 <05>-1341939200 <03>k r4e <0e>???: <06>19934779fttin 8 <04>?bol <0f> 4e?, <05>-4790077 <0f>-as?@ <08>-1089 <0f> wtu; <08>-327870 <0f>-ini?d <01>iaeyaad <04>yo0v@ <0f>fr??@ <05>-1184432129etkte <0f>gy??; <0e>eyv-i <15>0gege <04>eeeeeee <02>-59339520 <09>weu ns <12>7510a8e1 <05>-389808129???, <07> eikag <01>k rio8 <09>???; <0f>ststfg <06>36864p!o d <0f>an??, <0b>dseins <06>-60866537 <0f>a/??8 <0b>fo09; <0f>ki??8 <0c>???9 <04>61935536 <08>-2321 <0f>?a?lis <0f>v3i?8 <0b>mffjt <04> sleq! <0e>gw??; <03>,ofmw <09>ga0 ns <0e>gw??; <03>,ofmw <09>s6s 0 <0c>k s <04>119 <07> ip t8 of abs id <06>0 <18>95 em,skies <01>c e <05>1052447 <08>271 y?k rm06ns <09>zias <0d>mo@ins <06>-37418320 <02>79725344 <0f>mnfosis twreneggis <03>0mx3 <09> tmt <18>4ee6a5sn rr8 <08>8669223 <03> tqaknr3e <01> <03>wsrno; <02>109706358 <03>qien rs <0f>ki??8 <04> rv <0f> twsaidrg0 <0c>e r <04>1287581163 <04>vs y8 <0b> id nd 4es il <0b> ip nd 4es <04> il <0b> igson 4es <08>61 <03>g rft; <07>mt <0d> igslsontd <07>mt <0d> ipl rftd <07>mt <0d> idfsrird <07>vs <0b> id ndmgad <0c> ipeny <04>250281984 <0b> ip ndmgad <0c> ywtoed <04>-218300416 <0f>vg?js <0f>tey rwd oie <0d>kig.0 <0c>???* <04>-5423243 <04>rejenc abs <0c> ic <04>1416 <0d>mo@ins <06>-35117992 <0c>???? <04>-386867069 <04>???+ <15>14e48d24o4es <04> tge <01>mtrr7d {block 1} <0d> tge n ws <0a> abs <08>59 <07> en <07> indt8 awl abs ii <01> an <07> iie ad airt*dk <01> r0s <09> t a/ns fod <07>vs <08>-89 <0f>d np, <07>?s <05>-1928557312 <08>62 <0b>5ie bs <0f>mi??@ <0d> ipp t?d <07>ml <0c> ydml <04>344653824 <0d>???cd <0f>;irer@ <09>ramnto <0c> il <04>184848777corl <04> f <01>mt a2d <15>b8258900 <07>bs <05>331008fsri6 <07>?s <0f>ie??, <06>-39768072 <07>vs <0b> igsanramt <18>3d <06>-169962 <05>361480960 <0c> il <04>-1206568630 <07>ia <0c>gl. <04>361301877 <0c> il <04>-1407874109 <07>bs <02>71485065 <06>-44028904 <07> a <03>,ofmw <09>mw d0 <16>344fe3 <0b>jenses <09>vs <08>-1513 <0f> esom, <0b>ro <05>508933 eiyrt <08>-1913 <0f> esom, <0b>at <05>507909 eiyrt <07>ra?80 <0c> ic <04>-863173493 <07>.sysai,e <07>mn <04> wl.liysai,t <07>mn <04>??t! <0f>@n ?, <05>-1012072448 <07> iysri a 0eok <0f>mi??@ <15>bc158900 <07>mn <15>b8158900 <07>b <02>-1408924927 <07> a <03>ysai?s <07>mn <04>??t! <0f>8er?,,7weis <0f> s.?@ <0d>mlci,s <0c> rtd <04>-147480 <0f>mlrtt, <04> re8 <0f>? eets <0f>rami?; <0c> il <04>129504649 tb <08>3019807 <0b>etmosm <0c>gsantid <04>-1392508921 <03>ysai?s <07>mn <04>??t! <0f>8er?,,f/eis <0f> emi?; <0d> rtueb7igs <05>362496,ofml <09> emn 0 <0d>???cd <0f> a@n @ <03>ysrir; <07>m <05>109706358 <0b> wlrtei <03> ewosramn <0c> il <04>109773449 <0d>mleeat <16>ac4823 <0c> il <04>1130919ias <09> tfwof*n <03> <0b>ramigos <0c> il <04>956689027 <15>80087500 <0a> oiakrs <0e>bnrst; <02>502789tamosd <18>3d <0b> igsan0ras <08>-42993020 <03>w efti <07>ml <16>344fe3 <01> igcsramisd <0c> il <04>972771981 <15>80337500 <0a>t-gw n <0d>mo@ins <06>4056328wren <07>mn <02>-59339269 <09>mtrnks <15>fdb2e900 <0f> asi?; <0c> il <04>-768359434 <03>is bys <02>-54721289 <0f>;i??8 <0f>ia??, <02>-1915747494 <04> o asel <12>8e0c1e2 <07>gw9rnl <0b> wlatei <03>?s?re <04> iahgrzias <04> it <0e> od <05>1127 <0d> af <01> an <01> ai <0d> n <0b> nt <03> io <03> io <03> io at <03> io <03> io <03> io <0d> a <0e> t <0e> a <08>32897 <07> r rro <0f> ac <12>10111e <0e> t <07> n;dup?dupdropthenbeginswap0if-ifaa!2*a, {block 2} @!nip+orbinaryandu+?overpushpop-for*nextnext0next-nexti*endend+!nopalignor!**//mod/mod2/timep@p!hd <01> astbootwarmpausemacroforthcstopreadwritenccommanseekreadyactshowloadhere?lit3,2,1,,lessjumpacceptpaderasecopymarkemptemitdigit2emit.h.h.ncrspacedowneditelmrmgraphtextkeybodebuat+atxyfovfifoboxlinecoloroctantsplastunpac@!+*/*/2/dupnegateminabsmaxv+writesreadsoadfsaveblockwhiteredgreenbluesilveblackscreen5*cflogoemptydumpiconsprintfilenorthcolorsblksw/cbuffesizesetcylsputget.comformat {block 3} {block 4} <0e> ns <15>4da <04> ed <12>6c5 r ml <0e> r md <02>1050902 <0a> r ce <0e> r cn <0d> r cd <0c> r c8 <04>1051013 r ys <0b> r le <0a> r ln <09> r ld <03> r l8 <09> r gt <08>32853 <07> r gl r g8 <04> r f <18>8058 <0c> r fe <04>1051451 <05>1051467 <15>100b7a <09> r w <0d> r wt <03> r we <03> r ws <0e> r v <0d> r vs <07> r ps <0c> r bs <04>1051792 <18>8065 <0b> r us <05>1051887 <0e> r qs <18>803a <0c> r in <04>1362 {block 5} r6s <05>724 <08>34 <02>822 <0c> ri <04>543 <0a> to <08>243 <08>19 <0e> te <09> ti <01> t; <01> or <01> ie <0b> nd <16>36 <07> ns ns <09> ni <0d> na <0d> ir <04> io <0f> tec <12>1dd6 <09> r7 <0c> oo <04>865 <02>9993 <02>10106 <15>2723 <16>10f <07> t r <0c> tri <04>11319 <0d> tvs ttr <07> ttr <0c> r! <04>8285 <09> ttl r8s <0e> ttr <0d> ttt <03> r-s <0e> r-s <0b> r! <09> t c <0b> t i <04> rzs <0e> tto <09> rk <04> rks <0b> tid <12>100d1a <06>32873 <0c> r 1 <04>1051959 <0e> r 1s <0d> r 2 r 2s <16>806a <0e> r 2s <0f> r 3 <09> r 3s <08>32876 <04> r 4s <06>32877 <18>806d <18>806d <0c> r 6s <04>1052141 <0c> r 7s <04>1052171 <0a> r 8s <09> r 9 <18>8071 <07> r j <04> r -s <0e> r k <0a> r ;s <04> r , <0e> r , <0d> r ,s <0c> r ? <04>1052667 <0a> r r <09> r r r <08>32897 <09> r r o <04> r r e <0f> r r e <0d> r r i <05>1052883 <15>101119 <01> r ms {block 6} {block 7} ne-i!d <0b>hea?w <01>gltos8 <07>d,tt2 <07>dry gd <03>ggi.i8 <03> qp ; <0f>- yse <0f>@ea?, <01>an gqd <0b>tge nf-n s <0a> r wtlwu <0e>tgerenlv3e <07>rjl ad tfl <03>inml <0c>lt 0y8 <04>709 <0f>r/ers; <09>ml <16>344fe3 <18>489f42inml <0c>lt 0y8 <04>718 <08>18471,ofml <09>beasns <09> m;8deac8 <05>3 <04> o; <03> o ef <0d>mo@ins <06>26048mw d <16>344fe3 <18>3cadinmw d <0c>w 0y8 <04>1945 <03>,ofmw <09>36 rl <01>vs <0d>mo@ins <06>1009088crsd rk!s +8 <07> ot <05>1711851713 <01>dstkn <08>-12189642 <03> wso e <05>1989001984 <0c>w 0y8 <04>16777215 <08>-289 <0f>r.ear@v3e <0a> qpdver+d <04>wrs*l <08>-67108736 <09> r.s,ofml <09>8! rl <0f>ta??,?s <0d> o <03> skgl <05>-512407296 <03>?kiln <0f>em i?; <0c>rdt ris <04>1988953521 <0c>k oee@ <04>-76 <04>reie sn <0d> eker0 <09>mwgwae <16>344fe3 <08>-769 <0f>;i er@ <03> r.tagw .l <03>oamngf r. <07>ls+rnl <0e>wt t n <03>aj,c@ <09>?;5id <0f>aeo4a@ <0e>mn t <0f>hvayn <09>hyo ti <01>??@o 4es r.s <09> s rcas?8eoo tict <0f>gs+ro8 <0e>ml e <0c>o0rwcn <04>7840 <03>s23on <04> r wos0fnnn oio8 <09>bdp; <02>-2035456317 <04> r wos8nm <03>mturai <07>aimtur <02>2048 <06>1358923 <08>-65536000 <07>iaec y <01>?!o @ <01>an <07>doagta frrldk rs <01>???/ <0b>r.e gsrmit {block 8} ar <08>-825 <0f>8nodid <07>ac <09>ag8iae <0f>soagics <05>369098752aianvs <12>3000b08donk <0f>mi??@ <15>18b900ktm <15>fc0c781ecfe <15>5405815e <0e> rgl f <03>?oeien <0f> ab?, <18>f2 <03> <07>rj8ri o!atks <01>k <09>???6 <0b>8keol <0b>hea,es <01> r.eagnu:s <0f>rjl a;gffs <03>?na!o <0f> ro7?d <03>is <05>-930414592 <0b>r.s 1ori8 <01> e rok nis <07> e ndgcss <0e>tc t <06>-36645904 e <0b>9nmrnt <01> r.ea kagr <03> ognu; <0a>iaecfid <04>v3nf@ <0d>mo@ins <06>-5766!e <0d>mw??; <16>344fe3 <18>fff807fd,-wes <0f>inmw?8 <0c>w 0y8 <04>12632256 <09>??n?d <0f>,ofmwd <09>?6 rlks e e???fd <0d>mo@ins <06>1472 <0f>lo1 ; <0d>mw??; <16>344fe3 <18>7f805,hwed <0f> ?@ o lel <09> gitgsml <0d> treto riiml <03>lewgtis <0c> tre <04>1989002157 <0c>wt 0y8 <04>11 <0d>treto4dry <03>v3ngis <0d>mo@ins <06>-36793960 <0e> r <07>vea@id <01>i?t8l <03>ramt <04> rjs <05>1962934272 <01>mw 0 <16>344fe3 <03>aelis d <0e>k s???ls <0d>mo@ins <06>2098624inml <0c>w 0y8 <04>768 <09>??fni <0f>asrft, <0e>ds r <01>ddprd <03>ae 4es <0e>mt t <0d> r-mnuvs <0d> rjf 15y <0c> rjs <04>227219832 <18>f2 <01>nnr 88 <0b>rjl 4ddd <0e>ae 4em <0e>vs r <03> rjpslis.l <0c> rjs <04>-1553546323 <04> rjs <0d>anlnul <0e>gl e <03> a rnnd <04> rjs <0d> a rnnl <16>f2 <0d>inmw k <0c>w 0y8 <04>67 <0b>slrral <12>45689da <04>rnof tn <09> eoe ti <03> uod; <08>71,3il <0f>/d?? ewttmgee <16>344fe3 <03>eimas d <04>a?etos <0d>ay??@ <09>v!6g <0f> ykeefpmamn <02>-1928236230 <16>344fe3 <0b>/dd; <04> ex!j!d <03>,3*rs <0f>o4a?, <18>123 <0d>mo@ins <06>19154184rrk <0c>b??? <04>1989637 o!as wrd <0e>o0 s <03>bs <05>1023576832 <03>?wik <0f>itki?d <0f>ki??8 <0d>???z <08>-2033 <0f>ae aso8 <0e> rmn f <0d> teivs uodd <09> of?f k <0f> ab?, <18>f2 <03> <06>45100603 <0e> o r?g/e <0f>bfn?@ <05>-1929229568 <0d> tro9s witt?es <0f> 7??8 <0a>re d s <02>303107849 <0b> a i 8 <03>rirn e <04>rct tls <0a>rd 4e <0d>r;disstcajrt <08>20013393 <02>421735207 <0a>rd 4e <0d>r;diss trtrc <0a>rd 4e <0d>r;diss trt <05>918544od <04>mnrt; <15>10048a00 <03>rtrrr d <03> e r <05>335544320 <15>a090800 <0b>rloto <0b> d s r <0d> ;iml srs <16>344fe3 <03>z!o d <0e>ji??l <04>ie rg d <15>3cef74f0 <0a>ma3ioo tolodea8d {block 9} <0c> tec <04>9372 <0c> tec <04>9864 a <09> tac <12>250b tnf <15>249c <0c> tec <04>9768 <0a> tnc t1 s <09> tac <12>250b <02>2958613 <0c> tec <04>9758 <07> tns <0f> ta0 <03> 8tc <05>9720 <0b> tni <05>9493 <0f> too <0c> teo <04>10 <01> tal ??d <05>948 <03> io <0d>bmn.0 <05>2369536o:zoe <03>mt e <0d> teisn?crk <0f> eoq?d <0f> trwrtramn <0c> tei <04>125969663 <03>ftlo t <07>odn!dfo.ior <04>ie ma <03>rsnm e <0b>kpfss <18>1265869 s-ttitkns <0e>;iajid <03> nortn0 <08>19290217masd <0d> texs edd <03>knrcn0 <0f>???, <0d>kienr0 <0f>???? <05>-888814080 <04>rd r <08>19290473veas <0d>mo@ins <06>25118232 <0c>lo??@ <04>9368 <0d>gfrmls <09>??3ad <0f>, -lis <0f> ab?, <18>124 <01> <07>temsri rinml <0c>bsnmo8 <04>6xsab <04>rd r <08>-3721 <0f>mnrt:; <15>8224ff00 <04>raiede <0d>mo@ins <06>-2228416 <0f>e ki?d <0f>???? <05>1021881600 <0e>.??? <0f>s wr; <04> l ebs <05>2379776is wrd <04>n; r <03>vs t <07>tes w r abs <0c> tei <04>9296 <07>teis wtos8sosd <15>6100ntoas <04>t; r <0f>tessaidt7as <0d>lr1gfs <0e> /??8 <0a> d 0 is f <01> e o t <05>497156105 <06>-11010047 <09> ?a3a <0f>tessaid ab <0d> tnrkn ry <0f>???fe <08>-5353 <0f>mnrt:; <15>8224ff00 <04>2wede <0a>ta*dt a+ <0d> tnr <0f>+stier <18>78b45e <0f>tes tfs0 rs <09>b3eal <05>2384896gf:3 <0f>tecsaidrm1 <0e>gw??; <07>teidt8tetso4ns <0f> too <0b> abm 8 <0c> tei <04>9216 <0d>toaio4k3e <0f>???wd <07>teidt8teodo4ns <0f> too <0b> abm 8 <0c> tei <04>9236 <0d>toaio4o4es <18>123 <09>??g-s <0f>idtd, <04>re t <08>-3353 <0f>c tw?8 <04>ks t <0b>???fs <18>d8d0c8 <0c>r;;iee <04>319103264 <0a> 8t s <0d>mo@ins <06>-66825592 <04> tn; <08>-14737 <0f>d83o8inmlro <0c>sn 0y8 <04>-1950150688mwno7l <0c> t sl <04>-743636992.jla8 <05>-655884288 <0f>ki??8 <05>-1376553655 <03> iwospie <0f>ia??, <09>iaeyale <15>e8ffffff <05>-386697911 <0b>???re <0d>.lrv0 <0e>s if @ <04> l e <15>1179d285 <07>inmwnws <0c>w 0y8 <04>35 <08>-15729 <0f> mio8veas <03>oe+kms <0d> tl;siadets/oxtee <0b>veamo8 <03>oe+kms <0d> tl;s?lg0 <0f>icci?8 <0d>knrea;???k <08>-15753 <0f>mw .wd <16>344fe3 <05>-10566925438ersed <07>8nmvs <18>1360863 <05>872931459 <08>20319768 <07> ndn s <03>tv?seinmw p <0c>?snmo8 <04> {block 10} <06>-48109112 <0a>ia t <05>87752704 <04> tge <04> nicre8 <09>tgas+v3e <09>tga ift4 s <04> rjs rn <0d>mo@ins <06>33555904cwl i <16>fdc7ffff o <06>45116507 <0e>nn r <0b>rj8oedr is <08>-17329 <0f>aet4 @ <0e> rvs rn <09>?*7od <0f> 4afn; <16>f2 <06>46164443 <0e>ie r <05>-1578565633 <18>ff4fffff <0f> c <08>-15049 <0f> cwl@ark <18>ff4fffff <0b> s <0d>mo@ins <06>-522816 <0f>ty0 ; <16>ff5fffff <0a>aet4 w <0e> r+s rn <04>??t! <0f>?@o?8 <0f>noia?@ <0f>f ifta <0a>k r <07>??,k <08>-1745 <0f>k3anws <0d>???os <08>-20657 <0f>,ofmwd <09> emn 0 <0d>???cd <0f>;i er@ <08>-2377 <0f>krs e; <06>-73 <0b>b! 9d <15>689fc76 <0b>,akrt <0f>si??@fylis8 <0e>ie??, <0b>krs et <02>-1545015061 <15>689fc76 <0b>,akrt <0f>si??@cr0;i <0e>ie??, <07>+a ie <0f>:ia?, <08>-18825 <0f>v3nf@ <0b>,akat <0f>d??? <0a>rt.sa; <08>-17193 <0f>?9ilis <0f>remi?; <0d> finmgrd <0c>w 0y8 <04>63488 <01>tgos+tiilonie <18>60005mna,f <04>??t!t <0f>*n ?, <05>48404mgrd <16>344fe3 <18>fffff805ys+ t <0a>il e <07>ie t <05>434634944 <15>689fc76 <0b>ta?8l <0c> tgt <04>-2538264 <0f>+kilis <0f>s6m?; <16>fc6fffff <16>344fe3 <01> tgnretgarendry <0b>tge if-8e <08>-43914168 <0a>+s t <04> wl ; aie <08>-4209 <0f>wlatt, <07>ysrir0 <0a>il e <07>+ r <02>714868167tiec9ers <0f>clao, <18>151 <0b>dea8is <0d> tme <0c> tmt <04>10643 <09> tsd <08>324 <02>10572 <12>2987 <02>10460 <0e> tm8 <18>14a <03> io <03> io <03> io <0a> <04> n <08>31 tir rs2 !rt yrt0 a!;eowoacs <0a> tii <12>2 <04> rt <02>4652 <0c> c8 <04>1843 <0f> t7 <04> ths <0b> tu <09> tf8 <0d> tf8 <01> tw <09> tv <0f> twl <0e> twd <02>11239 <15>2bb5 <01> twt <0a> td <03> io <0d> tw <09> tw <05>1843 <03> io <03> io <03> io <03> io <03> io <03> io <03> io <15>2d0d010f <0c> rr rn <04>722077987 toli ??d ?s d <0f> ?@ <0f> ??, <0f> ??, <0f> ??, <0f> sr r8 <0a>.srf <16>ff581d80 <12>eb09b00e <0a>.sgn <06>-10986112 <02>11128 <0b>e slrt <0b>bs t <05>2974464temrenggn <09>?,ogi <0f>is wrws <0b> d r <18>fff807fdc wrd <04>us t <0b>.s t <0c>,ofmwe <04>-1070397815 <0f>tey wdsyls <01>?s <0d> tges?snic <05>763609856 <04> tge <08>-29862968 <05>0 {block 11} asisd <04> tge <08>2891288 tge <02>-1606581309 <0a>re t <18>16c1853 tge <02>-1607105597 <0a> r t <03>vsrons <0d>lnnr3l tge <0d>,ofmfs <09>lret 0 <0a>bs t <05>2980352os wrs <04>ta t <07>tetdt8tvlnrk <0d>b??? <05>2824192is wrd <04>ts e <0b>bs t <05>-65536+grk <0f>re??, <05>-236212992 <18>fe3d6d6a <05>242688csrird <04>oo t <07>b <05>96927744 <0c> tet <04>9372 <07>tem w?s <0f>2ies ; <07>mi??@ <15>fa8100ia c8 <01>.er8d <08>2249816 <09>tey rfinml <0c>mn 0y8 <04>82477826 <09>si-iae <02>10932 <0b>tgn rf 0rs <18>124 <03>tgn rld8de???8 <04> 4asf8 <18>124 <0d>,ogeye <03>oamngf tgn <0b>mnyfie <0e>y il , <04>ds t <07> 1ast8 <08>341 <18>ff36083b <02>-272539908 <02>10916 <0b>tey rfmtyd <04> wleyal <15>ffffff94 <0a>tf; 4 vs <0d> f+caks <0f> a+i?d <18>15b <0a>gl yl <03>soltt; <02>-2130152196 <0a> ; <0c>dciia; <04>36963808tf;o4ie e <02>2392125 tie l <04> abm o <18>124 <01> <0b>inmfc; <0c>w 0y8 <04>1tf;o4ie e <02>2392125 tie l <04> ns9 o <07>tey w tieks <0f>ki??8 <03> t <0b>tgas+ 4as tgn <0b>-8ioh <02>10920 <01>:st-n <05>-1912602627 <16>344fe3 <01> tgaregsregs <0a>ie t <07>cactth <16>fd41ac5a <0a>ml s <04>??t2n <0f>o4a?, <04> tgn <0d>gi@gwd <09>ca:iae <0b>fs+roe <0a>a8 r <0d>mtffr0 <15>8cc28100mt <15>10ea8300 <09>teidgsnm0 <15>2b7415mwe d <04> o asel <12>e7ebd2 {block 12} <03>?iw@i <0f> i,i?d <18>7800f ; is ; is ; is ; is <03>d r8 <03>d r8 <0f>,r?;n <0f>d r? d <03>d r8 <03>d r8 <03>d r8 <03>d r8 <03>d r8 <03>d r8 <0f>?o?8t <0f>r?b@8 ?s ?s ?s ?s ?s ?s <18>fff3f8ff <0f>@ ?@8 <0f>?o?8t <0f> ?s?osr?s ?s <0f>,i?*8 ; is <18>fff3f807 <0f>@ ?@8 <0f>?o?8t <0f>r; i:d ; is <0f>?w?@d <18>7f807f?w;?d <0f>+m?*d <03>?iw@i <0f>r?-*8 <18>7f807f ?s ?s ?s ?s ?s ?s ?s ?s <03>d r8 <03>d r8d rs <03>d r8 <03>d r8 <03>d r8 <03>d r8 <03>d r8 <03>d r8 <0f>?o?8t <0f> t@i:d ; is <0f>?r?;8 ; is?o@i0 <0f>@ ?@8 <0c>i/;:l <04>-1 <03>s,rq@ i8 o; i8 o; i8 o; i8 o; <0f>?o?8t <0f> ?b@8 ; @ ; is r; is <18>fff3f87f <0f>@ ?@8 ?s i8 <18>1f3e0ff <0e>@ *;n <0f>8 o@ <07>s r@ <0f> o8 s <0c> @ os <04>14680304 s rs <07>s 8 <07>s ; <07>s ; <07>s ; <07>s ; <07>s ; <07>s ; <07>s ; <07>d o8 <03>8 ; <0f>+w?om <0f>r?b,8 ?s ?s ?s ?s <18>fffbf8ff <0f>?m?*d ; is?o@i4 <0f>@ ?@8 <01>@ r@ <07>s ;s <0f>;r?srs <0f>s ? o <07>s ; <07>s ; <07>s ; <07>s ; <07>s ; <07>s ; i8 r8 i8 o; <01>mqrm? <01>7o6oys <0b>,r?i d <0e>isoqst <0c>o vs <04>0 ; is ; is ; is <0f>?w?im <0f>r?b,8 ?s ?s ?s ?s ?s ?s <18>fffbf8ff <0f>/m?*d i8 o; -s ?s <18>e1c0f3 <0c>osos;n <04>1879996446 <0f>8 o@ <03>s os <03>?iw@i <0f>r?+*8 <0c> ?do, <04>267390960 <18>fff7f8ff <0f>@iw?is ; is ; is ; is ; is ; is ; is <07>?i?98 <0f>r?b*8 ?s ?s ?s ?s ?s ?s <18>fff7f8ff <0f>@io?w ; is ; is ; is <03>?iw@is <0f>r?-*8 <18>7f807f ?s ?s ?s ?s ?s ?s ?s ?sr?do, {block 13} <0c>iv;@8 <04>-267388897 <07>8 o; <0f>@ ?d <0e>o-9;n <18>7f80ff ?s ?s ?s ?s ?s ?s ?s ?s ?s ?s <18>fff3f8ff <0f>@ ?@8 <0f>/w,om <0f>o?b,8 ?sr?s ?s ?s <18>fffbf8ff <0f>/m?*d ; is ; is 8 is <0f>?o?8t <0f>r?b@8 ?s ?s ?s ?s ?s ?s ?s ?s ?s ?s ?s ?s <18>fff3f8ff <0f>@ ?@8 <01>8 r; <03>8 o; <07>8 t; <01>8 ; <01>8 ; <01>8 ; <01>8 ; <01>8 ; <01>8 ; <01>8 ; <0f>?o?8t <0f>r?s?os ; is ; is? @id <0f>@o?@8 <18>78007 ; is??dr8 <0f>???? <0f>?o?8t <0f>r?s?os ; is ; is? om; <07>? o? ; @ ; is?o@i, <0f>@ ?@8;is;is;is;is;is;is;is;is??,r8 <0f>????; is; is; is; is <0f>???? <0f> ;i?d ; is ; is@i@ od <0f>?i?*8 ; @ ; is?o@i, <0f>@ ?@8 <0f>?o?8t <0f> ?b@8 ; is ; is <18>ffc7f807 <0f>?i?*8 <18>7f80ff ?s ?s <18>fff3f8ff <0f>@ ?@8 <0f>???? <0f> i ?@r; isid r;; , <03>d o; <0f> r@ <0e> id rs <18>78007 d i <0f>?o?8t <0f>r?b@8 ?s ?s ?s ?s <18>fff3f8ff <0f>?o?;n <18>7f80ff ?s ?s <18>fff3f8ff <0f>@ ?@8 <0f>?o?8t <0f>r?b@8 ?s ?s ?s ?s <18>fffbf8ff <0f>/m?*d ; is ; is?o@i, <0f>@ ?@8is ;is ;isis ;is ;is ;is ;is ;is ; <0c>; ?8t <04>-1073221617?w; <0f>?i?,8 <0f> ?is ; is ; is ; is,isoqs <03>8i?:8 <0f> ?dod <0f>di@ od <0f>,iy;iso?s?@ o; i@ <06>30720 <0f>s o; r <0f> n <0f>???? <0f>r; i?d? r@ <03>8 i, <0f> ?e rs <18>fffff807 <0f>????r; iso8 @id o8; , <01>8 r@ <07>d o8 <0f> r@ <0f> o8 s <0c> id os <04>16253176 i <0f>d , <0f>d ? e <0f> is i <0f>d , <0f>d ? e <0f>s ; <03> is <0e> rd i <0f>d , <0f>d ? e <0f> is i <0f>d , <0f>d ? e <0f> is <01>d rd <03>8 o8 <07>8 o; <07>8 o; <03>d r8 <01>s o <01> s {block 14} <03>d r8 <03>d r8 <03>d r8 <03>d r8 <03>?o? <0f>?o?@8 <0f>d r?ys <03>d r8 <03>d r8 <0f>?o?8t <0f> ?s?os i8 o; <01>-;;, <03>-;@, <03>?ir?@ <03>@i ?w 8 i?o@o, <0f>@ ?@8o s <0c>; :8t <04>-1073225713 <03>; o; <0f>osoqs <0c> r <04>0 i <0f>d , <0f>d ? e <0f>d o8 <03> is <0e> rd <0f>?o?8t <0f> ?s?os i ii8 is <01>@ ?s <03>d r; <03> d <03>d r8 <03>d r8 <0f>,i?v8 <0f>?o?*8 <0f>?m?@d <0f>?si?s <03>?sr?s?s ?s?s ?s <01>?so?s <07>?s?@ <0f>?y?@e <0f>?i?@8 <0f>;i?:8 <0f>?i?98 <0f>???7 ?sr?s ?s ?s??b? <0f>?i?*8 <0f>di?98 <07>;iy8is <01>,is@iso?si/s ?sr?s <0f>???? <0f>???? <03>d r8 <03>d r8 <03>d r8 <03>d r8 <03>d r8 <03>d r8 <03>d r8 <03>d r8 <03>d r8 <0f>?o?8t <0f>???q <18>7f80ff ?s ?s ?s ?s ?s ?s ?s ?s ?s ?sr?do, <0f>?o??8 <0f>@ ?@8 <0f>???? <0f>???? ; is ; is8i@ od <0f>8i?sis <0f> ;i is ; is ; is <0f>???? <0f>???? <01>s o <03>d r8 <07>8 o; <07>; i; <0e>i -s <0e>@ *8t <0f>,r?8t <0f>rvb;n <18>7380f3 ?s ?s i8 o; <18>7fe07f <0c> ?;o, <04>268374014 <07> ?w ?s <07>m?om? <03>q@:? <01>/@io,/@ow@i?s?@o?si?sr?so?s <03>d r8 <03>d r8 <03>d r8 <03>d r8 <03>d r8 <03>d r8 <03>d r8 <03>d r8 <03>d r8 <03>d r8 <03>d r8 <0f>?o?8t <0f>???q <18>7801f ; is <18>ffc7f807 <0f>?o?@8 <0f>r; i@e ; isr, is <0f>?o??8 <0f>@ ?@8 i8 o;r?do, <18>1ffe0ff <0e>ii/o?d <07>-:@, <03>s,rb; i8 o; i8 o; i8 o; i8 o; i8 o; <0f>?o?8t <0f>???q <18>7f80ff ; is ; is ; is ; is ; isr?do, <0f>?o??8 <0f>@ ?@8 ?s i8r-do, <18>1e1e0f3 <0c>isobvs <04>-267390961 <07>d r; <03>d r8 <03>d r8 <03>d r8 <03>d r8 <03>d r8 ; is ; is ; is ; is ; is ; is ; is ; is ; is <0f>???? <0f>???? <0f>?o?8t <0f>???q <18>7f80ff ; is ; iso?s ;o?so?s ?s ?sr?do, <0f>?o??8 <0f>@ ?@8 <0f>???? <0f>???? ; is ; is8i@ od <0f>8i?sis <0f> ;i is ; is ; is ; is ; is i8 r8 i8 o; -s i8 -s -s -s -s <01>mqrmq <09>6r6i d <0f>,r?;n <0f>iso7st <0c>osos8t <04>404232216 {block 15} <0f>@i?sis <0f>?i?:8r?so/s ?s ?s ?s ?s ?s ?s ?s ?s ?s ?so/sr?s <0f>,i?*8 <0f>8i?98 i8 o; ?s ?sr?do, <18>f3c0ff <0c>o-8@8 <04>1010580540 <0e>isoqst <0f>; i@ <07>8 o; <03>d r8 <01>s o <0f>?i?98 <0f>???7 ?sr?s ?s ?s??b? <0f>?i?*8 <0f> ;ibd ; is ; is ; is ; is <0f>@i?sis <0f>?i?:8r?so/s ?s ?s?i@i, <0f>,i?:8 <0f>r?s?is ?s ?so/sr?s <0f>,i?*8 <0f>8i?98 ?s ?s ?s ?s ?s ?s ?s ?s??v? <0f>???? <0f> ?s?@ ?s ?s ?s ?s ?s ?s ?s ?s ?s i8 <18>f3c0ff <0c>iv;@8 <04>-132155362 <0f>8 o@ <07>8 o; <07>; i; <0f>iso7st <0e>o-9;n <18>ffc0f3 i8 i@ ?s ?s ?s ?s ?s ?s ?s ?s ?s ?s ?s ?s ?s ?s ?s ?sr?do, <0f>?o??8 <0f>@ ?@8 <0f>?o?8t <0f>???q <18>7f80ff ?s ?s ?s ?s ?s ?s ?s ?s/@oo,o?v?8 <0f>?o??8 <0f>*m?*d <0f>?o?8t <0f>?o?@8 i8 o; i8 o; i8 o; i8 o; i8 o; i8 o; i8 o; i8 o; <0f>?o?@8 <0f>@ ?@8 <01>s o <01>s o <01>s o <01>s o <01>s o <01>s o <01>s o <01>s o <01>s o <01>s o <01>s o <01>s o <0f>?o?8t <0f>?o?@8 i8 o; i i i i <0f>?o?@t <0f>@o?@8 8 i 8 i 8 i <0f>???? <0f>???? <0f>?o?8t <0f>?o?@8 i8 o; i i i i <07>? o?s <07>? o?s i i i i i8 o; <0f>?o?@8 <0f>@ ?@88i i i8i i i8i i i8i i i8i i i <0f>???? <0f>????8 i8 i8 i8 i8 i <0f>???? <0f>???? 8 i 8 i 8 i <0f>?i?98 <0f>?i?*8 i i i i i8 o; <0f>?o?@8 <0f>@ ?@8 <0f>?o?8t <0f>?o?@8 i8 o; 8 i 8 i <0f>?i?98 <0f>?i?*8 i8 o; i8 o; i8 o; <0f>?o?@8 <0f>@ ?@8 <0f>???? <0f>????r8 isod ;is ;8 @ <01>d r; <07>s ; <0f> r8 <0e> od s <18>3c003 8 is <0f>?o?8t <0f>?o?@8 i8 o; i8 o; i8 o; <0f>?o?@8 <0f>?o?@8 i8 o; i8 o; i8 o; <0f>?o?@8 <0f>@ ?@8 <0f>?o?8t <0f>?o?@8 i8 o; i8 o; i8 o; <0f>?w?*d <0f>?m?*d i i i i i8 o; <0f>?o?@8 <0f>@ ?@8 ; is ; is ; is ; is ; is ; is ; is ; isr?s ; <0f>?o??8 <0f>@ ?@8 <0f>???? <0f>????r?s ?si/so?s <01>;iy@is <07>sr?8is <0f> ? is <0c> , is <04>16711934 <0f>8iwsr8 <03>@im;iso?si/s ?sr?s {block 16} <01>d rd <03>8 o8 <07>d r; <03>s os <0f>???? <0f>????r; isi8 r@@ ? <03>8 o@ <0f>s o@ <0f> i8 rs <0c> @ is <04>-1 <0f>???? i o 8 osrd ;is i8 os <01>d ; <03>s ; <07> 8 <0e> rd s <18>3c001 8 os d i <01>s i <03>s i <01> ss t <03>s i <03>s o <01> is <06>0 <01>s i <03>s i <01> ss t <03>s i <03>s o <03>d r8 <03>d r8 <03>d r8 <03>d r8 <03>d r8 <03>d r8 <01>s o <01>s o <01>s o <01>s o <01>s o <01>s o <01>s o <01>s o <01>s o <0f>???? <0f>???? <01>s o <01>s o <01>s o <01>s o <01>s o <0f>?o?8t <0f>?o?@8 i8 o;-:d, <07>-:@, <06>54473535 <06>54473535 <07>?io?w <07> 8i-s i8 i <0f>?o?@8 <0f>@ ?@8 <01>s o <01>s o <01>s o <03>d r8 <0f>???? <0f>@ ?@8 <0f>8 o@ <07>; i; <0f>iso7 <0e>osom8t <18>4080c0s t <03>s i <03>s o <01> is <06>0 <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? <0f>; <0f>; rs <0f>; is <0f>;r@ <0f>di@ <0f> ?so <0f> , is <0f> ;r@ <0f> di@ <0f> ?s <0f> , <0f> ; <0f> ; <0f> , <0f> ?s <0f> di@ <0f> ;r@ <0f> , is <0f> ?so <0f>di@ <0f>;r@ <0f>; is <0f>; rs <0f>; s t 8 os 8 os ; is ; is 8 os 8 os s t <0f>;i?, <0f>;i?, <0f>;i?, <0f>;i?,8 osd iss o8 o; i8 , @ s ; rs 8 os d is s o8 o; i8 , <01> @ <03> ; <07>;i?, <0f>;i?, <0f>;i?, <0f>;i?,i;; s8 rsd oss r8 r; o8 id @ ; s 8 rs d os s r8 r; o8 id @ <01> ; <03> 8 <07> d <0f> s <0f> <0e> {block 17} s n d os d os d os s n s n d os d os d os s n s n ; 8 s n d os d os d os s n s n d os d os d os s n 8 os 8 os 8 os 8 os 8 os 8 os 8 os 8 os 8 os 8 os 8 os 8 os d rs d rs d rs d rs d rs d rs d rs d rs d rs d rs d rs d rs d rs d rs d rs d rs d rs d rs <0f>;i?, <0f>;i?, <0f>;i?, <0f>;i?, d rs d rs d rs d rs d rs d rs d rs d rs d rs d rs ??d <03>di?, <07>8i?, <07>8i?, <0f>; d <0f>; <0f>; <0f>;is ; <0f>;idid <0f>;idid <0f>;rdi <0f>;rdi <0f>;rdi <0f>;rhi <0f>8i@id <0f>8i@id <0f>sr? ; <0f> <0f> <0f>; d <07>8i?, <07>8i?, <03>di?, ??d s t s t s t d rs d rs d rs 8 os 8 os <0f>;i?, <0f>;i?, <03>di?, ??d ,r@ @ @ @ @ ,r@ ,r@ i-; o-8 r-d i8 od s n d os d os d os s n s n ; 8 <03>di?, <0f>@i?,t <0c>od rs <04>234881136 <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? <0f>???? 8 os <0c> s n <04>134744072 <08>4210752 {block 18} <09>colorforth <0a>jul31 <0a>chuck <0a>moore <0a>public <0a>domain <08>24 <01>load <08>26 <01>load <08>28 <01>load <08>30 <01>load <03>dump <06>32 <04>load <04>; <03>icons <06>34 <04>load <04>; <03>print <06>38 <04>load <04>; <03>file <06>44 <04>load <04>; <03>north <06>46 <04>load <04>; <03>colors <06>56 <04>load <04>; <01>mark <01>empty {block 19} {block 20} {block 21} {block 22} {block 23} {block 24} <01>macro <03>swap <16>168b <04>2, <15>c28b0689 <04>, <04>; <03>0 <07>?dup <16>c031 <04>2, <04>; <03>if <16>74 <04>2, <04>here <04>; <03>-if <16>79 <04>2, <04>here <04>; <03>a <07>?dup <16>c28b <04>2, <04>; <03>a! <04>?lit <04>if <16>ba <04>1, <04>, <04>; <04>then <16>d08b <04>2, <07>drop <04>; <03>2* <16>e0d1 <04>2, <04>; <03>a, <04>2* <04>2* <04>, <04>; <03>@ <04>?lit <04>if <07>?dup <16>58b <04>2, <07>a, <04>; <04>then <16>85048b <04>3, <04>0 <04>, <04>; <03>! <04>?lit <04>if <04>?lit <04>if <16>5c7 <04>2, <04>swap <07>a, <04>, <04>; <04>then <16>589 <04>2, <07>a, <07>drop <04>; <04>then <07>a! <16>950489 <04>3, <04>0 <04>, <07>drop <04>; <03>nip <16>4768d <04>3, <04>; <03>+ <04>?lit <04>if <16>5 <04>1, <04>, <04>; <04>then <16>603 <04>2, <07>nip <04>; <03>or <16>633 <03>binary <04>?lit <04>if <04>swap <06>2 <04>+ <04>1, <04>, <04>; <04>then <04>2, <07>nip <04>; <03>and <16>623 <07>binary <04>; <03>u+ <04>?lit <04>if <16>681 <04>2, <04>, <04>; <04>then <16>44601 <04>3, <07>drop <04>; <03>? <04>?lit <16>a9 <04>1, <04>, <04>; {block 25} <0a>pentium <09>macros: <09>1, <09>2, <09>3, <09>, <09>compile <09>1-4 <09>bytes <03>drop <09>lodsd, <09>flags <09>unchanged, <09>why <09>sp <09>is <09>in <0b>esi <03>over <09>sp <09>4 <09>+ <09>@ <03>swap <09>sp <09>xchg <03>0 <09>0 <09>0 <09>xor, <09>macro <09>0 <09>identical <09>to <09>number <09>0 <03>a <09>2 <09>0 <09>mov, <09>never <09>used? <03>a! <09>0 <09>2 <09>mov, <09>unoptimized <03>@ <0b>eax <09>4 <09>*, <09>unoptimized <03>! <0b>edx <09>4 <09>* <03>nop <09>used <09>to <09>thwart <09>look-back <09>optimization <03>- <09>ones-complement <03>2* <03>2/ <03>if <09>jz, <09>flags <09>set, <09>max <09>127 <09>bytes, <09>leave <09>address <03>-if <09>jns, <09>same <03>then <09>fix <09>address <09>- <09>in <09>kernel <03>push <0b>eax <09>push <03>pop <0b>eax <09>pop <03>u+ <09>add <09>to <09>2nd <09>number, <09>literal <09>or <09>value <03>? <09>test <09>bits, <09>set <09>flags, <09>literal <09>only! {block 26} <09>macros <03>over <07>?dup <16>4468b <04>3, <04>; <03>push <16>50 <04>1, <07>drop <04>; <03>pop <07>?dup <16>58 <04>1, <04>; <03>- <16>d0f7 <04>2, <04>; <03>for <07>push <07>begin <04>; <03>*next <04>swap <03>next <15>75240cff <03>0next <04>, <04>here <04>- <04>+ <04>1, <16>4c483 <04>3, <04>; <03>-next <15>79240cff <07>0next <04>; <03>i <07>?dup <16>24048b <04>3, <04>; <03>*end <04>swap <03>end <16>eb <04>1, <04>here <04>- <04>+ <04>1, <04>; <03>+! <04>?lit <04>if <04>?lit <04>if <16>581 <04>2, <04>swap <07>a, <04>, <04>; <04>then <16>501 <04>2, <07>a, <07>drop <04>; <04>then <07>a! <16>950401 <04>3, <04>0 <04>, <07>drop <04>; <03>nop <16>90 <04>1, <04>; <03>align <04>here <04>- <06>3 <04>and <04>drop <04>if <07>nop <07>align <04>; <04>then <04>; <03>or! <07>a! <16>950409 <04>3, <04>0 <04>, <07>drop <04>; <03>* <16>6af0f <04>3, <07>nip <04>; <03>*/ <16>c88b <04>2, <07>drop <15>f9f72ef7 <04>, <07>nip <04>; <03>/mod <07>swap <16>99 <04>1, <15>16893ef7 <04>, <04>; <03>/ <07>/mod <07>nip <04>; <03>mod <07>/mod <07>drop <04>; {block 27} <03>for <04>n <09>push <09>count <09>onto <09>return <09>stack, <09>falls <09>into <04>begin <03>begin <04>-a <09>current <09>code <09>address <09>- <09>byte <03>*next <04>aa-aa <09>swap <04>for <09>and <04>if <09>addresses <03>next <04>a <09>decrement <09>count, <09>jnz <09>to <04>for, <09>pop <09>return <09>stack <09>when <09>done <03>-next <04>a <09>same, <09>jns <09>- <09>loop <09>includes <09>0 <03>i <04>-n <09>copy <09>loop <09>index <09>to <09>data <09>stack <03>end <04>a <09>jmp <09>to <04>begin <03>+! <04>na <09>add <09>to <09>memory, <09>2 <09>literals <09>optimized <03>align <09>next <09>call <09>to <09>end <09>on <09>word <09>boundary <03>or! <04>na <09>inclusive-or <09>to <09>memory, <09>unoptimized <03>* <04>mm-p <09>32-bit <09>product <03>*/ <04>mnd-q <09>64-bit <09>product, <09>then <09>quotient <03>/mod <04>nd-rq <09>remainder <09>and <09>quotient <03>/ <04>nd-q <09>quotient <03>mod <04>nd-r <09>remainder <03>time <04>-n <0a>pentium <09>cycle <09>counter, <09>calibrate <09>to <09>get <09>actual <09>clock <09>rate {block 28} <0a>compiled <09>macros <03>2/ <16>f8d1 <04>2, <04>; <03>time <07>?dup <16>310f <04>2, <04>; <01>forth <03>@ <04>@ <04>; <03>! <04>! <04>; <03>+ <04>+ <04>; <03>*/ <04>*/ <04>; <03>* <04>* <04>; <03>/ <04>/ <04>; <03>2/ <04>2/ <04>; <03>dup <04>dup <04>; <0a>arithmetic <03>negate <04>- <06>1 <04>+ <04>; <03>min <04>less <04>if <04>drop <04>; <04>then <04>swap <04>drop <04>; <03>abs <04>dup <04>negate <03>max <04>less <04>if <04>swap <04>then <04>drop <04>; <03>v+ <09>vv-v <04>push <04>u+ <04>pop <04>+ <04>; <03>writes <09>acn <04>for <04>write <04>next <04>drop <04>drop <04>; <03>reads <09>acn <04>for <04>read <04>next <04>drop <04>drop <04>; <03>oadf <09>qwerty <03>save <06>0 <04>dup <01>nc <04>@ <04>writes <04>stop <04>; {block 29} <0a>these <09>macros <09>may <09>be <09>white, <09>others <09>may <09>not <03>@ <04>etc <0a>arithmetic <03>negate <04>n-n <09>when <09>you <09>just <09>cant <09>use <04>- <03>min <04>nn-n <09>minimum <03>abs <04>n-u <09>absolute <09>value <03>max <04>nn-n <09>maximum <03>v+ <04>vv-v <09>add <09>2-vectors <03>nc <04>-a <09>number <09>of <09>cylinders <09>booted <03>save <09>write <09>colorforth <09>to <09>bootable <09>floppy <03>oadf <09>save <09>as <09>spelled <09>by <09>qwerty. <0a>for <09>typing <09>with <09>blank <09>screen {block 30} <0a>colors <09>etc <03>block <16>100 <04>* <04>; <03>white <16>ffffff <04>color <04>; <03>red <16>ff0000 <04>color <04>; <03>green <16>ff00 <04>color <04>; <03>blue <16>ff <04>color <04>; <03>silver <16>bfbfbf <04>color <04>; <03>black <06>0 <04>color <04>; <03>screen <06>0 <04>dup <04>at <06>1024 <06>768 <04>box <04>; <03>5* <06>5 <04>for <04>2emit <04>next <04>; <03>cf <06>25 <04>dup <04>at <04>red <16>1 <16>3 <16>c <16>3 <16>a <04>5* <04>green <16>14 <16>2 <16>1 <16>3 <16>3e <04>5* <04>; <03>logo <04>show <04>black <04>screen <06>800 <06>710 <04>blue <04>box <06>600 <06>50 <04>at <06>1024 <06>620 <04>red <04>box <06>200 <06>100 <04>at <06>700 <06>500 <04>green <04>box <04>text <04>cf <04>keyboard <04>; <03>empty <04>empt <04>logo <04>; {block 31} <03>block <04>n-a <09>block <09>number <09>to <09>word <09>address <03>colors <09>specified <09>as <09>rgb: <09>888 <03>screen <09>fills <09>screen <09>with <09>current <09>color <03>at <04>xy <09>set <09>current <09>screen <09>position <03>box <04>xy <09>lower-right <09>of <09>colored <09>rectangle <03>dump <09>compiles <09>memory <09>display <03>print <09>compiles <09>screen <09>print <03>icon <09>compiles <09>icon <09>editor <03>logo <09>displays <09>colorforth <09>logo <03>show <09>background <09>task <09>executes <09>following <09>code <09>repeatedly <03>keyboard <09>displays <09>keypad <09>and <09>stack {block 32} <0a>dump <0c>x <04>2097152 <0c>y <04>2101760 <03>one <04>dup <04>@ <04>h. <04>space <04>dup <04>h. <04>cr <04>; <03>lines <04>for <04>one <06>-1 <04>+ <04>next <04>drop <04>; <03>dump <04>x <04>! <03>r <04>show <04>black <04>screen <04>x <04>@ <06>15 <04>+ <06>16 <04>text <04>lines <04>keyboard <04>; <03>it <04>@ <04>+ <04>@ <04>dup <04>h. <04>space <04>; <03>lines <04>for <04>white <04>i <01>x <04>it <04>i <01>y <04>it <04>or <04>drop <04>if <04>red <04>then <04>i <04>. <04>cr <04>-next <04>; <03>cmp <04>show <04>blue <04>screen <04>text <06>19 <04>lines <04>red <01>x <04>@ <04>h. <04>space <01>y <04>@ <04>h. <04>keyboard <04>; <03>u <06>16 <03>+xy <04>dup <01>x <04>+! <01>y <04>+! <04>; <03>d <06>-16 <04>+xy <04>; <03>ati <15>f4100000 <09>ff7fc000 <04>or <03>byte <06>4 <04>/ <04>dump <04>; <03>fix <04>for <06>0 <04>over <04>! <06>1 <04>+ <04>next <04>; <01>dump {block 33} <0a>does <09>not <09>say <09>empty, <09>compiles <09>on <09>top <09>of <09>application <03>x <04>-a <09>current <09>address <03>one <04>a-a <09>line <09>of <09>display <03>lines <04>an <03>dump <04>a <09>background <09>task <09>continually <09>displays <09>memory <03>u <09>increment <09>address <03>d <09>decrement <03>ati <09>address <09>of <0b>agp <09>graphic <09>registers <03>byte <04>a <09>byte <09>address <09>dump <03>fix <04>an-a <09>test <09>word {block 34} <0a>icons <01>empty <01>macro <03>@w <16>8b66 <04>3, <04>; <03>!w <07>a! <16>28966 <04>3, <07>drop <04>; <03>*byte <16>c486 <04>2, <04>; <01>forth <0c>ic <04>0 <0c>cu <04>351 <03>sq <01>xy <04>@ <16>10000 <04>/mod <06>16 <04>+ <04>swap <06>16 <04>+ <04>box <06>17 <06>0 <04>+at <04>; <03>loc <01>ic <04>@ <08>16 <08>24 <08>8 <01>*/ <04>* <08>12 <01>block <08>4 <01>* <04>+ <04>; <03>0/1 <16>8000 <04>? <04>if <04>green <04>sq <04>; <04>then <04>blue <04>sq <04>; <03>row <04>dup <04>@w <04>*byte <06>16 <04>for <04>0/1 <04>2* <04>next <04>drop <08>-17 <08>16 <01>* <06>17 <04>+at <04>; <03>ikon <04>loc <06>24 <04>for <04>row <06>2 <04>+ <04>next <04>drop <04>; <03>adj <06>17 <04>* <04>swap <04>; <03>cursor <01>cu <04>@ <06>16 <04>/mod <04>adj <04>adj <04>over <04>over <04>at <04>red <06>52 <04>u+ <06>52 <04>+ <04>box <04>; <03>ok <04>show <04>black <04>screen <04>cursor <06>18 <04>dup <04>at <04>ikon <04>text <01>ic <04>@ <04>. <04>keyboard <04>; <08>36 <01>load <01>ok <01>h {block 35} <0a>draw <09>big-bits <09>icon <03>@w <04>a-n <09>fetch <09>16-bit <09>word <09>from <09>byte <09>address <03>!w <04>na <09>store <09>same <03>*byte <04>n-n <09>swap <09>bytes <03>ic <04>-a <09>current <09>icon <03>cu <04>-a <09>cursor <03>sq <09>draw <09>small <09>square <03>xy <04>-a <09>current <09>screen <09>position, <09>set <09>by <04>at <03>loc <04>-a <09>location <09>of <09>current <09>icons <09>bit-map <03>0/1 <04>n-n <09>color <09>square <09>depending <09>on <09>bit <09>15 <03>row <04>a-a <09>draw <09>row <09>of <09>icon <03>+at <04>nn <09>relative <09>change <09>to <09>screen <09>position <03>ikon <09>draw <09>big-bits <09>icon <03>adj <04>nn-nn <09>magnify <09>cursor <09>position <03>cursor <09>draw <09>red <09>box <09>for <09>cursor <03>ok <09>background <09>task <09>to <09>continually <09>draw <09>icon, <09>icon <09>number <09>at <09>top sr <08>4210752 <08>4210752 <08>4210752 {block 36} <0a>edit <03>+ic <06>1 <01>ic <04>+! <04>; <03>-ic <01>ic <04>@ <06>-1 <04>+ <06>0 <04>max <01>ic <04>! <04>; <03>bit <01>cu <04>@ <04>2/ <04>2/ <04>2/ <04>2/ <04>2* <04>loc <04>+ <16>10000 <01>cu <04>@ <16>f <04>and <06>1 <04>+ <04>for <04>2/ <04>next <04>*byte <04>; <03>toggle <04>bit <04>over <04>@w <04>or <04>swap <04>!w <04>; <03>td <04>toggle <03>d <06>16 <03>wrap <01>cu <04>@ <04>+ <08>16 <08>24 <01>* <04>dup <04>u+ <04>/mod <04>drop <01>cu <04>! <04>; <03>tu <04>toggle <03>u <06>-16 <04>wrap <04>; <03>tr <04>toggle <03>r <06>1 <04>wrap <04>; <03>tl <04>toggle <03>l <06>-1 <04>wrap <04>; <03>nul <04>; <03>h <04>pad <04>nul <04>nul <04>accept <04>nul <04>tl <04>tu <04>td <04>tr <04>l <04>u <04>d <04>r <04>-ic <04>nul <04>nul <04>+ic <04>nul <04>nul <04>nul <04>nul <04>nul <04>nul <04>nul <04>nul <04>nul <04>nul <04>nul <04>nul <18>2500 <01>, <18>110160c <01>dup <01>, <01>, <12>2b000023 <01>, <08>0 <01>, <08>0 <01>, <08>0 <01>, {block 37} <0a>edit <09>icon {block 38} <0b>png <01>empty <0c>w <04>54 <0c>h <04>32 <0c>d <04>4 <03>frame <16>1e80000 <04>; <01>file <08>42 <01>load <08>40 <01>load <03>-crc <09>a <04>here <04>over <04>negate <04>+ <04>crc <04>. <04>; <03>crc <04>-crc <04>; <03>wd <09>-a <04>here <06>3 <04>and <04>drop <04>if <06>0 <04>1, <04>wd <04>; <04>then <04>here <06>2 <04>2/s <04>; <03>bys <09>n-a <04>. <04>here <04>swap <04>, <04>; <03>plte <15>45544c50 <06>48 <04>bys <16>0 <04>3, <16>ff0000 <04>3, <16>ff00 <04>3, <16>ffff00 <04>3, <16>ff <04>3, <16>ff00ff <04>3, <16>ffff <04>3, <16>ffffff <04>3, <16>0 <04>3, <16>c00000 <04>3, <16>c000 <04>3, <16>c0c000 <04>3, <16>c0 <04>3, <16>c000c0 <04>3, <16>c0c0 <04>3, <16>c0c0c0 <04>3, <04>crc <04>; <03>png <09>awh <01>d <04>@ <04>/ <01>h <04>! <01>d <04>@ <04>/ <01>w <04>! <04>wd <04>swap <15>474e5089 <04>, <15>a1a0a0d <04>, <09>ihdr <15>52444849 <06>13 <04>bys <01>w <04>@ <04>. <01>h <04>@ <04>. <16>304 <04>, <16>0 <04>1, <04>crc <04>plte <09>idat <15>54414449 <06>0 <04>bys <04>swap <04>deflate <04>crc <09>iend <15>444e4549 <06>0 <04>bys <04>crc <04>wd <04>over <04>negate <04>+ <04>; <03>at <06>1024 <04>* <04>+ <04>2* <01>frame <04>+ <04>; <03>full <06>4 <01>d <04>! <06>0 <04>dup <04>at <06>1024 <06>768 <04>png <04>; <03>pad <06>1 <01>d <04>! <08>46 <08>-9 <01>+ <08>22 <01>* <04>nop <08>25 <08>-4 <01>+ <08>30 <01>* <04>at <08>9 <08>22 <01>* <04>nop <08>4 <08>30 <01>* <04>png <04>; {block 39} {block 40} <09>lz77 <01>macro <03>@w <16>8b66 <04>3, <04>; <03>*byte <16>c486 <04>2, <04>; <03>!b <07>a! <16>289 <04>2, <07>drop <04>; <01>forth <03>*bys <04>dup <06>16 <04>2/s <04>*byte <04>swap <16>ffff <04>and <04>*byte <16>10000 <04>* <04>+ <04>; <03>. <04>*bys <04>, <04>; <03>+or <04>over <04>- <04>and <04>or <04>; <03>0/1 <16>10 <04>? <04>if <16>1e <04>and <16>1e <04>or <04>drop <04>if <06>7 <04>; <04>then <16>f <04>; <04>then <06>0 <04>and <04>; <03>4b <04>dup <04>0/1 <06>9 <04>and <04>over <06>6 <04>2/s <04>0/1 <16>a <04>and <04>+or <04>swap <06>11 <04>2/s <04>0/1 <16>c <04>and <04>+or <16>8 <04>or <04>; <03>pix <04>dup <04>@w <01>d <04>@ <04>2* <04>u+ <04>4b <04>; <03>row <04>1, <04>dup <01>w <04>@ <04>2/ <04>dup <06>1 <04>+ <04>dup <04>2, <04>- <04>2, <06>0 <04>dup <04>1, <04>+adl <04>for <04>pix <06>16 <04>* <04>push <04>pix <04>pop <04>or <04>dup <04>1, <04>+adl <04>next <04>drop <04>+mod <01>d <04>@ <08>1024 <08>2 <01>* <04>* <04>+ <04>; <03>deflate <16>178 <04>2, <06>1 <06>0 <04>adl! <01>h <04>@ <06>-1 <04>+ <04>for <06>0 <04>row <04>next <06>1 <04>row <04>drop <01>ad2 <04>@ <04>*byte <04>2, <01>ad1 <04>@ <04>*byte <04>2, <04>here <04>over <06>4 <04>+ <04>negate <04>+ <04>*bys <04>over <06>-4 <04>+ <04>!b <04>; {block 41} {block 42} <0a>crc <01>macro <03>2/s <04>?lit <16>e8c1 <04>2, <04>1, <04>; <03>1@ <16>8a <04>2, <04>; <01>forth <0c>ad1 <04>48546 <0c>ad2 <04>48600 <03>array <09>-a <04>pop <06>2 <04>2/s <04>; <03>bit <09>n-n <06>1 <04>? <04>if <06>1 <04>2/s <15>edb88320 <04>or <04>; <04>then <06>1 <04>2/s <04>; <03>fill <09>nn <04>for <04>dup <06>8 <04>for <04>bit <04>next <04>, <06>1 <04>+ <04>next <04>drop <04>; <03>table <09>-a <04>align <04>array <08>0 <08>256 <01>fill <03>crc <09>an-n <06>-1 <04>swap <04>for <04>over <04>1@ <04>over <04>or <16>ff <04>and <01>table <04>+ <04>@ <04>swap <06>8 <04>2/s <04>or <06>1 <04>u+ <04>next <04>- <04>nip <04>; <03>+adl <09>n <16>ff <04>and <01>ad1 <04>@ <04>+ <04>dup <01>ad2 <04>@ <04>+ <03>adl! <01>ad2 <04>! <01>ad1 <04>! <04>; <03>+mod <01>ad1 <04>@ <06>65521 <04>mod <01>ad2 <04>@ <06>65521 <04>mod <04>adl! <04>; {block 43} {block 44} <0b>dos <09>file <03>blks <06>256 <04>* <04>; <03>w/c <08>18 <01>blks <04>; <03>buffer <08>604 <01>block <04>; <03>size <09>-a <01>buffer <06>0 <06>1 <04>reads <01>buffer <18>98f <01>+ <04>; <03>set <09>n <04>! <01>buffer <06>0 <06>1 <04>writes <04>; <03>cyls <09>n-nn <06>1 <04>swap <01>w/c <08>-1 <01>+ <04>+ <01>w/c <04>/ <04>; <03>put <09>an <04>dup <04>2* <04>2* <04>size <04>set <04>cyls <04>writes <04>stop <04>; <03>get <09>a <04>size <04>@ <06>3 <04>+ <04>2/ <04>2/ <04>cyls <04>reads <04>stop <04>; <03>.com <06>0 <06>63 <04>blocks <04>put <04>; {block 45} <03>blks <04>n-n <09>size <09>in <09>blocks <09>to <09>words <03>w/c <04>-n <09>words <09>per <09>cylinder <03>buffer <04>-a <09>1 <09>cylinder <09>required <09>for <09>floppy <09>dma <03>size <04>-a <09>locate <09>size <09>of <09>2nd <09>file. <0a>floppy <09>has <09>first <0b>filler <09>then <0b>file <09>allocated. <0b>filler <09>is <09>2048 <09>bytes, <09>to <09>fill <09>out <09>cylinder <09>0. <0a>names <09>at <09>most <09>8 <09>letters, <09>all <09>caps. <0a>directory <09>starts <09>at <01>buffer <18>980 <01>+ <03>set <04>n <09>size. <0b>file <09>must <09>be <09>larger <09>than <09>your <09>file. <03>cyls <04>n-nn <09>starting <09>cylinder <09>1 <09>and <09>number <09>of <09>cylinders <03>put <04>an <09>write <09>file <09>from <09>address <03>get <04>a <09>read <09>file <09>to <09>address {block 46} <0a>north <0a>bridge <01>empty <01>macro <03>4@ <07>dup <16>ed <04>1, <04>; <03>4! <16>ef <04>1, <07>drop <04>; <01>forth <0c>dev <04>15104 <03>nb <16>0 <01>dev <04>! <04>; <03>sb <16>3800 <01>dev <04>! <04>; <03>agp <16>800 <01>dev <04>! <04>; <03>ess <16>6800 <01>dev <04>! <04>; <03>ric <16>7800 <01>dev <04>! <04>; <03>win <16>8000 <01>dev <04>! <04>; <03>ati <16>10000 <01>dev <04>! <04>; <03>add <16>cf8 <04>a! <04>4! <16>cfc <04>a! <04>; <03>q <15>80000000 <04>+ <04>add <04>4@ <04>; <03>en <16>8004 <04>q <06>-4 <04>and <04>or <04>4! <04>; <03>dv <04>dup <16>800 <04>* <04>q <04>swap <06>1 <04>+ <04>; <03>regs <01>dev <04>@ <08>19 <08>4 <01>* <04>+ <06>20 <04>for <04>dup <04>q <04>h. <04>space <04>dup <04>h. <04>cr <06>-4 <04>+ <04>next <04>drop <04>; <03>devs <06>0 <06>33 <04>for <04>dup <04>q <04>dup <06>1 <04>+ <04>drop <04>if <04>dup <04>h. <04>space <04>drop <04>dup <06>8 <04>+ <04>q <04>dup <04>h. <04>space <04>over <04>h. <04>cr <04>then <04>drop <16>800 <04>+ <04>next <04>drop <04>; <03>ok <04>show <04>black <04>screen <04>text <04>regs <04>keyboard <04>; <03>u <16>40 <01>dev <04>+! <04>; <03>d <06>-64 <01>dev <04>+! <04>; <03>test <16>ff00 <04>+ <04>a! <04>4@ <04>; <01>ok {block 47} {block 48} <0b>ascii <01>macro <03>1@ <16>8a <04>2, <04>; <01>forth <03>string <04>pop <04>; <03>cf-ii <04>string <12>6f747200 <01>, <12>696e6165 <01>, <12>79636d73 <01>, <12>7766676c <01>, <12>62707664 <01>, <12>71757868 <01>, <12>336a7a6b <01>, <12>37363534 <01>, <12>2d313938 <01>, <12>2f322e30 <01>, <12>2b213a3b <01>, <12>3f2c2a40 <01>, <03>ch <16>fffffff0 <04>and <04>unpack <01>cf-ii <04>+ <04>1@ <16>ff <04>and <04>; <03>ii-cf <04>string <18>2a00 <01>, <08>0 <01>, <12>2b2d0000 <01>, <12>2725232e <01>, <12>1b262224 <01>, <12>1f1e1d1c <01>, <12>28292120 <01>, <12>2f000000 <01>, <12>3a43355c <01>, <12>3d3e3440 <01>, <12>484a3744 <01>, <12>3336393c <01>, <12>38314742 <01>, <12>3f414632 <01>, <18>493b45 <01>, <08>0 <01>, <12>a13052c <01>, <12>d0e0410 <01>, <12>181a0714 <01>, <18>306090c <01>, <12>8011712 <01>, <12>f111602 <01>, <18>190b15 <01>, <03>chc <16>ffffffe0 <04>+ <01>ii-cf <04>+ <04>1@ <16>ff <04>and <04>; {block 49} {block 50} <0a>clock <01>macro <03>p@ <16>ec <04>1, <04>; <03>p! <16>ee <04>1, <07>drop <04>; <01>forth <03>ca <16>70 <04>a! <04>p! <16>71 <04>a! <04>; <03>c@ <04>ca <06>0 <04>p@ <04>; <03>c! <04>ca <04>p! <04>; <03>hi <06>10 <04>c@ <16>80 <04>and <04>drop <04>if <04>; <04>then <04>hi <04>; <03>lo <06>0 <04>p@ <16>80 <04>and <04>drop <04>if <04>lo <04>; <04>then <04>; <03>bcd <04>c@ <06>16 <04>/mod <06>10 <04>* <04>+ <04>; <03>hms0 <06>4 <04>bcd <06>100 <04>* <06>2 <04>bcd <04>+ <06>100 <04>* <06>0 <04>bcd <04>+ <04>; <03>hms <04>hms0 <06>2 <04>ms <04>dup <04>hms0 <04>or <04>drop <04>if <04>drop <04>hms <04>; <04>then <04>; <03>ymd <06>9 <04>bcd <06>100 <04>* <06>8 <04>bcd <04>+ <06>100 <04>* <06>7 <04>bcd <04>+ <04>; <03>day <06>6 <04>c@ <06>-1 <04>+ <04>; <03>cal <04>hi <04>lo <04>time <04>- <04>hi <04>lo <04>time <04>+ <09>748 <04>; {block 51} {block 52} <0b>lan <01>empty <18>3f8 <08>54 <01>load <01>init <03>no <04>block <06>4 <04>* <06>1024 <04>; <03>send <04>no <04>for <04>dup <04>1@ <04>xmit <06>1 <04>+ <04>next <04>drop <04>; <03>receive <04>no <04>for <04>rcv <04>over <04>1! <06>1 <04>+ <04>next <04>drop <04>; <03>no <06>18 <08>7 <08>18 <01>* <04>; <03>backup <04>no <04>for <04>dup <04>send <06>1 <04>+ <04>next <04>drop <04>; <03>accept <04>no <04>for <04>dup <04>receive <06>1 <04>+ <04>next <04>drop <04>; {block 53} sr <08>4210752 <08>4210752 <08>4210752 {block 54} <0a>serial <09>3f8 <09>2e8 <09>1050 <01>macro <03>p@ <07>a! <07>dup <16>ec <04>1, <04>; <03>p! <07>a! <16>ee <04>1, <07>drop <04>; <03>1@ <16>8a <04>2, <04>; <03>1! <07>a! <16>288 <04>2, <07>drop <04>; <01>forth <03>r <08>0 <01>+ <04>+ <04>; <03>9600 <06>12 <04>; <03>115200 <06>1 <04>; <03>b/s <16>83 <08>3 <01>r <04>p! <04>9600 <08>0 <01>r <04>p! <06>0 <08>1 <01>r <04>p! <06>3 <08>3 <01>r <04>p! <04>; <03>init <04>b/s <09>16550 <06>1 <08>2 <01>r <04>p! <06>0 <08>4 <01>r <04>p! <04>; <03>xmit <09>n <08>5 <01>r <04>p@ <16>20 <04>and <04>drop <04>if <08>0 <01>r <04>p! <04>; <04>then <04>pause <04>xmit <04>; <03>cts <08>6 <01>r <04>p@ <16>30 <04>and <16>30 <04>or <04>drop <04>if <04>cts <04>; <04>then <04>xmit <04>; <03>st <08>6 <01>r <04>p@ <03>xbits <16>30 <04>and <16>10 <04>/ <04>dup <06>1 <04>and <04>2* <04>2* <04>+ <04>2/ <04>; <03>st! <08>4 <01>r <04>p! <04>; <03>?rcv <08>5 <01>r <04>p@ <06>1 <04>and <04>drop <04>if <08>0 <01>r <04>p@ <04>then <04>; <03>rcv <04>?rcv <04>if <04>; <04>then <04>pause <04>rcv <04>; {block 55} <03>p@ <04>p-n <09>fetch <09>byte <09>from <09>port <03>p! <04>np <09>store <09>byte <09>to <09>port <03>1@ <04>a-n <09>fetch <09>byte <09>from <09>byte <09>address <03>1! <04>na <09>store <09>byte <09>to <09>byte <09>address <03>r <04>n-p <09>convert <09>relative <09>to <09>absolute <09>port <09>address. <0a>base <09>port <09>on <09>stack <09>at <09>compile <09>time. <0a>compiled <09>as <09>literal <09>at <09>yellow-green <09>transition <03>9600 <03>115200 <09>baud-rate <09>divisors. <0a>these <09>are <09>names, <09>not <09>numbers <03>b/s <09>set <09>baud <09>rate. <0a>edit <09>to <09>change <03>init <09>initialize <09>uart <03>xmit <04>n <09>wait <09>for <09>ready <09>and <09>transmit <09>byte <03>cts <04>n <09>wait <09>for <09>clear-to-send <09>then <09>xmit <03>st <04>-n <09>fetch <09>status <09>byte <03>xbits <04>n-n <09>exchange <09>status <09>bits <03>st! <04>n <09>store <09>control <09>byte <03>?rcv <09>fetch <09>byte <09>if <09>ready. <0a>set <09>flag <09>to <09>be <09>tested <09>by <04>if <03>rcv <04>-n <09>wait <09>for <09>ready <09>and <09>fetch <09>byte {block 56} <0a>hexagon <01>empty <0c>col <04>0 <0c>del <04>2105376 <03>lin <04>dup <04>2/ <04>2/ <04>dup <04>2* <04>line <04>; <03>hex <01>xy <04>@ <06>7 <04>and <04>over <04>2/ <04>for <04>lin <06>7 <04>+ <04>next <04>over <04>for <04>lin <04>next <04>swap <04>2/ <04>for <06>-7 <04>+ <04>lin <04>next <04>drop <04>; <03>+del <01>del <04>@ <04>nop <03>petal <04>and <01>col <04>@ <04>+ <16>f8f8f8 <04>and <04>color <06>100 <04>hex <04>; <03>-del <01>del <04>@ <16>f8f8f8 <04>or <16>80808 <04>+ <04>; <03>rose <06>0 <04>+del <06>-176 <06>-200 <04>+at <16>f80000 <04>-del <04>petal <06>352 <06>-200 <04>+at <16>f80000 <04>+del <06>-264 <06>-349 <04>+at <16>f800 <04>-del <04>petal <06>176 <06>-200 <04>+at <16>f8 <04>+del <06>-176 <06>98 <04>+at <16>f8 <04>-del <04>petal <06>176 <06>-200 <04>+at <16>f800 <04>+del <04>; <03>ok <04>show <04>black <04>screen <06>512 <06>282 <04>at <04>rose <04>text <01>col <04>@ <04>h. <04>space <01>del <04>@ <16>ff <04>and <04>. <04>keyboard <04>; <08>58 <01>load <01>ok <01>h {block 57} <0a>draws <09>7 <09>hexagons. <0a>colors <09>differ <09>along <09>red, <09>green <09>and <09>blue <09>axes. <03>col <09>color <09>of <09>center <09>hexagon <03>del <09>color <09>difference <03>lin <04>n <09>draws <09>1 <09>horizontal <09>line <09>of <09>a <09>hexagon <03>hex <04>n <09>draws <09>top, <09>center <09>and <09>bottom. <0a>slope <09>7 <09>x <09>to <09>4 <09>y <09>is <09>1.750 <09>compared <09>to <09>1.732 <03>+del <04>n <09>increment <09>color <03>-del <04>n <03>petal <04>n <09>draw <09>colored <09>hexagon <03>rose <09>draw <09>7 <09>hexagons <03>ok <09>describe <09>screen. <0a>center <09>color <09>at <09>top {block 58} <0a>pan <03>in <01>del <04>@ <04>2* <16>404040 <04>min <01>del <04>! <04>; <03>out <01>del <04>@ <04>2/ <16>80808 <04>max <01>del <04>! <04>; <03>r <16>f80000 <03>+del <01>del <04>@ <03>+col <04>and <01>col <04>@ <04>+ <16>f8f8f8 <04>and <01>col <04>! <04>; <03>g <16>f800 <04>+del <04>; <03>b <16>f8 <04>+del <04>; <03>-r <16>f80000 <04>-del <04>+col <04>; <03>-g <16>f800 <04>-del <04>+col <04>; <03>-b <16>f8 <04>-del <04>+col <04>; <03>nul <04>; <03>h <04>pad <04>nul <04>nul <04>accept <04>nul <04>-r <04>-g <04>-b <04>nul <04>r <04>g <04>b <04>nul <04>out <04>nul <04>nul <04>in <04>nul <04>nul <04>nul <04>nul <04>nul <04>nul <04>nul <04>nul <04>nul <04>nul <04>nul <04>nul <18>250000 <01>, <18>130d01 <01>dup <01>, <01>, <12>2b000023 <01>, <08>0 <01>, <08>0 <01>, <08>0 <01>, {block 59} <03>in <09>increment <09>color <09>difference <03>out <09>decrement <09>it <03>r <03>g <03>b <09>increment <09>center <09>color <03>-r <03>-g <03>-b <09>decrement <09>it <03>+del <09>redefine <09>with <09>; <03>+col <09>change <09>center <09>color <03>nul <09>ignore <03>h <09>describe <09>keypad {block 60} {block 61} {block 62} <0a>timing <01>empty <01>macro <03>out <16>e1e6 <04>2, <04>; <01>forth <03>tare <04>time <04>- <06>1000 <04>for <04>next <04>time <04>+ <04>; <03>tare+ <04>time <04>- <04>push <06>1000 <04>for <04>dup <04>next <04>c <04>pop <04>time <04>+ <04>; <03>test <04>tare <04>time <04>+ <04>- <06>1000 <04>for <04>out <04>next <04>time <04>+ <04>; <09>next <09>3 <09>loop <09>5.7 <09>/next <09>2 <09>/swap <09>25 <09>swap <09>7.2 <01>macro <03>c! <16>c88b <04>2, <07>drop <04>here <04>; <03>loop <16>49 <04>1, <16>75 <04>1, <09>e2 <04>here <04>- <04>+ <04>1, <04>; <01>forth <03>try <04>time <04>- <06>1000 <04>c! <04>loop <04>time <04>+ <04>;