10 REM" [0x16] [0x07] [0x0E] 20 REM" [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] Convert files to ASCII 30 REM" [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] ƒConvert files to ASCII 40 REM" [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] By C.J.Richardson. 50 REM" [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] ƒBy C.J.Richardson. 60 REM" [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] ‚This program will convert most 70 REM" [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] ‚files containing control codes 80 REM" [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] ‚Remove theREM‚ from line270 90 REM" [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] ‚to run this program directly. 100 REM" [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] ‚Run with Z%=1‚for a printout. 110 REM" [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] ‚Remove the REM‚ from lines 120 REM" [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] 310‚and330‚to save converted 130 REM" [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] ‚file. Change the value of 140 REM" [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] PTR#F%‚in line280‚to miss out 150 REM" [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] ‚header files etc. 0 if none. 160 REM" [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] †------------------------------ 170 REM" [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] ƒThis program is Public domain. 180 REM" [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] ƒPlease do not alter it in any 190 REM" [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] ƒway. If you use any of the 200 REM" [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] ƒroutines, please mention me 210 REM" [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] ƒin the titles. Thanks,CJR. 220 REM" [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] [0x08] †------------------------------ 230 DEFFNS="7TO3" 240 ONERROR:CLOSE#0:OSCLI"SPOOL":VDU3:Z%=0:OSCLI"*EX. !BOOT":END 250 MODE3:VDU21:PROCass 260 VDU6,23;8202;0;0;0;19,1,3;0; 270 REPEAT:PRINT"DRIVE TO READ FROM?":D$=GET$:UNTILVALD$<4:OSCLI"DR."+D$:OSCLI".":INPUT"FILE TO PRINTOUT?"$&A00:REM REMOVE IF FROM MENU 280 F%=OPENIN $&A00:?&A50=13:PTR#F%=&E7:?&71=F%:!&72=0:!&76=0 290 PRINTTAB(18)"Print out a teletext file by C.J.Richardson."'TAB(29)"Press SHIFT to scroll."'' 300 IFZ%=1PRINTTAB(21)"Prepare your printer and press a key.":REPEATUNTILGET:VDU2 ELSE VDU14 310 REM"*SPOOL newfile 320 REPEAT:CALLa%:PRINTTAB(40-LEN$&A00/2)$&A00:UNTILEOF#F%:CLOSE#F%:Z%=0:VDU3,15:*FX21 330 REM"*SPOOL 340 PRINT''TAB(23)"Press a key to return to main menu.":REPEATUNTILGET:OSCLI"EX. !BOOT":END 350 DEFPROCass:FORL%=0TO2STEP2:P%=&900 360 [:OPTL%:.a%:JSRl12:LDA&74:BEQl10:JSR&FFE7:LDA#0:STA&74:.l10:LDY&73:.l11:STY&73 370 JSRget:.l:LDA&70:LDY&73 380 STA&A00,Y:CMP#13:BNEl9:RTS:.l9:INY:CPY#80:BCCl11:LDY#80 390 .l3:DEY:TYA:BEQl20:LDA&A00,Y:CMP#32:BNEl3:.l21:STY&75:LDA#13:STA&A00,Y:.l20:RTS 400 .l12:LDA&75:BNEl4:LDA#0:STA&73:RTS 410 .l4:LDX#0:LDY&75:INY 420 .l5:LDA&A00,Y:STA&A00,X:INX:INY:CPY#80:BNEl5:LDA#0:STA&75:LDA#32:STA&A00,X:STX&73:RTS 430 .get:LDY&71:JSR&FFD7:BCSdone:STA&70:JSRl14:LDA&70:CMP#0:BEQget:CMP#128:BCClow:LDA#32 440 .low:CMP#32:BCSok:LDA#32 450 .ok:STA&70:CMP#32:BNErts:INC&72:LDA&72:CMP#1:BEQrt:CMP#42:BNEl2:DEC&72:.l2 460 CMP#40:BNEget:INC&74 470 .done:LDA#13:STA&70:JMPl 480 .rts:LDA#0 490 .rt:STA&72:RTS 500 .l14:LDA&70:CMP#96:BNEk:LDA#95:BNEk3:.k:CMP#95:BNEk1:LDA#35:BNEk3:.k1:CMP#35:BNEk3:LDA#96:.k3:STA&70:INC&78:LDA&78:CMP#40:BNEl13:LDA#0:STA&78 510 LDA&77:BNEl16 520 .l13:LDA&70:CMP#141:BEQl15:RTS 530 .l15:INC&77:RTS 540 .l16:LDA#0:STA&77:LDX#40 550 .l17:LDY&71:JSR&FFD7:BCSdone:DEX:TXA:BNEl17:RTS 560 ]:NEXT:ENDPROC