[comp.sources.atari.st] v03i097: stturing -- Two-dimensional Turing machine

koreth@panarthea.ebay.sun.com (Steven Grimm) (09/18/90)

Submitted-by: mark@ccvr1.cc.ncsu.edu (Mark Boyd)
Posting-number: Volume 3, Issue 97
Archive-name: stturing

Here is the source and documentation for a simple 2 dimensional
turing machine that uses the ST's screen as its memory. I ported
it from a PC program because I enjoyed playing with it. It runs
in all resolutions.
		Mark Boyd

table
 !"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
begin 644 sttursrc.zoo
M6D]/(#(N,# @07)C:&EV92X:  #<I\3]*@   -;___\"  $        !W*?$z
M_0(!@0H  '$   #9%&*V8,#9$0  $ H   $           !S='1U<FEN9RYCy
M )D*"@!_]V,             0"DC*   7ZA0 $(%"!!4ZLA)X^8,B!8M0 0!x
M,2=-&SALRH"@<^=-"S(6R[BI^,9-&#8;%3)TV";,&#0,R[@@.+#@P2L+Z= 1w
M"4),'A!3=MKA2<4%B"9CAK!1J!$(B"INT@R54Y'.SS=F0#@I<P<$DC 7Y\"4v
M4X8%B!@Y<.2@2?,@%9AS0,"1\^:,'+ @QH1QTU,CR#ET%HJILY,,"#-DR[#Yu
MR1#$WI]N2K88\Z9-FS)RQJ0YV1:$2#MIZ+JY[(:.V;V&]?(5H['.G#*&&T<&t
M<2?,3S-OY#B62]=,&CH]?SXN6:8SBC)XQI2! _RR6:QYWRA\#4)'"A I3KM)s
MO;<OB#9O0/J&#:+Q8]JV-Z()0Z=S'ND@V*19(_-@DHUAZ(.8378.G)(5B9&&r
M?%8=EIMZ&I$5!AEAB,&&&V7,$1=T=,#5&65D:(3"@16F$1=EEHEDFH&Z5<C>q
M=^SMI)MUV)E5H4:4R4'6&'1 *"$(6'76X8?AE86C;N<QV-(9$>(XQA@J-708p
M76T@"()K&E$(5W09SF235V$,=5@=?-WQ&QKEC7C?&I%U=1](9%BIP@L*"-39o
M6Q[R5M==34(9UXL4C9$87V'$%08()] 1!AQEG$#B;AQY!!)I))G$AHY)LN02n
M3! :!4(2(P56!XUI '@HE(Z151Y?@4;J D-FG* FFP(=!$5NA8& PFY3_531m
M11G)!2MV&[WA9!""+@04%;(>=<40O/IT5!ARK &"$&_DD69G3_"%)[#,IC&Ll
M>G'.-2=><]0!QW]RT!%7##9$QT9N<34V@PPP8 $O#+*N>T<*G=&@+KNC@F #k
M#?'.*^ME(-711G:.;0>"#/M2U>^_\0),+W@9R@K3&6BDL*H""HS T!A+5<P#j
M8""]X0(:/G3\<<@:\2 ?A&&<G++';H!<A\AOS"'@=C)S/$*&OD&80 )50#$Ti
M# FT"@4:>52D%TH@S4A'IR/U^MT;6J[9,= Q#2W%$50,+</6901=QM!$/'&%h
M$T/30+;90S-A1-@)V. SUT(GP$01<P\= ]*M)B0'GPJ#IV7497#JJ=8_E]UUg
M E(D<002=,/[]N-&/"'%%4%(0<30,\!P>=Y34!%$%FV+WCC<"0@1Q!!+%#UTf
M#:(K )@<F]*1@*"$)K"' @DPI#L=7[R\ _#"[_X%96P<'WQIRD?M?/+$ \9>e
M&=-#3SSSN1W?QT9P'&^[IC0F8/U.OB,/_1Q?G/$&'=GKSCX<80@?O_E?1.W^d
M_>S/L3_'YB.?_ 2%/A7,CRQV<-[M<A? ZR7 @%^ $![@IX ^B&^!Y9,/8-+Wc
M/-VQX0OGPQX ,3A !ZK@@[ZA"@4#B+ORA?"!'V1#GU9(P@1H4'<G_,)<RI! b
MX-7PAC",('(H:$&._=!#.$PA8&YXO"-N\(0S9.+X6CB\09V-@@IH"4-0P*PSa
MC.$T<CB#'?"5O"Z.X7@O8=8#NVB'+73A>+]+0!KE(,?X'>2.9-&#^(*7%2Z&z
M<0P@X,'"KA/'!,Q%>&9 @0BJ,(<P$$D'*5F(DK9PF %II L@<($FN> &$:3 y
M>0E SF]0 (-/ J\/P%,0&;Y !W%E9 Y^%.,68M"%3X*@542B X,$M:3*[,8Wx
MN=): H9 &3?< 98BX (,9C"#(BB3F6;PY YN:1 D5$8CJ,E+1IB5ISVY2"%\w
MP4I6D$25 PDSCR#H 0B.4(; E$$/*+#E'>^(RW9VLPP\Z<\;EC*UDA2$33:,v
M21A@$,]ISO.@]#0(0WZS&?GH02,O*\.? %,',V1%F' @#!S2@ ?%H( .<'#!u
M]O;IHI 2[V4E%>GR]ID;>;;J#CG1B/7*M1*Y<%0Q_P0>&7Q5R)VR,E(HR*,It
MAP9(=0[A+G?0C!L*>DK:P"17* !D"-1Y@C@8R@0FR L(I@JH*)S EJV*0QU^s
MXU2>_*FJAHJ3B# #&V$2LR3'5.0S9Y"%'(!@KF60)D);U<K!Y64Z!Q*#2YSEr
MSQ.)X7UT\.5",$8'K:%2 3[MZTJ"^DXRE@8$>82C#P48T"<V;[-4;& !YW _q
M[LG!+%XB0X72"8(9H,4L:"A#&AC+6K3D8(]I2"0Z?0""4M(F#:H%$VMM,(/;p
M'J15KP&.E[;SAJY4Y*%6ZTBS^B7,W%)6#R#@;0RN$]O9H@$XZBSN;0%XAZ=Jo
M* 1OC0HL4T!(X,F1I;I19RXWVE$V?-2D*V5#2D_*D*$F #>Z00%*U*E$.C Qn
M/M,<<'Q:X(,/2I .^!H:'^O%X ^&,)WJ!*E*0QAA"8M!06L 96YE%0(V=#@!m
M'Y9HB-T+8%G%19ULJ/ 7"CQ-TE*$M7-@,/L>?.(11Q6^&*:(CMOWOA.C&,0Bl
M[F,(YG#B%.<'E!D%Z4WMJ^&1ZA=\*D6ID'TPO_J5QK\^SC&7\Q<:]P4Y<I.Ck
MPHFK3.;XRHK-40/!"A:677^!X >]K0Z6B1?G.<O OXJA3IB'K#]?]4"=>YO;j
MFO$;9W7>5Z5QC@C#!$DO/,,Y-'*V,R0OK1M) YH-@NZCF-E7Z""[#G9%6S2Di
M,>UH3C\$!/JB])WWW.9,ZVO3C,9T1&@ 9E$3NLR^XFKI3M=>"?O8U8=^"A2,h
MS.:7L?;1_.5+1&(0R#SCF5ZXSG)CINW?4():(\?.=7S5F;:U,1N_SFXUNALSg
M9VKSMKNTQ3.\OZOG9K/[+-T.-+C[B&Q$*]J]0V,S\YXM\'V^FMJROG:]\3MPf
M;H/2VZ%^L[C/#+9SJW3@ZKZXP=M=Y]2N%L\>!U.VK9SI[3Y<WP _LHI!B<JAe
M#7K,I4[VJ6.W;( C6^*K[C2LJUUI6O=YYR.O]:[]R^8+JW/4(/Q? EI^U# Dd
M=8NF?*PJ?XJ1"*'@=OB:XP-OIUD6,O"%!E0@9X%X0N<9(0E[>Z 9PJ<^W8TAc
MA/=SG_3:G@#WT8%Y]Z.?_>CN/K@#T,<H6#MK<4.HI=[.+"*0@R>ODVPG5($)b
M3"BV(25)AT2*8 A[B0QPWE!X0)5@#H9JL2I7X@).BL L6 >E*.F @A:8_)3 a
M,\,<5)/(M2.^!(;!/0ATSWLRF-XL)B@Z 7T4_'6[ ?@%OW+Q<XY\AL-WJ.6Uz
M)(G-4 :L!!X.[ 5!(65/^^O?/O?@WSWX?P\"$[Q]^,"W._. K_?2I#\\H7D_y
MAT'98@$//C1+1&*"$\S:&#=8B!/48WUT?M<39/YG8<-G9$ZV8BZG9":F?0"Gx
M8"W!!NLR!E>7!@]E?204'TC$7@]W@#J$0/>G0E(D82#X8*P% P_G8R%08#=Dw
M9"Z(1/VW@GTD0_D'&$9F@P:&1#*&@C#V@5$D@S\8@3)68"GX@3*F@T=(A/]Gv
M='GA=T/3<N;#6A-8@1>8@8FT@1SF7TBW0W;0?T6(?RMD/D/F@[V59"0&@@5Vu
M8FHHACB&A@*6A#/$AG((&&4X1&_H7B"HA$<'2DAG=ZRE?OODAT/6?N E%UXVt
MAD@7<R @=Z%!B&/F/X;6B#DS?,[3<F8 ,CE3!M<7=1P3$-RGQ/T" 3,3  #(s
M"@  V13-NSU&%0X  &L(   !            ='5R:6YG+F1O8P"9"@H ?V4Pr
M             $ I(R@  *F@23,'Q DZ=>2D<7/F! @X<MZ<D1.F#8@[80K>q
M44B'3ADW(,3D 3'%HYV/(*BX -%DS! V"<N "$,'!!TT,JNX27-2SIPT=$:^p
M,:/ 29D[()!4A#-GH)PR+$#$R($CQTH026H^A5AFSD<Z!</8O/.F!9DT;3[^o
M?.,F#!N;"1>> =$FS)B!;F3>&7A701VO!6_*G#/F*<J,-G$:I!,&3AF'9M[(n
M22P3HD2*;:Y*27,&34TW;^Y$%?PPXL2*(/YV52 63AH\9=X^G?,&)ITT;$$,m
M!3%#!@PLOF%<!(H&! T08VI+GG.UB62989X^?#/GIQ@V4$/6J7F3X,6,"DB+l
MZ5KS[ILT8V1&GDR:3)F3;-[ 2>NFYIP\<SQF5J!@#TDJ(/2T%D@QV("<<C[Qk
MYAMP, @7'U*S175<<O$E: ,-OP5'5QED@! A"#(<6.$<"ESX&X;"#=29AUVMj
M)%!EIF$VTW9OU'7;&&ZQ,9)['LG1QD*!*39&0D_5QR)MMN$&4A_\4?%&:EXMi
M%A=#)T25QQMUV)2'8R LI -_"0SA UP*,03"%B"8D09V;:4%0A=-*J8FFQ7)h
MY!UI;<JTFUASRG0330?6%P:0,X' !D$U[59#"PC!@=T<447&QH-RA2=G;92:g
M*4<=CWZI !,+R12##BD-5-"A>07*&*&D+014&FX%>M9M;!6T$&5I8AJ:7+GZf
M2-.7"4Q!11!4% $"$TDX8>P03S!111-.@$!$$E(4,00523P1+;-,/"&% GN5e
M\12PPA)K; LMD,28'+>9F1]-92B0P+')GIMN2=&U.Q>J\8+@[[\@</MLM.BJd
MFR^O%-;1AAL* #QMM==F2_"]Z^H+PEE/C4$KPV$VZRT(!>/+[G0_;=QED-Y1c
M*!E_04RJFV"3\6LK2*3U.9-T[WK4I1OY;:JQDLSY^^)(\;VQAJ%IK.&GJ>0.b
M6VS 'DL! A1!) O@P]9BJRT(1SQ!Q1/@XC2NO.4^7? 5: ":\])=V<DS'3YOa
M7- 93RXD+[<?GYUV>0A>!)UT1:_!ZWHV/4G&D]V1F #55H.<+MJ JCS9X7Y_z
M9R0=3\(Q:'T-_XMUQ%OK#2C&9?R<&^5WR$2WO%Q[_83C($!>TYV*Y86'?8SIy
MG#H(=!?.7Q([W18KZ:;S?',9P J75AC&[S[>&;?2S2OFN&(.AVYFX$J886Y$x
M)1D(54 A;XC+-R_3\]&?9R;UI"G46:+9D[9]&1]Y/YD41U A[W'E:W1^&= #w
MB?36ASC%B.$-':D1]K17&/IU3S>3(<(3KN $>1FH?Y5#GP#5-Q?V*08[9H ?v
M [EGOV,907\*^)S6G#"%PM'E#2<!5@R45P;F!28A(&%"$4XX$S=TJ TPU%.Ju
MYJ"Y]/0*(W(@P_AH:$,R@40*23@"$@#$O!\&43=#+*)Z)(-$)29@!DPT'A!/t
M@L7!:!$$1O#6%8(@!2+L+XP%*5<6+B(VO?PM7@FH 1Q!((0@#&$)X2LC"(AHs
MEW@I &]2F$+R-M1$(3#!CTM(0 )0\*(H_>A]( !-3<:#*[L@)%:24UP,&&F\r
M(U2K"$Z0Y,4(XJ@PY(%#5TG"*LG@AH. (&UD%(OD7AB\E26 ?#4TGB.K4 15q
M?D\L3S&#N#YBQ+JXH0YNB0IML#++6M9D#:"Y@[QF0,J"5(L(JB2-)Z'YEE Np
MD#1V<$L=6I0"_I2M"(KT5Q:P=+$RJ"E5@O'*59 0FO>(BR[,VU$:S*#,(GU&o
M8>-)T)6RA$NW489U:O()WV"RL 4^LPT)M5609'(6@B[32!=-Z +75I"%WC(,n
M)W$!ZXSPO1I&:3=/"<-9&&(E>E[2,\-IB@LG@J7KK6UG/:M#\117N#.4 691m
M$<-V*+.C)VGRI&2D'B=Y6@?'="AQW\F#2OOSGP"):T @X^63GA*'.J1A-B_$l
M6>ZZTJN=]8@\O*K+74(UAQ ,DGY=54 9\+"41X& 20H( DCVVE<]98]Y.X/#k
M4FWF'<1(ZD%S\)1P9CA9&PCGL@JXK%2D@MG)@D XOOELG+QCLSFXTG^#K-A,j
M< >OST:%7YR%05025M$"R79GKQK>64NW,05X)WQ1J2)NA5?.OGG'D9"\RHONi
MFAP?(FV(1PT+2( $-Z&:;#T*^.EM]X*>XI@6/Z3"2O9VYQ69(/>/4=F=YA92h
M$U,6 951Z9T.>2C<IR!$#C1[0W;7^EGE*J8[27SN8*+;0P2*#:C5+5Y;M9M>g
MOGCWM%]*PG@'+!/WPK=RZS72>9<0WR=!48I4=*Y]<>A"[6XU""'\YU?$-3W%f
M6.8T;1C-?Z<T%[GB12]K>LN[1D8&BMR!5V' 2!Y8X)?ZK*E+LYM9H7XJ7!RYe
MX:F4"VAW&!++FOS898(!27[D$USG8@0H"B"<2:DWD)H$% 1*&PD=?IR>+G?Hd
MRF_),HON"Y(Q/TF"4]BJA$%@TA_KE'I;OEZ/@\RK6Y'F1V0@ W86B,PZ/% -c
M?ZE)F7LXDKM$QY/B4JE O /GAX1!-;@:](^I++0G-;==ZXS*I$ES CDX),TEb
MI-Y>@:)J,)_9P/],\TK\DQO2",NK/E'2+8%BD#@XA'IEI36E7W;@-+MP-@J3a
M21_T3#-3K3)CF)/#D"F#,S1@B0T=XN1-#,/L?_8)4B H A:"T 0HZ# &45$Wz
MN]U=!!FPQKG%DD(3DE L_Y9A)-$93&'3M":V_JD\B.7DID#RXYM(J4P-<:%Ey
MR"#4>-'&35SIR$CR JC3P($O!3D+$=EP6N460=_\+D)\>7(80[%E+A_!THINx
MDY;PC-7149EXQ3<:$O+H9CN*%2%IQDV_X&HTDPA$3QBNHYZ(6$0P"M#@3LRTw
MF_8Y>M>Z84I49!F?_*3DY/LN5E*7"K>-UQ!S,K K8)5"1B,X.@1P!X%_9)D>v
M=FU.1[-4NP(" MRGQ/T"                                        u
5                         /R#t
 s
end