home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
genie-commodore-file-library
/
C128Software
/
LABELER+_S
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2019-04-13
|
18KB
|
503 lines
0 X$="XX":FORI=.TO3:X$=X$+X$:NEXT
1 X$=X$+"XXXXXXX":GOTO1502
2 *********************************
3 * THE DISK LABELER+/SP1000 *
4 * BY FRED LAYBERGER--NOV 1986 *
5 * SEIKOSHA MODIFICATIONS *
6 * BY JUDY TOLAR--OCT 1986 *
7 * OKAY TO USE BUT NOT TO SELL *
8 *********************************
10 PRINT"[147]"CY$S2$BL$R$S1$:POKE53281,11
11 GOSUB60:Y=24:X=.:GOSUB20:PRINTBL$S1$CY$S3$;:POKE2023,160:POKE56295,3:RETURN
20 PRINTLEFT$("",Y)TAB(X);:RETURN
30 GOSUB47:Y=24:X=47:GOSUB20:PRINTR$CY$" PRESS ' ^ ' TO RETURN ";:I$=""
31 Y=24:X=20-LEN(P$)/2:GOSUB20:PRINTW$P$;:FORI=1TO200:NEXT
32 A=A+1AND1:POKE199,A:GETI$:IFI$=""THEN31
33 RETURN
45 Y=24:X=.:GOSUB20:PRINTBL$S3$R$" "O$;
46 Y=24:X=20-LEN(P$)/2:GOSUB20:PRINTP$;:RETURN
47 Y=24:X=40:GOSUB20:PRINTCY$S3$W$;:RETURN
48 GOSUB60:GOSUB45:GOSUB47:RETURN
50 Y=22:X=8:GOSUB20:PRINTR$W$"INSERT "P$" DISKETTE ";:RETURN
60 Y=3:X=.:GOSUB20:FORI=3TO23:PRINT"[155] [146]"
61 NEXT:RETURN
75 POKE808,225:A1=PEEK(55):A2=PEEK(56):POKE55,PEEK(51):POKE56,PEEK(52):RETURN
77 A=FRE(.):POKE55,A1:POKE56,A2:POKE808,237:IFA=>3000THENRETURN
80 Y=10:X=11:GOSUB20:PRINT"[158]PROGRAM MAY PAUSE"
81 Y=11:X=9:GOSUB20:PRINT"[158]FOR GARBAGE COLLECTION":Z=FRE(.)
82 Y=10:X=11:GOSUB20:PRINT"[155] "
84 Y=11:X=9:GOSUB20:PRINT"[155] ":RETURN
90 REM ** ERR HANDLING
91 INPUT#15,ER,ER$,T,S:RETURN
92 GOSUB60:Y=22:X=9:GOSUB20:POKE53281,2:PRINTER;ER$;T;S:P$=S6$:GOSUB30:RETURN
93 P$=P1$:GOSUB48:CLOSE15:OPEN15,DD,15,"I"+MID$(STR$(DR),2,1)+":":GOSUB91:RETURN
94 GOSUB92:X=PEEK(152):FORI=1TOX:CLOSEPEEK(601):NEXT:RETURN
100 REM ** CHANGE
102 Y=24:X=47:GOSUB20:PRINTR$CY$"PRESS 'RETURN' TO CONTINUE";:IFUTHENRETURN
104 X=21-LEN(P$):GOSUB20:PRINTW$P$;:Y=24:X=21
106 GOSUB75
108 A$=J$+RIGHT$(A$,J-I):GOSUB20:PRINTR$A$;:GOSUB20:PRINTR$J$;:IFI<JTHENPRINT"[166]";
110 WAIT198,1:GETI$:POKE198,.:IFI$=CHR$(13)THEN134
112 IFI$=CHR$(19)ORI$=CHR$(34)ORI$=""ORI$=CHR$(131)ORI$=CHR$(147)ORI$=CHR$(141)THEN108
114 IFI<=1THENIFI$=CHR$(20)ORI$=CHR$(157)THENI=.:J$="":GOTO108
116 IFI$=CHR$(29)ANDI<JTHENI=I+1:J$=LEFT$(A$,I):GOTO108
118 IFI$=CHR$(148)THEN108
120 IFI$=CHR$(20)ORI$=CHR$(157)THENJ$=LEFT$(J$,LEN(J$)-1):I=I-1:GOTO108
122 IFI$=CHR$(17)THENPRINT"[145]":J$=LEFT$(J$,LEN(J$)):GOTO108
124 IFI$=CHR$(145)THENPRINT"[145]":J$=LEFT$(J$,LEN(J$)):GOTO108
126 IFKTHENIFI$="*"THEN130
128 IFSL<>1THENIFI$="*"THENJ=I+1:GOTO132
130 IFI=JTHENIFI$<>CHR$(13)THEN108
132 J$=J$+I$:I=I+1:GOTO108
134 GOSUB77:RETURN
200 REM *** PRINTER CODES
202 DEFFNR(X)=INT((IP/CL-INT(IP/CL))*CL+.5):SA=0:Z=.:IP=N
204 C3$=CHR$(14):C4$=CHR$(15)
206 H1$=E$+CHR$(120)+CHR$(0):H2$=E$+CHR$(120)+CHR$(1)
208 T1$=E$+"S"+CHR$(1)+E$+"3"+CHR$(18):T2$=E$+"T"+E$+"3"+CHR$(36)
210 A=2:ONPCGOTO212,214,216,218,220,221,222,224,226,228,230,232,234
212 E=1:B=.:C=1:D=.:CL=3:PL=1:RETURN
214 E=1:B=2:C=.:D=1:CL=3:PL=10:RETURN
216 E=1:B=2:C=.:D=1:CL=3:PL=16:RETURN
218 E=1:B=2:C=2:D=9:CL=3:PL=16:RETURN
220 E=8:B=4:C=.:D=1:CL=4:PL=28:RETURN
221 A=10:E=6:B=2:C=.:D=1:CL=3:PL=34:RETURN
222 E=1:B=2:C=.:D=1:CL=3:PL=14:RETURN
224 E=7:B=1:C=.:D=2:CL=4:PL=22:RETURN
226 E=7:B=1:C=.:D=1:CL=4:PL=28:RETURN
228 E=10:B=4:C=1:D=3:CL=4:PL=36:RETURN
230 E=19:B=8:C=1:D=1:CL=5:PL=30:GOTO238
232 E=19:B=8:C=1:D=1:CL=5:PL=30:T1$=E$+"G":T2$=E$+"H":GOTO238
234 A=2:E=19:B=6:C=1:D=1:CL=3:PL=48:P$=" * * * * * * * * * *"
236 SA=.:T1$=E$+CHR$(120)+CHR$(0):T2$=E$+CHR$(120)+CHR$(1)
238 X=INT(IP/CL):R=FNR(X):IFR>.THENIFR<=CLTHENX=X+1
240 RETURN
300 REM *** Y/N
302 U=3:Y=20:X=17-LEN(P$)/2:GOSUB20:PRINTP$:X=X+LEN(P$)+2
304 GOSUB20:PRINTW$"NO ":Y=Y+1:GOSUB20:PRINTR$"YES"
306 GOSUB952:IFI$="^"THENRETURN
308 I$="N":IFC=1THENI$="Y":POKES+B,160
310 RETURN
400 REM ** LOAD FILES
402 F$=":\*":U=1:GOSUB602:IFERTHENN=.:GOSUB430:RETURN
404 IFI$<>"^"THENIFNF<.THENP$=P7$:GOSUB30:RETURN
406 F$=V$(B/40+BB):GOSUB430:IFI$="^"THENRETURN
408 GOSUB93:OPEN1,DD,.,MID$(STR$(DR),2,1)+":"+F$+",S,R"
410 GOSUB91:IFERTHEN94
412 GOSUB75:INPUT#1,N:INPUT#1,DT$:INPUT#1,ID$:INPUT#1,BK$:INPUT#1,P
414 GOSUB2060:IFMATHEND$=ID$:ID$="\\"
416 F$=D$+ID$:I$="":Y=5:X=5:GOSUB20:PRINTW$R$"LOADING..."
418 Y=6:GOSUB20:PRINTNTAB(10)DT$" "ID$
420 POKE850,76:POKE851,88:POKE852,3:POKE952,21
422 FORI=1TON:SYSDL:T$(I)=LEFT$(X$,20)
424 Y=7:GOSUB20:PRINTR$ITAB(10)T$(I):NEXT
426 GOSUB77:GOSUB91:IFERTHEN94
428 CLOSE1:BK$=RIGHT$(" "+BK$,4):RETURN
430 GOSUB75:FORI=1TONF:V$(I)="":NEXT:GOSUB77:RETURN
500 REM ** SAVE FILES
502 P$=S9$:GOSUB50:P$=S6$:GOSUB30:IFI$="^"THENRETURN
504 GOSUB93:F$="\"+LEFT$(DT$,15)
506 OPEN1,DD,8,MID$(STR$(DR),2,1)+":"+F$+",S,W"
508 GOSUB91:IFER=63THENP$=S5$:GOTO528
510 IFERTHEN94
512 Y=5:X=5:GOSUB20:PRINTW$R$"SAVING"N"[157] PROGRAMS"
514 GOSUB2060:IFMATHENID$=D$
516 PRINT#1,N:PRINT#1,DT$:PRINT#1,ID$:PRINT#1,BK$:PRINT#1,P
518 GOSUB2060:IFMATHENID$="\\"
520 FORI=1TON:PRINT#1,T$(I)
522 Y=7:GOSUB20:PRINTI;TAB(10)T$(I)
524 NEXT:GOSUB91:IFERTHEN94
526 CLOSE1:U=10:RETURN
528 CLOSE1:GOSUB48:GETI$
530 IFI$="Y"THENP$=P1$:GOSUB45:PRINT#15,"S"+MID$(STR$(DR),2,1)+":"+F$:GOTO504
532 IFI$<>"N"THEN528
534 Y=2:X=60-LEN(H$)/2:GOSUB20:PRINTR$W$H$;:RETURN
600 REM ** READ DIRECTORY
602 IFN<1THEN616
604 Y=10:X=12:GOSUB20:PRINTR$"[158]CAUTION..."W$
606 PRINTR$"ENTRIES CURRENTLY IN THE "
608 PRINTR$"COMPUTER'S MEMORY ARE LOST "
610 PRINTR$"WHEN A FILE IS LOADED UNLESS"
612 PRINTR$"IT HAS BEEN SAVED PRIOR TO "
614 PRINTR$"LOADING THE NEW FILE. "
616 P$=S8$:IFU>.THENP$=S9$
618 GOSUB50:P$=S6$:GOSUB30:IFI$="^"THENRETURN
620 IFU>.THENGOSUB93:GOTO624
622 P$=P1$:GOSUB48:CLOSE15:OPEN15,SD,15,"I"+MID$(STR$(SR),2,1)+":":P$=S8$
624 POKE850,32:POKE851,228:POKE852,255:POKE952,29
626 IFU>.THENOPEN1,DD,.,"$"+MID$(STR$(DR),2,1)+F$:GOTO630
628 OPEN1,SD,.,"$"+MID$(STR$(SR),2,1)+F$
630 GOSUB91:IFERTHEN94
632 IFN>1THENGOSUB75:FORI=.TON:T$(I)="":NEXT:GOSUB77:N=.:Z=FRE(.)
634 SYSDL:DT$=MID$(X$,7,16):ID$=MID$(X$,25,2)
636 H$=DT$+ID$:GOSUB534
638 REM ** SYS DIR READ
640 NF=-1:POKE850,76:POKE851,100:POKE852,3:POKE952,24:GOSUB75
642 SYSDL:B$=LEFT$(X$,1):C$=MID$(X$,2,1):S$=STR$(ASC(C$)*256+ASC(B$))
644 S$=RIGHT$(" "+S$,4):IFSTTHEN652
646 Y=5:X=9:GOSUB20:PRINTW$R$MID$(X$,3,19)S$
648 NF=NF+1:V$(NF)=MID$(X$,3,16)+MID$(X$,20,2)+S$
650 GOTO642
652 GOSUB77:GOSUB91:IFERTHEN94
654 BK$=S$:IFI$="^"THENN=.
656 CLOSE1:IFNF<.THENRETURN
658 H$=H$+BK$+" BKS FREE":GOSUB534
700 REM ** FILE SELECTION
702 GOSUB60:PRINTP4$P5$;:IFU=1THENY=25:X=.:GOSUB20:PRINT S0$;
704 S=1145:B=.:FORK=.TONFSTEP38
706 Y=4:X=2:FORJ=.TO18
708 SL=13:X=2:GOSUB766:Y=Y+1:IFY=23THENY=4
710 PRINT:IFJ+K=NFTHENJ=37
712 NEXT:X=2
714 POKES+B,62:POKE198,.:WAIT198,1:GETI$
716 IFI$="[145]"THENB=B-40:POKES+B+40,160:IFB=-40THENPOKES+B,160:B=18*40:GOTO722
718 IFI$=""THENB=B+40:POKES+B-40,160:IFB=19*40THENPOKES+B,160:B=.:GOTO722
720 POKES+B-40,160:IFI$<>""THEN726
722 IFS=1164THENPOKES+B,160:S=S-19:X=2:GOTO726
724 IFS=1145THENPOKES+B,160:S=S+19:X=22
726 IFU=1THENIFI$="E"ORI$="^"THENK=NF:NEXT:GOSUB776:U=.:RETURN
728 IFU=2THENIFI$="^"THENK=NF:NEXT:GOSUB776:U=.:RETURN
730 IFI$="E"THEN752
732 IFI$="S"THENIFU<>1THENGOSUB774:POKES+B,160:GOTO706
734 IFI$="^"THENK=NF:NEXT:GOSUB776:RETURN
736 IFNF>37THENIFI$="N"THENGOSUB60:B=.:S=1145:NEXT:GOTO702
738 IFI$="P"THENIFK>.THENK=K-38:B=.:S=1145:GOSUB60:GOTO706
740 IFI$<>CHR$(13)THEN714
742 BB=K:POKE198,.:Y=B/40+4:GOSUB20:IFS=1164THENBB=K+19:X=21
744 IFU=1THENIFV$(B/40+BB)>""THENRETURN
746 IFX(B/40+BB)=1THENX(B/40+BB)=.:PRINTO$;:GOTO750
748 IFX(B/40+BB)=.THENX(B/40+BB)=1:PRINTR$;
750 GOSUB20:GOSUB764:PRINT:GOTO714
752 P$=W$+P2$:GOSUB45:GOSUB47:GETI$:IFI$="Y"THENU=9:GOTO758
754 IFI$<>"N"THEN752
756 Y=24:X=.:GOSUB20:PRINTP4$P5$;:X=2:Y=Y-1:GOTO714
758 GOSUB75:P$=P1$:GOSUB48
760 N=1:FORI=.TONF:IFX(I)=1THENT$(N)=LEFT$(V$(I),17)+RIGHT$(V$(I),3):X(I)=.:N=N+1
762 V$(I)="":NEXT:GOSUB77:N=N-1:P=1:RETURN
764 PRINTW$LEFT$(V$(B/40+BB),SL)MID$(V$(B/40+BB),SL+4,1)RIGHT$(V$(B/40+BB),3);:RETURN
766 GOSUB20:IFX(K+J)=1THENPRINTR$;
768 PRINTW$LEFT$(V$(K+J),SL)MID$(V$(K+J),SL+4,1)RIGHT$(V$(K+J),3)O$;
770 IFX(K+J+19)=1THENPRINTR$;
772 PRINT""LEFT$(V$(K+J+19),SL)MID$(V$(K+J+19),SL+4,1)RIGHT$(V$(K+J+19),3):RETURN
774 FORI=.TONF:X(I)=X(I)+1AND1:NEXT:RETURN
776 P$=P1$:GOSUB48:FORI=.TONF:X(I)=.:V$(I)="":NEXT:RETURN
800 REM ** SORT
802 POKE1023,.:P$="SORTING"+STR$(N)+" FILES":GOSUB48:SYSML,T$(.):P=.
804 POKE1015,SD:POKE1016,DD:POKE1017,SR:POKE1018,DR:POKE1019,SA:RETURN
900 REM ** ADD/SEARCH
902 U=1:G=N+1:T$(G)=" BLANK RECORD ? 00":GOSUB918:N=N+1:RETURN
904 P$="PROGRAM NAME?":J=15:A$=" ":J$="":I=.:GOSUB102:IFJ$=""THENRETURN
906 G=1:P$=P1$:GOSUB48
908 IFRIGHT$(J$,1)="*"THENJ$=LEFT$(J$,J-1)
910 J=LEN(J$):IFJ$=LEFT$(T$(G),J)THEN918
912 G=G+1:IFG=N+1THENGOSUB60:P$="FILE NOT FOUND":GOSUB30:RETURN
914 GOTO908
916 REM ** CHANGE ROUTINE
918 P$=BL$:GOSUB48:Y=15:X=10:GOSUB20:IFJ$="D"THEN940
920 PRINTR$W$P8$:PRINTTAB(X)T$(G)
922 Y=13:X=10:GOSUB20:PRINTR$"[152]CHANGE[146]FROMTO"
924 A$=T$(G)
926 P$=BL$:GOSUB45:GOSUB47
928 U=1:J$="":I=.:GOSUB102:U=.:PRINTW$;
930 I=.:J=20:J$="":Y=17:X=10:GOSUB106:J$=A$:I$=""
932 PRINT"[158]";:P$=LEFT$(P2$,12)+"?" :GOSUB302:IFI$="N"THEN918
934 IFK=2THENIFI$="^"THENRETURN
936 IFI$="^"THENN=N-1:RETURN
938 T$(G)=J$:P=1:RETURN
940 P$=P1$:GOSUB45:GOSUB75:FORI=GTON:T$(I)=T$(I+1):NEXT:GOSUB77:N=N-1:J$="":RETURN
950 REM *** CURSOR SELECT ROUTINE
952 B=.:S=1152:Y=24:X=8:GOSUB20:PRINTW$R$".....CRSR=MOVEMENT....."SPC(9)S0$;:C=N
954 IFU=1THENB=40*G:C=14:S=1193
956 IFU=2THENC=12:S=1267:IFPCTHENB=40*(PC-1)
958 IFU=3THENC=1:S=1784+18+LEN(P$)/2
960 IFI$="D"THENJ$="D"
962 :POKES+B,62:POKE198,.
964 GETI$:IFI$=""ORI$=""THENIFB+40=760ORB/40=>CTHENPOKES+B,160:B=-40
966 IFI$=""ORI$=""THENB=B+40:POKES+B,62:POKES+B-40,160
968 IFI$="[145]"ORI$="[157]"THENIFB-40=-40THENPOKES+B,160:B=760:IFC<19THENB=C*40+40
970 IFI$="[145]"ORI$="[157]"THENPOKES+B,160:B=B-40:POKES+B,62
972 IFI$="N"ORI$="P"ORI$="E"ORI$="S"ORI$="^"THENRETURN
974 IFUTHENIFI$=CHR$(13)THENC=B/40:U=.:RETURN
976 IFI$<>CHR$(13)THEN964
978 IFN<19THENC=B/40:GOTO982
980 C=J-18+B/40:IFC<.THENC=N-ABS(C)+1
982 IFCTHENG=C:K=2:GOSUB918:C=G
984 J=C-1:IFN<19THENJ=-1
986 GOSUB10:RETURN
1000 REM ** MASTER FILE
1002 POKE53280,13:F$=":\*":U=2:GOSUB602:IFERTHENN=.
1004 IFI$="^"OR ER THENRETURN
1006 IFNF<.THENP$=P7$:GOSUB30:N=.:RETURN
1008 IFT$(1)=""THENRETURN
1010 DT$="\MASTER ":ID$="\\":MA=1
1012 I=.:FORK=1TON:OPEN1,DD,.,MID$(STR$(DR),2,1)+":"+T$(K)+",S,R"
1014 INPUT#1,J:I=I+J:CLOSE1:NEXT
1016 BK$=RIGHT$(" "+STR$(I),4):RETURN
1020 REM ** PRINT MASTER
1022 IFP=2THEN1052
1024 P$=BL$:GOSUB48:P$="SET/RESET OPTIONS?":GOSUB302:IFI$="^"THENRETURN
1026 IFI$="Y"THENGOSUB1152
1028 P$=BL$:GOSUB48:V$(.)=DT$+ID$+BK$+STR$(P):P$=P1$:GOSUB45
1030 GOSUB75:FORK=1TON:V$(K)=T$(K):T$(K)="":NEXT:GOSUB77:M=N
1032 P$=S9$:GOSUB50:P$=S6$:GOSUB30:IFI$="^"THEN1042
1034 FORK=1TOM:F$=V$(K):GOSUB408:IFERTHENK=M:GOTO1040
1036 GOSUB60:GOSUB1206:IFI$="^"THENK=M
1038 GOSUB75:FORI=1TON:T$(I)="":NEXT:GOSUB77
1040 NEXT
1042 P$=P1$:GOSUB48:DT$=LEFT$(V$(.),16):ID$=MID$(V$(.),17,2):BK$=MID$(V$(.),19,4)
1044 P=VAL(RIGHT$(V$(.),1))
1046 GOSUB75:FORK=1TOM:T$(K)=V$(K):V$(K)="":NEXT:N=M:CLOSE15:GOSUB77:RETURN
1050 REM *** PRINT/ALPHABETIZE MASTER
1052 IFVAL(BK$)<1201THEN1058
1054 P$=BL$:GOSUB48:Y=20:X=4:GOSUB20:PRINTR$"[158]TOO MANY RECORDS - 1200 MAXIMUM!"
1056 P$=S6$:GOSUB30:RETURN
1058 PRINT"[158]";:P$="HAVE YOU SAVED[153] MASTER [158]FILE?":GOSUB302:IFI$="N"ORI$="^"THENRETURN
1060 POKE1015,SD:POKE1016,DD:POKE1017,SR:POKE1018,DR:POKE1019,SA:POKE49152,.:POKE53281,15
1062 PRINT"[147]LOAD"CHR$(34)"DISK LAB.MSORT/S"CHR$(34)","DD:PRINT"RUN"
1064 PRINT"[151]";:POKE198,8:FORI=1TO7:POKE630+I,13:NEXT:STOP
1100 REM ** PRINT TO SCREEN
1102 J=-1:GOSUB60:GOSUB2060
1104 P$=DT$+ID$+STR$(N)+" PROGRAMS":IFN<1ORI$="^"THENRETURN
1106 Y=2:X=60-LEN(P$)/2:GOSUB20:PRINTW$R$P$:GOTO1116
1108 P$=P6$:G=1:IFLEFT$(DT$,3)="\MA"THENP$=MID$(P6$,19):G=.
1110 GOSUB45:GOSUB30:IFI$="^"THENRETURN
1112 IFGTHENIFI$="C"ORI$="D"THENP$=BL$:GOSUB45:GOSUB952:GOTO1104
1114 IFN<19THEN1110
1116 GOSUB60:X=.:Y=4:GOSUB20
1118 IFI$<>"P"THENJ=J+1:GOTO1122
1120 J=J-37:IFJ<.THENJ=N-ABS(J)+1:IFJ<.THENJ=.
1122 IFJ>NTHENJ=.
1124 IFJ=.THEN1132
1126 PRINTTAB(9)W$T$(J):IFN<19THENIFJ=NTHEN1108
1128 IFPEEK(214)<22THENJ=J+1:GOTO1122
1130 GOTO1108
1132 PRINTW$R$""P8$
1134 GOTO1128
1150 REM ** PRINT OPTIONS
1152 P$=BL$:GOSUB48:P$="PRINT OPTIONS":Y=4:X=13:GOSUB20:PRINTCY$P$
1154 PRINTTAB(6)"VERTICAL X HORIZONTAL SIZE"
1156 X=4:Y=7:FORI=1TO13:GOSUB20:PRINTR$W$MID$(STR$(I)+" ",2,2)O$PC$(I):Y=Y+1:NEXT
1158 U=2:GOSUB952:IFI$="^"THENRETURN
1160 PC=C+1:P$=BL$:GOSUB48
1162 P$="COMMENT/DATE/ETC...":J=17:A$=LEFT$(" ",J-LEN(D$))
1164 GOSUB45:J$=D$:I=LEN(D$)
1166 Y=22:X=5:GOSUB20:PRINT"[159]NO COMMAS,SEMICOLONS OR COLONS":GOSUB102:D$=J$
1168 RETURN
1200 REM ** PRINT TO PRINTER
1202 P$=BL$:GOSUB48:P$="SET/RESET OPTIONS?":GOSUB302:IFI$="^"THENRETURN
1204 IFI$="Y"THENGOSUB1152
1206 IFK>1THEN1212
1208 P$=BL$:GOSUB48:Y=18:X=4:GOSUB20:PRINTR$"[158]PREPARE PRINTER & POSITION LABELS"
1209 OPEN10,4,10:PRINT#10:CLOSE10
1210 P$=S6$:GOSUB30:IFI$="^"THENRETURN
1212 P$=T3$:E$=CHR$(27):S=4:CLOSES:OPENS,S,SA:GOSUB202:IFMTHENIFPC>10THENGOSUB1328
1214 IFK>1THENP$=""
1216 PG=PL:PRINT#S,E$"U"CHR$(0)SPC((A/2)-1);:FORI=1TOCL:PRINT#S,P$SPC(B/A);:NEXT:PRINT#S
1218 IFK>1THEN1224
1220 P$="TEST ALIGNMENT AGAIN?":GOSUB302:S=4:P$=T3$:GOSUB202:IFI$="^"THENCLOSES:RETURN
1222 IFI$="Y"THENLN=.:GOTO1212
1224 PRINT#S,H2$;:IFCTHENFORI=1TOC:PRINT#S:NEXT
1226 P$=S4$:GOSUB48:Y=4:X=5:GOSUB20:IFPC>1THEN1234
1228 PRINT#S,C3$SPC(E)DT$C4$:GETI$:IFI$="^"THEN1326
1230 PRINT#S,C3$SPC(E)ID$" "MID$(STR$(VAL(BK$)),2)" BLKS FREE"C4$
1232 PRINT#S,""SPC(E*3)D$H2$:PRINT#S:GOTO1326
1234 PRINT#S,C3$SPC(E/2)DT$ID$C4$:GETI$:IFI$THEN1326
1236 PRINT#S,""SPC(E)MID$(STR$(VAL(BK$)),2)" BLKS FREE - "D$H2$;
1238 X=INT(IP/CL):IFN>PG*CLTHENX=PL:IP=PG*CL
1239 OPEN13,4,13:PRINT#13:CLOSE13:REM **CONDENSED PRINT MODE
1240 C3=2*X:C4=3*X:C5=4*X:R=FNR(X):IFR>.THENIFR<=CLTHENX=X+1
1242 C3=2*X:C4=3*X:C5=4*X:ONCLGOTO1244,1246,1250,1258,1268
1244 C3=IP:C4=IP:C5=IP:GOTO1278
1246 IFRTHENC3=2*X-1
1248 GOTO1278
1250 ONRGOTO1254,1256:REM **CL=3
1252 GOTO1278
1254 C3=X:C4=2*X-1:GOTO1278
1256 C4=3*X-1:GOTO1278
1258 ONRGOTO1262,1264,1266:REM **CL=4
1260 GOTO1278
1262 C3=2*X-1:C4=3*X-2:GOTO1278
1264 C4=3*X-1:GOTO1278
1266 GOTO1278
1268 ONRGOTO1272,1274,1276:REM **CL=5
1270 GOTO1278
1272 C3=2*X-1:C4=3*X-2:C5=4*X-3:GOTO1278
1274 C4=3*X-1:C5=4*X-2:GOTO1278
1276 C5=4*X-1
1278 CLOSES:OPENS,4,SA:PRINT#S,T1$
1280 IFDTHENFORI=1TOD:PRINT#S:NEXT
1282 PRINT#S,""SPC(A-2);:FORI=1TOCL-1:PRINT#S,P9$SPC(B);:NEXT:PRINT#S,P9$
1284 IFPC<11THENIFX<PL-1THENFORI=1TOINT((PL-X)/2):PRINT#S:NEXT
1286 IFZ>.THENC3=C3+Z:C4=C4+Z:C5=C5+Z:IFN<=PG*CLTHENIP=IP+Z
1288 FORI=1TOX:GETI$:IFI$="^"THENI=X:NEXT:GOTO1326
1290 PRINT#S,""SPC(A-2)T$(I+Z)SPC(B);
1292 IFC3=>I+X+ZTHENPRINT#S,T$(I+X+Z)SPC(B);
1294 IFI+C3>IPTHENPRINT#S:GOTO1306
1296 IFC4=>I+C3THENPRINT#S,T$(I+C3)SPC(B);
1298 IFI+C4>IPTHENPRINT#S:GOTO1306
1300 IFC5=>I+C4THENPRINT#S,T$(I+C4)SPC(B);
1302 IFI+C5>IPTHENPRINT#S:GOTO1306
1304 IFC5+X=>I+C5THENPRINT#S,T$(I+C5)
1306 NEXT:IFPC<11THENIFX<PL-1THENFORI=1TOINT((PL-X)/2):PRINT#S:NEXT
1308 IFPC<11THENIFXAND1THENPRINT#S
1310 PRINT#S,""SPC(A-2):FORI=1TOCL-1:PRINT#S,P9$SPC(B);:NEXT:IFN<=PG*CLTHENPRINT#S,P9$:GOTO1314
1312 PRINT#S,"-----CONTINUED------"
1314 IFPC=7ORPC=8THENFORI=1TO5:PRINT#S:NEXT
1316 IFN<=PG*CLTHEN1326
1318 CLOSES:OPENS,4:PRINT#S,T2$;H1$
1320 IFCTHENFORI=1TOC:PRINT#S:NEXT
1322 PRINT#S,""SPC(A-2)DT$ID$" CONTINUED...":PRINT#S,SPC(A-2)"PAGE#"(PG/PL)+1" - "D$H2$;
1324 Z=PG*CL:IP=N-(PG*CL):PG=PG+PL:GOTO1238
1326 CLOSES:OPENS,4:PRINT#S,T2$;:CLOSES:RETURN
1328 J=66:JJ=7:IFPC=11THENJ=132:JJ=10
1330 IFX+JJ<J-LNTHEN1336
1332 IFPC=11THENPRINT#S,E$"3"CHR$(18);
1334 FORI=1TOJ-LN:PRINT#S:NEXT:LN=.:IFPC=11THENPRINT#S,E$"3"CHR$(36);
1336 LN=LN+JJ+X:IFLN=>JTHENLN=.
1338 RETURN
1400 REM ** EQUIP SETUP OPTIONS
1402 GOSUB48:Z=.:U=.:I=.:P$=R$+"[155] [157][157][157][157][157]"+O$+W$
1404 SD=SD+I:GOSUB1438:Y=7:X=4:GOSUB20:PRINTW$"SOURCE DEVICE #:",P$SD:IFUTHENRETURN
1406 DD=DD+I:GOSUB1438:Y=9:GOSUB20:PRINT"MASTER DEVICE #:",P$DD:IFUTHENRETURN
1408 SR=SR+I:GOSUB1438:Y=11:GOSUB20:PRINT"SOURCE DRIVE #:",,P$SR:IFUTHENRETURN
1410 DR=DR+I:GOSUB1438:Y=13:GOSUB20:PRINT"MASTER DRIVE #:",,P$DR:IFUTHENRETURN
1412 SA=SA+I:Y=15:GOSUB20:PRINT"SECONDARY ADDRESS:",P$SA:IFUTHENRETURN
1414 Y=19:GOSUB20:PRINTR$"USE CURSOR KEYS TO SELECT"
1416 Y=21:GOSUB20:PRINTW$R$"USE +/- KEYS TO CHANGE"
1418 GOSUB47:Y=24:X=47:GOSUB20:PRINTR$CY$" PRESS ' ^ ' TO RETURN ";:IFZ=1THENRETURN
1420 Y=7:U=1
1422 I=.:X=28:GOSUB20:PRINTR$W$">>":X=4:GETI$:IFI$="-"THENI=I-1:GOSUB1434
1424 IFI$="+"THENI=I+1:GOSUB1434
1426 IFI$=""ORI$=""THENX=25:GOSUB20:PRINTP$:Y=Y+2:U=U+1:X=28:I=.:IFY>15THENY=7:U=1
1428 IFI$="[145]"ORI$="[157]"THENX=25:GOSUB20:PRINTP$:Y=Y-2:U=U-1:X=28:I=.:IFY<7THENY=15:U=5
1430 IFI$="^"ORI$=CHR$(13)THEN1456
1432 GOTO1422
1434 ONUGOSUB1404,1406,1408,1410,1412
1436 RETURN
1438 IFSD<8THENSD=15
1440 IFSD>15THENSD=8
1442 IFDD<8THENDD=15
1444 IFDD>15THENDD=8
1446 IFSR<.THENSR=1
1448 IFSR>1THENSR=.
1450 IFDR<.THENDR=1
1452 IFDR>1THENDR=.
1454 RETURN
1456 IFSD=8ANDDD=8THENRETURN
1458 P$=BL$:GOSUB48:P$="CHANGE DEVICE #?":GOSUB302:IFI$="N"ORI$="^"THENRETURN
1460 P$=BL$:GOSUB48:Y=17:X=7:GOSUB20:PRINTR$"[158]TURN OFF ALL DRIVES EXCEPT"
1462 Y=Y+1:GOSUB20:PRINTR$" THE ONE TO BE CHANGED. "
1464 P$="OLD DEVICE # ":J=2:A$=" ":J$="8":I=1:GOSUB102:IFJ$=""THENRETURN
1466 OD=VAL(J$):IFOD<8OROD>15THEN1464
1468 P$="NEW DEVICE # ":J=2:A$=" ":J$="9":I=1:GOSUB102:IFJ$=""THENRETURN
1470 ND=VAL(J$):IFND<8ORND>15THEN1468
1472 CLOSE15:OPEN15,OD,15
1474 PRINT#15,"M-W"CHR$(119)CHR$(.)CHR$(2)CHR$(ND+32)CHR$(ND+64):P$=BL$:GOSUB48
1476 Y=20:X=10:GOSUB20:PRINTR$"[158]TURN ON OTHER DRIVE!":P$=S6$:GOSUB30:CLOSE15:RETURN
1500 REM ** INITILIZE VARIABLES
1502 PRINTCHR$(142):ML=PEEK(45)+256*PEEK(46)-262-3
1504 RESTORE:R$="":O$="[146]":BL$="":CY$="[159]":W$="":POKE53280,7:POKE53281,11
1506 DIMV$(152),T$(152),M$(15),PC$(13):DL=830:SD=8:DD=8:SA=.:CL=3
1508 IFPEEK(1015)<>.THENSD=PEEK(1015):DD=PEEK(1016):SR=PEEK(1017):DR=PEEK(1018):SA=PEEK(1019)
1510 DIMX(152)
1512 READM$(.):FORI=1TO15:READM$(I):M$(I)=LEFT$(M$(I)+" ",18):NEXT
1514 FORI=1TO13:READPC$(I):NEXT:D$="DISK LABELER+"
1516 S1$=" [146]"
1518 S2$="[159] THE DISK LABELER+/SP1000 [146]"
1520 S3$=" [146]"
1522 S4$="PRESS & HOLD '^' TO STOP PRINTING"
1524 S5$="[158]REPLACE EXISTING FILE (Y/N)?
1526 S6$[178]"PRESS A KEY TO CONTINUE"
1528 S7$[178]"SELECT ONE"
1530 S8$[178]"SYSSOURCE"
1532 S9$[178]"SYSMASTER"
1534 P1$[178]"WORKING"
1536 P2$[178]"SELECTION OK (Y/N)?"
1538 P3$[178]"NO FILES AVAILABLE!"
1540 P4$[178]"CRSR=MOVEMENT N=NEXT P=PREVIOUSWAIT"
1542 P5$[178]"RETURN=SELECT S=SWAP E=END ^=MENUWAIT"
1544 S0$[178]" RETURN=SELECT ^=MENU WAIT"
1546 P6$[178]"C=CHANGE D=DELETE P=PREVIOUS OTHERS=NEXT"
1548 P7$[178]"NO DISK LABELER FILES FOUND"
1550 P8$[178]"FILENAME T SZ"
1552 P9$[178]"--------------------"
1554 T3$[178]" * * * * * *"
1556 [141]10:Y[178]3:X[178]2:[141]20:[153]W$R$" MODIFIED/C64/1541/SEIKOSHA SP1000VC"
1558 [135]P$:Y[178]5:X[178]4:[141]20:[153]"SYS"R$P$:X[178]2
1560 [129]Y[178]7[164]13:[135]P$:[141]20:[153]W$R$P$:[130]
1562 [129]Y[178]16[164]22:[135]P$:X[178]20[171][195](P$)[173]2:[141]20:[153]P$:[130]
1564 [139][194](DL)[178]160[167]1568
1566 [159]1,8,.,"0:DISK LAB.DIR,S,R":[129]I[178]DL[164]DL[170]148:[132]1,A:[151]I,A:[130]:[160]1
1568 Z[178][184](.):I$[178]"":P$[178]" INSTRUCTIONS (Y/N)? ":[151]198,.:[141]30:[139]I$[179][177]"Y"[167]2000
1570 [139]C[167]P$[178]S9$:[141]50:P$[178]S6$:[141]30:[139]I$[178]"^"[167][142]
1572 [160]1:[159]15,DD,15:S[178]3:[159]1,DD,.,[202]([196](DR),2,1)[170]":DISK LAB.INST,S,R"
1574 [141]91:[139]ER[167][141]94:[141]10:[137]1568
1576 [141]60:X[178].:Y[178]4:[141]20:[139]S[178]4[167][152]S
1578 [132]1,P$:[139]P$[178]"END"[167]P$[178]S6$:[141]30:[137]1590
1580 [139]I$[178]"^"[167]1590
1582 [153]R$"LIST"P$:[139]S[178]4[167][152]S,P$
1584 [139][194](214)[179]22[167]1578
1586 P$[178]S6$:[141]30:[139]I$[178]"P"[167]S[178]4:[160]S:[159]S,4,SA
1588 [137]1576
1590 [160]1:[160]S:[139]U[178]1[167][142]
2000 [143] ** MAIN MENU
2002 [141]2060:[141]10:X[178][194](152):[129]I[178]1[164]X:[160][194](601):[130]:P0$[178]"SORTED"
2004 G[178]2:[139]U[177]8[167]G[178]4:[139]U[178]10[167]G[178].
2006 [151]198,.:K[178].:M[178].:LN[178].:J$[178]"":F$[178]DT$
2008 [139]N[179]1[167]N[178].:DT$[178]"NO FILE NAME ":ID$[178]"?":BK$[178]"00":P[178]1:G[178].
2010 Y[178]4:X[178]10:[141]20:[153]M$(.):Y[178]5:[139]BK$[178]""[167]BK$[178]" ?"
2012 [129]I[178]1[164]15:P$[178]R$:[139]N[179]1[167][139]I[178]3[176]I[178]4[176]I[178]5[176]I[178]6[176]I[178]8[167]P$[178]O$
2014 [139]I[178]6[167][139]P[178].[167]P$[178]O$
2016 [139]I[178]7[176]I[178]8[167][139]MA[167]P$[178]O$
2018 [139]I[178]11[167][139]P[178]2[167]P$[178]O$
2020 [139]I[178]10[176]I[178]11[167][139]MA[178].[167]P$[178]O$
2022 [141]20:[153]W$P$[201](" "[170][196](I),2)W$;
2024 [153]O$M$(I):Y[178]Y[170]1:[130]:[139]P[167]P0$[178]"UNSORTED":[139]P[178]2[167]P0$[178]"ALPHABETIZED"
2026 P$[178]DT$:[139]N[177].[167]P$[178]P$[170]ID$[170]BK$[170]" BKS FREE"
2028 Y[178]21:X[178]20[171][195](P$)[173]2:[141]20:[153]W$P$:P$[178][196](N)[170]" PROGRAMS : "[170]P0$
2030 Y[178]22:X[178]20[171][195](P$)[173]2:[141]20:[153]R$P$
2032 F$[178]""::U[178]1:[141]952:G[178]C:[139]U[167]2050
2034 C[178]C[170]1:[139]C[178]1[176]C[178]2[176]C[178]7[176]C[178]9[176]C[178]12[176]C[178]13[176]C[178]14[176]C[178]15[167]2042
2036 [139]C[178]6[167][139]P[178].[167][151]S[170]B,160:[137]2032
2038 [139]C[178]10[176]C[178]11[167][139]MA[178].[167][151]S[170]B,160:[137]2032
2040 [139]N[179]1[167][151]S[170]B,160:[137]2032
2042 [139]C[178]7[176]C[178]8[167][139]MA[167][151]S[170]B,160:[137]2032
2044 [139]C[178]11[167][139]P[178]2[167][151]S[170]B,160:[137]2032
2046 P$[178]BL$:[141]48:[151]53280,7:[139]C[177]2[167][141]2060
2048 [145]C[141]602,402,1102,1202,502,802,902,904,1002,1022,1052,1150,1402,1570,2052
2050 [141]2060:[137]2002
2052 [139]N[178].[167]2058
2054 [153]"SYS";:P$[178]"HAVE YOU SAVED CURRENT SYSFILE?"
2056 [141]302:[139]I$[178]"N"[176]I$[178]"^"[167][142]
2058 [153]"LOADHAPPY COMPUTING!!":[156]:[128]
2060 [139][200](DT$,7)[178]"\MASTER"[167][151]53280,13:MA[178]1:[142]
2062 MA[178].:[151]53280,7:[142]
5000 [143] ** MENU CHOICES
5002 [131]"SYS MAIN MENU ","CREATE A NEW FILE","LOAD A FILE"
5004 [131]"VIEW/EDIT ENTRIES","PRINT ENTRIES","SAVE ENTRIES"
5006 [131]"SORT ENTRIES","ADD A SINGLE ITEM","SEARCH BY NAME"
5008 [131]"CREATE MASTER FILE","PRINT MASTER FILE","ALPHABETIZE MASTER"
5010 [131]"PRINT OPTIONS","EQUIPMENT SETUP","INSTRUCTIONS","EXIT TO BASIC"
5012 [143] ** PRINT OPTIONS
5014 [131]" 15/16 X 3 1/2 HEADER INFO ONLY"
5016 [131]"1 7/16 X 4 MAILING LABEL","1 15/16 X 4 MAILING LABEL"
5018 [131]"2 15/16 X 4 SHIPPING LABEL","2 15/16 X 5 3/4 SHIPPING LABEL"
5019 [131]"3 1/2 X 4 1/2 SHIPPING LABEL"
5020 [131]"2 1/16 X 4 ROTARY FILE CARD","3 X 5 ROTARY FILE CARD"
5022 [131]"3 X 5 FILE CARD","4 X 6 FILE CARD"
5024 [131]"5/SUP ACROSS PAGE","5/CON ACROSS PAGE","3/REG ACROSS PAGE"
5026 [131]"**** USER SUPPORTED SOFTWARE ****"
5028 [131]"YOU ARE ENCOURAGED TO COPY AND SHARE"
5030 [131]"THIS PROGRAM WITH OTHER USERS ON THE"
5032 [131]"CONDITIONS THAT THE PROGRAM IS NOT "
5034 [131]"DISTRIBUTED IN MODIFIED FORM, THAT "
5036 [131]"NO FEE OR CONSIDERATION IS CHARGED, "
5038 [131]"AND THAT THIS NOTICE IS NOT BYPASSED"
5040 [131]"OR REMOVED. "
5042 [131]" IF YOU FIND THIS PROGRAM TO BE "
5044 [131]" OF VALUE, A CONTRIBUTION TO THE "
5046 [131]" AUTHOR WILL BE APPRECIATED. ":[131]"
5048 DATA"FREDIE J. LAYBERGER"
5050 DATA"14524 'N' STREET "
5052 DATA"OMAHA, NE 68137 "