This script is pretty much self-documenting...
Basically, the only point to note is that it was written in January 2002. If the BBC have altered
the layout of their news pages, you might need to alter this script.
; Script to fetch news articles on BBC ceefax
;
; Timed at 4 minutes, 16 seconds.
; Most of this wating for page fetches.
¤script "bbcnews"
; Select channel
channel(1)
; check we are receiving
getframe(100)
set A to status(pagefound)
if (A ! 1) error("Timed out trying to fetch page - is antenna connected?")
; start at 104, finish at 124
set A to 104
set E to 124
.fetchloop
getframe(A)
Unlike a number of other scripts, we process what we receive, as we receive it.
; now remove the top/bottom set B to 1 ; Choose a frame selectframe(A)We remove lines 1 to 5 (inclusive), as these are the mosaic-character titles that'll just look weird in ASCII form.
; Remove the top of the frame
set C to 1
.omittop
omitline(C)
C++
if(C [ 5) go("omittop")
And we do the same with the bottom of the frame(s), lines 22 to 25 inclusive.
; Remove the end of the frame
set C to 22
.omitend
omitline(C)
C++
if(C [ 25) go("omitend")
; Finished updating, store the frame
storeframe()
; Increment the frame, see if now next page
A++
if(A [ E) go("fetchloop")
; Open file, and copy frames to it as ASCII
filewrite("<Teletext$Temp>.bbcnews")
; Type 2 = ASCII
set A to 104
.outputframes
appendframe(A, 2)
filewritebyte(10)
filewritebyte(10)
A++
if(A [ E) go("outputframes")
fileclose()
filetype("<Teletext$Temp>.bbcnews", &FFF)
Because the output file is a 'text' file, running it will load it into an editor - possibly
!Edit, but maybe !Zap or !StrongEd, etc...
; Call the OS to execute a command
oscall("%Filer_Run <Teletext$Temp>.bbcnews")
; done!
terminate()