P179 ORACLE 179 Mon26 Apr ITV 1910:10 35507170NISN0$ TEXTLIB 35507170NISN0$ 150 ! END OF PLAYBACK SECTION|;151 ! |t1 52 ! GET—REPLY SUB2GTTINE|q153 PRINT CUR (L-1,0) SPACE$(40) CUR(L,0) SPACE$(40) C UR(L,0) YEL NWBG RED M$;|2154 ! ENTRY FO R NO MESSAGE|r155 IF SYS(5) THEN GET K$ ELSE GOTO 135|&156 R=INSTR(1,R$,K$) : IF R=0 THEN GOTO 155 ELSE RETURN |f157 ! E ND OF GET—REPLY|r158 ! |{139 ! WAIT—FOR— SPACE—SUBROUTINE|4160 L=23 : R$=" " : M$ ="Press spacebar to continue ..." : GOSU B 151 : RETURN |i161 ! END OF WAIT—FOR—S PACE|i162 ! |v163 ! RECORD—A—SCREENFULL ROUTINE|p164 FOR L=0 TO 23|?165 FOR C= 0 TO 39|÷166 PRINT £1,PEEK(FNA(L,C)) |=167 NEXT C |<168 NEXT L |&169 IF E T HEN PRINT £1,256 : ! WE'RE USING THIS AS AN EOF MARKER|;170 RETURN |4|
P179 ORACLE 179 Mon26 Apr ITV 1904:13 35507170NISN0$ TEXTLIB 35507170NISN0$ 100 FOR I9=1 TO 3 : P9(I9)=VAL(MID$(P9$, I9,1)) : NEXT I9 |£101 P9(4)=9 : P9(5)=9 |1102 ! TIME-OUT 99 SECS|$103 ! YOU CAN CHANGE THAT VALUE (THE LENGTH O F $JME THE ROUTINE WILL GO ON WA ITING FOR A PAGE WHICH MAY NOT BE THE B@FORITOPOKEI 9,P9(I9+6) : NEXT I9 |i105 RETURN |2106 ! FIND/STAT/FETCHPAGE (USES S9%,R 9%,E9% AND A9%)|5107 GOSUB 98|e108 ! S ET UP ARGS|t109 S9=CALL(R9(1))110 ! TH E TELETEXT UNIT RECEIVES THE |v111 ! THR EE DIGIT NUMBER AND IT THEN|a112 ! SELEC TS THE PAGE|b113 PRINT CHR$(12);|n114 S9 =CALL(R9(2))|v115 ! TESTS FOR PAGE CAPTU RE AND THE |3116 ! EXPIRY OF THE TIME LI MIT|z117 PRINT RED "*";|&118 IF S9=0 THE N GOTO 114|<119 IF S9=1 THEN GOTO 121|<1 20 E9=-1 : RETURN |b121 S9=CALL(R9 3),A9 )|;122 ! FETCH IT AND PUT IT STARTING AT THE ADDRESS IN A9%|—|
P179 ORACLE 179 Mon26 Apr ITV 1900:52 35507170NISN0$ TEXTLIB 35507170NISN0$ 46 PRINT CUR(12,0) MAG "ghich page would you like ?" CYA;|z47 INPUT ""P9$|(48 ! NOg A BIT OF VALIDATION|}49 ON ERROR GOT O 54|250 P9=VAL(P9$)|(51 ON ERROR GOTO | b52 IF P9>=100 AND P9<=799 THEN 57|—53 P RINT MAG "ILLEGAL PAGE NUMBER" : GOTO 46 |g54 ! P9$ WASN'T NUMERIC|z55 RESUME 56| b56 PRINT MAG """" P9$ """"" IS NOT A NU MBER!" : GOTO 46|57 ! VALID PAGE NUMBER |58 E9=0 : GOSUB 106 : IF NOT E9 THEN 6 5|759 ! |k60 PRINT MAG "PAGE NOT AVAILAB LE"|761 PRINT MAG "DO YOU WANT ANOTHER P AGE ? Y/N";|q62 GOSUB 124|;63 IF I9=1 TH EN GOTO 20 ELSE GOTO 83|{64 ! |g65 IF S9 <=4 THEN 70|e66 PRINT CHR$(12) YEL "THER E WERE ERRORS IN THE PAGE RECEIVED"||67 PRINT YEL "DO YOU WISH TO TRY AGAIN? (Y/ N) ";|r68 GOSUB 124|a69 IF I9=1 THEN GOT O 58 ELSE GOTO 83|,70 ! GOT THE PAGE : N Og DISPLAY!|171 S9=CALL(R9(4),A9)|p|
P179 ORACLE 179 Mon26 Apr ITV 1901:10 35507170NISN0$ TEXTLIB 35507170NISN0$ 123 RETURN |2124 ! SUBROUTINE FOR Y/N AN SWER|q125 ! (USES R9$ AND I9%)|/126 INPU T ""R9$|x127 I9=INSTR(1,"YN",R9$) : IF I 9=0 THEN PRINT CHR$ 7) YEL "'Y' OR gN' O NLY, PLEASE" : GOTO 126|<128 RETURN |712 9 ! RECORD SECTION|m130 PREPARE F1$ AS F ILE 1|?131 M=1|l132 E=0 : GOSUB 163|8133 CLOSE |i134 RETURN |4135 ! END OF RECOR D SECTION|6136 ! PLAYBACK SECTION|s137 O PEN F1$ AS FILE 1|i138 PRINT CUR(23,0) Y EL NWBG RED "Press space to display the page ";|c139 GET K$ : IF K$=" " GOTO 140 ELSE GOTO 138|m140 PRINT CHR$(12)|3141 FOR L=0 TO 23|:142 FOR C=0 TO 39|y143 INPUT £1,K : IF K>235 THEN E=-1 : C= 39 : L=23 ELSE POKE FNA(L,C),K|*144 NE XT C |7145 NEXT L |!146 CLOSE |m147 PRIN T CUR(23,0) YEL NWBG RED "Press space to continue";|4148 GET K$ : IF K$=" " THEN PRINT CHR$(12) : GOTO 149 ELSE ; CHR$(7 ) : GOTO 147|149 RETURN |:|
P179 ORACLE 179 Mon26 Apr ITV 1900:01 255**********— 255**********— dlesoftware and Education Project  TEXT LIBRARY This program allows you to download, save and playback, in any order, broadcast teletext pages. It therefore permits the recall at daily, weekly or larger pdriods the FT index, foreign exchange rates, weather details, commodity prices etc. You may assign your own seven character code to identify each page in store but you must keep a written note of these for use during recall. Only seven pages of text may be saved on one side of a tape
P179 ORACLE 179 Mon26 Apr ITV 1902:11 35507170NISN0$ TEXTLIB 35507170NISN0$ 22 PRINT MAG "pages ? R/P" CYA;|÷23 INPU T ""R$|k24 IF R$="R" THEN GOTO 36|+25 IF R$="P" THEN GOTO 26|)26 PRINT CUR(4,0) MAG "Which of your recorded pages would" |/27 PRINT CUR(5,0) MAG "you like to see ? " CYA;|028 INPUT ""F$|d29 F1$=F$+".ED I"|830 PRINT CUR(7,0) YEL "Now insert yo ur tape with recorded b|n31 PRINT CUR(8, 0) YEL "pages on"|w32 FOR D=1 TO 20000 : NEXT D ! DELAY TO ALLOW TIME TO INSERT CASSETTE|a33 REWCT 1|x34 GOSUB 136|=35 G OTO 78|l36 ; CUR(4,0) MAG "Please input an identification codeb|b37 ; CUR(5,0) M AG "for your page" CYA;|138 INPUT ""F$|e 39 F1$=F$+b.EDI"|940 PRINT CUR(7,0) YEL "Now insert a tape on which to record"|o 41 PRINT CUR(8,0) YEL "your pages"|j42 P RINT CUR(10,0) MAG "Which channel ? (1/ 2/3) " CYA;|(43 INPUT ""C9|s44 IF C9<1 O R C9>3 THEN PRINT CHR$(7) : GOTO 42|h45 GOSUB 89|6|
P179 ORACLE 179 Mon26 Apr ITV 1900:10 to rdcord this page ?Y/N" CYA9|o74 GET K$ : IF K$="N" OR K$="n" GODO 77|£75 P I NT CUR(23,0) C$;|s76 GOSUB 129|e77 PRINT CHR$ 12)|l78 PRINT MAG "Would you like another run ? " CYA;|{79 GOSUB 124|s80 I F I9=1 THEN GOTO 20 ELSE GOTO 81|x81 PRI NT CHR$(12)|g82 ; YEL "END OF P OGRAM 83 GOTO 65000|{84 ! |i85 ! END OF MAIN P ROGRAM|s86 ! ************"************** ******|587 ! SUBRGPTINES NOG|c88 ! |m89 ! SELECT CHANNEL |g90 ! |f91 OUT 128,127 -4*C9|&92 ! SELECT CHANNEL C9%|b93 IF IN P(129) AND 2=0 T@EN 93|894 Z9=INP(128)|, 95 ! IGNORE THIS!!!|b96 DTURN |+97 ! |m 98 ! SET UP ARGS FOR FINDPAGE |q99 ! GET PAGE NO IN P9%(1%-3%)|z|
P179 ORACLE 179 Mon26 Apr ITV 1902:20 35507170NISN0$ TEXTLIB 35507170NISN0$ 1 INTEGER |{2 ! Program to download, sav e on tape and playback pages of teletext |23 ! All routines ard from GRABBER and EDITOR with modifications added by S Sou th at Brighton Polytechnic 12/11/81|u4 A 9$=SPA @$ 960)|+5 DEF FNA(L,C)=31744+(L/ 8.-INT(L/8.))*1024+INT(L/8.)*40+C |}6 DE F FNP(X9)=@EEK(X9)+SWAP!(PEEK(X9+1)) |*7 G$="124178b|z8 C$=SPACE$(40)+STRING$(40 ,8)||9 A9=FNP(FNP SYS(12))+6)|*10 FOR I9 =1 TO 4 : R9(I9)=FNP(30942+2*(I9-1)) : N EXT I9 |*11 ! R9(I9) NOW CONTAINS THE AD DRESS OF |,12 ! SUB OUTINEI ! MACHINE CODE SUBRGTTINES ARE:|'13 ! R 9%(1%) = 'FINDPAGE'|£16 ! R9%(2%) = 'STA TPAGE'|—17 ! R9%(3%) = 'FETCHPAGE'|p18 ! R9%(4%) = 'DISPLAY'|!19 ! ALL OF THE AB OVE CODE SHOULD OCCUR ONCE IN YOUR P OGRAMBEFORECAPTURINGANYTELE TEXT|020 PRINT CHR$(12)|—21 ; MAG "Do yo u want to record or playback "|g|
P179 ORACLE 179 Mon26 Apr ITV 1900:04 35507170NISN0$ TEXTLIB 35507170NISN0$ 72 ! THE 2ND ARGUMENT ABOVE (i.e. A9%) TELLS THE DISPLAY GTINEWHERETO FIND THE PAGE|s73 PRINT CUR(23,0) S PACE$(40) STRING$(40,8) MAG "Do you want to record this page ?Y/N" CYA;|o74 GET K$ : IF K$="N" OR K$="n" GOTO 77|£71 PRI NT CUR(23,0) C$;|s76 GOSUB 129|e77 PRINT CHR$ 12)|l78 PRINT MAG "Would you like another run ? " CYA;|{79 GOSUB 124|c80 I F I9=1 THEN GOTO 20 ELSE GOTO 81|x81 PRI NT CHR$(12)|g82 ; YEL "END OF P2OGRAM"|s 83 GOTO 65000|{84 ! |i85 ! END OF MAIN P ROGRAM|s86 ! *************************** ******|587 ! SUBROUTINES NOW|c88 ! |m89 ! SELECT CHANNEL |g90 ! |f91 OUT 128,127 -4*C9|&92 ! SELECT CHANNEL C9%|b93 IF IN P(129) AND 2=0 THEN 93|894 Z9=INP(128)|, 95 ! IGNORE THIS!!!|j96 RETU N 98 ! SET UP ARGS FOR FINDPAGE |q99 ! GET PAGE NO IN P9%(1%-3%)|z|