Document VT.doc VIDEOTEXT V5.41 """"""""""""""" VTX-Browser. Spezialhardware erforderlich. Stand der Anleitung: 21.06.97 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 möchte 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, der in der c't 7/92 als Alternative vorgestellt wurde, ist auch nicht geeignet. Und ebenso ungeeignet ist der SAA 5231, wie er in den VTex-Decodern von HK vorkommt. 2. ein I²C-Bus Interface zum Amiga. Sowohl Varianten am RS232-Port (wie z. B. in der c't 7/92 beschrieben) als auch die am Parallelport (von Jan Leuverink) werden unterstützt. 3. eine FBAS-Signalquelle, z. B.: - Fernseher mit SCART-Ausgang - Satellitenreceiver - Videorekorder; der aber nur zum Empfang des laufenden Fernsehprogramms, das VT-Signal aus Video-Aufzeichnungen ist normalerweise 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 CHV Elecronics ----------------------------------- Nach allem, was ich zuletzt gehört habe (Stand Mai 97), besteht nach wie vor die Möglichkeit, per Nachnahme für 120 DM zzgl. Versandkosten bei Christoph Vonrhein Bismarckstr. 24/1 88045 Friedrichshafen Tel. (07541) 930 230 einen kompletten c't-kompatiblen Videotext-Decoder für den Amiga bestellen. Das Gerät enthält ein kleines Netzteil, die Stromversorgung erfolgt also direkt aus der Steckdose. Es hat eine Cinch-Buchse für den FBAS-Eingang, einen Kippschalter, um die Signalleitung beim Anschließen an den Fernseher vorübergehend trennen zu können (damit erst Masse, dann Signal verbunden wird; ist beim einfachen Steckvorgang mit Cinch ja leider genau andersrum), und ca. ½ m Anschlußleitung zum RS232-Port des Amiga. 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 50 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; elpro Harald-Wirag-Elektronik, Ober-Ramstadt. 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. 2.4. Der Rest der Welt ---------------------- Die folgende Aufzählung umfaßt alle Gerätetypen, die ich *kenne*. Nicht alle davon werden auch unterstützt! 2.4.1. TeleText von Jan Leuverink --------------------------------- Recht weit verbreitet ist wohl Jan Leuverink's "TeleText"-Projekt mit Parallelport-Interface (im Aminet unter hard/hack/tt120.lha). Natürlich wird es unterstützt, dies ist nämlich die Hardware, für die alleine Brian Ipsens "i2c.library" ursprünglich geschrieben war. 2.4.2. TeleTxt von Markt & Technik ---------------------------------- Im Amiga Magazin wurde 1992 ein Projekt für einen Videotext-Decoder auf einer autokonfigurierenden Zorro-II-Karte vorgestellt. Schön saubere Lösung. Vielen Dank an Jügen Höhn, nach dessen Infos die zugehörige Ansteuerung entstanden ist. 2.4.3. VideoTXT von HSL ----------------------- Das Gerät gibt es in zwei Varianten, für den Joystick- und den RS232-Port. Nur die RS232-Variante wird von meiner Software unterstützt. Von der Joystick-Variante wüsste ich dagegen nicht einmal, wie sie funktioniert. 2.4.4. VTex von HK ------------------ Das VECTOR-Gerät wird am Parallelport angeschlossen, und interessanterweise "mißbraucht" es den Port auch nicht einfach, um einen I²C-Bus zu emulieren, sondern nutzt die 8 Bit Datenbreite voll aus. Leider habe ich gerade darum *keine* Möglichkeit, es mit meinem Programm anzusteuern. Was aber immerhin geht, ist das Einlesen von Seitendateien, wie VTex sie erzeugt. Na, toll. 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 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. Kabel 1 oder Vox) - 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 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 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 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. Das geschieht über ein Stichwort, das wörtlich so in der Videotext-Kopfzeile vorkommen muß, gefolgt von einem "=" und dem DOS-Namen. ("DOS-tauglich" bedeutet, daß der Name auf der rechten Seite des Gleichheitszeichens weder ":" noch "/" enthalten darf und möglichst auch ohne Leer- und Sonderzeichen auskommen sollte.) 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. AZ oder EdWord), 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. Seitenvorauswahl (n=1..9) ENQUEUE Seite anfordern DISPLAY erste Seite in der Liste anzeigen DISPLAY NEXT eine Seite weiter (RC=5, wenn nicht möglich) DISPLAY eine bestimmte Seite anzeigen HUNT erste Seite anzeigen, die enthält HUNT zur nächsten Seite mit (RC=5: keine mehr) KILL alle Seiten löschen KILL eine Seite löschen, ggf. mit allen Unterseiten KILL eine Unterseite löschen KILL THIS die aktuelle Seite löschen SAVE alle Seiten speichern SAVE eine Seite speichern, ggf. mit allen Unterseiten SAVE eine Unterseite speichern SAVE THIS die aktuelle Seite speichern FILENAME Ausgabedatei festlegen (RESULT: alter Name) FILEMODE ASCII Ausgabeformat (RESULT: alte Einstellung) FILEMODE VT " ICONS ON Icons zur Ausgabedatei erzeugen ICONS OFF keine Icons IFFDUMP die angezeigte Seite als IFF-Bild speichern LOAD 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= 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= 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=||... 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= 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= 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= 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= Bsp.: BURST=0 SHUFFLE=30 SHUFFLE= 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 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= 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= 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= 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=,,... 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= 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= 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=||... 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= 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 ----------------------- ... 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 --------------------- ... 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 - nochmal Michael Böhmer, für das MagicWB-Icon (icons/VideoText.info) - Stefan Janiszewski, Jörg Tögel, Guido Mersmann, Carsten Kemper und all die, die ich vergessen habe (hoffentlich nicht?), für all die vielen kleinen Ideen, Anregungen und Verbesserungsvorschläge - Kai Heesche (mit der c't 3/92 hat alles angefangen ;) - Michael Hübbers, ersten "VideoText"-Benutzer bzw. -Tester überhaupt - Christoph Vonrhein - last not least: Brian Ipsen 7.3. Schleichwerbung -------------------- Mein Compiler: KickPascal 2.12 von MAXON Computer Naja, ich hab ihn mal ganz gerne gemocht. Im Endeffekt werde ich aber wohl nicht darum herumkommen, "VideoText" irgendwann doch mal nach C zu portieren. Mein Editor: EdWord Pro 5.6 von Martin Reddy (aminet/text/edit) Der einzig würdige Nachfolger für AZ. Hat alles was ich brauche, ohne gleich Megabytes auf der Platte zu belegen. 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.