10 POKE56,30:CLR:POKE251,0
20 MC=03712:SP=7680
30 SYSMC:POKE53265,27
900 DATA3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3
910 DATA2,2,2,2,2,2,2
920 DATA1,1,1,1,1,1
930 DATA0,0,0,0,0
940 DATA3,3,3,3,3
950 FORI=0TO39:READA:POKESP+I,A:NEXT
960 OPEN1,8,15:OPEN2,0
1000 PRINT""TAB(13)"
1010 PRINTTAB(10)"
1020 PRINT"
1030 PRINT"
1040 PRINT"
1050 PRINT"
1060 WAIT198,1:GETA$
1070 IFA$<>""THEN1220
1080 PRINT"";
1090 PRINT""
1100 FORI=0TO39:A$=MID$(STR$(PEEK(SP+I)),2):PRINTA$;:NEXT:I=0
1110 A$=MID$(STR$(PEEK( SP+I)),2):
1120 PRINT:PRINT""TAB(I)A$"";
1130 WAIT198,1:GETB$
1140 IFB$<>""ORI>38THEN1160
1150 PRINTA$;:I=I+1:GOTO1110
1160 IFB$<>""ORI<1THEN1180
1170 PRINTA$;:I=I−1:GOTO1110
1180 IFB$>""ORB$<""THEN1200
1190 A$=B$:PRINTB$"";:POKE SP+I,VAL(B$):B$="":GOTO1140
1200 IFB$=CHR$(13)THEN1000
1210 GOTO1130
1220 IFA$<>""ANDA$<>""THEN1350
1230 PRINT"
1240 PRINT"
1250 PRINT"
1260 PRINT"
1265 A=PEEK(251):IFA>127THENA=A−256
1270 PRINT""A:PRINT"";:INPUT#2,X$:X=VAL(X$)
1280 IFABS(X)>127 THEN1230
1290 IFX<0THENX=256+X
1300 POKE251,X:GOTO1000
1350 PRINT"";:INPUT#2,FT$:PRINT
1355 FT=VAL(FT$):IFFT<1ORFT>40THEN1350
1360 PRINT"";:INPUT#2,LT$:PRINT
1370 LT=VAL(LT$)
1380 IFLT<1ORLT>40ORFT>LTTHEN1350
1390 PRINT""
1400 WAIT198,1:GETX$
1410 SYSMC+3
1420 AN=0:GOTO1450
1430 AN=0:PRINT""
1440 WAIT198,1:GETX$
1450 PRINT""FT:POKE252,FT:POKE253,32+32*AN:SYSMC+6
1460 FT=FT+1:AN=AN+1
1470 IF(FT<=LT)AND(AN<5)THEN1450
1480 PRINT"":WAIT198,1:GETX$
1490 J=0:FORI=FT−ANTOFT−1
1500 PRINT""I:POKE252,I:POKE253,32+32*J:SYSMC+9
1510 J=J+1:NEXT
1520 IFFT<=LT THEN1430
1530 GOTO1000
READY.