10 REM"PC => BEEB File Conversion 20 REM"Submitted to 8BS magazine 30 REM"(C) SJG February 1995 40 REM"See textfile 'ConvTxt' for 50 REM"further information... 60 REM"Permission is granted to 70 REM"copy/distribute this program 80 REM"as PublicDomain. 90 REM"Version 1.2 - 29.6.95 100 : 110 CLOSE#0 120 MODE7 130 PRINTCHR$(141);"PC => BEEB File Conversion Program"'CHR$(141);"ƒPC => BEEB File Conversion Program" 140 PRINT''" ‚1)‡Convert BBC-text to PC-text"'" ‚2)‡Convert InterWord to PC-text"'" ‚3)‡Convert PC-text to BBC-text"'" ‚4)‡Convert BBC-mode0 to PC-bitmap"'" ‚5)‡Convert PC-bitmap to BBC-mode0" 150 PRINT''"‚Enter Choice (1-5)"; 160 REPEAT:choice=GET-48:UNTIL choice>0 AND choice<6 170 INPUT''"†Enter Source Filename ";source$ 180 INPUT'"†Enter Destination Filename ";dest$ 190 PRINT'"ƒPlease Wait... Converting"'"ƒ";source$;" to ";dest$'"ƒ("; 200 IFchoice=1PRINT"BBC-text to PC-text)" ELSE IFchoice=2PRINT"InterWord to PC-text)" ELSE IFchoice=3PRINT"PC-text to BBC-text)" ELSE IFchoice=4PRINT"BBC-mode0 to PC-bitmap)" ELSE IFchoice=5PRINT"PC-bitmap to BBC-mode0)" 210 FORT=1TO7500:NEXT 220 : 230 IFchoice=1 MODE3:PROCbbctext_pctext 240 IFchoice=2 MODE3:PROCinter_pctext 250 IFchoice=3 MODE3:PROCpctext_bbctext 260 IFchoice=4 MODE0:PROCbbcgra_pcgra 270 IFchoice=5 MODE0:PROCpcgra_bbcgra 280 MODE7:PRINTCHR$(141);"Output Complete - Press Any Key"'CHR$(141);"ƒOutput Complete - Press Any Key" 290 A=GET:RUN 300 : 310 REM"BBC-text to PC-text 320 DEFPROCbbctext_pctext 330 S=OPENIN(source$) 340 D=OPENOUT(dest$) 350 REPEAT 360 A=BGET#S 370 IF A=96 A=156 380 IFA>31 AND A<127 OR A=9 OR A=156 BPUT#D,A:PRINTCHR$(A); 390 IFA=13 BPUT#D,13:BPUT#D,10:PRINT 400 UNTIL EOF#S 410 CLOSE#S 420 CLOSE#D 430 ENDPROC 440 : 450 REM"InterWord to PC-text 460 DEFPROCinter_pctext 470 S=OPENIN(source$) 480 D=OPENOUT(dest$) 490 PTR#S=833 500 REPEAT 510 A=BGET#S 520 IF A=137 OR A=141 OR A>159 AND A<255 A=A-128 530 IF A=96 A=156 540 IFA>31 AND A<127 OR A=9 OR A=156 BPUT#D,A:PRINTCHR$(A); 550 IFA=13 BPUT#D,13:BPUT#D,10:PRINT 560 UNTIL EOF#S 570 CLOSE#S 580 CLOSE#D 590 ENDPROC 600 : 610 REM"PC-text to BBC-text 620 DEFPROCpctext_bbctext 630 S=OPENIN(source$) 640 D=OPENOUT(dest$) 650 REPEAT 660 A=BGET#S 670 IF A=96 A=39 680 IF A=156 A=96 690 IF A=254 A=42 700 IFA>31 AND A<127 OR A=9 THEN BPUT#D,A:PRINTCHR$(A); 710 IFA=10 BPUT#D,13:PRINT 720 UNTIL EOF#S 730 CLOSE#S 740 CLOSE#D 750 ENDPROC 760 : 770 REM"BBC-mode0 to PC-bitmap 780 DEFPROCbbcgra_pcgra 790 D=OPENOUT(dest$) 800 OSCLI "LOAD "+source$+" 3000" 810 RESTORE:FORT=1TO62:READ A:BPUT#D,A:NEXT:LET Y=&7D87:REPEAT:FORZ=1TO8:FORT=1TO80:BPUT#D,?Y:Y=Y+8:NEXTT:LETY=Y-641:NEXTZ:Y=Y-632:UNTIL Y<&3000 820 CLOSE#D 830 DATA 66,77,62,80,0,0,0,0,0,0,62,0,0,0,40,0,0,0,128,2,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,0 840 ENDPROC 850 : 860 REM"PC-bitmap to BBC-mode0 870 DEFPROCpcgra_bbcgra 880 S=OPENIN(source$) 890 FORT=1TO62:A=BGET#S:NEXT 900 Y=&7D87 910 REPEAT:FORZ=1TO8:FORT=1TO80:?(Y)=BGET#S:Y=Y+8:NEXTT:LETY=Y-641:NEXTZ:Y=Y-632:UNTIL Y<&3000 920 CLOSE#S 930 OSCLI "SAVE "+dest$+" 3000 8000" 940 ENDPROC 950 :