Algemeen:
Het Videotext protocol kent 3 soorten 'displays':
'Alpha Mosaic': gebaseerd op charactersets die bestaan uit het alfabet en
tekens die vlakjes (met een matrix van 2x3) vormen, vandaar 'mosaic'.
'Geometric': Vector gebaseerd, dwz lijnen, circles, vlakken die met
coördinaten beschreven worden.
'Photographic': gebaseerd op pixels, zoals een gifplaatje.
Teletekst volgt het alphamosaic display heeft 8 kleuren (wit, geel, cyaan,
groen, magenta, rood, blauw, zwart) van 40 characters breed en 24 regels
hoog. De characterset is gebaseerd op ascii aangevuld met mosaic characters,
de eerste 32 characters zijn controlcodes.
Het lijkt door de kleuren wat op ansi en door de mosaiccharacters
op ms-dos beeldopbouw. Maar het meest lijkt het op de uitvoer van de
philips p2000 homecomputer.
Omschrijving:
Het teletekstdisplay bestaat uit 40x24 characters. Een omschrijving van 1
pagina bestaat uit 9600 characters, hierbij zijn OOK controlcharacters bij
inbegrepen. Een controlcharacter bezet dus een plaats op het scherm.
De controlcharacters bepalen de kleur, de grootte en enkele ander attributes
van de opvolgende characters.
Per pagina wordt bepaald welk characterset er wordt gebruikt. De mij
bekende charactersets zijn: engels, frans, zweeds, duits, spaans en italiaans.
De omschrijvingen van de charactersets zijn NIET te vinden in ETS 300.072.
De verschillen tussen de sets zijn voornamelijk letters met diacritische
tekens en speciale characters en hebben asciiwaardes 35, 36, 64, 91-96, 123-126
(verderop omschreven).
De eerste rij tekens (pagina, zendernaam, datum, tijd) zijn gegenereerd
ofwel door de encoder (zender) ofwel door de decoder (ontvanger). Hoe deze
regel uit moet zien is ook niet gestandaardiseerd.
Voor de graphics bestaan 2 mosaic character sets: continuous en seperated.
De sets hebben dezelfde vormen, maar bij de seperated set zijn de afzonderlijke
vlakjes gescheiden van elkaar en bij de continuous set zitten ze tegen elkaar
aan. Meestal zie je de continuous versie, bij de BBC (pagina 100) zijn
de woorden 'BBC CEEFAX' opgebouwd met continuous en de zeilboot met seperated mosaic.
Bij de BRT 1 teletekst (pagina 100) de woorden 'BRTN TELETEKST' met seperated mosaic.
De Controlcharacters:
De eerste 32 characters zijn controlcharacters:
ascii | afkorting | ETS naam | uitleg
000 | ABK | ALPHA BLACK | alphanumeric set (dus niet 1 van de 2 mosaic sets), kleur zwart.
| 001 | ANR | ALPHA RED | alphanumeric set, kleur rood.
| 002 | ANG | ALPHA GREEN | alphanumeric set, kleur groen.
| 003 | ANY | ALPHA YELLOW | alphanumeric set, kleur geel.
| 004 | ANB | ALPHA BLUE | alphanumeric set, kleur blauw.
| 005 | ANM | ALPHA MAGENTA | alphanumeric set, kleur magenta.
| 006 | ANC | ALPHA CYAN | alphanumeric set, kleur cyaan.
| 007 | ANW | ALPHA WHITE | alphanumeric set, kleur wit.
| 008 | FSH | FLASH | knipperend.
| 009 | STD | STEADY | niet knipperend.
| 010 | SBX | START BOX | wordt niet gebruikt bij teletekst.
| 011 | EBX | END BOX | wordt niet gebruikt bij teletekst.
| 012 | NSZ | NORMAL SIZE | hoogte van de letter = 1 regel.
| 013 | DBH | DOUBLE HEIGHT | hoogte van de letter = 2 regels. (zie opmerkingen)
| 014 | DBW | DOUBLE WIDTH | 2 x normale breedte, wordt niet gebruikt bij teletekst.
| 015 | DBS | DOUBLE SIZE | 2 x normale breedte en hoogte, wordt niet gebruikt bij teletekst.
| 016 | MBK | MOSAIC BLACK | mosaic set (1 van de twee, zie 025 en 026), kleur zwart.
| 017 | MSR | MOSAIC RED | mosaic set, kleur rood.
| 018 | MSG | MOSAIC GREEN | mosaic set, kleur groen.
| 019 | MSY | MOSAIC YELLOW | mosaic set, kleur geel.
| 020 | MSB | MOSAIC BLUE | mosaic set, kleur blauw.
| 021 | MSM | MOSAIC MAGENTA | mosaic set, kleur magenta.
| 022 | MSC | MOSAIC CYAN | mosaic set, kleur cyaan.
| 023 | MSW | MOSAIC WHITE | mosaic set, kleur wit.
| 024 | CDY | CONCEAL DISPLAY | verborgen text, opgeheven wanneer andere kleur wordt gekozen.
| 025 | SPL | STOP LINING | bij mosaic continuous set gebruiken.
| 026 | STL | START LINING | bij mosaic seperated set gebruiken.
| 027 | CSI | CONTROL SEQUENCE INTRODUCER | wordt niet gebruikt bij teletekst.
| 028 | BBD | BLACK BACKGROUND | achtergrondkleur van de characters zwart.
| 029 | NBD | NEW BACKGROUND | achtergrondkleur wordt de kleur van de characters.
| 030 | HMS | HOLD MOSAIC | bij mosaic set de laatst gebruikte character weergeven als er een control character staat.
| 031 | RMS | RELEASE MOSAIC | bij mosaic set een spatie weergeven als er een control character staat (default).
| |
Opmerkingen bij controlcharacters:
Een control character neemt ook een positie in op de display, dus te beschouwen als een spatie.
Als HOLD MOSAIC aanstaat wordt de laatste mosaic character weergegeven bij een control character
als de character set op mosaic staat.
Aan het begin van iedere regel worden de attributes gereset. Dwz: alphanumeric characterset, character kleur wit, achtergrondkleur zwart, niet knipperend of verborgen, normale grootte, als mosaic aan komt te staan continuous set gebruiken, spatie bij control character.
Bij DOUBLE HEIGHT worden de characters met hun achtergrondkleur met dubbele hoogte weergegeven,
ze worden naar onder uitgerekt. Op de laatste regel moet deze control genegeerd worden.
Wat er op de regel na DOUBLE HEIGHT moet gebeuren is volgens ETS 300.072 nog onderwerp van studie.
Wat er op alle tv's gebeurt is het volgende:
Op de plaatsen waar de characters van de bovengelegen regel dubbele hoogte hebben wordt niets
neergezet, op alle andere posities alleen dezelfde achtergrondkleur als op de bovengelegen regel.
Characters en controls worden dus genegeerd op die regel.
Soms staat er toch nog tekst op een regel na een regel met characters met dubbele hoogte.
Ik heb er voor gekozen deze tekst wel te laten zien en bij iedere character de achtergrondkleur
te nemen van de dezelfde positie op de bovengelegen regel.
testpagina van at5.
In bovenstaand voorbeeld is op regel 14/15 een tekst met dubbele hoogte te zien.
Op de teletekst van de tv is het woord 'Stilstaand!' niet te zien.
De teletekstdata die de server produceert vind je hier.
Ik negeer FLASH (knipperen) en CONCEAL DISPLAY (verborgen tekst), ik laat de characters daarna in de geldende kleur zien.
Alphanumeric characters
De alphanumeric characters volgen de asciicodes met uitzondering van codes 35, 36, 64, 91-96, 123-126.
Deze codes verschillen ook per taalset. Uit de charactersets van programma's waarmee teletekstpagina's
worden gemaakt kon ik het volgende destileren:
Mosaic characters
De mosaic characters zijn opgebouwd uit 6 vierkantjes; 2 breed, 3 hoog.
Bij de continuous set (bovenste 2 rijen in het plaatje) liggen de vierkantjes tegen elkaar aan,
bij de seperated set (onderste 2 rijen in het plaatje) zit ruimte tussen de vierkantjes.
bytes 0-5 | paginanummer en subpaginanummer, gescheiden door '/', vb: 100/2 |
byte 6 | 0 (=teletekstcodering), 1=asciicodering komt bij ons niet voor. |
byte 7 | taalsetnummer: 0=engels 1=frans 2=zweeds 4=duits 5=spaans 6=italiaans |
bytes 8-39 | Teletekst kopregel, meestal bestaande uit zendernaam, datum, tijd. |
De teletextserver hardware kan maar 4 pagina's tegelijk grabben,
hij heeft maar geheugen voor 4 pagina's.
Softwarematig kan worden aangegeven welke 4 pagina's binnengehaald moeten worden.
Het serverprogramma doet dat besturen van de server hardware.
Je kunt in een lijst aangeven welke pagina's (eventueel met
de pagina's waar naar toe wordt gelinkt op die pagina) om de
hoeveel minuten opgehaald moeten worden.
Het serverprogramma gaat dan automatisch aan de hardware
opgeven welke pagina's die wil hebben. Hij zet 4 pagina's
(het maximale waar de hardware geheugen voor heeft) in een
wachtrij, als 1 van die pagina's binnen is haalt de server-
software die pagina uit het geheugen van de hardware en
bewaart het op schijf, en hij zet een nieuwe pagina in de
wachtrij.
Op dit proces van in welke volgorde de pagina's in de
wachtrij komen heb je geen invloed. Dat is een algoritme
die de server gebruikt naar aanleiding van de lijst die
je ingevuld hebt.