P184 ORACLE 184 Sun20 Jun ITV 1904:02 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 F MARKER|b107 RETURN |4108 REM |9109 REM - 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—SCREENFULL|l118 REM |:119 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<>15 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 Sun20 Jun ITV 1946: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.g. coloured, flashing and double-size text, new backgrounds and mosaic graphics) may be incorporated.
P184 ORACLE 184 Sun20 Jun ITV 1930:02 20200000$ 20200000$ dlesoftware and Education Project The EDITOR Program This program enables the user to pre0are, edit, savd and retrieve teletext pages. All of the usual teletext attributes (e.g. coloured, flashing and double-size text, new backgrounds and mosaic graphics) may be
P184 ORACLE 184 Sun20 Jun ITV 1900:11 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—SCREENFULL ROUTINE|u87 PRINT CHR$(12) MAG "RECORDING - 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=PEEK (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 WE'RE IN GRAPHICS MODE|£94 IF K=5 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 - END OF GET—A—SCREENFULL|÷99 REM |2|
P184 ORACLE 184 Sun20 Jun ITV 1911:10 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 "continue.",""|*19 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 Sun20 Jun ITV 1955:47 35008166NISN0% EDITOR 35008166NISN0% 151 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 |.155 REM - BELOW HERE WE' 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 - END OF PROGRAM|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 Sun20 Jun ITV 0000:18 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 THDN PRINT CUR(2 1,0) SPACE$(17) FLSH "FILENAME ILLEGAL" CHR$(7); : GOTO 68 ELSE F$=F$!".EDI" : R ETURN |>70 REM - END OF GDD—FILENAME|!71 REM |(72 DM M OPEN—FILE SUB OUTINE 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."|t74 L= 23 : R$=" " : M$="Insert cassette, then press s0ace" : 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|57 ON M GOTO 80,81 : DM M IS MODE (1=RECORD,2=PLAYBACK)|x80 PREPA
P184 ORACLE 184 Sun20 Jun ITV 1911:11 35008166NISN0% EDITOR 35008166NISN0% 28 REM - END OF RECORD SECTION|w29 REM | +30 REM - PLAYBACK SECTION|l31 GOSUB 66| ,32 M=2 : GOSUB 71|?33 L=23 : R$=" " : M $="Press spacebar for each screenfull" : GOSUB 36|i34 E=0 : GOSUB 108 : IF E THE N GOTO 164 ELSE R$=" " : GOSUB 39 : PRIN T CHR$(12) : GOTO 34|u35 REM - END OF PL AYBACK SECTION|}36 REM |)37 REM - GET—RE PLY SUBROUTINE|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 NO MESSAGE|t40 IF SYS(5) THEN GET K$ EL SE GOTO 40|841 R=INSTR(1,R$,K$) : IF R=0 THEN GOTO 40 ELSE RETURN ||42 REM - END OF GET—REPLY|k43 REM |'44 REM - WAIT—FO R—SPACE—SUBROUTINE|-45 L=23 : R$=" " : M $="Press spacebar to continue ..." : GOS UB 36 : RETURN |-46 REM - END OF WAIT—FO R—SPACE|k47 REM |+48 REM - INSTRUCTIONS SUBROUTINE|>49 RESTORE |m|
P184 ORACLE 184 Sun20 Jun ITV 1940:41 35008166NISN0% EDITOR 35008166NISN0% 1 INTEGER |{2 REM ********************** **|b3 REM * *|g4 RE M * EDITOR MARK 3 *|-5 DM * *|i6 REM " Andrew Walli s *|77 REM * Brighton Polytechnic *|j8 REM * December 1980 *|u9 RE M * *|m10 REM ***** *******************|q11 REM |"12 REM - S orry this code is so crude -| 13 REM - i t's been patched too many|b14 REM - time s! Please feel free to|015 REM - 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 81 : IF NOT E THEN GOTO 26|l27 GOTO 164|y|
P184 ORACLE 184 Sun20 Jun ITV 1940:03 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$+".EDI" : R ETURN |>70 REM - END OF GET—FILENAME|!71 REM |(72 REM - OPEN—FILE SUBROUTINE|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."|t74 L= 23 : R$=" " : M$="Insert cassette, 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 Sun20 Jun ITV 0000:00 E PRN |>70 REM - END OF GET—FILENAME|!71 REM |(72 DM - OPEN—FILE SUBROUTINE|873 IF M=1 THEN PRINT CHR$(12);DBLE MAG "IM PORTANT" : PRINT : PRIND : PRINT MAG " M ake sure phat cassette is" : PRINT MAG F LSH "not" STDY "write-protected."|t74 L= 23 : R$=" " 8 M$="Insert cassette, 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 REWHND CASSETTE"; : GOTO 72|-78 ON E RROR GOTO 82|179 ON M GOTO 80,81 : REM M IS MODE (1= DCORD,2=PLAYBACK)|x80 PREPA RE F$ AS FILE 1 : ON ERROR GOTO : DTURN |v|
P184 ORACLE 184 Sun20 Jun ITV 1901:11 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) ELSE 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 RETURN |8 139 REM |=140 REM - GRAPHICS ENTRY ROUTI NE|k141 REM |6142 IF C=0 AND (K<8 OR K>1 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,152|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|9150 REM DO WN|n|
P184 ORACLE 184 Sun20 Jun ITV 0000:05 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$) 8 IF L>8 OR L<1 THEN PRINT CUR(2 1,0) SPACE$(17) FLSH "FILENAME ILLEGAL" CHR$(7); : GOTO 68 ELSE F$=F$+".EDI" : R