DEUTSCHE LESER: BITTE LESEN SIE "LIESMICH.TXT"! Welcome to 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) A program by Martin Braschler. Freeware. >>> Please don't care about mistakes - I'm not usually speaking English! 1. What's CALL_TTP.SYS and why should I need it? ------------------------------------------------ Probabely you have come across files with the ending ".TTP" during your work, too. They're belonging to a special category of programs. If you try to run them, the program won't be loaded at once, instead a input box will appear. The reason for this is that those programs usually (no rule with- out exception) don't have an input procedure, i. e. the user can't in- fluence what the program is doing once it has started. This way of usage may seem strange at first (the orders could be given simply after the start as an alternative) but is inherited from other systems. On MS-DOS or UNIX-computers, such usage is quite common. That's why TTP-programs usually are ports from other systems. Well, you could live with this and pass the required parameters to the program everytime you run it, if - if there wasn't yet another bug in the operating system. In this case, however, it isn't quite clear if you can call it a "bug", because it seems the developpers wanted the OS to behave this way! The problem is, the OS is converting all input datas to upperca- se. This doesn't seem tragic at first, you could write programs that ex- pect the data in uppercase. But what about all those programs from other systems that don't convert input datas? The first time I got angry because of this was when I got a copy of Zoo, a good public domain archiver. Zoo expects you to pass a command letter. And it makes a difference between "a" and "A". A solution to this was known: you could run it from a CLI (command line interface). That's a pro- gram that allows you to control the whole computer using the keyboard - you can say good-bye to your mouse! Such CLIs are quite useful in some ca- ses, there are even programmers that only work with them, but they surely don't suit everybody (Tip: There's a very good CLI called "Gul„m" that's even public domain!). Other solution: get TOS 1.04 (or higher), the pro- blem is solved there (quite expensive & you have to put it into your com- puter!). The best solution is (of course!) this program. The idea was simple to be honest - like everything ingenious is (cough...). This program installs in the OS, and everytime you run a TTP-program, this one is called first. After that it shows you a new input box. Please note that it doesn't need a single bit of memory while you're not using it, it is not "resisdent". Now, what's the program doing? You'll get rid of a couple of problems/ nuisances at the same time: - It DOESN'T convert input datas you type into the new box to uppercase. - It gives you a much larger line for your input: more than 70 instead of around 30 characters. You'll appreciate this soon. - After the termination of the TTP-program it (optionally) waits for a keystroke. - Optionally, it switches to white-on-black instead of black-on- white. This is much more agreable if only text is displayed. After the execution, the display will be switched back again, because the desktop then looks better. - The program offers you a stop-watch. Quite useful if you want to compare the performance of similar TTP-programs. - The next feature is a special goodie: The program is "telling" the invoked program that all needed input is coming out of a file! You can also make CALL_TTP (even more useful) write all output to a file or to the printer. Experts call this "I/O-Redirection". - At last, you can switch off the cursor or made it blink. Now, even this program has it's drawbacks: It's only useful if you have a harddisk, otherwise you can't even install it (it would really make no sense). The reason for this is that CALL_TTP is very quickly loaded every- time you run a TTP-program - doing this from a floppy drive would be too slow and annoying, after all, the disk with this program would have to be always in your drive... Furthermore, this program only works with 640*400 pixels or more, because of the input line. If it is really working with more than 640*400 I couldn't test, but it should work (Hope...). On the other side it is offering you much more than for example TOS 1.04 in this context. Because it only uses memory when you need it, it is even interesting for owners of newer operating systems. 2. When am I allowed to use CALL_TTP and what does it cost? ----------------------------------------------------------- CALL_TTP is freeware. But not all general rules you always relate to the "word" freeware are valid. I declare hereby the following: 1. Everyone is allowed to copy CALL_TTP, if he copies the complete package, i. e. the folder CALL_TTP and all files in there. Such copies may not be sold. Public Domain disks are an exception, if they don't cost more than $7 per disk (price of disk included). 2. CALL_TTP may only be used for non-commercial purposes. I count even copying or including it together with a public domain pro- gram, as a part of it, whose author expects the users to pay a contribution, as a commercial use (Shareware anyway, of course). 3. If you copy CALL_TTP together with a freeware program as a part of it, then make it clear by mentioning the author somewhere. 4. CALL_TTP may surely not be changed in any way! 5. CALL_TTP may only be copied in an uninstalled state. 6. CALL_TTP is totally FREE! You needn't send me any contributions! If you send me anything more than $7, you'll get the source (why do you want that?), but only of CALL_TTP, not of INSTALL and show your appreciation of my work. But you REALLY needn't send me any- thing if you don't want to. I would be even glad if I received a letter of you in which you simply tell me my program is in use. 7. If you want to use CALL_TTP for commercial purposes, you must get in touch with the author (Hey, that's me! What a surprise!). 8. I do hereby declare, that I don't guarantee to ever write a new version, even if there's a big bug in this release (bug? What bugs?)... 3. And if CALL_TTP is buggy? ---------------------------- If it is really buggy: too bad for you. I am in no possible case respon- sible if you use this program. I think that should be obvious, after all I give you this program for free... Please be aware of the following: -------------------------------------------------------------------------- The autor does not guarantee that this software is free of errors or use- ful for any particular purpose. In any case the user is responsible, even when the error is caused by the author. The author cannot be forced to correct this program or damages caused by the use of it. -------------------------------------------------------------------------- I'm sorry I had to annoy you with all this, but there are some unreaso- nable people around... 4. How do I install CALL_TTP? ----------------------------- CALL_TTP is delivered using a brand-new, fantastic (oh yeah?) concept. If you already took a look at the folder CALL_TTP, you'll have noticed that there's no file called "CALL_TTP.PRG". There are various reasons for this. Because installing CALL_TTP by hand is not that easy (you'll have to install it in the OS!), an automatic installation was needed that does this process on its own. While writting one, I had the idea to do some- thing against those errors caused by faulty public domain disks. The whole package is included in one program, called "INSTALL". If you install CALL_TTP, INSTALL creates all needed files, copies them to the right place on your harddisk and (and that's the important point!) checks them for er- rors. Only if the datas are correct, something is installed. That protects you, dear user, from faulty disks (and later on bombs) and me from unau- thorized changes (that's why you're only allowed to copy it in an unin- stalled state). It also protects you (not entirely) from computer viruses. Now, isn't that something? I want to encourage other authors to think about similar methods for their programs. After all, everybody benefits. To install do the following: 1. Open a window in the desktop that is showing the rootdirectory of drive C (C:\*.*). If there's no file called "DESKTOP.INF" you must create one (refer to your computer's manual). 2. Make a backup of "DESKTOP.INF" (not needed if you thrust in me). 3. Run INSTALL.PRG. 4. You're now asked to choose the language. Click on "English". 5. Change the settings as you like. To their meanings see below. 6. Click on "INSTALL". 7. The program now informs you about all steps its making. If every- thing was OK., you'll receive the message "INSTALLATION SUCCES- FULLY COMPLETED". That's all. If you want to remove CALL_TTP, do the following: 1. Run INSTALL.PRG. 2. Click on REMOVE. 3. You'll receive a message. That's all. Please notice: CALL_TTP always is installed on the root of C. This looks like bad programming, but it runs faster if you start TTP-programs from the floppy (with your HD turned on). CALL_TTP will only be enabled if you boot from HD. So please boot after the installation (same after you remo- ved it)! INSTALL doesn't check for all possible errors in usage: if you rename the resources, install twice or remove without having installed - too bad for you. If you want to install again (new settings, other langua- ge...), you have to remove CALL_TTP first! 5. How do I use CALL_TTP? ------------------------- CALL_TTP is automatically loaded everytime you run a TTP-program. It then displays you an input box. Now you can enter the parameters in the commandline using your keyboard. Below this line, there are two boxes, la- belled "Options" and "System", where you can choose different settings. They are preselected according to what you chose in INSTALL. OPTIONS-WAIT: Here you can select if you want CALL_TTP to wait for a keypress after it has ended ('Yes') or not ('No'). OPTIONS-INVERT: Switches between white-on-black ('Yes') and black- on-white display during the TTP-prg. runs. This is always switched back after the prg. has ended. OPTIONS-STOP-WATCH: Offers you an stop-watch if you want ('Yes'). SYSTEM-STDIN TO: Forces all input to be read from a file instead of the keyboard. After selecting the fileselector will appear, a name is already preselected. 'CON:' means normal input from keyboard, 'File' means input from a file. SYSTEM-STDOUT TO: Forces all input to be written to screen ('CON:', normal), to a file ('File', see above) or to the printer ('PRN:'). SYSTEM-CURSOR: Switches cursor to blink ('Blink'), fix ('Fix') or off ('Off'). Just a few more remarks concerning STDIN/STDOUT TO: Good written TTP- programs don't just write their output to screen or read the input from the keyboard, instead they write to standard channels. Those refer usually(!) to the screen/keyboard, but they can refer to files or the printer, too. The program won't notice such changes. But if it doesn't use those standard channels, CALL_TTP is can't do anything. The procedures provided by the system (and used form CALL_TTP) have more or less bugs de- pending on the version of the OS you work with. So it's up to you to expe- riment! The following paragraph will give you examples for this. CALL_TTP always switches back to the normal settings after it has ended. Those are: Black text on white ground, cursor off, STDIN/STDOUT to the console (screen/keyboard). That's the only thing that makes sense - CALL_TTP is always invoked from the desktop after all (OK, you can run it from a shell - but what for?). 6. Examples for use and training -------------------------------- Now CALL_TTP is installed and you (theoretically) know how to use it. This paragraph is intended to give you some examples out of daily work. I chose calling ZOO.TTP, because this example shows quite all special cases. You can of course skip these examples. I hope they are useful even if you don't have ZOO (you should, however, be able to get it from every BBS...). ZOO.TTP is a so-called archiver, it compresses several files and copies them into a single one. This file (may contain whole disks including fol- ders etc.!) can be easily copied and transmitted via telephone, then. Af- ter transmission, the files can be uncompressed and seperated again. All this just to give you an idea of what the program does. Example 1: Run ZOO and display the help screen: Run ZOO (doubleclick). The box of CALL_TTP will appear. If you run ZOO without parameters, it will display a help screen. You can switch of "Wait", ZOO waits for a keystroke on its own. Switch, however, "Invers" and "Stop-Watch" on. Now press the return key without having typed any- thing into the commandline (or click on "Start" as an alternative). The screen will get black first, then a white text will scroll over it. The program is now waiting for you to press a key. Press return. CALL_TTP will switch back to black-on-white and tell you the execution time. Example 2: How can I read the whole text? Quite nice all this, but: were you able to read the beginning of the text? This is the first time we use the I/O-redirection: just select "STDOUT to file". A fileselector will appear. Now only press return to ac- cept the presettings. Press a second time return to start ZOO. This time, nothing will appear on the screen anymore, instead the floppy/harddisk will begin to work. All output is now written to the file. A drawback: the program seems to "hang". But the reason is obvious: the message that re- minds you to press a key was written to the file, too. Press a key without the message appeared when the writting has stopped. On your floppy/hard- disk there's now a file called "ZOO.OUT" that you can (comfortabely) read using an editor or (uncomfortabely!) using the desktop... Example 3: Redirection of STDIN to archive files. Now it's getting somewhat technical: ZOO offers a mode where it reads the name of the files to be archived from the standard input. Create a fi- le that contains names of (existing!) files using a text editor. Use a new line for every name (i. e. press return). Call the file "ZOO.IN" and copy it to the same directory as ZOO. Run ZOO then. Enter now "aI test" to the commandline (be careful concerning the capital letters!). Now select "STDIN to file" and press return in the fileselector. Now press return again and ZOO will archive the files you chose. How to force it to finish its work correctly, however, is still a miracle to me... (I've got v2.01g). 7. Internals (for all those that want to know more about CALL_TTP...) --------------------------------------------------------------------- The following paragraph is intended for insterested people, experts, re- viewers, critics etc. It describes just a little the internals of the pro- gram. CALL_TTP is entirely written in GFA-Basic 3.50 and compiled with the GFA-Basic Compiler 3.50. The resources were created by the "good old" RCS 2.1 by Digital Research. After it is started, CALL_TTP will read its commandline - if it is empty the program won't start (this is - just like the extension *.SYS - inten- ded to avoid it being started senselessly). Then the dialogue is handled. The settings are just after that stored in the object numbers. Before the TTP-program then is started using "Pexec", the memory the resource uses is cleared again, in order to save as much memory as possible. After the exe- cution the normal settings are restored again and eventually the time is displayed. That's all. The difficulties were - like quite often - just details. You'll just not believe, how careful you have to be when passing a commandline! When I had this problem a text file by Stefan Brck (responsible for a ZOO port) hel- ped me quite much. Thanks! Articals of Julian Reschke (Profibuch, ST-Maga- zin) on the whole I/O-redirection-stuff helped me much, too. I have, howe- ver, developped all the procedures on my own. 8. Thanks, greetings... ----------------------- Thanks to: - Atari for the ST. - GFA-Systemtechnik (and Mr. Ostrowski) for their Basic. - Digital Research for their RCS (even though the mouse hand- is horrible...) - Julian Reschke for his "Atarium". - Stephan Brck for the mentioned text file. - J.R.R. Tolkien for the best books ever written. - Christopher Tolkien for editing those. - Gilian Bradshaw for the best Artus-tale ever written. - Sir Artur Conan Doyle for his Sherlock-Holmes-Stories. - Benoit Mandelbrot for his fractal set. - Magnetic Scrolls for their adventures (The Pawn, Jinxter...). - Richard Lang for PSION Chess. - M. Erprath, K. Hinsen, J. Zabell for "That's Write". - Dire Straits for "Brothers In Arms". - Elton John for "Skyline Pigeon". - Chris de Burgh for "Crusader". - Simon and Garfunkel for "Bridge Over Troubled Water". - all the PD/freeware/shareware authors for their programs. - my sister for her interest(!). I hereby greet everybody I know... 9. In closing ------------- I hope this program will be useful to many people and that they will en- joy it. I will happy about every reaction I will get concerning this pro- gram, about praise, hints, error reports, questions and good written, use- ful(!) criticism. But if you want to get an answer, please include an en- velope and postage, otherwise you won't get anything back. And please be patient. Maybe I will still release some of the many other programs I've written (fractals, maths, gags, and others...). So may be you'll hear something of me again soon. THANKS for your interest. MARTIN BRASCHLER, BRUNNGASSE 16, CH-4124 SCH™NENBUCH, SWITZERLAND.