TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Jonathan de Boyne Pollard
from: John Poltorak
date: 1995-02-24 04:57:26
subject: Teletext

Hello Jonathan!

 >> What about using full screen?
 ZZ>>

 JdBP>   If you want full-screen text-mode, then you have the luxury of
 JdBP>   changing the VGA font using VioSetFont, so you can display block
 JdBP>   graphic characters and so forth easily.  You don't have any such
 JdBP>   luxury in a windowed session or in an AVIO PM program.

Do you have any examples for this? In fact, can you tell me where I can
find any documentation on all the Vio functions - the only thing I have is
a book by Schildt from 1988 which doesn't mention VioSetFont.

 >> My thoughts were to have a background process which could update a
 >> large teletext buffer containing all the available pages. This would
 >> need to be around 1MB but could be held on disk rather than in memory.

 JdBP>   Well, you could always allocate a large chunk of memory, and let OS/2
 JdBP>   handle swapping it.  Properly managed with DosSetMem, you could even
 JdBP>   use sparse allocation.

 JdBP>   Just using a huge array of pages from 000 to 7FF has the disadvantage
 JdBP>   that you cannot keep multiple sub-pages for the same page in memory
 JdBP>   (imagine being able to go from page 1/4 to 3/4 instantly without
 JdBP>   having to wait!).

That's one of the things I wanted to do! It would also let you scroll
backwards - that would make Teletext page 641 usable :-)

Holding the pages contiguously is not practical, because you never know how
many pages or sub-pages are available. There needs to be some sort of
indexing.



 JdBP>   You'd need to keep the teletext data in "raw" form, so that you
 JdBP> can
 JdBP>   recalculate the screen image when toggling REVEAL mode on and
 JdBP> off.

 >> I would like this to work as a client/server operation, where the
 >> client asks for a particular page, and gets it back in a buffer.
 >> The teletext server would basically keep the buffer uptodate and
 >> service any page requests.

 JdBP>   If you are going for network operation, then named pipes are the only
 JdBP>   solution.  However, on a single machine you could always go for shared
 JdBP>   memory.  If you make the entire page buffer one big lump of shared
 JdBP>   memory, then you have the advantage that page data are updated
 JdBP>   automatically as new pages are received.

Is it possible to compress data, in memory? I mean are there any
compression programmes readily available which could do this? We have a
compression expert in our midst... I wonder if he could jump in here... (Q:
PF> )

I'd imagine that each page could be reduced by 50%.

 JdBP>   Otherwise, you have to have some method for the server to notify
 JdBP> the
 JdBP>   client of a page change (or have the client poll the server -- ugh!).

 >> To be honest, PM programming is not one of my strongpoints,
 >> and a lot of that stuff is over my head at present.

 JdBP>   Ah.  Right.  I thought that you meant a PM program.

I'll get round to learning PM *one day* :-).

 >>  JdeBP> What teletext receiver are you using, by the way ?
 >>
 >> It's a MICROTEXT Teletext receiver. It's useful because it's accessible
 >> via serial connection, so I don't need a device driver for it,

 JdBP>   Internal card or external unit ?  Cost ?

It's an external receiver, and vastly overpriced at around 300 quid.
You can get cards for about 100, or you could probably make one for much
less - I think there was an article in a Wireless magazine showing how to
make one - a few months ago. Anyway, this unit was the only option
available to me.

 JdBP>   How does the serial interface work ?

Just like a modem - you plug it into a com port and set the speed to 9600.
It only works with com1 and com2, but that is probably a limitation imposed
by the DOS software.

 >> It comes with a couple of sample
 >> programs in C and Basic.

 JdBP>   I'd be interested in more details.

There's a sample of a REXX program I wrote in the next msg. It's quite
rough and ready - no validation or error handling (or comments...) but
hopefully illustrates how to request a page. It relies on the receiver
having been set up in the first place using the supplied DOS software to
tune the receiver to the correct frequencies for each channel. The program
is called with two parameters, channel and page, and writes the raw page to
a file.

If you need any clarification, let me know.

John

--- GoldED/2 2.50.Beta4+
* Origin: (2:250/313)
SEEN-BY: 12/2442 620/243 624/50 632/348 640/820 690/660 711/409 410 413 430
SEEN-BY: 711/807 808 809 934 942 949 955 712/515 713/888 800/1 7877/2809
@PATH: 250/313 440/4 141/209 270/101 396/1 3615/50 229/2 12/2442 711/409 808
@PATH: 711/809 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.