Document VT.doc

                          VIDEOTEXT V5.41
                          """""""""""""""
             VTX-Browser. Spezialhardware erforderlich.
                    Stand der Anleitung: 28.05.98


0. WARNUNG
==========

Keine Garantie für irgend etwas. Sie benutzen dieses Programm auf
eigenes Risiko. Es läuft bei mir einwandfrei, aber das will nichts
heißen.

Entwickelt wurde "VideoText" auf einem A2000/040 mit Kickstart 3.1,
Festplatte und 9 MB RAM, angeschlossen ist die c't-Hardware. Es
läuft erwiesenermaßen auch mit mehreren anderen Konfigurationen,
insbesondere z. B. 68000, Kickstart 2.0, 1 MB RAM, nur Floppy.

Traurig ist aber schon, wie lange manche hartnäckigen Probleme sich
halten (zuletzt den A1200 betreffend), und ich muß an dieser Stelle 
nochmals all denen danken, die sich die Zeit genommen haben, mir 
Bug-Reports zu schreiben.



1. Allgemeines
==============


1.1. Was ist Videotext?
-----------------------

Den Videotext-Dienst gibt es seit ca. 1984. Dabei handelt es sich um
Informationen, die parallel zum eigentlichen Fernsehprogramm in einem
normalerweise unsichtbaren Teil des Fernsehbildes (der vertikalen
Austastlücke) übertragen werden.

Die Videotext-Daten sind in Seiten zu 40 × 24 Zeichen organisiert.
Von diesen Seiten gibt es je nach Angebot des Senders zwischen 500
und 1000. Sie werden in ständiger Wiederholung reihum gesendet, und
der Videotext-Decoder kann nun einzelne Seiten aus diesem Datenstrom
herausgreifen. Das tut er anhand von Seitennummern, die ihm der
Benutzer angibt. Jede dieser Nummern zwischen 100 und 899
identifiziert dabei entweder eine einzelne Seite oder eine Gruppe
zusammengehörender Unterseiten.


1.2. Was bietet mein Programm?
------------------------------

Eine wesentliche Aufgabe des Videotext-Systems auf der Empfängerseite
besteht darin, die Wartezeiten bis zum Eintreffen eines bestimmten
gewünschten Seiteninhalts zu verkürzen bzw. zu überbrücken. Dazu muß
es Seiten suchen und puffern können, noch während der Benutzer andere
Seiten betrachtet. Meine Software unterstützt das über eine
Warteschlange für gesuchte Seitennummern und einen Seitenpuffer, der
nur durch die Größe des freien Speichers im Amiga begrenzt ist. Zu
jedem Sender kann eine Liste bevorzugter Seitennummern erstellt und
abgespeichert werden, die sich dann jederzeit auf Tastendruck in die
Warteschlange laden läßt.

Ein anderer wichtiger Aspekt ist, dem Benutzer die Orientierung in
den z. T. recht umfangreiche Textangeboten zu erleichtern. "VideoText"
zeigt alle gepufferten Seiten in einer Übersichtsliste an. Direktes
Anspringen von Seiten durch Mausklick auf Verweise in den Seitentexten
ist möglich, ebenso anschließende Rückkehr zur zuletzt betrachteten
Seite. Es gibt eine Textsuch-Funktion, und TOP-Text (sofern vom Sender
unterstützt) kann als Menü, als Tabelle oder für eine automatische
Seitenauswahl ausgewertet werden.

Und dann sind da natürlich noch die ganzen computertypischen Extras,
die man von einem einfachen VT-tauglichen Fernseher sowieso nicht
erwarten würde: Seiten speichern (als ASCII, als IFF-Bild oder in
ihrem eigenen Binärformat) oder ausdrucken, Dateiprotokolle zu den
Veränderungen einzelner Seiteninhalte. Das alles ist auch über ARexx-
Skripte programmierbar. Achja, und die Systemzeit stellen kann
"VideoText" natürlich auch.



2. Hardware
===========

Sie benötigen (abgesehen von einem Amiga mit OS 2.0 oder höher):

 1. einen Videotext-Decoder SAA 5246, nebst Beschaltung (RAM, Quarz,
    etc.). Damit ist nicht der fest eingebaute Decoder in Ihrem
    Fernseher oder Videorekorder gemeint, der nützt nichts. Die
    "Sparversion" des Decoders, der SAA 5244 (in der c't 7/92 als
    Alternative vorgestellt), ist auch nicht geeignet. Und ebenso
    ungeeignet ist der SAA 5231, wie er z. B. in den VTex-Decodern
    von HK vorkommt.

 2. ein I²C-Bus Interface zum Amiga. Sowohl Varianten am RS232-Port
    als auch am Parallelport (z. B. das Bastelprojekt von Jan
    Leuverink) können benutzt werden, ebenso die alte "TeleTxt"-
    Zorrokarte von Markt & Technik. Die komplette Auswahl der 
    unterstützten Interfaces sehen Sie, wenn Sie das
    Installationsskript ausführen.

 3. eine FBAS-Signalquelle, z. B.:

    - Fernseher mit SCART-Ausgang
    - Satellitenreceiver
    - Videorekorder, aber nur in seiner Eigenschaft als Tuner, d. h.
      zur Umsetzung des Antennensignals in ein FBAS-Signal!
      Das VT-Signal aus Video-Aufzeichnungen ist i. a. unbrauchbar!

Ein paar spezielle Lösungen für Decoder und Interface (ohne Anspruch
auf Vollständigkeit) sind in den folgenden Abschnitten kurz
beschrieben.


2.1. Fertiggerät von KDK Satcom
-------------------------------

Wer öfters die Hobbytronic besucht, dem ist vielleicht schon einmal
der Stand von KDK Satcom aufgefallen, wo man immer auf einem kleinen 
PC-Monitor einem VT-Decoder unter MS-DOS zusehen kann, der da fleißig
Seiten sammelt. Das schöne ist: Die zugehörige Hardware für die 
serielle Schnittstelle ist auch amigatauglich. Sie kostet 99 DM zzgl.
Versandkosten (das sind 13,80 bei Nachnahme, 8,- bei Vorkasse per 
Euroscheck). Die Adresse der Firma ist:

    KDK Satcom
    Blankensteiner Str. 70
    45527 Hattingen
    Tel. 02324 / 93 59 60
    Fax: 02324 / 93 59 61

Sie werden zu diesem "PC-Videotextmodul" noch folgendes Zubehör
benötigen:

  - ein 300mA-Netzteil, Ausgangsspannung zwischen 7 und 12V=,
    unstabilisiert reicht,
  - ein Modemanschlusskabel, DB25-Kupplung auf DB9-Stecker (1:1
    belegt, also *kein* "gekreuztes" bzw. "Nullmodem"-Kabel),
  - einen Adapter Scart auf Cinch fürs Videosignal.

Diesen zuletzt genannten Scart-Adapter können Sie auch gleich bei
Satcom mitbestellen (10 DM), und falls Sie nicht gerne löten, ist das
vermutlich sogar die preiswerteste Lösung. (Was man im Handel
normalerweise nämlich nur bekommt, sind A/V-Adapter: Scart auf 3mal
Cinch, und der Preis liegt dann gleich eher bei 20 DM.) Ein Netzteil
gibt's bei Satcom natürlich auch (12 DM), das passende Modemkabel
aber anscheinend nicht: Im Prospekt steht nur eins mit 9poligen
Anschlüssen auf beiden Seiten, was für PC zwar Sinn macht, aber für 
Amiga nicht.

Ein Hinweis noch: Falls Sie zwischen Modem und VT umschalten können
wollen, brauchen Sie zusätzlich

  - eine DB25-Umschaltbox,
  - ein 1:1-Kabel DB25-Stecker auf DB25-Stecker,
  - einen Gender-Changer DB25 Stecker-Stecker.

Das wäre dann aber reiner Luxus. ;-)


2.2. Das c't-Hardware-Projekt
-----------------------------

Sie können für 28 DM (zzgl. 6 DM Versandkosten) bei

    eMedia GmbH
    Bissendorfer Str. 8
    Postfach 61 01 06
    30601 Hannover

eine fertige Leerplatine für den original c't-Decoder bestellen
(genauer gesagt: die Universalplatine für PC/Mac/Atari/Amiga). Und
falls Sie die c't 7/92 nicht haben, für 5 DM zusätzlich eine Fotokopie
der Projektbeschreibung. Bestellcode für beides ist 9207177, bezahlt
wird per Vorkasse, also einen Verrechnungsscheck über 34 bzw. 39 DM
beilegen. (Der Preis scheint stabil zu sein, Sie könnten aber auch
sicherheitshalber eine aktuelle c't-Ausgabe zu Rate ziehen.)

Die zugehörigen Bauteile müssen Sie sich anderweitig besorgen
(Kostenpunkt: vielleicht nochmal 40 DM). Zwei davon,

    1 SAA 5246 (Videotext-Decoder)
    1 Quarz 27 MHz

sind ziemlich exotisch und ziemlich sicher nur im Versandhandel zu
bekommen. Soweit ich weiß, kommen dafür u. a. die folgenden Firmen in
Betracht: SIMONS electronic GmbH, Kerpen; Segor Electronics, Berlin;
Reichelt Elektronik, Wilhelmshaven; Kessler electronic, Meinerzhagen.
Genaue Adressen und Lieferbedingungen entnehmen Sie aber bitte den
einschlägigen Fachzeitschriften.


2.3. Maßgeschneiderte Lösungen für Experten
-------------------------------------------

Die Schaltpläne für zwei I²C-Bus Interfaces (eins für den
Parallelport, eins für den seriellen) finden sich in der Dokumentation
zu Brian Ipsen's i2c.library, im Aminet unter:

    hard/hack/i2clib39.lha

Wer also irgendwo noch einen VT-Decoder herumliegen hat und ihn an
den Amiga anschließen möchte, sollte alle nötigen Informationen dort
finden.

Und dann gibt es noch einen dritten Interfacetyp zum Anschluß am
Floppyport (meiner Meinung nach die eleganteste Lösung). Den
zugehörigen Schaltplan als IFF-Bild schicke ich Ihnen auf Anfrage 
gerne zu.



3. Installation
===============

Gleich ein Hinweis vorab zum Installer-Skript: Die triviale Aufgabe,
das komplette Programmverzeichnis auf Ihre Festplatte zu kopieren,
übernimmt das Skript *nicht*. Erledigen Sie das, sofern erwünscht, von
der Workbench aus (und zwar *bevor* Sie das Skript starten).

Das Installer-Skript selbst installiert den "videotext.font" nach
FONTS:, eine "i2c.library" (welche, müssen Sie noch auswählen) nach
LIBS:, und kümmert sich noch um ein paar andere Kleinigkeiten. (Was
das im einzelnen ist, sieht man, wenn man das Skript mal im "Expert"-
Modus startet. Erläuterungen zu den einzelnen Punkten sind auch
verfügbar, über die Standard-Hilfefunktion. Noch ein Tip: Im
"Expert"-Modus kann das Skript auch zur *Deinstallation* benutzt
werden.)

Doppelklicken Sie dann einfach auf das Programm-Icon, das Programm
öffnet seinen Screen und begrüßt Sie mit einer Infoseite. Falls diese
Seite gleich schon ein blinkendes rotes Kästchen mit einer
Fehlermeldung enthält, liegt vermutlich ein `Konfigurationsfehler'
vor. Lesen Sie in Abschnitt 3.1 weiter.

Ansonsten probieren Sie jetzt irgendwas. Ich würde <F6> vorschlagen,
Seitenstichprobe. Den Einlesevorgang, der jetzt startet, können Sie
mit Leertaste oder Mausklick wieder abbrechen. Wenn dagegen der
Vorgang von selbst abbricht, ohne Seiten gefunden zu haben, lesen
Sie bitte in Abschnitt 3.2 weiter, `Sonstige Probleme'.


3.1. Konfigurationsfehler
-------------------------

Ein kleiner roter Kasten mit der Meldung "i2c failure: ..." bedeutet,
daß die Kommunikation mit der Videotext-Hardware nicht klappt.

Eine solche Meldung (genauer gesagt: "need i2c.library V39+") bekommen
Sie z. B., wenn Sie das Installationsskript noch nicht ausgeführt
haben und darum besagte "i2c.library" nicht gefunden wird.

Eine weitere Möglichkeit wäre, daß die installierte Version der
"i2c.library" nicht zu Ihrer Hardware paßt. Eine Meldung wie "SDA
trashed", "SDA always HI" oder "SDA always LO" würde z. B. darauf
hindeuten. Führen Sie das Installer-Skript ggf. nochmals aus und
überprüfen Sie genau die Beschreibungen der zur Auswahl stehenden
Hardware-Interfaces. Wenn keine davon so richtig zutrifft, haben Sie
vielleicht auch einfach Pech, und Ihre Hardware wird eben nicht
unterstützt.

Die Meldungen "SDA trashed/always HI/always LO" könnten aber auch auf
einen zu schnell laufenden I²C-Bus hindeuten. In diesem Fall würde es
helfen, für den Startparameter `BUSDELAY' einen geeigneten, von Null
verschiedenen Wert anzugeben. (Bei A1200 hat sich z. B. der Wert 4 als
ganz sinnvoll erwiesen.)

Und schließlich besteht natürlich noch die Möglichkeit, daß wirklich
Ihre Hardware defekt ist. Wie wahrscheinlich das ist, müssen Sie
selbst beurteilen. (Bei gerade neu selbst gebauter z. B. ziemlich
wahrscheinlich, bei schon länger vorhandener Hardware, die mit anderer
Software tadellos läuft, wohl eher nicht.)


3.2. Sonstige Probleme
----------------------

Wenn keine Seiten gefunden werden, allerdings ohne die aufdringlich
rote Fehlermeldung beim Programmstart, dann drücken Sie einmal "t",
um den Testmodus zu aktivieren. Das Statusfeld oben in der Mitte des
Schirms sollten sich daraufhin umfärben und Diagnoseinformationen
anzeigen, bis Sie den Testmodus wieder (auch mit "t") ausschalten.
Mögliche Probleme, die sich daraus erkennen lassen, die gröbsten
zuerst:

Mit "AV: nein" teilt Ihnen der Decoder mit, daß er kein Videosignal
empfängt. Und damit meint er nicht "kein gutes", sondern wirklich
"gar keins". Vielleicht empfängt Ihre FBAS-Signalquelle gerade nur
Rauschen, d. h. Sie haben gar keinen Sender eingestellt?

Die Meldung "VT: nein", also kein Videotext-Signal, erhält man selten
einfach in dieser Form, die Anzeige flackert höchstens zwischen "ja"
und "nein" hin und her. (Sogar wenn nicht einmal ein Fernsehsender,
sondern wirklich nur Rauschen empfangen wird!) Aber egal. Mögliche
Ursachen:

 - Kein Sender eingestellt (s. Feld "AV:")

 - Sender strahlt keinen Videotext aus (z. B. Vox oder tm3)

 - Schlechte Empfangsqualität. Das muß noch nicht einmal sichtbare
   Mängel am Fernsehbild bedeuten. Die Datenrate des Videotext-Signals
   ist mit ca. 7 MBit/s nämlich ziemlich hoch, gemessen an den 5 MHz
   Bandbreite, die dem Fernsehbild normalerweise zugestanden werden.
   So ist z. B. aus Videoaufzeichnungen, auch wenn sie noch so
   einwandfrei aussehen, für gewöhnlich kein Videotext mehr
   decodierbar.

 - Nicht initialisierter Decoderchip. Ein paar Registerwerte des
   SAA5246 werden einmal beim Programmstart gesetzt, danach nicht
   wieder. Diese Initialisierung kann der Decoder verpaßt haben, z. B.
   weil Sie eine Umschaltbox besitzen und den Port erst zu spät
   umgeschaltet haben. Oder er hat sie wegen kurzzeitigem
   Spannungsausfall "vergessen". Probieren Sie in dem Fall einmal
   einen "Decoder-Reset" (im Menue "Extras").

Im zweiten "VT:" beschrifteten Feld steht (unter der Amiga-Systemzeit)
die Uhrzeit, wie sie von gewöhnlichen Decodern laufend oben rechts in
die Seite eingeblendet wird. Prima, um System- oder Armbanduhr danach
zu stellen, aber auch, um die Qualität des Videotext-Signales etwas
genauer zu beurteilen, als das "VT"-Statusbit des Decoders dies
erlaubt.

Wenn hier im Prinzip die Uhrzeit lesbar ist, aber häufig wirre Zeichen
vorbeiflackern, ist das Videotext-Signal nämlich bereits zu schlecht,
um noch wirklich von Nutzen zu sein: Wenn überhaupt noch Seiten
gefunden werden, so fehlen ihnen haufenweise Zeichen oder sogar ganze
Zeilen. Die Ursache dürfte in so einem Fall die Antennenanlage am
verwendeten Fernseher sein (konnte ich z. B. mit meiner Zimmerantenne
erleben).



4. Bedienung
============

Ich will versuchen, mich kurz zu fassen, dank der Menüs (seit V5.0)
erklärt das Programm sich überwiegend von alleine.


4.1. Seiten anfordern
---------------------

Einfach Seitennummern wie 100, 242 oder 528 eintippen, mit Return
abschließen, und sie werden in die Job-Warteschlange eingereiht. Ich
empfehle, den Ziffernblock zu benutzen (dafür ist er nun mal da). Für
Korrekturen dient die Backspace-Taste (<-), aber bitte nicht mit <Del>
verwechseln, damit löscht man Seiten!

Es können auch einzelne Unterseiten einer Mehrfachseite direkt
angefordert werden. Angenommen, Seite 100 hat 7 Unterseiten, und
nachdem Sie Ihre Anforderung eintippen, treffe 100/4 als nächste ein.

  Anforderung       eingelesene Seiten
     100            100/4  100/5  100/6  100/7  100/1  100/2  100/3
     100/1            -      -      -      -    100/1
     100/*          100/4
     100*3          100/1  100/2  100/3

Sie sehen, die Anforderung einer bestimmten Unterseite wie "100/1"
spart gegenüber der einfachen Anforderung "100" Speicherplatz, aber
kaum Wartezeit. Die Anforderung einer beliebigen Unterseite "100/*"
spart beides, ist aber natürlich nur sinnvoll, wenn man weiß, daß auf
allen Unterseiten im Prinzip dasselbe steht.

Die letzte Variante steht für "selbstnumerierende Seiten", macht
offensichtlich etwas sehr seltsames und sollte normalerweise nicht
verwendet werden - mit einer Ausnahme: Es gibt ein paar Sender, die
fehlerhafte Unterseitennummern ausstrahlen (in letzter Zeit z. B.
ARD/ZDF auf S. 100), und damit die VideoText-Software in erhebliche
Verwirrung stürzen. Mit einer Anforderung wie "100*3" zwingt man
die Software nun z. B., 3 aufeinanderfolgende Inhalte der Seite 100
zu lesen und als Unterseiten 1 bis 3 durchzunumerieren.

Ganz interessant ist noch die besondere Variante "100*0". Sie liest
nicht etwa 0 Inhalte der Seite 100, sondern unendlich viele, und
ordnet allen die Unterseitennummer 0 zu. Die Seite wird also in der
Seitensuche festgehalten, und man kann ihr zuschauen, ob sich etwas
ändert. Der Unterschied zur Seitenüberwachung mit "100/." (s. u.)
zeigt sich vor allem bei Mehrfachseiten. Einfach mal ausprobieren.

4.1.1. Seitenüberwachung
------------------------

Bei der Seitenanforderung können Sie anstelle einer Unterseitennummer
auch eine Überwachungsoption /. angeben. Im Gegensatz zur Option /*,
die ja bezweckt, eine Seite möglichst bald wieder aus der Seitensuche
los zu sein, hält diese sie in der Seitensuche fest. Das ist sinnvoll
bei Seiten, die oft ihren Inhalt ändern, z. B. Untertitel,
Schlagzeilen, oder die aktuellen Fußballergebnisse am
Samstagnachmittag (150/. 111/. 241/.).

Jeder neue Seiteninhalt (Änderungen werden an einem Statusflag vom
Sender erkannt) wird dann auch sofort am Bildschirm angezeigt, egal
welche andere Seite Sie gerade betrachten. Diese zuletzt betrachtete
Seite bleibt aber immer noch als aktuelle ausgewählt, so daß Sie mit
<Space> sofort zu ihr zurückkehren können. (Dadurch ist auch
sichergestellt, daß ein Kommando wie Löschen, Speichern, Drucken, das
Sie zufällig gleichzeitig mit der Aktualisierung einer überwachte
Seite eintippen, nicht versehentlich auf die falsche Seite bezogen
wird.) Wenn Sie dagegen bei der neu angezeigten Seite bleiben wollen,
klicken Sie in die Seitennummer in der Kopfzeile oder tippen Sie die
Nummer von Hand ein, und der Auswahlzeiger in der Seitenliste müßte
entsprechend umspringen.

Mehrfachseiten und Untertitelseiten (auch das ist an einem Statusflag
erkennbar) werden übrigens etwas anders behandelt: Den Benutzer auf
jede ihrer Aktualisierungen aufmerksam zu machen wäre überflüssig und
lästig und entfällt darum. Richtige "Seitenüberwachung" ist das also
eigentlich nicht mehr, die Seiten werden nur noch in der Seitensuche
festgehalten.

Einen Schritt weiter geht die Option /! zur Seitenprotokollierung.
Alle neuen Seiteninhalte werden dann in die eingestellte Ausgabedatei
abgespeichert, das gilt diesmal für Mehrfachseiten und Untertitel
genauso. Dabei bietet sich für die Protokollierung von Untertiteln und
Schlagzeilen (150/!, 111/!, 222/!, 333/!) ASCII-Format an. Für die
Überwachung von vollen Seiten (z. B. Bundesliga-Spielstände) ist
dagegen VT-Format besser, da man dann das Protokoll leichter
seitenweise durchblättern kann (indem man es wieder komplett in
"VideoText" einlädt).

Die Überwachungsoptionen lassen sich nachträglich ändern, und zwar
einfach durch Neuanforderung mit einer anderen Option. Beispiel: Sie
wollen sich VT-Untertitel anschauen und lassen darum nach 150/.
suchen. Nachdem Sie einige Dialogtexte gelesen haben, finden Sie die
Sendung großartig und möchten ein Protokoll davon: einfach 150/!
anfordern und der Überwachungsmodus wird entsprechend geändert. Sie
können sogar 150/* oder 150 eintippen, und auf etwas indirekte, aber
gar nicht so unelegante Weise werden die Untertitel wieder aus der
Seitensuche entfernt.

4.1.2. Vorauswahldateien
------------------------

Um sich das erste Mal einen Überblick über das Videotext-Angebot eines
Senders zu verschaffen, gibt es viele Möglichkeiten. Man kann sich,
ausgehend von der Hauptübersicht auf Seite 100, über Verweise von
einer Verzeichnisseite zur nächsten vorwärtshangeln. Oder man schaut
sich das TOP-Inhaltsverzeichnis an; das ist etwas komfortabler, wird
aber nicht von allen Sendern unterstützt (v. a. von ausländischen
nicht). Und schließlich kann man noch eine etwas größere
Seitenstichprobe nehmen (die Funktion ein paar Minuten laufen lassen),
und sich danach durch hunderte von Textseiten wühlen, in der Hoffnung,
auf etwas Interessantes zu stoßen.

Das Ergebnis dieser etwas mühsamen Erkundungstour (nämlich, daß man
jetzt die wirklich interessanten Seiten kennt, z. B. 112-115, 252-253
und 580 auf ARD/ZDF) sollte aber auf jeden Fall irgendwie festgehalten
werden. "VideoText" unterstützt dies mit Vorauswahldateien, in die
Sie Ihre Lieblingsseiten eintragen können (bis zu 800 pro Sender: mehr
als Sie je brauchen werden). Diese Dateien werden vom Programm im
Unterverzeichnis "presets/" erwartet. Einige sind schon vorhanden,
Sie werden sie aber sicher noch ändern wollen.

Das folgende Diagramm stellt das System aus Senderliste ".stations"
und den davon abhängigen Seitenauswahl-Dateien dar:

   ---- ".stations" ----
   ARD/ZDF=ARD-ZDF    ----------+
   S]DWEST=SW3    -----------+  |
   PRO SIEBEN=Pro7    ----+  |  |
   VIVA ZWEI=Viva2        |  |  |
   VIVA=Viva              |  |  |
   ---------------------  |  |  |
                          |  |  |
           +--------------+  |  +----------------+
           V                 V                   V

   ---- "Pro7" ----   ---- "SW3" ----   ---- "ARD-ZDF" ----
   100-2              100               100/*
   112                112               250
   120                113               252
   135                                  253
   190                300
                      301               528/1  ; dt. Charts
   200                302               -------------------
   ----------------   500
                      ---------------

Aufgabe der ".stations"-Datei ist, jedem Sender einen eindeutigen und
vor allem "DOS-tauglichen" Namen zuzuweisen. ("DOS-tauglich" bedeutet:
enthält weder ":" noch "/" und möglichst auch keine Leerzeichen.) Die
Zuordnung erfolgt über ein Stichwort, das wörtlich so in der Kopfzeile
jeder Seite dieses Senders vorkommen muß, gefolgt von einem "=" und
dem DOS-Namen. Achtung: beim Stichwort wird Groß-/Klein-Schreibung
unterschieden, und deutsche Umlaute müssen leider durch {|}[\\]~
ersetzt werden. Wenn Sie die Funktion "Sendernamen ins Clipboard" zur
Hilfe nehmen (im Menue `Anfordern'), können Sie hierbei aber kaum
etwas falsch machen.

Kommentare in der Senderliste sind auch möglich: alle Zeilen, die kein
"=" enthalten, werden komplett ignoriert.

Passen mehrere Stichwörter auf den aktuellen Sender, wird davon das
erste verwendet: im obigen Beispiel ist die Reihenfolge "VIVA ZWEI"
und "VIVA" also wichtig, um Probleme zu vermeiden.

Das Dateiformat der Seitenauswahlen ist wohl recht offensichtlich:
eine Seitennummer pro Zeile. Kommentare (wie oben zu S. 528/1) sind
möglich, da jede Zeile nur bis zum ersten Leerzeichen gelesen wird.
Ein besonderes Kommentarzeichen ist dabei *nicht* erforderlich, das
";" habe ich oben nur gesetzt, damit das ganze mehr "nach Kommentar
aussieht".

Eine besondere Bedeutung haben die Leerzeilen: Sie trennen die
Seitennummern in Gruppen, die sich vom Programm aus getrennt aufrufen
lassen (bis zu vier verschiedene über Menü, bis zu neun über ARexx).
Diese Unterteilung müssen Sie nicht vornehmen, wenn Sie nicht wollen.
Es bietet sich aber an, mindestens zwei Gruppen zu bilden: Seiten, die
sich täglich ändern (Nachrichten, Sport, Wetter und Abendprogramm), im
Unterschied zur "Wochenendbeilage" (Fußball-Bundesliga,
Technik-Reportagen, Kino, Charts und Buchbesprechungen).

Tip: Sie brauchen die Seiten nicht nach aufsteigenden Nummern
anzugeben, können also die wichtigsten an erste Stelle setzen. Und die
Abarbeitung Ihrer Seitenauswahl wird erheblich beschleunigt, wenn Sie
ein wenig berücksichtigen, nach welchem System die Seiten gesendet
werden:

 - aufeinanderfolgende Seitennummern wie z. B. 581, 582, 583, 584,
   585, 586 werden vom Sender auch direkt hintereinander angeliefert.
   Wenn Sie sie in genau dieser Reihenfolge anfordern, werden die
   ersten vier (oder weniger, je nachdem, was für Seiten sonst noch
   warten) nahezu auf einen Schlag eingelesen, die übrigen rücken aber
   nicht schnell genug nach und werden darum erst beim nächsten
   Durchgang (ca. 1 min später) gelesen. Nutzen Sie diese Wartezeit,
   indem Sie ein paar Seiten aus einem anderen Magazin
   dazwischenpacken, z. B. 581, 582, 583, 242, 243, 584, 585, 586.

 - Mehrfachseiten blockieren die Seitensuche *immer* mehrere Minuten
   lang: packen Sie sie ans Ende der Liste. (Nicht ganz so wichtig bei
   "schnellen" Mehrfachseiten wie S. 100 auf ARD/ZDF.)


4.2. Seiten durchblättern
-------------------------

Die Seiten im Speicher sind nach Nummern sortiert spaltenweise in
einer Übersichtstabelle dargestellt. Diese Tabelle kann man mit den
Cursortasten durchblättern, sie wird seitlich gescrollt, wenn sie
nicht vollständig auf den Bildschirm paßt. Die hier ausgewählte Seite
wird angezeigt, sie kann auch ausgedruckt, abgespeichert oder gelöscht
werden.

Ein paar nicht ganz so offensichtliche Cursor-Funktionen:
Shift-Crsr ^/v springt zur nächsten noch nicht gelesenen Seite
(erkennbar an fettgedruckter Seitennummer) in der entsprechenden
Richtung. Alt-Crsr ^/v springt ein Magazin vorwärts bzw. zurück, d. h.
zum nächsten Anfang einer Hunderter-Gruppe. Und Ctrl-Crsr ^/v sucht
die nächste "fremdartige", d. h. vom Programm selbst erzeugte, Seite
(mit invers dargestellter Seitennummer).

Seit V5.01 verwaltet "VideoText" einen Rücksprungstack mit Seiten-
nummern, um die Orientierung in hierarchischen Seitenverzeichnissen zu
erleichtern. Immer wenn man eine Seite durch Eingabe ihrer Nummer oder
durch Anklicken einer Nummer im Seitentext direkt ansteuert, merkt
sich das Programm die Nummer der aktuell angezeigten Seite, so daß man
später zu ihr zurückkehren kann. Der Rücksprung zur zuletzt gemerkten
Seite wird mit "ESC" ausgelöst.

Alle anderen Bewegungen durch die Seitenliste (Cursortasten, Klick auf
eine Nummer in der Liste, etc.) erzeugen *keine* solchen
Rücksprungadressen, auch wenn sie noch so weite Sprünge darstellen.
Das ist Absicht. Der Inhalt des Stacks würde ohne diese Beschränkung
ziemlich rasch uninteressant. In diesem Sinne sollte man übrigens auch
Verweisen wie "Übersicht: 200" oder "weiter auf 115" i. a. *nicht* durch
Anklicken folgen, sondern besser die entsprechenden elementaren
Programmfunktionen "Rücksprung" bzw. "vorwärts Blättern" benutzen. Auch
diese sind über Mausklick (ins mittlere bzw. untere Seitendrittel)
verfügbar, s. dazu auch den nächsten Abschnitt.


4.3. Mausunterstützung
----------------------

Auch wenn keine Gadgets erkennbar sind: Fast alles auf dem Bildschirm
reagiert in irgendeiner Weise auf Mausklick und -doppelklick.

 Objekt                | Aktion bei Mausklick   | bei Doppelklick
-----------------------+------------------------+---------------------
 Nummer im Seitentext  | Seite anzeigen ¹       | -
 unbekannte Nr. i. Se. | Seite anfordern ²      | S.gruppe anfordern ³
 oberes Seitendrittel  | eine Seite zurück      | -
 mittleres  "          | Rücksprung             | -
 unteres    "          | eine Seite weiter      | -
-----------------------+------------------------+---------------------
 "Seitensuche:"        | Seitensuche löschen    | Seitenvorauswahl
 "Jobs:"               | FIFO/LIFO umschalten   | -
 wartende Seitennummer | Auswahlzeiger setzen   | Job löschen
-----------------------+------------------------+---------------------
 "Seiten:"             | erste/letzte Seite     | -
 Nummer in der Liste   | Seite anzeigen         | Seite löschen
 Anzahl der Seiten     | -                      | alle Seiten löschen
-----------------------+------------------------+---------------------
 "Status:"             | Testmodus ein/aus      | Sendernamen ein/aus
 "ASCII"/"VT"          | Dateiformat umschalten | -
 Dateiname             | Dateinamen ändern      | -
 "mit Icon"            | Icons ein/aus          | -
-----------------------+------------------------+---------------------

Erläuterungen:
¹) Die Nummer der aktuellen Seite wird vorher noch auf einem Stack
   abgelegt, so daß man mit "Rücksprung" zu ihr zurückkehren kann.
²) Wird ausgeführt, wenn ¹) nicht möglich ist *oder* nicht sinnvoll
   erscheint, weil man bereits auf einer Seite ist, die diese Nummer
   trägt.
³) Bewirkt bei Verweisen wie "130-132" das gewünschte, wenn man
   die erste der beiden Nummern doppelklickt. Doppelklick auf eine
   einsame Nummer ist auch erlaubt (für Verweise wie "ab 130") und
   fordert eine Vierergruppe an.


                 Lageskizze der klickbaren Objekte:
                 ----------------------------------
  ___________________________________________________________________
 |                                  ______________________________   |
 |  Seitensuche:                   |       112                    |  |
 |  |      |       Status:         |                              |  |
 |  |      |                       |                          116 |  |
 |  |______|                       |                              |  |
 |  Jobs:__  Seiten:____________61 |______________________________|  |
 |  |      | |                   | |                          117 |  |
 |  |      | |                   | |                              |  |
 |  |      | |                   | |                              |  |
 |  |      | |                   | |                      130-132 |  |
 |  |      | |                   | |______________________________|  |
 |  |      | |                   | |                          120 |  |
 |  |      | |                   | |                              |  |
 |  |      | |                   | |                              |  |
 |  |______| |___________________| |                          121 |  |
 |                                 |__________________113_________|  |
 |                                                                   |
 |  Datei (VT): RAM:VTdatei, mit Icon                                |
 |___________________________________________________________________|


4.4. Die Menüs
--------------

Zu fast allen Menüfunktionen existieren auch entsprechende
Tastenbefehle, die Sie den Menüs selber entnehmen können. Es wird
zwischen einfachen F-Tasten und Shift-F-Tasten unterschieden,
angedeutet durch Groß-/Kleinschreibung, z. B. "f6"/"F6". Einfache
Buchstabentasten sind dagegen immer als Großbuchstaben notiert (z. B.
"N"), und es ist (bis auf wenige Ausnahmen) egal, ob man sie mit oder
ohne Shift eingibt.

Noch ein Hinweis zu den Requestern mit Sicherheitsabfragen: auch diese
sind bekanntlich standardmäßig tastatursteuerbar. Den beiden Gadgets
sind die Tastenkombinationen (linke Amiga)-V und (linke Amiga)-B
zugeordnet (astreine Eselsbrücken: "Voran machen"/"Bloß nicht").

Was jetzt noch folgt, ist keine vollständige Beschreibung aller
Funktionen, sondern erklärt nur ein paar Besonderheiten.

4.4.1. Projekt
--------------

Parameter sichern:

    Die aktuellen Programmeinstellungen werden als `Startparameter'
    ins Programmicon zurückgeschrieben. Dabei wird etwas rabiat
    vorgegangen: alle ToolType-Einträge, die "VideoText" selbst nicht
    kennt, sind anschließend weg. (An dieser Stelle ein besonders
    dicker Smiley :)=) an alle NewIcon-Benutzer.) Die Funktion ist
    auch für CLI-Fans nützlich, da das Icon auch bei CLI-Start
    ausgewertet wird!

4.4.2. Datei
------------

Ausgabeformat:

    Reiner ASCII-Text ist vor allem zur Weiterverarbeitung der
    Seitentexte geeignet, z. B. wenn man Texte vor dem Ausdruck erst
    auf größere Zeilenbreite umformatieren will etc.
    Beim rohen VT-Format bleiben dagegen Farb- und Grafikinformationen
    erhalten, es kann wieder in VideoText eingelesen und angezeigt
    werden. Und den ASCII-Text extrahieren kann man dann notfalls
    immer noch.

Dateinamen nach Titelzeile:

    Setzt den Dateinamen passend zum Sender der gerade angezeigten
    Seite, ohne den Verzeichnispfad zu verändern. Es wird der "DOS-
    Name" verwendet, den Sie in der Senderliste ("presets/.stations")
    eingetragen haben.

Datum anhängen:

    Das Datum wird an den bestehenden Dateinamen angehängt, bei
    nochmaligem Aufruf wieder entfernt. Auch nach Ändern des
    Dateinamens über Filerequester oder gemäß Titelzeile ist das Datum
    erstmal wieder weg. Das Datumsformat läßt sich über Startparameter
    (`DATESTYLE') einstellen.

Icons erzeugen:

    Für die Icons werden externe Vorlagen verwendet ("ASCII.info",
    "VT.info", "IFF.info", aus dem Unterverzeichnis "icons/"). Icons
    werden nur für neu angelegte Dateien erzeugt, also nicht beim
    Anhängen an bereits bestehende.

Datei löschen:

    Überschreibt die Ausgabedatei. Gelegentlich erforderlich, da beim
    Speichern von Seiten nur angehängt, nie überschrieben wird.

4.4.3. Seiten
-------------

Seite neu aufbauen:

    Kann man benutzen, um mit "Rätseltaste" aufgedeckte Zeichen wieder
    zu tarnen, aber auch, wenn die in der Liste ausgewählte Seite
    vorübergehend von einer anderen überschrieben wurde: vom neuen
    Inhalt einer überwachten Seite, oder von einer der Informations-
    seiten aus dem Projekt-Menü.

Automatik:

    Blättert die Seiten durch, beginnend bei der aktuell angezeigten,
    und hält bei der nächsten Benutzereingabe (oder am Ende der
    Seitenliste) wieder an. Die Geschwindigkeit läßt sich über den
    Parameter `AUTOTIMER' einstellen.

alle gesehen:

    Die Markierung "noch nicht gelesen" (fettgedruckte Seitennummer)
    wird hiermit für alle Seiten im Speicher aufgehoben. Das kann für
    große Seitenstichproben oder von Disk geladene VT-Seiten sinnvoll
    sein, um neu eingelesene Seiten leichter ausfindig zu machen.

Text suchen:

    Sucht immer ab Beginn der Seitenliste, *nicht* ab der aktuell
    angezeigten Seite (das geht nur mit "Weitersuchen"). Groß-/
    Kleinschreibung ist egal, auch bei Umlauten. Die gefundene
    Textstelle blinkt einmal kurz. Nur eine Textstelle pro Seite
    kann blinken, auch wenn der Suchbegriff mehrmals auf der Seite
    vorkommt.

IFF-Bild:

    Der verwendete Dateiname ist unabhängig von dem der
    Text-Ausgabedatei, auch wenn nach Programmstart beide zunächst
    identisch vorgegeben sind.

    Seit V5.41 sollte die IFF-Routine auch mit Grafikkarten wieder
    richtig funktionieren. Sie benutzt allerdings einen Trick
    (temporärer LoRes-Screen im Hintergrund), der fehlschlägt, falls
    eine gepatchte graphics.library alle OpenScreen()-Aufrufe auf die
    Grafikkarte umleiten sollte.

Speichern:

    Vor dem Anhängen an bestehende Dateien findet noch eine kurze
    Plausibilitätsprüfung statt, z. B. erlaubt "VideoText" Ihnen
    nicht, Text an IFF-, Icon- und Programmdateien anzuhängen.

... alle/alle ab Cursor:

    "Alles löschen" wird unmittelbar ausgeführt. Bevor man dagegen
    alle Seiten speichern darf, kommt noch eine Sicherheitsabfrage.
    Hm? Doch, ist absichtlich so gemacht: Mehrere hundert Seiten
    speichern kann schon ein paar Minuten dauern, läßt sich aber nicht
    abbrechen.
    Die "ab Cursor"-Funktionen sind prima, um eine große Seitenliste
    in Teile zerlegt abzuspeichern, z. B. als einzelne Magazine: mit
    Shift-Crsr-> ans Ende der Seitenliste, mit Alt-Crsr-^ zum nächsten
    Magazinanfang, Ctrl-S, Ctrl-Del, dann Dateinamen ändern, wieder
    Alt-Crsr-^ usw.

4.4.4. Anfordern
----------------

Stichprobe:

    Hierbei können verschiedene Probleme auftreten. Zum einen kann es
    gelegentlich vorkommen, daß Inhalte verschiedener Seiten
    miteinander verschmelzen. Um das zu verhindern, muß die Stichprobe
    ein bestimmtes Register der Videotext-Hardware mindestens alle
    50 msec einmal abfragen können, aber das ist bei starker
    Multitasking-Belastung nicht immer machbar.

    Außerdem kann es passieren, daß während einer längeren Stichprobe
    Speichermangel eintritt (zur Erinnerung: ein kByte pro Seite,
    typischerweise 500 bis 1000 Seiten pro Sender). Das kann ziemlich
    irritierend sein, weil das Programm dann nämlich einfach sang-
    und klanglos aussteigt. Das ist zugegebenermaßen nicht besonders
    intelligent, war aber zunächst einmal die für mich technisch
    einfachste Lösung.

Vorauswahl editieren:

    Ruft einen externen Editor auf, und zwar für die Seitenauswahl des
    Senders, der zur gerade angezeigten Seite gehört. Einzelheiten
    können Sie Über den Startparameter `EDITOR' einstellen.
    "VideoText" überprüft übrigens nicht, ob die entsprechende Datei
    bereits existiert. Ihr Editor sollte für solche Fälle also auch
    eine Datei neu anlegen können. (Ich kenne aber keinen, der das
    nicht kann.)

Senderliste editieren:

    Die ".stations"-Datei, wie oben beschrieben. Sollten Sie hier
    irgendwelche DOS-Namen (d. h. einen der Namen rechts vom "=")
    nachträglich ändern, müssen Sie auch die entsprechende
    Seitenauswahl-Datei umbenennen, wobei VideoText Sie leider *nicht*
    unterstützt. (Wenn Sie die Datei nicht umbenennen, ist das auch
    nicht weiter tragisch, sie liegt dann aber als Dateileiche herum,
    und Sie müssen irgendwann eine andere Datei neu anlegen.)

Ins Clipboard schreiben:

    Speichert Sendernamen bzw. die Nummern der eingelesenen Seiten in
    der Zwischenablage (Clipboard) ab. Wenn der Editor, den Sie für
    die `Vorauswahldateien' verwenden, für seine Blockoperationen
    auch das Clipboard benutzt (wie z. B. EdWord oder CygnusEd), können
    Sie diesen Textblock direkt mit "Paste" in die editierte Datei
    einfügen. Seit Workbench 2.0 geht das auch bei Ed: drücken sie
    (rechte Amiga)-V in seinem Fenster, und ConClip schmuggelt ihm den
    Text unter.

TOP-Verzeichnis:

    Diese Funktion ist (ebenso wie "TOP-Statistik" und "Blockseiten")
    auf Strukturinformationen angewiesen, die vom Sender zusätzlich zu
    den eigentlichen Textseiten auf ein paar sog. Pseudo-Seiten ab 1F0
    ausgestrahlt werden. Diese Seiten werden zunächst in die
    Seitensuche eingereiht, und die eigentlich gewünschte Funktion
    startet, sobald die Seiten gefunden und eingelesen wurden. Wenn in
    dieser Hinsicht auch nach einigem Warten nichts geschieht,
    unterstützt der Sender vermutlich kein TOP.

    Das Inhaltsverzeichnis, das dabei erstellt wird (auf selbstge-
    machten VT-Seiten ab 900), ist vor allem für mausgestützte Seiten-
    anforderung gedacht: einfach Nummern anklicken (Doppelklick dabei
    bitte vermeiden) und sehen, was passiert. Vorsicht übrigens vor
    den mit "+" gekennzeichneten Seitennummern, das sind die
    ungeliebten Mehrfachseiten, die immer so lange die Seitensuche
    blockieren.

TOP-Statistik:

    Die einzelnen Einträge in dem erzeugten Diagramm können angeklickt
    werden, ganz so, als wären es Seitennummern. Man bewirkt also
    damit eine Seitenanforderung bzw. einen Sprung zu einer bereits
    vorhandenen Seite.

Blockseiten holen:

    "Blockseiten" ist der Fachausdruck für die Leitseiten der
    einzelnen Themenkreise im gesamten Textangebot. Naja, auf jeden
    Fall sind es "wichtige" Seiten, und je nach Laune des Senders gibt
    es von der Sorte ca. 10 - 20. Auf ARD/ZDF gehören z. B. 100, 111,
    200, 240, 300, 400, 420, 500 und 600 dazu.

Einen Job löschen:

    Ist eine Möglichkeit, Seiten mit Überwachungsoption (/. oder /!)
    wieder loszuwerden. Aber bitte vorher darauf achten, daß der
    Auswahlzeiger richtig steht.

FIFO:

    Entscheidet, ob neu angeforderte Seitennummern Priorität vor den
    anderen, bereits wartenden erhalten, oder ob sie ganz ans Ende der
    Warteschlange gestellt werden. Seitenvorauswahlen werden aber in
    jedem Fall FIFO (first in, first out) gelesen.

4.4.5. Extras
-------------

Test/Uhr:

    Wenn man das Programm momentan nicht benutzt, aber noch nicht
    verlassen will, sollte der Testmodus ausgeschaltet werden, da die
    Uhrzeitabfrage über den I²C-Bus doch ein wenig Rechenzeit
    verbraucht.

Uhrzeit übernehmen:

    Systemzeit nach der VT-Uhr stellen. Funktioniert aus Sicherheits-
    gründen nur, wenn die Videotext-Uhrzeit auch gerade angezeigt
    wird. Die akkugepufferte Uhr bleibt davon unberührt, ein "SetClock
    SAVE", sofern gewünscht, müssen Sie also selber ausführen.

Sendernamen zeigen:

    Verbraucht Rechenzeit, genauso wie die Abfrage der Uhrzeit. Die
    Seitennummer in der Titelzeile, die hierbei angezeigt wird, sollte
    normalerweise ständig durchlaufen. Tut sie das nicht, ist evtl.
    der VT-Empfang gestört (vgl. Statusfeld), *oder* die
    Programmierung der VT-Hardware ist etwas durcheinandergekommen
    (keine Ahnung, ob der betreffende Bug überhaupt noch existiert).
    In letzterem Fall könnte ein Decoder-Reset (s. u.) helfen.

Decoder-Reset:

    Wird normalerweise einmal zu Programmbeginn ausgeführt, und das
    reicht. Muß aber z. B. wiederholt werden, wenn es Probleme mit der
    Spannungsversorgung des Decoders gab, da der Einschaltreset des
    VT-Chips leider wieder ganz andere Registerwerte einstellt.

Fernsehdarstellung:

    Nur von Bedeutung, wenn der Videotext-Chip auch mit R, G, B und
    BLNK an den SCART-Eingang eines Fernsehers angeschlossen ist.

I²C-Bus sperren:

    Zwingt die "i2c.library", belegte Hardware-Ressourcen wieder
    freizugeben. Das könnte bei Parallelport-Interfaces Sinn machen,
    wenn man mal eben etwas ausdrucken möchte.

Font:

    Erlaubt Umschalten zwischen den Fontgrößen 9 und 15. Der große
    Font ist aber nur bei Bildschirmen ab ca. 400 Pixeln Höhe
    sinnvoll, also z. B. PAL-Highres-Interlace. Auf kleineren
    Bildschirmen wird die Umschaltung einfach nicht ausgeführt.

4.4.6. ARexx
------------

Kommandoübersicht:

    Das Programm weiß selbst am besten, welche Kommandos es versteht.
    Bei Zweifeln bezüglich der Schreibweise ist darum diese Übersicht
    die entscheidende Autorität.

    Die diversen Argument-Schlüsselwörter wie z. B. "NEXT", "ALL" usw.
    sind hier übrigens *nicht* aufgeführt. Ihre Schreibweise ist aber
    auch relativ unkritisch, im allgemeinen wird nur erste Buchstabe
    überprüft.

Benutzerdefinierte Skripts:

    Bis zu zehn Skripts, die im Unterverzeichnis "rexx/" stehen,
    werden automatisch als Menüpunkte eingebunden und können vom
    Programm selbst aus gestartet werden. Prima, um Funktionen
    nachzurüsten, die ich "vergessen" habe.

    Solange ein Skript läuft, das auf diese Weise gestartet wurde,
    kann aber kein weiteres gestartet werden. Und Vorsicht: es ist in
    der Zeit auch nicht möglich, das Programm zu beenden!



5. Der ARexx-Port
=================

Portname ist "WNVT0" bzw., wenn das Programm mehrmals gestartet wurde,
"WNVT1" etc.


5.1. Kommandos und ihre Bedeutung
---------------------------------

  AUTOTOP      Blockseiten anfordern
  TOPSTAT      TOP-Text-Statistik
  TOP          TOP-Text-Verzeichnis erstellen
  TOPKILL      ... und wieder löschen
  FIFO         Richtung der Job-Warteschlange
  LIFO          "
  CANCEL       Warteschlange komplett löschen
  RETRY        nicht gefundene Seiten nochmal (RC=5, wenn nicht nötig)
  CLEARFILE    Ausgabedatei löschen
  LIST2CLIP    Seitennummern ins Clipboard
  PAGE2CLIP    aktuell angezeigte Seite ins Clipboard (als ASCII)
  SCRN2FRONT   VT-Screen nach vorne, allerdings ohne ihn zu aktivieren
  SCRN2BACK    VT-Screen nach hinten
  SETCLOCK     Systemzeit von VT übernehmen
  SNAPSHOT     Parameter in die Icon-ToolTypes zurückschreiben
  QUIT         Programm beenden

  SCAN               Stichprobe starten
  SCAN SELECTED      Stichprobe, mit der Warteschlange gefiltert
  SCAN ALL           erweiterte Stichprobe: auch Binärseiten
  PRESETS            Seitenvorauswahl einlesen
  PRESETS <n>        n. Seitenvorauswahl (n=1..9)
  ENQUEUE <nnn>      Seite anfordern
  DISPLAY            erste Seite in der Liste anzeigen
  DISPLAY NEXT       eine Seite weiter (RC=5, wenn nicht möglich)
  DISPLAY <nnn>      eine bestimmte Seite anzeigen
  HUNT <text>        erste Seite anzeigen, die <text> enthält
  HUNT               zur nächsten Seite mit <text> (RC=5: keine mehr)
  KILL               alle Seiten löschen
  KILL <nnn>         eine Seite löschen, ggf. mit allen Unterseiten
  KILL <nnn/m>       eine Unterseite löschen
  KILL THIS          die aktuelle Seite löschen
  SAVE               alle Seiten speichern
  SAVE <nnn>         eine Seite speichern, ggf. mit allen Unterseiten
  SAVE <nnn/m>       eine Unterseite speichern
  SAVE THIS          die aktuelle Seite speichern
  FILENAME <name>    Ausgabedatei festlegen (RESULT: alter Name)
  FILEMODE ASCII     Ausgabeformat (RESULT: alte Einstellung)
  FILEMODE VT         "
  ICONS ON           Icons zur Ausgabedatei erzeugen
  ICONS OFF          keine Icons
  IFFDUMP <name>     die angezeigte Seite als IFF-Bild speichern
  LOAD <name>        Seiten im VT-Format einlesen

  LOOK_AT_QUEUE      RC=5, wenn noch Jobs warten
  GET_PAGENO         liefert Nummer der angezeigten Seite, z. B. 528
  GET_PAGEID         Seiten- und Unterseitennummer, z. B. 5280001
  GET_STATION        liefert den Sendernamen zur angezeigten Seite
  GET_STATION LIVE   aktuell empfangener Sender (RC>0, wenn kein Empfang)
  GET_STATION RAW    wie LIVE, aber ohne Konvertierung in DOS-Namen


5.2. Fehlermeldungen
--------------------

RC=20: unbekanntes Kommando
RC=10: Problem im Zusammenhang mit Dateioperationen
RC=5:  Seite nicht vorhanden oder ähnliche Kleinigkeiten.
RC=0:  *Kann* heißen, daß alles OK war. Manche Fehler werden über den
       ARexx-Port aber auch einfach nicht erkannt (Grund: Faulheit
       meinerseits).


5.3. Beispiele
--------------

Die folgenden Beispiele sind in gewissen Details etwas unrealistisch,
sind aber immerhin in dieser Form direkt lauffähig und, wie ich
glaube, recht lehrreich.

/* Kurze Stichprobe, Seiten unter treffendem Namen abspeichern: */
OPTIONS RESULTS
ADDRESS WNVT0
  kill
  scan
ADDRESS COMMAND 'Wait 10'
  get_station
  filename "RAM:" || RESULT || "." || TRANSLATE(DATE('E'),'-','/')
  filemode vt
  clearfile
  save

/* Seite 100 holen und alle Unterseiten als IFF speichern: */
OPTIONS RESULTS
ADDRESS WNVT0
  kill
  cancel
  enqueue 100
DO UNTIL RC=0
  ADDRESS COMMAND 'Wait 3'  /* nicht unbedingt nötig, aber netter */
  look_at_queue
 END
  get_station
  name = "RAM:" || RESULT || "."
  display
DO UNTIL RC~=0
  get_pageid
  iffdump name || RESULT || ".iff"
  display next
 END



6. Startparameter
=================

"VideoText" unterstützt CLI-Parameter und Workbench-ToolTypes. Das
Icon wird auch beim CLI-Start gelesen, zusätzliche
Kommandozeilenparameter haben dann aber Vorrang.

Die meisten Parameter können auf beide Arten angegeben werden, außer
der Direktanforderung von Seiten (nur vom CLI aus) und diversen Flags
(nur über ToolTypes).


6.1. HOMEDIR
------------

HOMEDIR=<pfad>                Bsp.: HOMEDIR=
                              CLI:       -h=Work:VTX

Gibt das Verzeichnis an, in dem "VideoText" die Unterverzeichnisse
"icons/", "rexx/" und "presets/" sucht. Wird hier nichts eingetragen,
wird "PROGDIR:" verwendet, also das Verzeichnis, in dem das
Programm-Binary selbst liegt. Das ist normalerweise auch am
sinnvollsten und vor allem unempfindlich gegen Umbenennen und
Verschieben des Programmverzeichnisses.

Hier einen absoluten Pfad anzugeben, wie beim CLI-Beispiel angedeutet,
macht nur in recht esoterischen Konfigurationen Sinn, z. B. wenn Sie
"VideoText" nach SYS:Utilities verschoben haben, damit es im Suchpfad
der Workbench steht.


6.2. FILE
---------

FILE=<name>                   Bsp.: FILE=data/dump
                              CLI:    -f=RAM:VTdatei

Namen der Ausgabedatei festlegen. Kann vom Programm aus jederzeit über
Filerequester geändert werden.


6.3. FILEMODE
-------------

FILEMODE=<flag>|<flag>|...    Bsp.: FILEMODE=VT|ICONS

Die Eigenschaften der Ausgabedatei können vom laufenden Programm aus
jederzeit umgestellt werden, aber vielleicht haben Sie ja eine
Lieblingskombination. Zulässige Optionen:

    VT <-> ASCII
    ICONS <-> NOICONS

Eine entsprechende CLI-Option gibt es nicht.


6.4. DATESTYLE
--------------

DATESTYLE=<n>                 Bsp.: DATESTYLE=3
                              CLI:          -y3

Legt fest, in welchem Format das Datum für den Dateinamen erzeugt
wird. Mögliche Werte:

  0 -> "13-Sep-96"
  1 -> "96-09-13"
  2 -> "09-13-96"
  3 -> "13-09-96"

Ich bevorzuge Format 3. Format 0 hat den Nachteil, daß es für März
einen Dateinamen mit Umlaut erzeugt. Format 2 ist wohl nur in den USA
üblich. Format 1 ist ganz hübsch, weil sich die Dateien auf diese
Weise nach Datum sortieren lassen, erzeugt aber anscheinend ab OS2.1
je nach Landeseinstellung eher etwas wie "96-Sep-13", tolle
"Verbesserung" ;-(.


6.5. EDITOR
-----------

EDITOR=<cmd>                  Bsp.: EDITOR=c:Ed
                              CLI:      -e=c:Ed

Legt den externen Editor fest, der aufgerufen wird, wenn Sie
F9/Shift-F9 drücken. Dem angegebenen Kommandostring wird einfach der
passende Dateiname angehängt und das ganze dann als DOS-Kommando
ausgeführt. Vergessen Sie im CLI nicht die "", falls Ihr Kommando
Leerzeichen enthält, z. B. "-e=c:Run >NIL: c:Ed".


6.6. MAXWAIT
------------

MAXWAIT=<seconds>             Bsp.: MAXWAIT=60
                              CLI:        -w60

Die Zeit, nach der angenommen werden soll, daß eine angeforderte
Seitennummer nicht existiert. Ein vernünftiger Wert sind ca. 60-90
Sekunden.


6.7. BURST/SHUFFLE
------------------

  BURST=<tics>                Bsp.: BURST=0 SHUFFLE=30
SHUFFLE=<tics>                CLI:      -b0       -s30

Timing-Parameter für die Seiteneinleseroutine, Einheit: 1/50-Sekunden.
Veränderungen hieran brauchen lediglich vorgenommen zu werden, wenn
öfters unvollständige Seiten eingelesen werden, und zwar unvollständig
in dem Sinne, daß ein paar der *untersten* Zeilen fehlen (d. h. die
Seite war zum Zeitpunkt des Einlesens in den Amiga noch nicht
vollständig im Decoder eingetroffen). Andere Fehler, wie mittendrin
fehlende Zeilen oder Zeichen, liegen an schlechter Empfangsqualität 
und sind *nicht* mit diesen Parametern behebbar!

Die zwei Parameter werden alternativ verwendet, für zwei verschiedene
zulässige VT-Ausstrahlungsprotokolle. Dabei ist das Verfahren
"serielle Magazinfolge" (BURST) das in Deutschland allgemein übliche,
"verschachtelte Magazinfolge" (SHUFFLE) trifft man eher bei englischen
Sendern an. "VideoText" signalisiert das verwendete Protokoll, indem
es die Unterseitennummer, die es oben links in jede VT-Seite einträgt,
in runde (0000) bzw. spitze <0000> Klammern setzt.

Vorsicht: stellen Sie hier keine unnötig langen Wartezeiten ein,
weniger als 1 Sekunde (d. h. <50) müßte immer genügen. Sonst kann es
passieren, daß bis zum Beginn des Einlesens bereits ein neuer
Seiteninhalt eintrifft, und das sorgt für Verwirrung.


6.8. BUSDELAY
-------------

BUSDELAY=<EClock-Ticks>       Bsp.: BUSDELAY=0
                              CLI:         -d4

Der I²C-Bus darf beliebig langsam getaktet werden, aber nicht beliebig
schnell. Die Grenze liegt bei 100 kHz. Sollte es in dieser Hinsicht zu
Problemen kommen, lassen sich die I/O-Routinen der "i2c.library" über
diesen Parameter bremsen.

Das Installer-Skript geht davon aus, daß für ECS-Systeme der optimale
(d. h. kleinstmögliche) Wert 0 ist, für den neuen AGA-Chipsatz (also
A1200, A4000) dagegen 4. Das sind ziemlich grobe Vermutungen, die aus
allen möglichen Gründen falsch sein können. Welcher Wert für Ihr
System tatsächlich zutrifft, können Sie am bequemsten mit dem
"I2Cscan"-Hilfsprogramm herausfinden:

"I2CScan" wird vom CLI oder von der Workbench aus gestartet.
Startparameter gibt es nicht, aber mit den Tasten +,-,*,/ läßt sich
der Busdelay-Parameter einstellen (hoch- und runterzählen, verdoppeln,
halbieren). Sie sollten hier keine zu großen Werte einstellen, die
Schmerzgrenze dürfte ungefähr bei 100 liegen. Mit 'S' (wie Scan) kann
man den eingestellten Wert testen, und wenn sich dabei unter der
Adresse $22/$23 der Videotext-Chip meldet, ist alles in Ordnung.

Kleiner Tip noch: Wenn man während dieser Aktion "VideoText" noch im
Hintergrund laufen hatte, muß man dort nur "Parameter sichern"
ausführen, und der gefundene BUSDELAY-Wert wird automatisch in die
ToolTypes übernommen.


6.9. AUTOTIMER
--------------

AUTOTIMER=<seconds>           Bsp.: AUTOTIMER=2
                              CLI:          -t2

Die Zeitverzögerung zwischen den einzelnen Seiten für die automatische
"Diashow" (s. "Automatik" im `Seiten'-Menü).


6.10. SCREENMODE
----------------

SCREENMODE=<mode id>          Bsp.: SCREENMODE=$00029000
                              CLI:            -mffffffff

Dieses ToolType sollten Sie normalerweise nicht von Hand ändern (außer
es macht Ihnen Spaß, aus "include/graphics/modeid.h" die richtigen
Werte herauszusuchen). Das Programm trägt hier automatisch das
Ergebnis des letzten ScreenMode-Requesters ein, wenn Sie "Parameter
sichern" ausführen.

Wenn Sie den Screenmode-Requester danach noch einmal wiederhaben
wollen, müssen Sie entweder das ToolType löschen, oder Sie geben bei
einem CLI-Start den unmöglichen ScreenMode $FFFFFFFF an (das sind 8
'f'), wie im Beispiel dargestellt.

Sollten Sie übrigens Modi vermissen, die Ihre Hardware eigentlich
darstellen kann: Der ScreenMode-Requester ist kein Hellseher.
Überprüfen Sie mal den Inhalt von DEVS:Monitors/, ob er Ihrer
tatsächlichen Ausrüstung entspricht. Davon abgesehen werden einige
Modi nicht aufgelistet, die keine 8 Farben zulassen, wie z. B.
SuperHighRes unter ECS.

Achja, zwei ScreenModes lohnt es vielleicht doch, auswendig zu kennen:
-m0 ist LoRes, -m8000 HighRes.


6.11. PALETTE
-------------

PALETTE=<rgb>,<rgb>,...  Bsp.: PALETTE=000,d00,0d0,ee0,00d,909,0cc,fff
                               CLI:  -p000,f00,0f0,ff0,00f,f0f,0ff,fff

Die Bildschirmfarben festlegen, in RGB-Komponenten für die 8 Farben
Schwarz, Rot, Grün, Gelb, Blau, Violett, Türkis, Weiß.

Das Beispiel in der zweiten Zeile erzeugt Farben maximaler Intensität,
wie Videotext wohl auch eigentlich gedacht ist. Voreingestellt in den
Icon-ToolTypes finden Sie dagegen das erste Beipiel, mit etwas
gedämpfteren Farben und einem Türkis, auf dem man auch weiße Schrift
noch lesen kann: $0CC statt $0FF.

Ich würde nicht empfehlen, diesen Parameter von Hand zu ändern.
Einfacher ist es, die Screen-Farben mit einem Palette-Tool
einzustellen (z. B. "Palette" von FishDisk 330, oder "CPalette" aus
Aminet/util/wb) und anschließend mit "Parameter sichern" in die
Icon-ToolTypes zurückzuschreiben.


6.12. COLPERM
-------------

COLPERM=<digits>              Bsp.: COLPERM=60712345
                              CLI:        -r06741235

Dieser Parameter gibt eine Farb-Permutation an, bestimmt also, in
welcher Reihenfolge die acht VT-Grundfarben Schwarz, Rot, Grün, Gelb,
Blau, Violett, Türkis, Weiß in der tatsächlichen Screen-Palette
untergebracht werden. Gültig sind alle Kombinationen der Ziffern 0
bis 7, in beliebiger Reihenfolge.

Für das Aussehen der VT-Seiten ist dieser Parameter ohne Bedeutung,
sehr wohl aber von Bedeutung (insbesondere die ersten vier Ziffern)
für den Rest des Screens. Beispielsweise erzeugt 60712345 ein
relativ vertrautes Gesamtbild, mit türkisem Hintergrund und Menüs
schwarz auf weiß. Und mit 06741235 erhält man einen schwarzen
Hintergrund (cool), aber Menüs türkis auf weiß (ohje).


6.13. SPEECH
------------

SPEECH=<text>                 Bsp.: SPEECH=Ready
                              CLI:     "-c=O K"

Eine gesprochene Meldung, die das Programm ausgibt, wenn die Jobliste
abgearbeitet ist. Dafür wird das Gerät SPEAK: benötigt, das (zusammen
mit narrator.device, speak-handler etc.) bis einschließlich OS 2.0
zur Standard-Workbench dazugehörte, seitdem leider nicht mehr.

Wenn Sie dieses Feature nicht leiden können (z. B. weil Sie SPEAK:
überhaupt nicht haben), löschen Sie das SPEECH-ToolType einfach, und
das war's.


6.14. FLAGS
-----------

FLAGS=<flag>|<flag>|...       Bsp.: FLAGS=LIFO|CLOCK

Hiermit läßt sich aller mögliche Firlefanz einstellen, der kein
eigenes Tooltype verdient hat. Unterstützt werden z. Zt. die Richtung
der Job-Schlange (FIFO <-> LIFO) und Testmodus (CLOCK), die
Einblendung des Sendernamens (STATION), die Umleitung von ARexx-
Skripts auf die Workbench (WBREXX) und die Verwendung des größeren
Fonts (BIGFONT, funktioniert aber nur auf genügend großem Screen).


6.15. TVMODE
------------

TVMODE=<n>                    Bsp.: TVMODE=2

Mögliche Werte sind 0, 1 und 2, entsprechend den Menue-Einstellungen
"Fernsehdarstellung aus/transparent/ein". Ich glaube, irgendwer hatte
mich mal darum gebeten, das einzubauen. Viel Sinn macht es nicht.


6.16. Seitenanforderung
-----------------------

<page> <page> ...             Bsp.: 100/* 112 113 114 115 525/1

Alle CLI-Argumente, die nicht mit "-" beginnen und als gültige
Seitennummer interpretiert werden können, werden als Seitenanforderung
in die Job-Warteschlange eingereiht.

Einen entsprechenden Workbench-Parameter gibt es nicht.


6.17. VT-Format laden
---------------------

<file> <file> ...

CLI-Parameter, die nicht mit "-" beginnen und außerdem keine
Seitennummer sein können, weil Sie Buchstaben enthalten, werden als zu
ladende Seitendatei im VT-Format angesehen. Außerdem startet
anschließend sofort die Seitenautomatik, so daß man sich den
Dateiinhalt quasi in einer Diashow ansehen kann.

Dem entspricht beim Workbench-Start die Möglichkeit, VT-Dateien über
erweiterte Auswahl (Shift-Mausklick) als Start-Argumente anzugeben
bzw. ins Icon einer Seitendatei "VideoText" als Default Tool
einzutragen.

Wichtig: Bei den über die Workbench übergebenen Seitendateien werden
auch die ToolTypes `SCREENMODE', `COLPERM' und `AUTOTIMER' abgefragt
und *überstimmen* die Einstellungen im Programm-Icon selbst! Das kann
man dazu nutzen, die Abspielgeschwindigkeit für jede Datei individuell
einzustellen, und vor allem, um mit SCREENMODE=0 VideoText zu
überreden, im LoRes-Modus zu starten. Die Textseiten werden dann
nahezu bildschirmfüllend angezeigt, normalerweise unerwünscht, weil
dann kein Raum mehr für nützliche Statusinformationen und Listen
bleibt, für Diashows aber gerade richtig. COLPERM=06741235 (schwarzer
Hintergrund) kann das ganze vielleicht noch originalgetreuer
gestalten.



7. Die Mitwirkenden
===================


7.1. Der Autor
--------------

Autor von "VideoText" bin ich:

    Wilhelm Nöker               e-Mail: wnoeker@t-online.de
    Hertastr. 8
    D-44388 Dortmund

"VideoText" ist Postcard-Ware, das heißt, es darf beliebig kopiert
und weitergegeben werden, es wäre aber nett, mir ein paar freundliche
Worte in Anerkennung meiner Bemühungen zu schreiben. Ansichtskarten
sind zu diesem Zweck hervorragend geeignet, ich freue mich aber auch
über e-Mail (was bei Anfragen und Verbesserungsvorschlägen sowieso
praktischer ist).

Auch Brian Ipsen's "i2c.library" ist Postcard-Ware. Wenn Sie sie für
ein besonders gelungenes Detail dieser Videotext-Implementierung
halten (natürlich ist sie das), schicken Sie also bitte eine Postkarte
mit ein paar netten Worten (auf Dänisch, Englisch oder notfalls
Deutsch) an:

    Brian Ipsen                 e-Mail: bipsen@post6.tele.dk
    Lyngens Kvarter 274
    DK-7400 Herning


7.2. Mein Expertenteam
----------------------

Vielen Dank an:

 - Karsten Seckendorf, für viele gute Ideen, die wesentlich zur
   Gestaltung des Programms seit V4.0 beigetragen haben

 - Frank Noack, meinen hartnäckigsten Kritiker

 - Michael Zielinski, Jörg Tögel, Michael Böhmer und Michael Bauer,
   für Enforcer-Listen und andere wertvolle Tips zur Fehlersuche

 - Jörg Tögel, Guido Mersmann und Carsten Kemper, für all die
   vielen kleinen Ideen, Anregungen und Verbesserungsvorschläge


7.3. Schleichwerbung
--------------------

Mein Compiler: KickPascal 2.12 von MAXON Computer

    Naja, ich hab ihn mal ganz gerne gemocht. Zur Zeit arbeite ich
    daran, "VideoText" nach C zu portieren.

Mein Editor: CygnusEd 4.2

    It's big, it's back, and it's beautiful!

Unentbehrlich: Text2Guide 3.10 von Stephan Sürken (aminet/text/hyper)

    Spitze! Vergeßt MakeGuide!
    Naja, zugegeben *ist* das TeXinfo-Format leistungsfähiger und
    flexibler, aber ich bereue nichts.

