ENGLISH READERS: PLEASE READ "README.TXT"! Herzlich willkommen zu CCCC AA LL LL TTTTTT TTTTTT PPPPP CC CC AAAA LL LL TT TT PP PP CC AA AA LL LL TT TT PP PP CC AA AA LL LL TT TT PPPPP CC AAAAAA LL LL TT TT PP CC CC AA AA LL LL TT TT PP CCCC AA AA LLLLLL LLLLLL _______ TT TT PP v1.00 (3.3.91) Ein Programm von Martin Braschler. Freeware. 1. Was ist CALL_TTP.SYS und warum sollte ich es brauchen? --------------------------------------------------------- Wahrscheinlich sind Sie bei Ihrer Arbeit am Atari ST auch schon auf Da- teien mit der Endung ".TTP" gestossen. Es handelt sich dabei um Programme, die allerdings einer speziellen Kategorie angeh”ren. Versucht man Sie n„m- lich zu starten, so wird das Programm nicht gleich geladen, sondern ein Eingabefeld erscheint. Der Grund dafr ist, dass diese Programme meist (keine Regel ohne Ausnahme) keine eigene Eingaberoutine besitzen, d. h. der Benutzer kann w„hrend des Programms kaum noch Einfluss auf dessen T„- tigkeit nehmen. Diese wird vielmehr gleich beim Start festgelegt. Diese auf den ersten Blick absonderliche Bedienungsweise (man k”nnte ja die Ein- gaben auch noch nach dem Start ein fr allemal im Programm eingeben) ist das "Erbe" von anderen Computersystemen. Auf MS-DOS und UNIX-Rechnern ist eine solche Vorgehensweise gang und g„be. Es handelt sich bei TTP-Program- men denn auch meistens um Umsetzungen, sogenannte "Portierungen" von ande- ren Rechnern. Nun k”nnte man ja eigentlich mit dieser Tatsache leben und dem Programm immer die geforderten Parameter bergeben, w„re - ja w„re da nicht schon wieder ein Betriebssystemfehler. Wobei es nicht ganz klar ist, ob man in diesem Fall von "Fehler" sprechen kann, scheint dieser Fehler ja gar ge- wollt zu sein! Das Problem ist n„mlich, dass das Betriebsystem alle Einga- ben in Grossschrift wandelt. Das scheint erst gar nicht tragisch, kann man doch Programme so programmieren, dass sie die Eingaben in Grosschrift er- warten. Doch was ist mit den Programmen von anderen Rechnern, die diese Eingaben nicht wandeln? Erstmals „rgerte ich mich mit diesem Problem herum, als ich Zoo bekam, einen guten Public Domain-Datenpacker. Zoo verlangt n„mlich als šbergabe- parameter einen Kommandobuchstaben. Dabei unterscheidet es aber zum Bei- spiel zwischen "a" und "A". Eine L”sung war zwar bekannt: Man konnte einen sogenannten "Kommandointerpreter" starten. Das ist ein Programm, mit dem man den ganzen Computer ausschliesslich ber die Tastatur steuert - Maus ade! Solche Kommandointerpreter sind zwar in gewissen F„llen ganz ntz- lich, ja manche Programmierer arbeiten gar nur mit ihnen, aber ganz gewiss nicht jedermanns Fall (Tip: Ein guter Kommandointerpreter ist "Gul„m", das gar Public Domain ist!). Eine andere L”sung ist, sich TOS 1.04 (oder h”- her) zu besorgen, dort ist das Problem endlich ausgebgelt (Ganz sch”n teuer & muss eingebaut werden!). Die ultimative L”sung ist hingegen (natrlich!) dieses Programm. Die Idee dazu war eigentlich simpel - wie alles Geniale („hem..). Dieses Pro- gramm "klinkt" sich im Betriebssytem ein, und jedesmal wenn Sie versuchen, ein TTP-Programm zu starten, wird dieses Programm zuerst aufgerufen. Dar- aufhin zeigt es Ihnen eine neue Eingabebox. Bitte beachten Sie, dass es, w„hrend Sie es nicht benutzen, kein einziges Byte Speicher belegt, es ist also nicht "resident". Was leistet das Programm nun? Es erschl„gt gleich einige Probleme/Žrger- nisse auf einen Schlag: - Es wandelt die šbergabeparameter, die Sie in die neue Eingabebox eingeben, NICHT in Grossschrift um. - Es stellt Ihnen eine viel gr”ssere Eingabezeile zur Verfgung: etwas ber 70 statt nur ber 30 Zeichen. Das werden Sie schnell zu sch„tzen lernen. - Es wartet nach der Beendigung des TTP-Programms wahlweise auf einen Tastendruck. Viele Programme tun das nicht von selbst; Folge: Sie k”nnen gar nicht lesen, was das Programm ausgab, da sofort wieder der Desktop gezeichnet wird! - Wahlweise schaltet es gleich auf Weiss-auf-Schwarz statt auf Schwarz-auf-Weiss um. Das ist bei reinem Text einfach augenschonen- der. Selbstverst„ndlich wird nach Beendigung zurckgeschaltet, da der Desktop Schwarz-auf-Weiss besser aussieht. - Das Programm bietet Ihnen auch eine zuschaltbare Stoppuhr. Ganz ntzlich, wenn sie die Leistungen verschiedener, „hnlicher TTP-Pro- gramme miteinander vergleichen wollen. - Die n„chste Funktion ist ein Leckerbissen: Das Programm "gaukelt" dem aufzurufenden Programm vor, dass alle eventl. geforderten Ein- gaben aus einer Datei kommen! Desgleichen kann man (noch ntzli- cher) CALL_TTP dazu veranlassen, alle Ausgabe in eine Datei zu schreiben oder auf den Drucker auszugeben. Der Fachausdruck hierfr ist "I/O-Redirection". - Zus„tzlich k”nnen Sie noch den Cursor ausschalten oder zum Blinken bringen. Nun hat natrlich auch dieses Programm einen Haken: Es ist nur brauch- bar, wenn Sie eine Harddisk besitzen, sonst k”nnen Sie es gar nicht erst installieren (H„tte wirklich keinen Sinn). Der Grund hierfr ist, dass es bei jedem Aufruf eines TTP-Programms in sekundenschnelle mitgeladen wird - das w„re bei Diskettenbetrieb zu langsam und zu nervig, ausserdem msste dann immer eine Diskette mit dem Programm im Laufwerk liegen... Zudem l„uft das Programm erst ab 640*400 Punkten aufw„rts, wegen der langen Ein- gabezeile. Ob es mit mehr als 640*400 l„uft, konnte ich nicht testen, es sollte aber klappen (Hoffnung...). Andererseits bietet es auf diesem Sektor bedeutend mehr als beispiels- weise TOS 1.04. Da es ja nur bei Benutzung Speicher belegt, ist es also auch fr die Besitzer der neueren Betriebssyteme interessant. 2. Wann darf ich CALL_TTP benutzen und kostet mich das was? ----------------------------------------------------------- CALL_TTP ist Freeware. Dabei sollen aber nicht einfach irgendwelche Standardbedingungen gelten, die man so allgemein fr Freeware annimmt. Ich bestimme also hiermit das folgende: 1. Jeder ist befugt, CALL_TTP zu kopieren, vorausgesetzt, er kopiert das komplette Paket, dass aus dem Ordner CALL_TTP und allen darin enthaltenen Dateien besteht. Solche Kopien drfen nicht verkauft werden. Eine Ausnahme bilden Public Domain-Sammeldisketten, die aber nicht mehr als 10DM/10SFr. je Disk inkl. der Disk selbst ko- sten drfen. 2. CALL_TTP darf nur zu nicht kommerziellen Zwecken benutzt werden. Zu einem kommerziellen Zweck z„hle ich bereits das Beilegen und/ oder Einfgen in Public Domain-Programme, als Bestandteil dieser, bei deren Benutzung zu Spenden aufgerufen wird (Shareware also sowieso). 3. Legen Sie CALL_TTP einem Freeware-Programm bei oder fgen Sie es in dieses ein, so mssen Sie es gut sichtbar und ausdrcklich mit einem Autorenhinweis vermerken. 4. CALL_TTP darf garantiert in keiner Weise ver„ndert werden! 5. CALL_TTP darf auch nur im nicht installierten Zustand weitergege- ben werden. 6. Die Benutzung von CALL_TTP ist absolut GRATIS! Sie mssen mir also keine Spenden schicken! Schicken Sie mir trotzdem irgendwas gr”s- ser 10DM/10SFr., so bekommen Sie den Source-Code (Warum wollen Sie denn den?), aber nur von CALL_TTP, nicht vom Installationsprogramm und anerkennen meine Arbeit. Sie mssen aber WIRKLICH nichts zah- len, wenn Sie nicht wollen. Ich w„re auch schon nur ber einen Brief dankbar, mit dem Sie mir mitteilen, dass mein Programm be- nutzt wird. 7. Wollen Sie CALL_TTP zu einem kommerziellen Zweck verwenden, so mssen Sie sich an den Autor (das bin ja ich! So was...) wenden. 8. Ich deklariere hiermit, dass ich nicht garantiere, je eine weitere Version zu schreiben, auch wenn sich in dieser ein grober Fehler befinden sollte (Fehler? Was denn fr Fehler?). 3. Und wenn CALL_TTP fehlerhaft ist? ------------------------------------ Sollte das der Fall sein: Pech gehabt. Ich bernehme auf jeden Fall kei- ne Verantwortung fr die Bentzung dieses Programms. W„re wohl etwas viel verlangt, wenn ich es Ihnen doch schon schenke... Beachten Sie also das folgende: -------------------------------------------------------------------------- Der Autor garantiert nicht fr die Fehlerfreiheit oder die Eignung dieser Software fr einen bestimmten Zweck. In jedem Fall haftet der Anwender, auch wenn der Fehler auf der Seite des Autors liegt. Der Autor ist weder verpflichtet, Sch„den zu beheben, noch fr eine Ausbesserung des Produkts zu sorgen. -------------------------------------------------------------------------- Es tut mir leid, dass ich Sie mit all dem bel„stigen musste, aber es gibt ja unvernftige Leute... 4. Wie installiere ich CALL_TTP? -------------------------------- Die Auslieferung von CALL_TTP erfolgt nach einem ganz neuen, revolutio- n„ren (ach ja?) Konzept. Wenn Sie den Ordner CALL_TTP schon untersucht ha- ben, werden Sie festgestellt haben, das kein Programm CALL_TTP.PRG o. „. vorhanden ist. Das hat mehrere Grnde. Da das Installieren von CALL_TTP von Hand leider kein Kinderspiel ist (muss ja ins Betriebssytem einge- klinkt werden), musste ein Installationsprogramm her, das Ihnen diese Ar- beit abnimmt. Dabei hatte ich die Idee, etwas gegen die Kopierfehler, die manchmal auf Public Domain-Disketten zu finden sind, zu unternehmen. Das bedeutet: Das gesamte Programmpaket ist in einem Programm, INSTALL verei- nigt. Bei der Installation erzeugt INSTALL nun alle notwendigen Dateien, kopiert sie an den richtigen Ort und (und das ist der springende Punkt!) berprft sie auf Fehlerfreiheit. Nur wenn die Daten unbesch„digt sind, wird also etwas installiert. Das schtzt Sie, lieber Anwender, vor Kopier- fehlern (und sp„teren Abstrzen) und mich vor ungeliebten Žnderungen (des- halb darf das ganze ja nur im uninstallierten Zustand weitergegeben wer- den...). Nebenbei ist es noch ein (allerdings sehr beschr„nkter) Schutz vor Linkviren. Na? Ist das was? Ich m”chte hiermit andere Autoren auffordern, sich was „hnliches fr ihre Programme zu berlegen. Es profitieren ja alle davon. Gehen Sie zur Installation folgendermassen vor: 1. ™ffnen Sie im Desktop ein Fenster mit dem Wurzelverzeichnis von C (C:\*.*). Finden Sie hier keine Datei namens "DESKTOP.INF" so er- zeugen Sie bitte eine ("Arbeit sichern" im Men "Extras"). 2. Fertigen Sie eine Sicherheitskopie von "DESKTOP.INF" an (k”nnen Sie weglassen, wenn Sie mir blind vertrauen...). 3. Starten Sie jetzt INSTALL.PRG. 4. Sie werden nach der gewnschten Sprache gefragt. W„hlen Sie "Deutsch". 5. Žndern Sie nun die Voreinstellungen nach Ihren Wnschen. Zu deren Bedeutung unten mehr. 6. Klicken Sie nun auf "INSTALLIERE". 7. Das Programm informiert Sie nun ber alle Arbeitsschritte, die es soeben durchfhrt. Lief alles glatt, erhalten Sie die Meldung "IN- STALLATION ERFOLGREICH BEENDET". Das war's schon. Wollen Sie CALL_TTP entfernen, machen Sie das folgende: 1. Starten Sie INSTALL.PRG. 2. Klicken Sie auf "Entferne". 3. Sie erhalten eine Meldung. Das war's schon. Beachten Sie bitte: CALL_TTP wird immer im Wurzelverzeichnis von C in- stalliert. Es darf nicht von dort wegkopiert werden. Was nach schlechter Programmierung aussieht, hat seinen Grund: Es startet so schneller, wenn Sie TTP-Programme ab Diskette (natrlich bei angeschaltener Harddisk) starten. CALL_TTP wird nur aktiv, wenn Sie aber der Harddisk booten. Nach der Installation also booten (desgleichen nach dem Entfernen)! INSTALL f„ngt nicht alle Fehler ab: Wenn sie also seine Resourcedateien umbenne- nen, zweimal installieren oder entfernen ohne installiert zu haben, so sind sie selber schuld. Wollen Sie neu installieren (andere Einstellungen, andere Sprache...), so mssen Sie CALL_TTP erst entfernen! 5. Wie benutze ich CALL_TTP? ---------------------------- CALL_TTP wird bei jedem Starten eines TTP-Programms geladen. Es pr„sen- tiert sich Ihnen dann ein Eingabefeld. Mit der Tastatur k”nnen Sie nun in der Eingabezeile die Parameter festlegen. Unter dieser Zeile finden Sie zwei Felder, "Optionen" und "Sytem", in denen Sie diverse Einstellungen festlegen k”nnen. Diese sind gem„ss Ihren Angaben von INSTALL vorbelegt worden. OPTIONEN-WARTEN: Hier stellen Sie ein, ob das CALL_TTP nach Beendi- gung eines TTP-Programmes auf einen Tastendruck war- tet ('Ja') oder nicht ('Nein'). OPTIONEN-INVERTIEREN: Schaltet w„hrend dem Ablauf des TTP-Prgs. auf Weiss- auf-Schwarz ('Ja') oder l„sst alles beim alten ('Nein'). Bei Beendigung wird dies immer zurckge- setzt. OPTIONEN-STOPPUHR: Schaltet eine Stoppuhr zu ('Ja') oder l„sst es blei- ben ('Nein'). SYSTEM-STDIN NACH: Biegt Eingabe um. Statt von der Tastatur erh„lt das Programm alle Eingaben aus einer Datei. Beim Anw„h- len erscheint die Dateiauswahlbox, ein sinnvoller Name wird bereits vogegeben. 'CON:' bedeutet normale Eingabe von Tastatur, 'Datei' bedeutet Eingabe aus Datei. SYSTEM-STDOUT NACH: Lenkt Ausgabe auf Bildschirm ('CON:', normal), in eine Datei ('Datei'), siehe auch oben, oder auf den Drucker ('PRN:') um. SYSTEM-CURSOR: Schaltet Cursor auf Blinken ('Blink'), auf festen Zustand ('Fest') oder gar aus ('Aus'). Zu STDIN NACH/STDOUT NACH noch ein paar Bemerkungen: Bei sauber program- mierten TTP-Programmen wird nicht einfach auf den Bildschirm geschrieben, oder Eingaben von der Tastatur geholt, es wird vielmehr auf Standardkan„le ausgegeben. Diese zeigen normalerweise(!) auf den Bildschirm bzw. die Ta- statur, k”nnen sich aber auch auf Dateien oder den Drucker beziehen. Das Programm merkt davon gar nichts. Benutzt es aber nicht diese Standardkan„- le, schreibt also z.B. direkt auf den Bildschirm (sehr unsauber!), ntzt das Umbiegen nichts, CALL_TTP ist dann machtlos. Je nach Betriebssystem- version enthalten die dazu vom Sytem zur Verfgung gestellten (und von CALL_TTP beutzten) Routinen auch schon mal Fehler, es bleibt Ihnen also nichts brig, als zu experimentieren! Beispiele dazu gibt Ihnen der n„ch- ste Abschnitt. CALL_TTP schaltet bei Programmende grunds„tzlich wieder die Grundein- stellung ein. Diese ist: Schwarze Schrift auf weissem Grund, Cursor aus, STDIN/STDOUT auf Console (Tastatur bzw. Bildschirm). Etwas anderes wrde wenig Sinn machen, da CALL_TTP ja immer vom Desktop aufgerufen wird (Na ja, sie k”nnen es schon von einer Shell aufrufen - aber was bringts?). 6. Praktische Anwendungs- und šbungsbeispiele --------------------------------------------- Nun ist CALL_TTP installiert und sie wissen (theoretisch) wie es bedient wird. Dieser Abschnitt soll Ihnen noch ein paar praktische Beispiele ge- ben. Dazu habe ich den Aufruf von ZOO.TTP gew„hlt, da ich an diesem Bei- spiel ziemlich alle Spezialf„lle zeigen kann. Diese Beispiele k”nnen Sie natrlich berspringen. Ich hoffe die Hinweise ntzen auch, wenn Sie ZOO selbst nicht besitzen (bekommt man aber bei wohl jedem PD-Versand...). ZOO.TTP ist ein sogenannter Archiver, es verkrzt mehrere Dateien und ko- piert sie in eine einzige. Diese Datei (kann ganze Disketten mit Ordnern etc. enthalten!) kann dann einfach kopiert und ber Telephon bermittelt werden. Nach der šbertragung k”nnen die Dateien wieder in Ihren Original- zustand gebracht werden. Das aber nur am Rande. Bsp. 1: ZOO starten und Hilfetext anzeigen lassen: Starten Sie ZOO.TTP durch Doppelklick. Es erscheint die Box von CALL_TTP. Ruft man ZOO ohne Parameter auf, zeigt es einen Hilfetext an. Das "Warten" k”nnen sie dabei ausschalten, das bernimmt ZOO von alleine. Schalten Sie hingegen "Invers" und "Stoppuhr" auf "Ja". Drcken Sie nun Return ohne etwas in die Kommandozeile eingegeben zu haben (oder klicken Sie alternativ auf "Start"). Der Bildschirm wird nun zun„chst schwarz, dann rollt weisser Text vorbei. Das Programm wartet nun auf einen Tasten- druck. Drcken Sie Return. CALL_TTP schaltet wieder auf Schwarz-auf-Weiss und meldet nun die verstrichene Zeit. Bsp. 2: Wie kann ich den Hilfetext ganz lesen? Das war ja alles ganz nett, aber: haben Sie den Anfang lesen k”nnen? Hier kommt nun die Ein-/Ausgabeumlenkung zum ersten Mal ins Spiel: W„hlen Sie "STDOUT nach Datei". Es erscheint die Dateiauswahl. Drcken Sie ein- fach Return, um die Voreinstellung zu bernehmen. Nun noch einmal Return, um ZOO zu starten. Auf dem Bildschirm erscheint nun gar nichts mehr, dafr l„uft die Diskette bzw. Festplatte an. Alle Ausgaben werden nun also in die Datei geschrieben. Der Haken: Das Programm scheint zu "h„ngen". Der Grund ist aber offensichtlich: Auch die Aufforderung zum Tastendruck wurde in die Datei geschrieben. Also: einfach Taste ohne Aufforderung drcken, wenn die Speicherung beendet ist. Auf Ihrer Diskette oder Festplatte fin- den Sie nun die Datei "ZOO.OUT", die Sie (bequem) mit einem Texteditor oder (unbequem!) mit dem Desktop lesen k”nnen... Bsp. 3: Umlenkung von STDIN zum Archivieren von Dateien. Nun wird's etwas technisch: ZOO bietet einen Modus, in dem es die Namen der zu bearbeitenden Dateien von der Standardeingabe liest. Erstellen Sie also mit einem Texteditor eine Datei, in die Sie die Namen von ein paar (existierenden!) Dateien eintragen. Beginnen Sie fr jeden Namen eine neue Zeile (d. h. Return drcken). Nennen sie die Datei "ZOO.IN" und kopieren Sie sie ins gleiche Verzeichnis wie ZOO. Starten Sie dann ZOO. Tragen sie in die Zeile ein: "aI test" (auf Klein-/Grossschreibung achten!). W„hlen Sie nun "STDIN nach Datei" und best„tigen Sie die Voreinstellung (Return drcken). Nun nochmal Return und ZOO archiviert die von Ihnen gew„hlten Dateien. Wie man es allerdings dazu bringt, sauber seine Arbeit abzu- schliessen, ist mir ein R„tsel... (Habe v2.01g). 7. Technisches (fr alle die mehr ber CALL_TTP wissen wollen...) ----------------------------------------------------------------- Der folgende Abschnitt ist fr Interessierte, Experten, Tester, Kriti- ker, N”rgler etc. gedacht. Er beschreibt ein wenig den Aufbau des Pro- gramms. CALL_TTP ist komplett in GFA-Basic 3.50 geschrieben und mit dem GFA-Ba- sic 3.50-Compiler compiliert. Die Resourcen wurden mit dem RCS 2.1 von Di- gital Research erstellt. Nach dem Programmstart liest CALL_TTP die Kommandozeile aus - ist dort nichts, wird's nicht gestartet (soll, wie auch die Endung ".SYS" verhin- dern, dass es sinnlos gestartet wird). Dann wird der Dialog abgewickelt. Die Einstellungen werden nach dem Auswerten gleich in den Objektnummern zwischengespeichert. Bevor das TTP-Programm dann per "Pexec" gestartet wird, wird noch der Speicherplatz fr die Resource wieder freigegeben, um den so kostbaren Speicher zu schonen. Nach der Rckkehr werden die Grund- einstellungen wieder hergestellt und eventuell die Zeit angezeigt. Das war's schon. Der Teufel lag natrlich auch hier - wie so oft - im Detail. Man glaubt gar nicht, wie penibel man z. B. die Kommandozeile bergeben muss etc. In dieser Frage brachte mir ein Textfile von Stefan Brck (verantwortlich fr einen ZOO-Port) die endgltige Erleuchtung. Danke! Die ganze Umlenkepro- blematik wurde mir durch Artikel von Julian Reschke (Profibuch, ST-Maga- zin) erleichtert. Die Routinen wurden aber in jedem Fall selbst entwik- kelt. 8. Danksagungen, Grsse... -------------------------- Dank an: - Atari fr den ST. - GFA Systemtechnik (und Herrn Ostrowski) fr deren Basic. - Digital Research fr ihr RCS (auch wenn die Mausbedienung greulich ist). - Julian Reschke fr sein "Atarium". - Stephan Brck fr das angesprochene Textfile. - J.R.R. Tolkien fr die besten Bcher aller Zeiten. - Christopher Tolkien, dafr dass er diese herausgibt. - Gilian Bradshaw fr die beste Artusnacherz„hlung aller Zeiten. - Sir Arthur Conan Doyle fr seine Sherlock-Holmes-Geschichten. - Benoit Mandelbrot fr das Apfelm„nnchen. - Magnetic Scrolls fr deren Adventures (The Pawn, Jinxter...). - Richard Lang fr PSION Chess. - M. Erprath, K. Hinsen, J. Zabell fr "That's Write". - Dire Straits fr "Brothers In Arms". - Elton John fr "Skyline Pigeon". - Chris de Burgh fr "Crusader". - Simon und Garfunkel fr "Bridge Over Troubled Water". - alle PD/Freeware/Shareware-Autoren fr deren Programme. - meiner Schwester fr Ihr Interesse(!). Hiermit grsse ich alle die ich kenne... 9. Abschliessend ---------------- Ich hoffe, dass dieses Programm m”glichst vielen Leuten ntzt und dass Sie daran Freude haben. Ich freue mich ber jede Reaktion auf das Pro- gramm, ber Lob, Tips, Fehlermeldungen, Fragen und wohlformulierte, kon- struktive(!) Kritik. Wenn Sie aber eine Antwort wollen, legen Sie bitte Umschlag und Rckporto bei, sonst gibts nichts zurck. Und haben Sie bitte Geduld. Eventuell werde ich mich auch aufraffen, einige meiner sonstigen, zahl- reichen Programme (Fraktale, Mathematik, Gags, Diverses...) in ver”ffent- lichungsreife Form zu bringen. Vielleicht also auf bald. DANKE fr Ihr Interesse. MARTIN BRASCHLER, BRUNNGASSE 16, CH-4124 SCH™NENBUCH, SCHWEIZ.