start tok64 d64-dvHuFW 10 REM print shop/printmaster converter 20 REM by brian heyboer 4/26/86 30 REM clearwater commodore club bbs 40 REM sysop tel: 813/545-4884 50 REM q-link id: mosfet 60 REM this program is public domain 70 z$=CHR$(0):q$=CHR$(34):mx=140:fl$=z$+z$+z$+z$+z$+z$+z$+z$+z$+z$+z$+CHR$(139) 80 POKE53280,15:POKE53281,1 90 PRINTCHR$(14);CHR$(8) 100 DIMf$(mx),o$(mx) 110 PRINT"{clear}{brown}{down}PRINT SHOP/PRINTMASTER{sh space}GRAPHIC{sh space}CONVERTER"; 120 PRINT" {156}{down} By Brian Heyboer (Q-Link ID: MOSFET)" 130 PRINT"{down*2}{blue}{space*4}This program converts Print Shop" 140 PRINT"{space*2}Side A (Non-CBM Printer) graphics to" 150 PRINT"{space*3}PrintMaster format and PrintMaster" 160 PRINT"{space*2}Art Gallery or Data Disk graphics to" 170 PRINT"{space*7}Print Shop (Side A) format.{space*2}" 180 PRINT"{down}{red}{space*6}This program is Public Domain." 190 PRINT"{down}{black}Print Shop is a trademark of Broderbund." 200 PRINT"{space*6}PrintMaster is a trademark of" 210 PRINT"{space*13}Unison World." 220 PRINT"{green}{down*3}{space*7}Press any key to continue." 230 GETa$:IFa$=""THEN230 240 PRINT"{clear}{brown}{down}PRINT SHOP/PRINTMASTER{sh space}GRAPHIC{sh space}CONVERTER"; 250 PRINT" {down}{black}Type of conversion:{down}" 260 PRINT"{space*5}1 = Print Shop to PrintMaster" 270 PRINT"{space*5}2 = PrintMaster to Print Shop" 280 INPUT" {down}Which";ct:IFct<>1ANDct<>2THENPRINT"Choose 1 or 2":GOTO280 290 INPUT"{down} Source Drive ? {green}8{left*3}";sd 300 INPUT"{black}{down} Destination Drive ? {green}8{left*3}";dd 310 IF sd<>dd THEN360 320 PRINT"{down} Please insert the diskette into the 330 PRINT" disk drive and press the {reverse on}RETURN{reverse off} key. 340 PRINT" Converted programs will be written on 350 PRINT" same disk; don't write protect disk.":GOTO390 360 PRINT"{down} Please insert the source disk in 370 PRINT"drive"sd"and the destination disk in 380 PRINT"drive"dd".{space*2}Press {reverse on}RETURN{reverse off} when ready." 390 GETa$:IFa$<>CHR$(13)THEN390 400 OPEN15,sd,15,"i0":dn=15:GOSUB770:IFeTHEN820 410 OPEN14,dd,15,"i0":dn=14:GOSUB770:IFeTHEN820 420 INPUT"{black}{down} Filenames to match ? *{left*3}";f$:f$=f$+"*" 430 OPEN1,8,0,"$0:"+f$:GOSUB770:PRINT 440 IFeTHENPRINT"{down}{right*4}{reverse on}{light blue} impossible to read directory {reverse off}":GOTO820 450 PRINTTAB(10);"'{red}C{black}' to convert file 460 PRINTTAB(10);"'{red}R{black}' to reject file" 470 PRINTTAB(10);"'{red}B{black}' to begin conversion 480 PRINTTAB(10);"'{red}A{black}' to abort{down}" 490 GET#1,a$,b$:n=0 500 GET#1,a$,b$:IFb$=""GOTO740 510 GET#1,a$,b$:f$="":o$="" 520 IFa$<>CHR$(3) ORb$<>""THEN bf=-1 530 GET#1,a$:IF64ANDstGOTO740 540 IFa$<>q$GOTO530 550 GET#1,a$:IFa$=q$THEN590 560 f$=f$+a$:IF a$<>""THENa=ASC(a$):IFa>96THENa=a-32:a$=CHR$(a) 570 IF a$=" "ORa$="."ORa$="{pound}"ORa$="^"THENa$="-" 580 o$=o$+a$:GOTO550 590 GET#1,a$:IFa$<>" "GOTO590 600 GET#1,t$:IFt$=" "GOTO600 610 GET#1,a$:IFa$<>""GOTO610 620 IF bf OR t$<>"p" THEN bf=0:GOTO500 630 IF ct=2 AND RIGHT$(f$,4)<>".gra"THEN500 640 PRINTTAB(2)q$;f$;q$;TAB(21); 650 PRINT"{arrow left} {reverse on}c:r:b:a?{reverse off}{left*8}";:gf=-1 660 GETa$:IFa$=""GOTO660 670 IFa$="r"THENPRINT"{light blue}reject file{black}":GOTO500 680 IFa$="b"THENPRINT"{light blue}begin conversion{black}":GOTO740 690 IFa$="a"THENPRINT"{light blue}abort conversion{black}":GOTO820 700 IFa$<>"c"GOTO660 710 n=n+1:f$(n)=f$:o$(n)=o$:PRINT"{light blue}convert file{black} " 720 IFn""ORb$<>CHR$(88)THENPRINTTAB(18)"{up}{red}Not a Print Shop File.{black}":GOTO980 900 PRINTTAB(18);"{up}{blue}--> {black}"LEFT$(o$(i),12)".gra" 910 OPEN9,dd,9,LEFT$(o$(i),12)+".gra,p,w" 920 dn=14:GOSUB770:IF e THEN1010 930 PRINT#9,CHR$(80);CHR$(119);CHR$(88);z$;CHR$(52);z$;CHR$(180); 940 FOR j=1TO52:l$="":FORk=1TO11 950 GET#8,a$:IFa$=""THENa$=z$ 960 l$=l$+a$:NEXT:l$=CHR$(139)+l$:PRINT#9,l$;:NEXT 970 PRINT#9,z$;z$;z$;z$;CHR$(139);:FORj=1TO10:PRINT#9,fl$;:NEXT 980 CLOSE8:CLOSE9 990 dn=15:GOSUB770:dn=14:GOSUB770 1000 NEXT:GOTO820 1010 PRINT"{red}File Exists.{space*2}{black}Enter new name 1020 PRINT" (12 characters maximum, no 1030 PRINT" spaces, periods, '{pound}'s, or '^'s); 1040 PRINT" press {reverse on}RETURN{reverse off} to skip:":o$(i)="" 1050 INPUT o$(i):IF o$(i)=""THEN980 1060 IF RIGHT$(o$(i),4)=".gra" THEN o$(i)=LEFT$(o$(i),(LEN(o$(i))-4)) 1070 CLOSE9:GOTO900 1080 FOR i=1TOn:PRINT#15,"i0":PRINT#14,"i0":OPEN8,sd,8,f$(i)+",p,r":dn=15 1090 GOSUB770:GET#8,a$,b$:PRINTf$(i) 1100 IFa$<>CHR$(80)THENPRINTTAB(18)"{up}{red}Not a PrintMaster file{black}":GOTO1180 1110 o$(i)=LEFT$(o$(i),LEN(o$(i))-4) 1120 PRINTTAB(18);"{up}{blue}-->{black} "o$(i):OPEN9,dd,9,o$(i)+",p,w" 1130 dn=14:GOSUB770:IF e THEN1210 1140 :GET#8,a$,a$,a$,a$,a$,a$:PRINT#9,z$;CHR$(88); 1150 FOR j=1TO52:l$="":FORk=1TO11 1160 GET#8,a$:IFa$=""THENa$=z$ 1170 l$=l$+a$:NEXT:GET#8,a$:PRINT#9,l$;:NEXT 1180 CLOSE8:CLOSE9 1190 dn=15:GOSUB770:dn=14:GOSUB770 1200 NEXT:GOTO820 1210 PRINT"{red}File Exists.{space*2}{black}Enter new name 1220 PRINT" (16 characters maximum, lower case 1230 PRINT" only, starting with a letter); 1240 PRINT" press {reverse on}RETURN{reverse off} to skip:":o$(i)="" 1250 INPUTo$(i):IF o$(i)=""THEN1180 1260 CLOSE9:GOTO1120 stop tok64 (bastext 1.0)