As for 'bbcnews', this script was written in January 2002.
What we are doing here, quite simply, is fetching two frames in quick succession, so they may both be fetched in one 'pass'. This, in itself, should have the effect of doubling the fetch rate.
; Script to fetch news articles on BBC ceefax, in half the time
;
; Timed at 2 minutes, 15 seconds.
; Yes, I know it fetches p114 twice...
¤script "bbcnewsfst"
; 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?")
; start1 at 104, start2 at 114
set A to 104
set E to 114
.fetchloop
getframe(A)
set F to A
add(F, 10)
getframe(F)
We still process as we receive. Like before, we remove lines 1 to 5, and 22 to 25. ; now remove the top/bottom of first page fetched
set B to 1
; Choose page
selectframe(A)
; Remove the top
set C to 1
.omittop_one
omitline(C)
C++
if(C [ 5) go("omittop_one")
; Remove the end
set C to 22
.omitend_one
omitline(C)
C++
if(C [ 25) go("omitend_one")
; Finished updating, store the page
storeframe()
; there's no SIMPLE way to do this, and we have time between p1xx and rollback,
; so we'll just dupe the code. It's easier.
(the reason I've not altered this code is because I no longer can receive BBC 1...)
; now remove the top/bottom of second page fetched
set B to 1
; Choose page
selectframe(F)
; Remove the top
set C to 1
.omittop_two
omitline(C)
C++
if(C [ 5) go("omittop_two")
; Remove the end
set C to 22
.omitend_two
omitline(C)
C++
if(C [ 25) go("omitend_two")
; Finished updating, store the page
storeframe()
; Increment the frame, see if now next page
A++
if(A [ E) go("fetchloop")
This is pretty much the same as 'bbcnews'...
; Open file, and copy frames to it as ASCII
filewrite("<Teletext$Temp>.bbcnews")
; Type 2 = ASCII
set A to 104
set E to 124
.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()