1 GOTO 10000
10 CLEAR 5000:DIM SN$(100):GOTO 90
11 Z=(32-LEN(ZT$))/2:PRINT TAB(Z)ZT$:RETURN
17 IF ZS*60>TIMER THEN 17 ELSE RETURN
18 PRINT"****TO PROCEED TOUCH ANY KEY****"
19 Z$=INKEY$:IF Z$<>"" THEN RETURN ELSE 19
20 PRINT"TO SET TAPE RECORDER AND        POSITION TAPE TO SAVE OR LOAD,  PRESS ANY KEY FOR MOTORON ON ANDTHEN ANY KEY FOR MOTOROFF"
21 Z1$=Z$:GOSUB 19
22 AUDIOON:MOTORON:GOSUB 19:MOTOROFF:Z$=Z1$:RETURN
30 CLS:ZT$="MENU":GOSUB 11:ZT$="PRESS <KEY> INDICATED":GOSUB 11:PRINT:PRINT"<1ST DIGIT OF CHECK#> THEN        REMAINING DIGITS AFTER '?' TO   START  NEW CHECK SEQUENCE":PRINT"<ENTER> FOR NEXT CHECK# IN         SEQUENCE AUTOMATICALLY"
35 PRINT"<D> FOR DEPOSIT":PRINT"<A> FOR ADJUSTMENT":PRINT"<V> FOR VOIDED CHECK":PRINT"<R> FOR REVIEW AND EDIT":PRINT"<F> FOR LOAD OR SAVE FILE":PRINT"<M> FOR MENU";:RETURN
90 CLS:PRINT:PRINT"PRESS <F> IF TAPE FILE ELSE ANY KEY":GOSUB 19:IF Z$="F" THEN Z$="I":GOSUB 20:PRINT:PRINT"SET RECORDER TO PLAY & PRESS ANYKEY":GOSUB 19:GOTO 950
95 GOSUB 410:PRINT,"ENTER INITIAL DATE AND BALANCE":CK$="BAL":GOSUB 415:GOSUB 530:PRINT,"";:LINE INPUT BA$:GOSUB 430:GOSUB 435:GOSUB 440:N=N+1:GOSUB 620:GOSUB 30:GOSUB 19:CK=VAL(Z$):CLS:BA=VAL(BA$):CLS:GOSUB 410:GOTO 120
100 GOSUB 30:GOSUB 19:CLS:FG=0:CK=VAL(Z$):GOSUB 410:GOTO 120
110 IF E=1 THEN 720
115 GOSUB 410:LINE INPUT Z$:CK=VAL(Z$)
120 IF Z$="" THEN 200 ELSE Z=ASC(Z$):IF Z=13 THEN 200
125 CK=VAL(Z$):IF CK>0 THEN 200
130 IF Z$="D" THEN 250
140 IF Z$="A" THEN 300
150 IF Z$="V" THEN 350
160 IF Z$="R" THEN 700
170 IF Z$="M" THEN 100
180 IF Z$="F" THEN 850 ELSE 110
200 'ENTER CHECK
205 IF CK=0 THEN 240 ELSE CK$=Z$:PRINT,Z$;
210 LINE INPUT Z$:CK$=CK$+Z$:CK=VAL(CK$)
215 CH$=CK$:GOSUB 415
220 GOSUB 530:GOSUB 560:GOSUB 590:LINE INPUT Z$:IF Z$="T" THEN TD$=Z$ ELSE TD$=""
230 GOSUB 435:GOSUB 440:N=N+1:K=N:GOSUB 620:GOTO 110
240 CK$=STR$(VAL(CH$)+1):CH$=CK$:CK=VAL(CK$):GOSUB 416:GOTO 220
250 'ENTER DEPOSIT
260 CK$="DEP":GOSUB 415:GOSUB 530:GOSUB 560:GOSUB 270:GOSUB 590:GOSUB 270:TD$="  ":GOTO 230
270 QN$=STR$(-VAL(QN$)):RETURN
300 'ENTER ADJUSTMENT
310 CK$="ADJ":GOSUB 415:GOSUB 530:GOSUB 560:GOSUB 270:GOSUB 590:GOSUB 270:TD$="  ":GOTO 230
350 'VOID CHECK
360 LINE INPUT Z$:IF Z$="" THEN CK$=STR$(VAL(CH$)+1) ELSE CK$=Z$
370 GOSUB 415:GOSUB 530:QN$="VOID":GOSUB 425:TD$="  ":CH$=CK$:GOTO 230
400 'SCREEN FORMAT SUBS
410 PRINT:PRINT:PRINT:PRINT,"CHECK# DATE AMOUNT  BALANCE TAXD":PRINT:PRINT,"":RETURN
415 PRINT,CK$+"  ":PRINT,"";:RETURN
416 PRINT,CK$+"  ":PRINT,"";:RETURN
420 PRINT,DA$+"  ":PRINT,"";:RETURN
425 PRINT,"";:PRINT USING"$$####.##";VAL(QN$):PRINT,"";:RETURN
430 PRINT,"";:PRINT USING"$$####.##";VAL(BA$):PRINT,"";:RETURN
435 PRINT,TD$+"  ":PRINT,"NOTE: ";:RETURN
440 PY$="":LINE INPUT PY$:RETURN
530 'DATE SUB
540 LINE INPUT Z$:IF Z$="" THEN GOSUB 420:RETURN
550 DA$=Z$:GOSUB 420:RETURN
560 'AMT SUB
570 LINE INPUT Z$:IF Z$="" THEN GOSUB 425:RETURN
580 QN$=Z$:GOSUB 425:RETURN
590 'BALANCE SUB
600 BA=BA-VAL(QN$)
610 BA$=STR$(BA):GOSUB 430:RETURN
620 'STRING ASSEMBLY
630 SN$(K)=CK$+"$"+DA$+"$"+QN$+"$"+BA$+"$"+TD$+"$"+PY$:RETURN
650 IFSN$(K)="" THEN RETURN:'STRING DISASSEMBLY********
660 LS=LEN(SN$(K)):K1=0:L(0)=0:PY$=""
675 K1=K1+1:L(K1)=INSTR(L(K1-1)+1,SN$(K),"$"):IFL(K1)>0 THEN 675
680 CK$=LEFT$(SN$(K),L(1)-1):DA$=MID$(SN$(K),L(1)+1,L(2)-L(1)-1):QN$=MID$(SN$(K),L(2)+1,L(3)-L(2)-1)
690 BA$=MID$(SN$(K),L(3)+1,L(4)-L(3)-1):TD$=MID$(SN$(K),L(4)+1,L(5)-L(4)-1):IFLS>L(5) THEN PY$=MID$(SN$(K),L(5)+1,LS-L(5))ELSERETURN695 RETURN
700 'EDIT SUB
705 CLS:INPUT"STARTING CHECK #";C8:K=N:E=1:IF C8=0 THEN 705
710 K=K-1:IF K=0 THEN PRINT"CHECK # "C8" NOT IN FILE":E=0:GOTO 100
715 GOSUB650:GOSUB415:CK=VAL(CK$):IFC8<>CK THEN 710
720 GOSUB410:PRINT@32," PRESS <E> TO EDIT-":PRINT@64,"  PRESS <A> TO ADD":PRINT@96,"   PRESS <D> TO DELETE":PRINT"ANY OTHER KEY TO PROCEED":PRINT
722 GOSUB415:GOSUB420:GOSUB425:GOSUB430:GOSUB435:PRINTPY$:POKE65494,0:GOSUB19:IFZ$="E"ORZ$="A"ORZ$="D" THEN 750
725 IFVAL(CK$)>0 THEN CH$=CK$
730 IFK=N THEN PRINT"THIS IS LAST ENTRY IN FILE":BA=VAL(BA$):GOSUB18:E=0:GOTO100
740 K=K+1:GOSUB650:GOTO720
750 GOSUB410:CK=VAL(Z$):IFCK>0ORZ$="E" THEN 820
760 POKE65495,0:IFZ$="A" THEN 800
770 IFZ$<>"D" THEN PRINT"INVALID ENTRY":GOTO720
780 JK=K:N=N-1:K=K-1:GOSUB650:BA=VAL(BA$):QN$=""
790 SN$(JK)=SN$(JK+1):JK=JK+1:IFJK<N THEN 790ELSEJ=K:GOTO1060
795 K=K-1:J=K:GOTO1060
800 N=N+1:K=K+1:JK=N:BA=VAL(BA$):CK=VAL(CK$)
810 SN$(JK)=SN$(JK-1):JK=JK-1:IFJK>K THEN 810ELSEGOSUB410:POKE65494,0:LINEINPUTCK$:GOSUB415:GOSUB530:GOSUB560:CK=VAL(CK$):IFCK>0 THEN BA=(BA-VAL(QN$))ELSEBA=(BA+VAL(QN$))
815 BA$=STR$(BA):GOSUB430:LINEINPUTZ$:IFZ$="T" THEN TD$="T"
817 GOSUB435:LINEINPUTPY$:GOSUB620:GOSUB660:BA=VAL(BA$):J=K:GOTO1060
820 IFVAL(CK$)>0 THEN BA=(VAL(BA$)+VAL(QN$)):GOTO1020
830 BA=VAL(BA$)-VAL(QN$):GOTO1020
850 'FILE SUB
855 CLS:PRINT:PRINT"KEY IN <I> TO INPUT FROM TAPE         (O) TO OUTPUT TO TAPE":GOSUB19:GOSUB20:CLS:PRINT:IFZ$="I" THEN PRINT"SET RECORDER TO PLAY & PRESS ANYKEY":GOSUB19:GOTO950
860 IFZ$="O" THEN PRINT"SET RECORDER TO RECORD & PRESS  ANY KEY":GOSUB19
870 CLS:PRINT:PRINT"ENTER START-MONTH AND END-MONTH":PRINT:PRINT"ALL TRANSACTIONS IN THESE MONTHSWILL BE RECORDED"
880 INPUT"START-MONTH NUMBER ";SM$:INPUT"END-MONTH NUMBER ";EM$:INPUT"YEAR ";YR$:IFEM$=SM$ THEN NF$=SM$+"/"+YR$ELSENF$=SM$+"-"+EM$+"/"+YR$
885 PRINT:PRINT:PRINT"PLEASE WRITE DOWN FILE NAME":PRINT:PRINT"    "NF$:GOSUB18:EM=VAL(EM$):SM=VAL(SM$):JK=0
890 OPEN"O",-1,NF$:KJ=0:JK=JK+1
900 KJ=KJ+1:GOSUB650:DA=VAL(LEFT$(DA$,2)):IFDA<SM THEN 900
904 IFKJ>N THEN 910
906 IFDA>EM THEN 910ELSE930
910 CLOSE-1:IFJK=1 THEN MOTORON:FORKJ=1TO1000:NEXT:GOTO890
920 IFJK=2 THEN CLS:CLOSE-1:PRINT"PRESS <Y> TO SAVE FILE TO BACKUPTAPE":GOSUB19:JK=0:IFZ$="Y" THEN 940ELSE100
930 PRINT#-1,SN$(KJ):GOTO900
940 GOSUB20:CLS:PRINT"SET RECORDER TO RECORD & PRESS  ANY KEY":GOSUB19:GOTO890
950 PRINT:INPUT"ENTER FILE NAME";NF$:OPEN"I",-1,NF$:N=0
960 IFEOF(-1) THEN 980ELSEN=N+1
970 INPUT#-1,SN$(N):GOTO960
980 CLOSE-1:PRINT"PRESS <R> TO REVIEW, ANY OTHER  KEY TO ADD ENTRIES":GOSUB19:IFZ$="R" THEN CLS:K=1:E=1:GOTO720
1000 'ENTRY EDIT*********
1010 IFCK>0 THEN CK$=Z$
1015 CK=VAL(CK$)
1020 GOSUB410:PRINT@33,"IN EDIT MODE":GOSUB415:GOSUB530:GOSUB560:QN=VAL(QN$):IFVAL(CK$)>0 THEN BA=(BA-QN)ELSEBA=(BA+QN)
1030 BA$=STR$(BA):GOSUB430:LINEINPUTZ$:IFZ$="T" THEN TD$="T"
1040 GOSUB435:LINEINPUTZ$:IFZ$<>"" THEN PY$=Z$
1050 GOSUB620:GOSUB660:IFQO$=QN$ THEN 740
1055 BA=VAL(BA$):J=K
1060 POKE65495,0'STRINGS BALANCE CORRECTION*********
1070 K=K+1:GOSUB 650:QN=VAL(QN$):IF VAL(CK$)>0 THEN BA=(BA-QN) ELSE BA=(BA+QN):POKE65494,0
1080 BA$=STR$(BA):GOSUB 620:IF K<N THEN 1070
1090 K=J:GOSUB 650:GOTO 720
10000 GOTO 10
(BA-QN) ELSE BA=(BA+QN):POKE65494,0
1080 BA$=STR$(BA):GOSUB 620:IF K<N 