1000  COM Q[100,3],I$[72],S$[37],Q,T,F,F1
1001  REM  ****  HP BASIC PROGRAM LIBRARY  ************************
1002  REM
1003  REM         tm:  turing machine simulator (tm, part 1 of 5)
1004  REM
1005  REM         36743 rev a -- 10/73
1006  REM
1007  REM  ****  CONTRIBUTED PROGRAM  ********************************
1010  FILES TQUIN
2000  REM.....
2010  REM.....TURING MACHINE
2020  REM.....
2030  REM.....MAIN CONTROL
2040  REM.....
2050  Q=100
2060  T=99
2070  F1=0
2080  S$="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ$"
2090  READ #1,1
2100  IF TYP(1)#3 THEN 2160
2110  MAT Q=ZER
2120  FOR I=1 TO Q
2130  Q[I,3]=-1
2140  NEXT I
2150  GOTO 2170
2160  MAT  READ #1;Q
2170  PRINT '13'10"TMC";
2180  INPUT I$
2190  IF I$="ERASE" THEN 2410
2200  IF I$="ER" THEN 2410
2210  IF I$="NEWTAPE" THEN 2430
2220  IF I$="NT" THEN 2430
2230  IF I$="TAPE" THEN 2450
2240  IF I$="TA" THEN 2450
2250  IF I$="QUINTUPLES" THEN 2470
2260  IF I$="QU" THEN 2470
2270  IF I$="LISTTAPE" THEN 2490
2280  IF I$="LT" THEN 2490
2290  IF I$="LIST" THEN 2510
2300  IF I$="LQ" THEN 2510
2310  IF I$="PUNCH" THEN 2530
2320  IF I$="PU" THEN 2530
2330  IF I$="RUN" THEN 2550
2340  IF I$="RU" THEN 2550
2350  IF I$="NORUN" THEN 2570
2360  IF I$="NR" THEN 2570
2370  IF I$="FASTRUN" THEN 2590
2380  IF I$="FR" THEN 2590
2390  PRINT '7'7'7"GOOF"
2400  GOTO 2090
2410  F=1
2420  GOTO 2440
2430  F=2
2440  CHAIN "TMZNEW"
2450  F=1
2460  GOTO 2480
2470  F=2
2480  CHAIN "TMZIN"
2490  F=1
2500  GOTO 2540
2510  F=2
2520  GOTO 2540
2530  F=3
2540  CHAIN "TMZLST"
2550  F=1
2560  GOTO 2600
2570  F=2
2580  GOTO 2600
2590  F=3
2600  CHAIN "TMZRUN"
2610  END 
