10VDU23;29194;0;0;0;:VDU26:MODE7:*fx2
00 1
20HIMEM=&7800:DIMC 25,A$(30):ONERRORG
OTO640
30PROCJ:PROCG
40REPEATPROCN:PROCF:PROCA:IFG=7ANDB=T
RUEB=FALSE:VDU23;10,114,0;0;0;23;11,19,0
;0;0;:ELSEIFG=7:B=TRUE:VDU23;10,104,0;0;
0;23;11,11,0;0;0;
50IFG=128PROCK
60IFG=144PROCL
70IFG=23 G=0:PROCB
80IFG=26 G=0:PROCC
90IFG=1 G=0:PROCD
100IFG=19 G=0:PROCE
110IFG=6PROCM
120IFE=1PROCG
130IFG=12PROCO
140IFBPROCI
150IFG>7ANDG<12ORG=13ORG>127VDUG
160IFVPOS=23VDU8
170UNTIL0
180DEFPROCF:*FX21,0
190G=GET:IFINKEY(-42)G=10
200IFINKEY(-58)G=11
210IFINKEY(-26)G=8
220IFINKEY(-122)G=9
230IFG=139 G=0:E=1
240IFG=35 G=223
250IFG=95 G=224
260IFG=96 G=163
270IFG<128ANDG>31 G=G+128
280ENDPROC
290DEFPROCJ:*fx4 1
300*KEY0|!|K
310*KEY1|!|L
320*KEY2|!|M
330*KEY3|!|X
340*KEY4|!|Y
350*KEY5|!|Z
360*KEY6 |!|½
370*KEY7|!|]
380*KEY8|!|^
390*KEY9|!|`
400FORJ%=0TO30:READA$(J%):NEXT
410DATA alpha red,alpha green,alpha ye
llow,alpha blue,alpha magenta,alpha cyan
,alpha white,flash,steady
420DATA "","",normal height,double hei
ght,"","","",graphic red,graphic green,g
raphic yellow,graphic blue,graphic magen
ta,graphic cyan,graphic white
430DATA conceal display,contiguous gra
phics,seperated graphics,"",black backgr
ound,new background,hold graphics,releas
e graphics
440E=0:B=0:ENDPROC
450DEFPROCA:IFG=11ANDVPOS=0 G=0
460IFG=10ANDVPOS=22 G=0
470IFG=8ANDVPOS=0ANDPOS=0 G=0
480IFG=9ANDVPOS=22ANDPOS=39 G=0
490ENDPROC
500DEFPROCK:*fx200 0 0
510VDU28,0,24,39,23:PRINT"
or ESCAPE to cancel";:VDU13,11:I
NPUT"LOAD Filename ? "N$:$C="LOAD "+N$+
" 7C00":X%=CMOD256:Y%=CDIV256:CALL&FFF7:
CLS:VDU26:G=0:*fx200 1 0
520ENDPROC
530DEFPROCL:*fx200 0 0
540VDU28,0,24,39,23:PRINT"
or ESCAPE to cancel";:VDU13,11:I
NPUT"SAVE Filename ? "N$:$C="SAVE "+N$+
" 7C00 +398":X%=CMOD256:Y%=CDIV256:CALL&
FFF7:CLS:VDU26:G=0:*fx200 1 0
550ENDPROC
560DEFPROCN:X=POS:Y=VPOS:A%=135:Q%=USR
&FFF4:W%=(Q%AND&FF00)/256:VDU28,0,24,39,
23:CLS:IFNOTBPRINT"Cursor position";CHR$
134;X;"/";Y;
570IFBPRINT"Cursor";CHR$134;X;"/";Y;TA
B(13);" G MODE ";
580PRINTTAB(25);" f0 = help":PRINT
"Char.is";CHR$134;W%;" (&";÷W%;")";CHR$1
35;TAB(18);"=";CHR$131;:A$=CHR$W%:IFW%=1
60ORW%=32 A$="space"
590IFW%=255 A$=CHR$255+" <delete key>"
600IFW%>128ANDW%<160 A$=A$(W%-129)
610PRINTA$;:VDU26:PRINTTAB(X,Y);:ENDPR
OC
620*fx200 0
630VDU28,0,24,39,23:CLS:REPORT:IFERR<>
17PRINT'" Press ESCAPE to continu
e";:REPEATUNTIL0
640*fx200 1
650VDU26:GOTO40
660DEFPROCG:X=POS:Y=VPOS:FORI%=&7C00TO
&7F98STEP4:!(I%-&400)=!I%:NEXT:PROCH:FOR
I%=&7C00TO&7F98STEP4:!I%=!(I%-&400):NEXT
:E=0:VDU26:PRINTTAB(X,Y);:ENDPROC
670DEFPROCI:IFG=241ORG=209VDUW%OR160EO
R1:VDU8
680IFG=247ORG=215VDUW%OR160EOR2:VDU8
690IFG=225ORG=193VDUW%OR160EOR4:VDU8
700IFG=243ORG=211VDUW%OR160EOR8:VDU8
710IFG=250ORG=218VDUW%OR160EOR16:VDU8
720IFG=248ORG=216VDUW%OR160EOR64:VDU8
730IFG>7ANDG<12ORG=13ORG>127ANDG<160VD
UG
740G=0:ENDPROC
750DEFPROCH:CLS:PRINT"
pppppppppppppppppppppp":PRINTCHR$141;" TELETEXT SCREEN EDITOR ":PR
INTCHR$141;" TELETEXT SCREEN EDIT
OR ":PRINT"
££££££££££££££££":PRINT" f0 calls
this help page"
760PRINT" shift f0 LOAD a screen from
tape/disk":PRINT" ctrl f0 SAVE a screen
to tape or disk":PRINT"
,,,,,,,,,,,,,,,,,,,,,,,":PRINT"f1 normal
height f8 hold graphics":PRINT"f2 do
uble height f9 release graphics":PRIN
T"f3 conceal"
770PRINT"f4 contiguous graphics":PRINT
"f5 seperated graphics
":PRINT"f6 black background shift f8
flash":PRINT"f7 new background sh
ift f9 steady":PRINT"
,,,.,,,,,,,,,,,,,,,,":PRINT" shift f1
f2 f3 f4 f5 f6 f7 alpha"
780PRINT"
¶ ":PRINT" control f1 f2 f3 f4 f5 f6 f7
graphics":PRINT"
,,,,,,,,,,,,,,,":PRINT" arrow keys move
cursor around screen":PRINT"
,,,,,,,,,,,,,,,,,,,,,,,,,,,,"
790PRINT" DELETE key gives ¶ alpha &
graphics":PRINT'" Press SPACE to
continue";:*fx21 0
800REPEATUNTILGET=32:CLS:PRINT" ";CHR$141;" TELETEXT SCREEN EDITOR
";:PRINT" TELETEXT
SCREEN EDITOR ";:PRINT" ctrl W
delete line"'" Line cursor is on is dele
ted. Rest of"'" page moves up.":PRINT"
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"
810PRINT" ctrl Z insert line"'" Lines
from cursor position to bottom"'" of sc
reen move down creating a blank"'" line.
Bottom line is lost.":PRINT"
,,,,,,,,,,,,,,,,,,,,,,,,,,,,"
820PRINT" ctrl A delete character"'"
Character at cursor is deleted. Rest"'"
of line moves left to close gap.":PRINT"
830PRINT" ctrl S insert character"'"
Line is moved to the right from cursor"'
" position to end of line creating a"'"
space. Last character on line is lost.":
PRINT"
,,,,,":PRINT" ctrl L clear screen"
840PRINT"
,,,,,,,,,,":PRINT" ctrl F change filing
system":PRINT"
,,,,,,,,,,,,,,":PRINT" press SPAC
E to continue REPEATUNTILGET
2:CLS:PRINT"
pppppppppp"
850PRINTCHR$141;" TELETEXT SCRE
EN EDITOR ":PRINTCHR$141;" TELETEXT SCREEN EDITOR ":PRINT"
££££££££££££££££££££££££££££££££££££":P
RINT" ctrl G enters or exits G MODE
"
860PRINT'" Note the layout of the Q
W":PRINT" A S":
PRINT" Z X keys
.":PRINT'" When in G MODE these six key
s are used";:PRINT" to set or clear the
corresponding pixel";:PRINT" of the char
acter at the current cursor"
870PRINT" position.(Provided of course
that there";:PRINT" is a graphic code e
arlier on the line).";:PRINT" This save
s having to keep looking up":PRINT" whic
h character gives the desired pixel";:PR
INT" pattern."
880PRINT" Although when in G MODE mos
t of the"," keyboard is disabled, the cu
rsor keys,"," function keys and control
codes still"," work as previously descri
bed.":PRINT''" Press SPACE to con
tinue";:*fx21 0
890REPEATUNTILGET=32:ENDPROC
900DEFPROCC:A=VPOS*40+&7C00:FORI%=&7F4
8TOASTEP-40:FORJ%=I%TOI%+39STEP4:!(J%+40
)=!J%:NEXT:NEXT:FORI%=ATOA+39:?I%=160:NE
XT:ENDPROC
910DEFPROCB:A=VPOS*40+&7C00:FORI%=ATO&
7F48STEP40:FORJ%=I%TOI%+39STEP4:!J%=!(J%
+40):NEXT:NEXT:FORI%=&7F70TO&7F97:?I%=16
0:NEXT:ENDPROC
920DEFPROCE:A=VPOS*40+&7C00:D=A+POS:FO
RI%=A+39TODSTEP-1:?I%=?(I%-1):NEXT:?D=16
0:ENDPROC
930DEFPROCD:A=VPOS*40+&7C00:D=A+POS:FO
RI%=DTOA+38:?I%=?(I%+1):NEXT:?(A+39)=160
:ENDPROC
940DEFPROCO:X=POS:Y=VPOS:VDU28,0,24,39
,23:CLS:PRINT'" CLEAR SCREEN are you
sure? (Y/N) ";:G$=GET$:IFG$="Y"ORG$="y"V
DU26:CLS:ELSEVDU26:PRINTTAB(X,Y);
950ENDPROC
960DEFPROCM:X=POS:Y=VPOS:VDU28,0,24,39
,23:CLS:PRINT'" DFS/ADFS/TAPE (D/A/T) "
;:REPEATG$=GET$:G$=CHR$(ASCG$OR32):UNTIL
G$="d"ORG$="t"ORG$="a":IFG$="d"THEN*DISK
970IFG$="t"THEN*tape
980IFG$="a"THEN *ADFS
990VDU26:PRINTTAB(X,Y);:G=0:ENDPROC