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 : 100 CLOSE#0 110 MODE7 120 PRINTCHR$(141);"PC => BEEB File Conversion Program"'CHR$(141);"ƒPC => BEEB File Conversion Program" 130 PRINT''" ‚1)‡Convert BBC-text to PC-text"'" ‚2)‡Convert PC-text to BBC-text"'" ‚3)‡Convert BBC-mode0 to PC-bitmap"'" ‚4)‡Convert PC-bitmap to BBC-mode0" 140 PRINT''"‚Enter Choice (1-4)"; 150 REPEAT:choice=GET-48:UNTIL choice>0 AND choice<5 160 INPUT''"†Enter Source Filename ";source$ 170 INPUT'"†Enter Destination Filename ";dest$ 180 PRINT'"ƒPlease Wait... Converting"'"ƒ";source$;" to ";dest$'"ƒ("; 190 IFchoice=1PRINT"BBC-text to PC-text)" ELSE IFchoice=2PRINT"PC-text to BBC-text)" ELSE IFchoice=3PRINT"BBC-mode0 to PC-bitmap)" ELSE IFchoice=4PRINT"PC-bitmap to BBC-mode0)" 200 FORT=1TO7500:NEXT 210 : 220 IFchoice=1 MODE3:PROCbbctext_pctext 230 IFchoice=2 MODE3:PROCpctext_bbctext 240 IFchoice=3 MODE0:PROCbbcgra_pcgra 250 IFchoice=4 MODE0:PROCpcgra_bbcgra 260 MODE7:PRINTCHR$(141);"Output Complete - Press Any Key"'CHR$(141);"ƒOutput Complete - Press Any Key" 270 A=GET:RUN 280 : 290 REM"BBC-text to PC-text 300 DEFPROCbbctext_pctext 310 S=OPENIN(source$) 320 D=OPENOUT(dest$) 330 REPEAT 340 A=BGET#S 350 REM * This line is for Interword * 360 IF A=137 OR A=141 OR A>159 AND A<255 A=A-128 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"PC-text to BBC-text 460 DEFPROCpctext_bbctext 470 S=OPENIN(source$) 480 D=OPENOUT(dest$) 490 REPEAT 500 A=BGET#S 510 IF A=96 A=39 520 IF A=156 A=96 530 IF A=254 A=42 540 IFA>31 AND A<127 OR A=9 THEN BPUT#D,A:PRINTCHR$(A); 550 IFA=10 BPUT#D,13:PRINT 560 UNTIL EOF#S 570 CLOSE#S 580 CLOSE#D 590 ENDPROC 600 : 610 REM"BBC-mode0 to PC-bitmap 620 DEFPROCbbcgra_pcgra 630 D=OPENOUT(dest$) 640 OSCLI "LOAD "+source$+" 3000" 650 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 660 CLOSE#D 670 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 680 ENDPROC 690 : 700 REM"PC-bitmap to BBC-mode0 710 DEFPROCpcgra_bbcgra 720 S=OPENIN(source$) 730 FORT=1TO62:A=BGET#S:NEXT 740 Y=&7D87 750 REPEAT:FORZ=1TO8:FORT=1TO80:?(Y)=BGET#S:Y=Y+8:NEXTT:LETY=Y-641:NEXTZ:Y=Y-632:UNTIL Y<&3000 760 CLOSE#S 770 OSCLI "SAVE "+dest$+" 3000 8000" 780 ENDPROC 790 :