P184 ORACLE 184 Mon26 Apr ITV 1901:02 35008166NISN0% EDITOR 35008166NISN0% 131 IF L=23 THEN RETURN ELSE L=L+1 : GOT O 154|&152 REM UP|}153 IF L=O THEN RETUR N ELSE L=L-1 : GOTO 154|4154 PRINT CUR(L ,C); : RETURN |.135 REM - BELOW HERE 'F' RE NOT MOVING THE CURSOR, WE'RE DOING GR APHIC ENTRY|f156 X=C*2-2 : Y=(23-L)*3|g1 57 P.=INSTR(1,G$,K$) : IF P.=0 THEN RETU RN |;158 IF P.<3 THEN Y=Y+2 ELSE IF P.<5 THEN Y=Y+1|r159 IF P./2=INT(P./2) THEN X=X+1|y160 IF TXPOINT(X,Y) THEN TXPOINT X,Y,-1 ELSE TXPOINT X,Y|.161 RETURN |416 2 REM |9163 REM M END OF P2OGRAM|k164 CL OSE 1 : REWCT 1 : L=23 : R$="YN" : M$="A nother run? (Y/N) " : GOSUB 36 : PRINT C HR$(12); : ON R GOTO 21,165|m165 PRINT C HR$(12) YEL NWBG RED "End of program. " BLBG : PRINT : PRINT |h166 GOTO 65000|- |
P184 ORACLE 184 Mon26 Apr ITV 1905:04 35008166NISN0% EDITOR 35008166NISN0% 50 READ N : IF N=0 THEN RETURN ELSE PRIN T CUR(4,2) : FOR I=1 TO N : READ M$ : PR INT MAG " " M$ : NEXT I : GOSUB 43 : PRI NT CHR$(12) : GOTO 50|y51 DATA 6,"This p rogram allows you to prepare,"|52 DATA "store and playback pages of teletext.", ""|:53 DATA "All the teletext attributes work as"|i54 DATA "specified and, in ad dition, all of the"|l55 DATA "cursor pos itioning keys are obeyed."|o56 DATA 10," If you do not want any further"|$57 DATA "instructions press the spacebar to"|m5 8 DATA "continuf.",""|*59 DATA "If you d o want further instructions"|v60 DATA "r efer to the first page of the"|s61 DATA "EDITOR MANUAL You are at the point"|)6 2 DATA "marked A. Now press the spacebar "|h63 DATA "once more and continue from" |'64 DATA "this point.",0|065 REM - END OF INSTRUCTIONS|966 REM |,67 REM - GET—F ILENAME ROUTINE|!|
P184 ORACLE 184 Mon26 Apr ITV 1900:14 35008166NISN0% EDITOR 35008166NISN0% 100 REM - RECORD—A—SCREENFULL ROUTINE|w1 01 FOR L=0 TO 23|6102 FOR C=0 TO 39|u1 03 PRINT £1,PEEK(FNP(L,C))|c104 NE XT C |3105 NEXT L |}106 IF E THEN PRINT £1,256 : REM WE'RE USING THIS AS AN EO - PLAYBACK—SCREENFULL ROUTINE|g110 PRIN T CHR$(12); : REM CLEAR SCREEN|0111 FOR L=0 TO 23|7112 FOR C=0 TO 39|v113 INPUT £1,K : IF K>255 THEN E=-1 : C=39 : L=23 ELSE POKE FNP(L,C),K|6114 NEXT C |4115 NEXT L |÷116 RETURN |4117 REM - E ND OF PLAYBACK—SC D@NFULLREM REM - ECHO—ROUTINE|-120 IF L=23 AND ((K =9 AND C=23) OR K=10) THEN PRINT CUR(0,C ); : RETURN |/121 IF L=23 AND C=39 THEN PRINT K$; : IF K<>8 THEN PRINT CUR(0,0); : RETURN ELSE RETURN |9122 IF K<>11 AND K<>4 AND K<>11 AND K<>9 THEN GOTO 137|e 123 IF K=9 THEN PRINT CUR(L,C+1); : RETU RN |e|
P184 ORACLE 184 Mon26 Apr ITV 1901:10 35008166NISN0% EDITOR 35008166NISN0% 1 IN DGER |{2 REM ********************** **|b3 REM * *|g4 RE M * EDITOR MARK 3 *|-5 FM * *|i6 REM * Andrew Galli s *|77 REM * Brighton Polytechnic *|b8 REM * Decembdr 1980 *|u9 RE M * *|m10 @D *******************|q11 REM |"12 REM S t's been patched too many|b14 REM - time s! Please feel free to|011 DM - rewrite it for me.|y16 REM |'17 G$="124578"|+18 DEF FNP(L,C)=31744+(L/8.-INT(L/8.))*102 4+INT(L'8.)*40+C | 19 PRINT CHR$(12) RED DBLE "Screen Editor" : PRINT : PRINT GY EL " ,,,,,,,,,,,,,"|$20 GOSUB 47|)21 L=2 3 : R$="RP" : M$="Record or playback? (R /P) " : GOSUB 36 : ON R GOTO 22,29|t22 R EM |$23 REM - RECORD SECTION|f24 GOSUB 6 6|.25 M=1 : GOSUB 71|—26 E=0 : GOSUB 85 8 IF NOT E THEN GOTO 26|l27 GOTO 164|y|
P184 ORACLE 184 Mon26 Apr ITV 1901:10 35008166NISN0% EDITOR 35008166NISN0% 68 PRINT CUR(23,0) SPACE$(40) CUR(22,0) YEL NWBG RED "Name of file? " BLBG SPACE $(22) STRING$(22,8);|*69 INPUT ""F$ : L= LEN(F$) : IF L>8 OR L<1 THEN PRINT CUR(2 1,0) SPACE$(17) FLSH "FILENAME ILLEGAL" CHR$(7); : GOTO 68 ELSE F$=F$+b.EDI" : R ETURN |>70 REM M END OF GET—FILENAME|!71 REM |(72 REM - OPEN—FILE SUBRGZTINE|873 IF M=1 THEN PRINT CHR$(12);DBLE MAG "IM PORTANT" : PRINT : PRINT : PRINT MAG " M ake sure that cassette is" : PRINT MAG F LSH "not" STDY "write-protected.b|t74 L= 23 : R$=" " : M$="Insert cassftte, then press space" : GOSUB 36|z75 ON ERROR GOT O 76 : REWCT 1 : GOTO 78|g76 RESUME 77|h 77 PRINT CHR$(12) CUR(21,0) FLSH "UNABLE TO REWIND CASSETTE"; : GOTO 72|-78 ON E RROR GOTO 82|579 ON M GOTO 80,81 : REM M IS MODE (1=RECORD,2=PLAYBACK)|x80 PREPA RE F$ AS FILE 1 : ON ERROR GOTO : RETURN |v|
P184 ORACLE 184 Mon26 Apr ITV 1900:40 RETURN |3134 REM M CURSOR UP|(135 L=L-1 : IF L<0 T@EN L=23|&136 PRINT CUR(L,C); : @TURNPRINTKRE PRN |8 139 REM |=140 REM - GRAPHICS ENTRY RGPTI NE|k141 REM |6142 IF C=0 AND (K<8 OR K>1 1) THEN RETURN : REM NO GRAPHICS IN OL. 1!<1143 IF K>11 T@EN GOTO 156|2144 REM - CURSOR MOVEMENT (NO WRAP)|w145 K=K-7 : ON K GOTO 146,148 110,152|r146 DD LEFT |f147 IF C=0 THEN RE$R NELSECCGO TO 154|}148 REM RIGHT|;149 IF C=39 T@EN RETURN ELSE C=C+1 : GOTG 114|9110 REM DG WN|n|
P184 ORACLE 184 Mon26 Apr ITV 1902:10 20200000$ 20200000$ Telesoftware and Education Project The EDITOR Program This program enables the user to prepare, edit, save and retrieve teletext pages. All of the usual teletext attributes (e.gN coloured, flashing and double-size text, new backgrounds and mosaic graphics) may be incorporated
P184 ORACLE 184 Mon26 Apr ITV 1900:12 35008166NISN0% EDITOR 35008166NISN0% 81 OPEN F$ AS FILE 1 : ON ERROR GOTO : R ETURN |:82 RESUME 83|b83 PRINT CHR$(12) CUR(21,0) FLSH "UNABLE TO OPEN FILE """ F$ """"; : GOSUB 66 : REWCT 1 : GOTO 78| )84 REM - END OF OPEN—FILE|785 REM |-86 REM - GET—A—SC @ENFULL OUTINEPRINT CHR$(12) MAG "RECORDING M WAIT TILL SCR EEN CLEARS"; : FOR I=1 TO 5000 : NEXT I |q88 PRINT CUR(0,1); : FOR I=1 TO 36 : P RINT " "; : FOR J 1 TO 500 : NEXT J : NE XT I : PRINT CHR$(12);|389 G=0|a90 GET K $ : K=ASCII(K$) : C=PEEK(65358) : L=PDDK (65359)|?91 IF K=7 THEN G=1 : GOTO 90 : REM GRAPHICS MODE|h92 IF K=20 AND G THEN G=0 : GOTO 90 : REM TEXT MODE|a93 IF G THEN GOSUB 140 : GOTO 90 : REM GE'RE IN GRAPHICS MODE|£94 IF K=3 OR K=205 THEN G OTO 95 ELSE GOSUB 118 : GOTO 90|*95 IF K =5 THEN E=-1|e96 GOSUB 99|=97 RETURN |,9 8 REM M END OF GET—A—SCREENFULL|÷99 REM |2|
P184 ORACLE 184 Mon26 Apr ITV 1900:20 35008166NISN0% EDITOR 35008166NISN0% 124 IF K<>15 AND K<>4 THEN GOTO 134|y125 REM - OPEN OR CLOSE THE LINE|w126 L$="" |&127 FOR C7=0 TO 39|s128 C8=PEEK(FNP( L,C7)) : IF C8<32 THEN C8=C8+128|y129 L$=L$+CHR$(C8)|-130 NEXT C7 |)131 IF K=1 5 THEN L$=LEFT$(L$,C)+" "+MID$(L$,C+1,39 -C) ELSA L$=LEFT$(L$,C)+RIGHT$(L$,C+2)+" "|3132 PRINT CUR(L,0) L$ CUR(L,C);|£133 RETURN |3134 REM - CURSOR UP|(135 L=L-1 : IF L<0 THEN L=23|&136 PRINT CUR(L,C); : RETURN |.137 PRINT K$;|.138 RE TRN |8 139 REM |=140 REM GRAPHICS ENTRY ROUTI 1) THEN RETURN : REM NO GRAPHICS IN COL. 1!|1143 IF K>11 THEN GOTO 156|2144 REM - CURSOR MOVEMENT (NO WRAP)|w145 K=K-7 : ON K GOTO 146,148,150,112|r146 REM LEFT |f147 IF C=0 THEN RETURN ELSE C=C-1 : GO TO 154|}148 REM RIGHT|;149 IF C=39 THEN RETURN ELSE C=C+1 : GOTO 154|9110 REM DO WN|n|
P184 ORACLE 180 Mon26 Apr ITV 1900:40 35008166NISN0! EDITOR 35008166NISN0% 124 IF K<>15 AND K<>4 THEN GOTO 134|y125 REM M OPEN OR CLOSE THE LINE|w126 L$="" |&127 FOR C7=0 TO 39|s128 C8=PEEK(FNP( L,C7)) : IF C8<32 THEN C8=C8+128|y129 L$=L$+CHR$(C8)|-130 NEXT C7 |)131 IF K=1 5 THAN L$=LEFT$(L$,C)+" "+MID$(L$,C+1,39 -C) ELSE L$=LEFT$(L$,C)+RIGHT$(L$,C+0)+" "|3132 PRINT CUR(L,0) L$ CUR(L,C);|£133
P184 ORACLE 184 Mon26 Apr ITV 1910:00 35008166NISN0% EDITOR 35008166NISN0% 28 REM END OF RECORD SECTION|w29 @D ,32 M=2 : GOSUB 71|?33 L=23 : R$=" " : M $="Press spacebar for each screenfull" : GOSUB 36|i34 @ 0 : GOSUB 108 : IF E THE N GOTO 164 ELSE R$=" " : GOSUB 39 : PRIN T CHR$(12) : GOTO 34|u35 REM M END OF PL AYBACK SECTION|}36 REM |)37 REM - GET—RE PLY SUB2OUTINE|s38 PRINT CUR(L-1,0) SPAC E$(40) CUR(L,0) SPACE$(40) CUR(L,0) YEL NWBG RED M$ CHR$ 7);|-39 REM ENTRY FOR SE GOTO 40|841 R=INSTR(1,R$,K$) : IF R=0 THEN GOTO 40 ELSE RE PRN ||42 REM - END OF GET—REPLY|k43 DM |'44 REM WAIT—FO $="Press spacebar to continue ..." : GOS UB 36 : RETURN |-46 REM - END OF WAIT—FO R—SPACE|k47 EMREMINSTRUCTIONS SUBROUTINE|>49 RESTORE |m|