0 REM" [0x16] [0x07] [0x0E] 10 REM"„—x,,,,,,,,,,,,,,t œ „—5ƒ Written By —j œ „—5‡Rob Bathgate—j œ „—5‡Rob Bathgate—j œ „—5†1st June '89—j œ „—+,,,,,,,,,,,,,,' œ 20 MODE7 30 VDU23;8202;0;0;0; 40 *FX4,2 50 *FX200,3 60 DIM LineA$(13),LineB$(13) 70 MTitleA$=STRING$(32,"."):TitleA$=STRING$(20,"."):FORF=1TO13:LineA$(F)=STRING$(22,"."):NEXT 80 MTitleB$=STRING$(32,"."):TitleB$=STRING$(20,"."):FORF=1TO13:LineB$(F)=STRING$(22,"."):NEXT 90 Blank$=STRING$(10," ") 100 PROCsurrounds 110 PROCins 120 VDU15 130 CLS:PROCscreen(65) 140 MTitleA$=FNinput(1,1,32) 150 TitleA$=FNinput(11,3,20) 160 FORF=1TO13:LineA$(F)=FNinput(11,F+4,22):NEXT 170 PRINTTAB(0,19)"ƒDo you want to alter anything ?†";:REPEAT:G=GET:UNTILG=89ORG=121ORG=78ORG=110:PRINTCHR$G;:IFG=89ORG=121PROCchange(65) 180 CLS:PROCscreen(66) 190 MTitleB$=FNinput(1,1,32) 200 TitleB$=FNinput(11,3,20) 210 FORF=1TO13:LineB$(F)=FNinput(11,F+4,22):NEXT 220 PRINTTAB(0,19)"ƒDo you want to alter anything ?†";:REPEAT:G=GET:UNTILG=89ORG=121ORG=78ORG=110:PRINTCHR$G;:IFG=89ORG=121PROCchange(66) 230 CLS:PRINT"ƒIs everything ok ?†";:REPEAT:G=GET:UNTILG=89ORG=121ORG=78ORG=110:PRINTCHR$G:IFG=78ORG=110PROCchange(1) 240 CLS:PRINT"ƒPlease turn printer on and then ƒpress any key";:D=GET 250 MODE3:VDU23;8202;0;0;0;:VDU2 260 VDU1,27,1,77 270 PRINTBlank$;STRING$(49,"-") 280 PRINTBlank$;"|A ";TitleA$;" |B ";TitleB$;" |" 290 PRINTBlank$;"|";STRING$(23,"-");"|";STRING$(23,"-");"|" 300 FORF=4TO16:PRINTBlank$;"| ";LineA$(F-3);"| ";LineB$(F-3);"|":NEXT 310 PRINTBlank$;"|";STRING$(47,"-");"|" 320 PRINTBlank$;"| A ";MTitleA$;STRING$(7," ");"|" 330 PRINTBlank$;"| B ";MTitleB$;STRING$(7," ");"|" 340 PRINTBlank$;"|";STRING$(47,"-");"|" 350 PRINTBlank$;"|";STRING$(33," ");"Written by |" 360 PRINTBlank$;"|";STRING$(33," ");"R.Bathgate 89 |" 370 PRINTBlank$;STRING$(49,"-") 380 VDU3 390 PRINT''" Press any key to continue";:D=GET:MODE7:VDU23;8202;0;0;0;:PROCsurrounds:PRINT"ƒDo you want a second copy ?†";:REPEAT:G=GET:UNTILG=89ORG=121ORG=78ORG=110:PRINTCHR$G:IFG=89ORG=121GOTO230 400 PRINT'"ƒAgain ?†";:REPEAT:G=GET:UNTILG=89ORG=121ORG=78ORG=110:PRINTCHR$G:IFG=89ORG=121RUN ELSE CALL!-4 410 DEFPROCsurrounds 420 FORF=0TO1:PRINTTAB(0,F);"„‡ Cassette Inlay Printer œ":NEXT 430 PRINTTAB(0,2);"”x";STRING$(36,",");"t" 440 PRINTTAB(12,2);"ž†R.Bathgate ”,œ" 450 FORF=3TO23:PRINTTAB(0,F);"”5‡";TAB(37,F);"”j":NEXT 460 PRINTTAB(0,24);"”m";STRING$(36,"p");">"; 470 VDU28,3,23,36,4 480 ENDPROC 490 DEFPROCscreen(s%) 500 PRINTTAB(0,0);"ƒSide:‡";CHR$s%'"†"; 510 PRINTTAB(0,2);"”";STRING$(32,",") 520 PRINTTAB(0,3);"ƒTitle :†"; 530 PRINTTAB(0,4);"”";STRING$(32,",") 540 FORF=5TO17:PRINTTAB(0,F);"ƒLine ";F-4;TAB(9,F);":†";:NEXT 550 PRINTTAB(0,18);"”";STRING$(32,",") 560 IFs%=65PRINTTAB(1,1);MTitleA$;TAB(11,3);TitleA$:FORF=1TO13:PRINTTAB(11,F+4);LineA$(F):NEXT 570 IFs%=66PRINTTAB(1,1);MTitleB$;TAB(11,3);TitleB$:FORF=1TO13:PRINTTAB(11,F+4);LineB$(F):NEXT 580 ENDPROC 590 DEFFNinput(x%,y%,l%) 600 work$="" 610 PRINTTAB(0,y%);">"; 620 FORL=1TOl% 630 G=GET:IFG=127ANDLEN(work$)>0THENwork$=LEFT$(work$,LEN(work$)-1):PRINTTAB(x%,y%);CHR$127;".":x%=x%-1:L=L-1:GOTO630 640 IFG=127ANDLEN(work$)=0GOTO630 650 IFG=13L=l%:IFG=13ANDLEN(work$)1PRINTTAB(0,y%)"ƒ";ELSEPRINTTAB(0,y%)"†"; 710 =work$ 720 DEFPROCchange(s%) 730 IFs%=1 ab%=1:CLS:PRINT'"ƒWhich side (A/B) ?†";:REPEAT:s%=GET:UNTILs%=65ORs%=66:PRINTCHR$s%:ELSE ab%=s% 740 CLS 750 PROCscreen(s%) 760 PRINTTAB(0,19);"ƒMove cursor, then press Space"; 770 PRINTTAB(0,1);">":x=1:y=1 780 *FX4,1 790 REPEAT:G=GET:UNTILG=138ORG=139ORG=32:IFG=32GOTO920 800 IFG=138 y=y+1 810 IFG=139 y=y-1 820 IFy<1 y=17:x=1 830 IFy>17 y=1:x=17 840 IFy=2ANDy>x y=3:x=1 850 IFy=4ANDyx y=5:x=3 870 IFy=2ANDy" 890 IFx<>1PRINTTAB(0,x);"ƒ" ELSEPRINTTAB(0,1);"†" 900 x=y 910 GOTO790 920 *FX4,2 930 PRINTTAB(0,19);"ƒType in new line "; 940 IFy=1ANDs%=65 PRINTTAB(1,1);STRING$(32,"."):MTitleA$=FNinput(1,1,32):ELSEIFy=1ANDs%=66 PRINTTAB(1,1);STRING$(32,"."):MTitleB$=FNinput(1,1,32) 950 IFy=3ANDs%=65 PRINTTAB(11,3);STRING$(20,"."):TitleA$=FNinput(11,3,20):ELSEIFy=3ANDs%=66 PRINTTAB(11,3);STRING$(20,"."):TitleB$=FNinput(11,3,20) 960 IFy>=5ANDy<=17ANDs%=65 PRINTTAB(11,y);STRING$(22,"."):LineA$(y-4)=FNinput(11,y,22):ELSE IFy>=5ANDy<=17ANDs%=66 PRINTTAB(11,y);STRING$(22,"."):LineB$(y-4)=FNinput(11,y,22) 970 PRINTTAB(0,19)"ƒDo you want to alter any more ?†";:REPEAT:G=GET:UNTILG=89ORG=121ORG=78ORG=110:PRINTCHR$G:IFG=89ORG=121s%=ab%:GOTO730ELSEENDPROC 980 DEFPROCins 990 VDU14 1000 PRINT''"ƒDo you require instructions ?†";:REPEAT:G=GET:UNTILG=89ORG=121ORG=78ORG=110:PRINTCHR$G:IFG=78ORG=110ENDPROC 1010 CLS:PRINT'" ƒThis program will work with any ƒ'Epson compatible' printer, or ƒalternatively any printer that isƒcapable or printing 12 chars per ƒinch by modifying line 300 to theƒappropriate command." 1020 PRINT'" ƒThe first line you edit is what ƒappears on the base of the ƒcassette, ie to tell you ƒgenerally whats on it. The title ƒis self explanatory, then you ƒhave a maximum of 13 lines for ƒthe individual details." 1030 PRINT'" ƒThe cursor at the side just ƒshows which line you are ƒcurrently editing." 1040 PRINT'" ƒThe number of dots indicates ƒhow long each line can be. If youƒwant a line to be blank, just ƒpress Return." 1050 PRINT'" ƒAfter you've edited side A, you ƒcan alter anything if you want. ƒJust use the cursor keys to move ƒto the correct line, press Space ƒand type in the new line." 1060 PRINT'" ƒOnce you've cleared up any ƒerrors you move onto side B and ƒedit that in the same way." 1070 PRINT'" ƒFinally, once all errors have ƒbeen changed, make sure your ƒprinter is switched on and the ƒinlay will be printed out to the ƒright size. All you need to do ƒnow is cut it out, and fold alongƒthe dotted lines!" 1080 PRINT'"†Press any key to continue":G=GET 1090 ENDPROC