10DEFFNS="7TO3"
20ONERROR:CLOSE#0:OSCLI"SPOOL":VDU3:Z
%=0:OSCLI"*EX. !BOOT":END
30MODE3:VDU21:PROCass
40VDU6,23;8202;0;0;0;19,1,3;0;
50REM" REPEAT:PRINT"DRIVE TO READ FR
OM?":D$=GET$:UNTILVALD$<4:OSCLI"DR."+D$:
OSCLI".":INPUT"FILE TO PRINTOUT?"$&A00:R
EM REMOVE IF FROM MENU
60F%=OPENIN $&A00:?&A50=13:PTR#F%=&E7
:?&71=F%:!&72=0:!&76=0
70PRINTTAB(18)"Print out a teletext f
ile by C.J.Richardson."'TAB(29)"Press SH
IFT to scroll."''
80IFZ%=1PRINTTAB(21)"Prepare your pri
nter and press a key.":REPEATUNTILGET:VD
U2 ELSE VDU14
90REM" *SPOOL newfile
100REPEAT:CALLa%:PRINTTAB(40-LEN$&A00/
2)$&A00:UNTILEOF#F%:CLOSE#F%:Z%=0:VDU3,1
5:*FX21
110REM" *SPOOL
120PRINT''TAB(23)"Press a key to retur
n to main menu.":REPEATUNTILGET:OSCLI"EX
. !BOOT":END
130DEFPROCass:FORL%=0TO2STEP2:P%=&900
140[:OPTL%:.a%:JSRl12:LDA&74:BEQl10:JS
R&FFE7:LDA#0:STA&74:.l10:LDY&73:.l11:STY
&73
150JSRget:.l:LDA&70:LDY&73
160STA&A00,Y:CMP#13:BNEl9:RTS:.l9:INY:
CPY#80:BCCl11:LDY#80
170.l3:DEY:TYA:BEQl20:LDA&A00,Y:CMP#32
:BNEl3:.l21:STY&75:LDA#13:STA&A00,Y:.l20
:RTS
180.l12:LDA&75:BNEl4:LDA#0:STA&73:RTS
190.l4:LDX#0:LDY&75:INY
200.l5:LDA&A00,Y:STA&A00,X:INX:INY:CPY
#80:BNEl5:LDA#0:STA&75:LDA#32:STA&A00,X:
STX&73:RTS
210.get:LDY&71:JSR&FFD7:BCSdone:STA&70
:JSRl14:LDA&70:CMP#0:BEQget:CMP#128:BCCl
ow:LDA#32
220.low:CMP#32:BCSok:LDA#32
230.ok:STA&70:CMP#32:BNErts:INC&72:LDA
&72:CMP#1:BEQrt:CMP#42:BNEl2:DEC&72:.l2
240CMP#40:BNEget:INC&74
250.done:LDA#13:STA&70:JMPl
260.rts:LDA#0
270.rt:STA&72:RTS
280.l14:LDA&70:CMP#96:BNEk:LDA#95:BNEk
3:.k:CMP#95:BNEk1:LDA#35:BNEk3:.k1:CMP#3
5:BNEk3:LDA#96:.k3:STA&70:INC&78:LDA&78:
CMP#40:BNEl13:LDA#0:STA&78
290LDA&77:BNEl16
300.l13:LDA&70:CMP#141:BEQl15:RTS
310.l15:INC&77:RTS
320.l16:LDA#0:STA&77:LDX#40
330.l17:LDY&71:JSR&FFD7:BCSdone:DEX:TX
A:BNEl17:RTS
340]:NEXT:ENDPROC