University of Vaasa, Finland, MIPS R2030 workstation, node number 128.214.87.1 (garbo.uwasa.fi) has a large collection of PD and shareware programs which are available by anonymous ftp (file transfer program) or mail server. This /pc/ts/0news91.ts text contains news about the programs in the /pc/ts directory (in reverse order). ................................................................... Prof. Timo Salmi Moderating at garbo.uwasa.fi anonymous ftp archives 128.214.87.1 School of Business Studies, University of Vaasa, SF-65101, Finland Internet: ts@chyde.uwasa.fi Funet: gado::salmi Bitnet: salmi@finfun ................................................................... N e w s o f 1 9 9 1 Thu 26-Dec-91: I have updated my collection of QEdit editor macros and utilities. It is now garbo.uwasa.fi:/pc/ts/tsqed13.zip. I have added: DATE.QMA for entering the month in the date function as three letters, not as a number (see the date format of this announcement). I got the idea from Jonathan McRobert's similar EQdit macro. The logic and the programming in tsqed13.zip are, nevertheless, entirely my own. At the same time I improved (hopefully) the documentation in the other macros in my package. PASCAL.QMA for compiling and analyzing a Turbo Pascal program easily from within Qedit. For the compilation you need Borland's Turbo Pascal compiler (any version 4.0 - 6.0). One advantage of this method is that you will be able to compile larger programs with this method than with Turbo Pascal's integrated development environment (the IDE). The IDE size can be a real problem especially with TP 6.0. If you also want to make the program analysis then you'll need TurboPower Software's Structure Analyst in addition. CRYPT.QMA for encrypting and decrypting the current text file. To use it you need to get a encryption program like CRYPTER.EXE from garbo.uwasa.fi:/pc/ts/tsfcom23.zip. SPELL.QMA for spell-checking the current file has been updated to include a second macro. The old ALT-5 macro checks the spelling using a single dictionary from garbo.uwasa.fi:/pc/ts/tschek14.zip. The new ALT-6 macro chains a second dictionary (short.dny from the same package) to treat words like wouldn't, shouldn't, and I'll. Made some additions and corrections to the documentation in the other QEdit macros in the package. Sun 15-Dec-91: I have updated my TDEL.EXE safe interactive recursive delete program. - It now accepts multiple file definitions. In other words the usage now is TDEL FileMask1 [[FileMask2]..] [switches]. For example TDEL /s c:\*.bak c:\*.bck would delete all *.bak and *.bck files on drive C:. - Added a /c "set Counter on" switch to give the count of the deleted, skipped, and the total of found files. - Corrected an error in the recursive mode of the program. It prevented full recursion when the file mask was not *.*. - Included an interception if the user tries to put wildcards in the directory part of the mask, as in TDEL C:\TEXT*\*.BCK. - When the program exits it now clears the keyboad typeahead buffer on exit. - Included a simple example on the help screen (which is invoked if you call TDEL without any parameters). TDEL.EXE is part of my hence updated fifth utility collection garbo.uwasa.fi:/pc/ts/tsutle14.zip. Sat 7-Dec-91: Updated my third utility collection. It is now garbo.uwasa.fi:/pc/ts/tsutlc17.zip. Corrected a bug in the recursive option of "DIRectory in Full" DIRF.EXE program which caused problems when recursion started from a subdirectory given as a parameter to DIRF.EXE. The package also contains a disk usage lister DIRINFO with gives the directories on a device and how much space the files in them take. I have added an /a option to show the allocated bytes instead of the listed bytes. (Disk spaces is allocated in clusters, and therefore the files take more space than their straight size indicates). Corrected a bug which allowed DIFINFO.EXE, DOUBLES.EXE, HIDDEN.EXE, READONLY.EXE and ZEROFILE.EXE to access nonexistent devices. Sat 7-Dec-91: Updated my simple average speed & time / km calculator JOG.EXE to include interval timing for each kilometer (optional switch /i). It is available as garbo.uwasa.fi:/pc/ts/tsjog12.zip. Sat 7-12-91: I have again updated my Frequently Asked Questions. It is now garbo.uwasa.fi:/pc/ts/tsfaq24c.zip. This is a minor update. I printed all the items on paper (using mplit.exe from tsutle13.zip, incidentally). I then went trough all the material (noticing once again that the screen is not a sufficient substitute for good old Finnish paper). Sat 7-Dec-91: I have updated my collection of useful batch files. It is now garbo.uwasa.fi:/pc/ts/tsbat30.zip. Alan Clark (clark@odie.ee.wits.ac.za) suggested that the screen blanking batches could well do with a method to totally hide the cursor while blanked. I have looked into this and noticed that this can be easily achieved without extra programs by using ansi escape sequences. BLK.BAT shows how to do it. (You'll have to activate cursor hiding by editing three rems away). Added LC.BAT line count for text files. Added TEST33.BAT Test for MsDos 3.3 or later, batch demo Thu 5-Dec-1991: I have updated my MSPLIT.EXE program for splitting Unix email files on a PC. - Earlier the split was effected when MSPLIT first encountered a "From: " and then a "Subject: " on the next line. I have made it more general. The first line start criterion is now "From: " or "From ". The second line criterion is "Subject: " or "Return-Path: " or "Article: " or "Received: ". - The count of messages is now given when the messages are directed to a single file separated by formfeeds (the /f switch). - The output now goes to the default directory. Not forcibly to the directory of input. - New switch /oDirectory to optionally direct the output to a desired destination MSPLIT.EXE is part of the updated garbo.uwasa.fi:/pc/ts/tsutle13.zip package. Sun 1-Nov-91: I have written a TDEL.EXE program for safe deleting of files. It asks for confirmation before deleting. Besides this ordinary usage TDEL has an optional, special feature. One quite frequently asked PC related question seems to be how one can delete all the files from a directory and all its subdirectories, and finally also the directory and subdirectories. There are several solutions to this problem, and I wanted to add one more putting emphasis on the safety of the operation. TDEL.EXE has a switch for recursing into subdirectories. TDEL.EXE can optionally be used also for removing directories and subdirectories. TDEL.EXE is part of the updated garbo.uwasa.fi:/pc/ts/tsutle12.zip package. Sat 30-Nov-91: Updated my first utility collection to be garbo.uwasa.fi:/pc/ts/tsutil35.zip by making the following changes. Added mouse detection to SYSINFO.EXE. Corrected a bug in the recursive option of DIRectory Wide DIRW.EXE program which caused problems when recursion started from a subdirectory given as a parameter to DIRW.EXE. Sat 30-Nov-91: I have updated the collection of my Frequently Asked Questions for UseNet users, FTP users, shareware and PD MsDos program users, and Turbo Pascal programmers to be garbo.uwasa.fi:/pc/ts/tsfaq24b.zip. Primarily it updates the version references in the questions & answers sets. Also a couple of answers have been rewritten based on feedback from users. The packing method has been changed from Arc to Zip. If you wish to read the Frequently Asked Questions on your Unix host instead of your PC, use /unix/arcers/unzip41.tar.Z (switch -a) to unpack tsfaq24b.zip. Sat 30-Nov-91: I have converted all my collections of the garbo.uwasa.fi:/pc/ts directory from .arc format to .zip format: Thu 28-Nov-91: Occasionally I want to download to my PC the email messages that I have received on our Unix machine (chyde.uwasa.fi). The messages are in a single file. I want to be able to split the email messages into separate files (or insert formfeed between them) to easily print them on our PC network laser printer. I wrote an MSPLIT.EXE program to do the splitting for me. I included it in my now updated garbo.uwasa.fi:/pc/ts/tsutle11.arc utilities package. Let me give some further background. On chyde I read my email using elm (2.3 pl11), and I have the following definition in the elm options submenu: P)rint mail using : cat >> /u2/econ/ts/posti/mail. This means that each message in the mail file starts by From: Subject: To: Date: MSPLIT.EXE splits the messages into mail.001, mail.002, etc when it encounters the From: Subject: pair. Or if you define so (/f switch) it inserts a formfeed before each message in a single mail.001 file. The program has also optional switches for page lenght (/p) and performing a translation to Scandinavian ascii (/s), ie { to a", [ to A", and so on. Sat 9-Nov-91: I have updated my collection of useful batch files to be garbo.uwasa.fi:/pc/ts/tsbat29.arc. It includes PUSHDIRE.BAT, SETPUSHD.EXE, and POPDIRE.BAT for pushing and poppoing the current directory (utilizing environment variables). I have added a /q switch for quiet operation (no echoing of the environment variables) at a suggestion from Doug Tooley, djtooley@lotus.uwaterloo.ca. I have added a TESTANSI.BAT batch (with accompanying ISANSI.EXE) which can be used to test whether any ansi-type screen driver is installed and thus available. There are also some minor adjustments in a couple of the old batches. Get this package even if you do not need the individual batches. There is much to learn from them about MsDos and batch usages. Many Frequenly Asked Questions (FAQs) are implicitly answered by looking at these files. Tue 29-Oct-91: I have updated my list of programs. It is now garbo.uwasa.fi:/pc/ts/tsarc146.zip (binary) garbo.uwasa.fi:/pc/ts/tsarc146.txt (ascii) I have altered it into mail format which means that you have the alternative to browse it very conveniently with eg elm on a Unix system, or garbo.uwasa.fi:/pc/mail/rmail401.zip ReadMail on a MsDos PC. Mon 28-Oct-91: Now what (else) can I do to spoil your day. Well, here comes. As some of the gentle users may know I have a propensity to try verbal escapades in English by attempting an occasional pun in a language that is not my own. Well, brace youselves. I have gathered some more of them to garbo.uwasa.fi:/pc/ts/tspun10.zip No reponsibility is accepted for potential attacks of nausea caused by these groaners. Download at your very own risc, or whatever you may have. Sun 27-Oct-91: I have updated my Turbo Pascal units collection to be garbo.uwasa.fi:/pc/ts/tspa2540.arc garbo.uwasa.fi:/pc/ts/tspa2550.arc garbo.uwasa.fi:/pc/ts/tspa2555.arc garbo.uwasa.fi:/pc/ts/tspa2560.arc by adding the following routines ISANSIFN Has ansi.sys a a similar driver been loaded BTEWRDFN Combine two bytes into a single word, inverse of Hi & Lo WRDLNGFN Combine two words into a longint HIWORDFN The high-order (hi) word of the longint argument LOWORDFN The low-order (lo) word of the longint argument Sun 20-Oct-91: I have a collection of useful batch files which I have updated to be garbo.uwasa.fi:/pc/ts/tsbat28.arc. I have added a LEVEL.BAT testbench batch for testing the error level returned by programs. I have updated the ASK.EXE batch file enhancer. It now has the option to of returning with a timeout errorlevel. The usage of this enhancer is: ASK [Prompt] [/b] [/d] [/l] [/t##] [/u] ! ! ! ! +- convert to Upper case ! ! ! +- Time-out parameter (0 = forever) ! ! +- convert to Lower case ! +- Direct read (no <-+ needed) +- Batch mode (needed only if no prompt) I have added an ASKENV.EXE batch file enhancer to the collection. It is similar to ASK.EXE, but instead of returning an errorlevel value, it sets the (parent's) environment variable ASKENV value equal to the user's response. Fri 18-Oct-91: I have updated my filters for converting Unix <--> MsDos text files. As you know, Unix text files use ascii 10 as eolns (end of lines), while MsDos text files use the ascii 13 10 pair. PC2UNIX.EXE and UNIX2PC.EXE filters in the updated garbo.uwasa.fi:/pc/ts/tsfilt18.arc can be used to convert the eolns. I have added a /t test switch for batch programming to both the filters. When the switch is on, the filters return errorlevel==0 if the file redirected to the filter is a text file. Else it returns errorlevel==1. I have added a U2PC.BAT batch which utilizes this feature. The purpose of the U2PC.BAT batch is to convert the original Unix textfile into an MsDos textfile, and preserve the date/time stamp of the file in converting it. To use it you'll need my TOUCH.EXE program from garbo.uwaswa.fi:/pc/ts/tsutlb19.arc (note that earlier versions won't do). You also must have at least MsDos version 3.30. In fact I wrote this batch for my own needs, but decided to make it publicly available, too. The background is this. I have been transferring also text files from my hosts (chyde and garbo) via a modem connection to my home PC. To make the transfer more efficient I have used .arc compression first. This choice is because .arc can correctly handle the the Unix <-> PC eoln conversion, while the current .zip and .zoo do not have this feature. However, because of its better efficiency I want to use .zip packing to transfer the textfiles. But I also want to preserve the original date/time stamps of the files when I do the eoln conversion on my PC after unpacking the relevant .zip file, so I wrote this batch for this purpose. Furthermore, there is a new UNZIPTXT.BAT batch which unzips a zip file and converts the found Unix text files into MsDos text files while preserving the date/time stamps intact. Incidentally, if you find U2PC.BAT and UNZIPTXT.BAT instructive, there is plenty more in /pc/ts/tsbat27.arc. Fri 18-Oct-91: I have updated the collection of my Frequently Asked Questions for UseNet users, FTP users, shareware and PD MsDos program users, and Turbo Pascal programmers to be garbo.uwasa.fi:/pc/ts/tsfaq24.arc. It adjusts to some recent news on the net, and adds the comp.binaries.ibm.pc discussion subgroups charter to the collection. Users new to news.newusers.questions, and comp.binaries.ibm.pc discussion subgroups in particular, might find it useful to take a look at this FAQ collection before asking away on the net. Sun 13-Oct-91: garbo.uwasa.fi:/pc/ts/tsutld19.arc: Updated my TOUCH.EXE program for altering the date/time stamps of files. Yes, there are a lot of touch programs around, but I want to have my own in order to have the features I like and need. These features include - Handling of seconds, too - Display of the change to be made and (optional) confirmation before touching - oldate, oldtime, today, and now accepted along with conventional date and time notation - Option to "copy" the date/time stamp of another file - Decection of read-only, hidden, and system files The new /f switch "copying" the date/time stamp from another file is particularly useful if you want to run your file through a filter, but at the same time (pardon the pun) retain its original date/time stamp. Then you can use a batch like filter < YourFile > tmp touch tmp /n /fYourFile copy tmp YourFile > nul del tmp > nul If you have several files you want to run through this same filter, name the above batch, say mybatch and substitute all YourFile occurrences with %1. Then use e.g. for %f in (*.txt) do call mybatch %f You'll need at least MsDos 3.3 for the latter trick. If you are new to advanced MsDos usage and batch programming, it pays to figure out the above tricks. By the time you have worked out the logic you will probably have learned something. Sun 29-Sep-91: I have updated my Unix like spelling checker. It is now available as garbo.uwasa.fi:/pc/ts/tschek14.arc. Bob Hardy hardy@lucid.com kindly provided me with his own version of the dictionary, and I have added words from it to my own with Bob's permission. He also suggested a clarification of the error message if spell detects the dictionary being out of order. It now indicates the offending space in the dictionary. If you are a user of SemWare's QEdit editor /pc/editor/ qedit215.zip you'll be interested in /pc/ts/tsqed12.arc. Among other things it contains a macro to do the spelling checking from within the editor. You'll also need Buerg's list facility /pc/fileutil/ list76b.zip to fully utilize QEdit feature. Sun 29-Sep-91: I have again updated my collection of QEdit v2.15 definitions and macros for the garbo.uwasa.fi:/pc/editor/ qedit215.zip editor. The updated file is /pc/ts/tsqed12.arc. I have added a batch to compile all the macros for you. There are some small corrections is my key definition and help configuration files. There are four new macros. Two to toggle save off / on in case you don't want to make accidental changes to your file. The third is a macro to load an ascii table, which is included. The fourth is a very specialized macro for the /pc/ts/tslin33.arc linear programming and goal programming package. It invokes the linsolve.exe program to solve the LP program in you current text file. Just press the CursorUp key when linsolve.exe asks for the file name, and watch it happen. Sat 21-Sep-91: I have updated the collection of my Frequently Asked Questions for UseNet users, FTP users, and Turbo Pascal programmers to be /pc/ts/tsfaq23a.arc. This is a minor update. It just brings some version numbers up to date and adjusts to some recent news on the net. There is also a FAQ on this FAQ collection. It is why it is not distributed as a text file but in an archived form. The reply is this. It is not a just single ascii file but an entity of 13 text files put together into a single archive. Another reason is that the entity is quite big, and archiving it saves in the transfer load. Sat 14-Sep-91: I have updated my collection of QEdit v2.1 macros for the /pc/pd2/qedit21.zip editor. I have added a macro to spell-check the current file being edited. To use this facility you'll need the spelling checking package /pc/ts/tschek13.arc, Buerg's browsing program list.com from /pc/fileutil/list76a, and the QEdit macro translator from /pc/editor/qmac21.zip. Once installed, the checking of the spelling with this macro is just a keystroke away. The name of the update is /pc/ts/tsqed11.arc. After I made this annoucement Keith Petersen informed me that qedit215.zip and qmac215.zip are available. (I'll make them downloadable soon). Tue 10-Sep-91: Updated my first utility collection to be /pc/ts/tsutil34.arc. Corrected a bug in the SYSINFO.EXE program in the case of MsDos 5.0, and made directory paths of the format C:\SUBDIR and C:\SUBDIR\ equivalent in the directory programs in the package. Mon 9-Sep-91: I have updated my collection of useful batch files. It is now /pc/ts/tsbat27.arc. Four of the batches in the package has been updated. Of these DAILY.BAT for running a program no more than one a day (eg from autoexec.bat) utilized ENTER.TXT to simulate pressing the enter key. This is no longer necessary but has been rewritten (with a trick with the echo command) in a way that no longer needs this separate file. My thanks to Ran Cheremsh CHERMESH%BGUVM.BITNET for reporting the problem. SCANZ for scanning .ZIP files for viruses had a bug in the routine for scanning embedded .ZIPs. Sun 8-Sep-91: Updated my graphical drawing system for linear equations and Linear Programming problems to be /pc/ts/tsdraw14.arc. It is a complete drawing system with its own command language. To give a simple example you can draw the line 2x + 3y = 6 by giving the command li 2,3,6, and the line will be displayed on the coordinate system. The program has the options of entering the input from the keyboard or from a file. If the input is taken from the keyboard, the input line can now be edited (and recalled if need be) by using the usual line-editing keys CursorLeft, CursorRight, Home, End, BackSpace, Delete, Esc, and CursorUp. There are some other small enhancements, but this is the crucial in this update. The system is not actually limited to drawing lines, but that is what I use it for myself when teaching budgeting with linear programming in a classroom with an overhead projector to display the computer images of the relevant tasks (examples are included in the package). I also have a Linear Programming solution program /pc/ts/tslin33.arc which I use in a similar manner in teaching quantitative budgeting for my accounting and business finance students at the University of Vaasa. The drawing program requires at least a CGA graphics adapter but other than that there are no special requirements. The size of the drawing program executable is about 90K. To get started after you have extracted the files from the package, first call DRAWLINE at the MsDos prompt, and then give eg the command ld multibre to have a demonstration of a multi-product break-even analysis. You can also enter ? or help for a quick list of the commands. Sun 8-Sep-91: I have been looking into entering keyboard input in Turbo Pascal graphics mode in the same way as one uses Readln in the text mode. This is something I have done some time ago with the ReadKey function in my graphics programs. I wanted, however, to make an enhanced version with line editing possible. In other words I wanted an input procedure that allows the usage of the BackSpace, Delete, CursorRight, CursorLeft, Home, End, and Escape keys. Furthermore, I wanted to make input recall (CursorUp) possible. The program that needed this feature is my updated graphics drawing program DRAWLINE.EXE in /pc/ts/tsdraw14.arc, but I first decided to try out these features in a demonstration program TURBDEMO.EXE. I have consequently updated my my package of demonstration programs to be /pc/ts/tsdemo15.arc. Mon 19-Aug-91: I had some very useful feedback on my Unix-like spelling checker SPELL from tygra!dave@sharkey.cc.umich.edu (David Conrad). I have updated the relevant spelling checker package to now be /pc/ts/tschek13.arc. Among other things David pointed out that correct words like shouldn't don't etc should be found correct also by the checker. Furthermore, he suggested that the checker should be able to take words from several dictionaries at the same time. With some simple batch programming SPELL.EXE already has the latter capability, that is it can apply several dictionaries on the same text simultaneously. This feature can be utilized to solve also the first problem by using a second dictionary having items like shouldn, don, etc in it. I have started an auxiliary dictionary for this purpose and called it short.dny. I've put in some abbreviations like mon, tue, and wed in there as well. I have also added a batch SPL2.BAT to use two dictionaries on a single text file. Before you use it, you'll have to adapt it to your own paths. At David's advice I have also removed a number of incorrect words from the main dictionary SPELLED3.DNY. No changes have been made to the SPELL.EXE program itself in this update. Hint: If you wish to add your own words in the dictionaries use SPELLED.EXE from /pc/ts/tspell24.arc. Sat 17-Aug-91: The inkjet printer I am using at office does not have an adequate NLQ option for quality printing so I decided to program a simple but useful filter REP.EXE which repeats each line of a text file three times (by default). The filter also can but in a left margin, and send preamble and postamble escape sequences. The filter is part of my updated filter package /pc/ts/tsfltc11.arc. Sun 11-Aug-91: I have a program called TYPEVADE.EXE in my collections. It is a cross between a typing tutor. The basic idea is simple. You have to shoot down the "invading" characters by fast typing. The game has three skill levels, moderate, advanced, and virtuoso. One user (thanks for the feedback) Rick Clark from Canada suggested that I should add another, very easy level that would make this game also suitable as an aid in teaching the alphabet to children. I have taken up this suggestion, and added a new level which is slo and just involves the basic capital letters. TYPEVADE.EXE (with two other games) makes up the now updated package /pc/ts/tsgmeb15.arc. Wed 7-Aug-91: I have two user configurable filters FILTXT.EXE for text files, and FILBIN.EXE for binary files. Both take their cues from a .xlt translation file, which you can edit suit your task. The format of the .xlt file is eg 10 13 10 for converting Unix end-of-lines to MsDos eols with FILBIN.EXE. Both these programs have their limitations, however. FILTXT can only handle text files. Neither the original nor the filtered rows may exceed 255 characters. Furthermore, it can't read a file past an ascii 26 (eof) character. FILBIN.EXE is limited by the fact that the from-translation may only contain one character. FILBIN.EXE cannot handle eg 13 10 10 A few users have approached me about this asking for a remedy, for example, to be able to convert word-processor files. I have now programmed a more versatile filter FILGEN.EXE, which lifts this limitation. It is included in an updated filter package /pc/ts/tsfltb14.arc. The usage of this new filter is Unix like: FILGEN [TranslationTableFile] [/s] < InputFile > OutputFile The translation table defaults to filgen.xlt and the program looks for this file from the current directory, and then through the path. Wed 7-Aug-91: I have had to make an update of my Frequently Asked Questions to bring it up to date, most importantly with respect to the change of garbo.uwasa.fi archives IP number. A couple of items have been rewritten and there are some minor adjustments. There is new item file POST.INF within the package to give a pointer to more FAQs at garbo.uwasa.fi. The FAQ update is available as /pc/ts/tsfaq23.arc. Sat 03-Aug-91: For a change I have been taking a look at my own ts-programs. Not primarirly as the programmer, this time, but as a user. Which ts-programs do I use regularly myself, and what do they do. DIRW.EXE from /pc/ts/tsutil33.arc. This program has replaced the MsDos dir/w command entirely for me. It has the same format as MsDos dir/w but it also shows the file attributes including hidden files. Besides giving just the number of bytes free on the device it gives the total number of bytes on the device, and the number of bytes allocated to the files listed. Furthermore it gives the current date/time which is convenient if you wish to use the command for record keeping. It also has a switch for scanning the subdirectories. All thse features have arisen from my own usage needs. C.BAT from /pc/ts/tsbat26.arc. It is a simple batch for changing the directory. On the Finnish keyboard \ is behind two keypresses, and therefore I prefer the syntax: C dir subdir for taking me to \dir\subdir. Incidentally, C with parameters takes me back to the root directory. I use this extensively instead of the MsDos cd command. Naturally I have other batches besides this command batch to perform some recurring, more complicated tasks. I won't go into those because that is a different angle. BKL.BAT also from /pc/ts/tsbat26.arc. A non-resident screen blanker with the ability to restore the original screen on exit. DTETIMAL.EXE from /pc/tsutil33.arc provides me a simple safeguard against the system clock having gone haywire. PACE.EXE from /pc/ts/tsjog11.arc is a a simple full-screen block-letter time ticker to pace my calistechnics. KEYRATE.EXE from /pc/ts/tsutld18.arc allows me to change my keyboard repeat rate. I have it in my autoexec.bat to speed up the cursor movements. I got particularly fed up with the sluggish default cursor in text editing, command line editing, and terminal emulation. SPELL.EXE from /pc/ts/tschek12.arc. A spelling checker for the PC that is very easy to use especially utilizing the accompanying spl.bat batch. But laziness often overcomes, and I note that I should use this device even more often. One of the very few of my programs where the publicly available version does not have the full capacity of the private version. (The others are my Linear Programming and Statistical packages). CUT.EXE from /pc/ts/tsflt10c.arc. A filter for text files to extract wanted columns. I most often use it to cut out the columns beyond 68 when I list the contents of .arc files like this: PKPAK -vc TARGET.ARC | CUT 1 68 > ANNOUNCE FN.EXE from /pc/ts/tsfunc13.arc. FN is a command-line function evaluator, which I use quite a lot instead of a calculator, or spreadsheet (which always takes some calling anyway). It easily calculates both simple (like FN 56.89+223.17-78.11) expressions, and evaluates more complicated functions. Because I have a command line editor installed, it is very easy to make small changes into what I an evaluating. (The user need not know, but FN was quite a tricky programming task). FLAGGAME.EXE from /pc/ts/tsgmed11.arc. A twist of the traditional memory game where you find to try pairs of face-down cards. These cards represent national flags to teach them at the same time. I don't usually like to play myself, but when we have visitors with kids, this usually holds them for a considerable spell. TSPA2450.ARC is a collection of TPU units with many routines for Turbo Pascal. I naturally utilize these routines also myself, even if I have a separate, fairly large library of my personal routines. LINSOLVE.EXE from /pc/ts/tslin33.arc. This is a specialized program for the so called linear programming (a part of the field of operations research) that I use both in my teaching and earlier used it also in my research. In fact this program has the second longest history of all my programs, and its origins date back all the way to 1971 to the days punched cards and teletype terminals. In fact I needed this program extensively when I wrote my doctoral thesis in 1975, and have revived and enhanced it since trough several operating systems including VAX/VMS, QDOS, and now later MsDOS. Sun 21-Jul-91: I have updated my Turbo Pascal units collection for real programmers :-) to be /pc/ts/tspa24##.arc (where ## = 40, 50, 55, and 60). Turbo Pascal 5.0 (and later) introduced some routines which are not present in version 4.0. My Turbo Pascal units collection (the 4.0 version) includes a TSTPU45 unit which introduces some of the missing routines also to TP 4.0. I have added FExpand (Expand a file name into a fully qualified file name) to this unit. Occasionally you will want to be able to tell where the standard input to your program comes from. Does it come in the normal way from the keyboard, or does it come from redirection. Likewise, you may wish your program to know whether its standard output goes to the screen, or is it redirected to a file or through a pipe. The new boolean functions in the TSUNTH.TPU unit will give this information: PIPEDIFN Is the standard input from redirection PIPEDOFN Is the standard output redirected PIPEDNFN Is the standard output redirected to nul Other new routines in the TSUNTH unit include: BOOTDRFN Get boot device name (MsDos 4.0+) DATEFMFN Country-dependent date format (MsDos 3.0+) NRCYLFN Number of cylinders on a drive if media present (MsDos 3.2+) TIMEFMFN Country-dependent time format (MsDos 3.0+) Z2ASZFN Convert an Asciiz string into an ordinary ascii string Sun 21-Jul-91: I have updated my first utility collection and it is now /pc/ts/tsutil33.arc. I have changed the summary format of the dirw.exe (v1.8) directory replacement for MsDos dir /w (dirw.exe gives more information), and omitted the /a and /f switchews which regulated the format of the summary. It is now uniform. I have updated my system information program sysinfo.exe in the package. Instead of trying to give the interleave of the drives on page three it now gives the number of cylinders. Alse a minor change in the redirected format. At the same time I have updated the combined, annotated list of the contents of the ts-packages to be /pc/ts/tsarc130.zip. Sat 20-Jul-91: I have brought my Frequently Asked Questions collection /pc/ts/tsfaq22.arc up to date with the recent developments. Other than that just one new item has been appended. If you happen like this FAQ collection of mine, there is more information on garbo.uwasa.fi and similar matters in /pc/pd2/post##.txt, where ## is currently 01, 02, and 03. Sat 20-Jul-91: We had a welcome, but a very noisy visit from from my wife's best friend's family with two incredibly lively kids. Between their reverberatingly intensive sessions of playing my computer games, I had to device a simple, temporary lock for the computer, and came up with pestikid.exe. (I just can't resist the challenge of making up these puns in a language that is not my own). The program simply intercepts all input from the keyboard except for a given ascii code (I used 150), which unlocks the keyboard. Since I felt it is time to start my fifth collection of utilities, I put it in a new /pc/ts/tsutle10.arc package, which is now available from garbo.uwasa.fi anonymous FTP archives. Tue 9-Jul-91: I have updated my collection of useful batch files. It is now /pc/ts/tsbat26.arc. Note that even if you don't perhaps need the same batches as I do, these batches may teach you many useful batch programming tricks which I have accumulated during my PC years. Made a number of minor stylistic corrections. Since someone cracked the pkzip 1.10 authenticity (-av) code some BBSes have been putting in their own ads as the authenticity labels. A new batch rezip.bat removes these labels, which may give the users a false sense of security. Added a simple batch ruler.bat which shows the screen columns using ansi codes to avoid excessive scrolling. I have my ramdisk on currently on drive R on my PCs which I use at home and at office. For whatever it is worth I have updated the batches to reflect this change. Some of the batches require anyway that you edit the paths in them to reflect yours, so no added problem arise because of this. And, if you have your own ramdisk, say, on d:, you can put the statement subst r: d:\ eg in your autoexec.bat file to avoid the need of editing just because we may happen to have ramdisks on different drives. (To be accurate there is no absolute need of your d: physically being a ramdisk. But it makes things a bit faster.) Wed 19-Jun-91: I have a special file giving the contents of all my program packages. This list contains a short description of each file within the packages. I have updated this list, and it is now available as /pc/ts/tsarc128.txt and /pc/ts/tsarc128.zip. Sat 15-Jun-91: I use the following batch at regular intervals to catalogue the contents of my harddisk. The ds.com and dirw.exe programs are at my path: c: cd \ ds en /s (ds is Norton's old directory sort) del c:\direc\c.dir > nul dirw /a /s >> c:\direc\c.dir (dirw is from /pc/ts/tsutil32.arc) I have updated this dirw.exe program, which is similar to MsDos dir/w except that it shows file attributes and scans optionally also the subdirectories. It now has a new switch /a to show allocated bytes of the directories instead of the free bytes. On a recursive scan of a hard disk this information is more interesting that the repeated information about the free bytes and the drives total capacity. Since dirw.exe is a part of the first of my utility collections, I have updated it to be /pc/ts/tsutil32.arc. Sat 25-May-91: Updated the prerecorded answers to frequent questions on ts-programs file to be /pc/ts/tsans042.txt. The file is now in such a format that it can be read with Unix mail (for example, use elm -f tsans042.txt). Tue 21-May-91: I have programmed three sets of various MsDos filters, and now updated the first set to be /pc/ts/tsfilt17.arc. In general, the true (Unix-type) filters are written to rely on pipes and/or redirection. A common practical problem with these filters is that if you type the filter name all by itself, you appear to be stuck. In actual fact the filter is just expecting input from the console. The remedy to this problem is to program the filter in a way that it senses whether it is getting piped (or redirected) input. If it is not, then instead of filtering, the call to the filter should give the instructions. As an example consider the filter UNIX2PC which converts Unix eolns (end of lines) to PC eolns (useful if you transfer Unix text files to your PC). The common syntax using pipe and redirection is TYPE UNIX.TXT | UNIX2PC > PC.TXT What I have done is to reprogram UNIX2PC in such a way that if you write alone UNIX2PC this call will give you the instructions, instead of waiting for input from the console to the filter. Technically speaking this is achieved by a program code which detects where the input comes from, and acts accordingly. The idea for using this redirection detection code comes from an article in the PC Magazine, April 16, 1991, p. 374. (This does not work for MsDos versions earlier than 2.00). I have included this feature in the following of the filters in the updated tsfilt17.arc package: PC2UNIX.EXE PC text eolns to Unix eolns UNIX2PC.EXE Unix text eolns to PC eolns ASC2IBM.EXE 7 ascii to Scandinavian 8bit ibm IBM2ASC.EXE 8bit ibm to Scandinavian 7 ascii The input and output of also ASC2IBM.EXE and IBM2ASC.EXE has not been buffered for faster disk access (in other words these filters kind of have a cache of their own). The following edited extract from my Frequently Asked Questions is also of interest here: 23. ***** Q: Where can I find compress for MsDos to handle .Z files? A: Unix has compress, uncompress and zcat programs to pack or unpack files which are given the .Z extension. These files can also be handled under MsDos using for example /pc/unix/comp430d.zip, which is available from anonymous FTP sites like garbo.uwasa.fi, SIMTEL20, etc. There is one useful trick if you uncompress on MsDos such text files that have been made on Unix with compress. Unix and MsDos have different eolns (end of lines). You can extract a Unix compressed text file as follows comp430d -d -c YourZFile | unix2pc > YourOutputFile where unix2pc.exe is taken from /pc/ts/tsfilt17.arc. Sat 18-May-91: The same questions are often repeatedly asked on the net, and users might be well advised to take a look at a Frequently Asked Questions collection before posting a question. New users in particular should first observe for a while what goes on, since many questions become answered by just watching how to do things. I have a large collection of these questions with answers covering topics like how to behave on the net, how to find programs on the net using mail servers and anonymous ftp, how to transfer and unpack archived files, how to find sources of further information, and as a special feature many questions and answers to common Turbo Pascal programming questions, and so on and on. Starting from the now released version /pc/ts/tsfaq21.arc of my Frequently Asked Questions collection you can easily browse and read this collection optionally on your Unix host using the elm mail program. (See unixelm.inf in the package for the instructions). The new format fully retains the previous option to read the files on the PC as ordinary ascii files, or Jeroen Schipper's ReadMail program. My compliments to Arjan de Vet (devet@win.tue.nl) for suggesting the use of Unix mail format. There is also some new material in the updated release. The added up size of the tsfaq files has now merrily exceeded the 200K limit (when unarchived into the plain ascii format). Thu 16-May-91: There was a recent request in the UseNet news in comp.binaries.ibm.pc.d for a Terminate and Stay Resident utility that would beep at regular intervals to remind the user to do something, such as save a text in wordprocessing, or the data of a spreadsheet. I programmer timepest.exe resident elapsed time alarm for this purpose. It is part of the consequently updated package /pc/ts/tstsr11.arc. Sun 12-May-91: I have updated by collection of useful batch files to be /pc/ts/tsbat25.arc. One of the constant worries of downloaders of archived packages is the threat of viruses. (Games from shady BBSes are particularly susceptibe, but even commercial products have been known to be infected). Fortunately there are good virus checkers like McAfee's /pc/virus/scanv77.zip and Fridrik Skulason's /pc/virus/fp-115a.zip available to check for infections. There are, however, two dilemmas in checking archived packages on a routine basis. (Since the format garbo.uwasa.fi archives mostly uses is .zip let's speak of zipped files). The first problem is that there are so many executable compressors in use currently (such as lzexe, pklite, diet, tinyprog, etc). This means that unless the virus checking programs can observe all these variations, a virus can be hiding in an execompressed form. Therefore it is advisable to expand the executables for the check. A second problem is that .zip files occasionally contain embedded .zip files (eg PC-Magazine's collections often do). These embedded .zip files must be unzipped for a closer examination. The earlier versions of the tsbat collection included a batch called scanzip.bat. I have completely rewritten this batch to take care of the two eventualities discussed above. I have renamed the rewritten batch scanz.bat. Note that before using this new batch, you have to go through scanz.bat and edit all the directory path references to correspond to your own configuration. This is, of course, an inconvenience, but it is the best way of guaranteeing that a batch complicated as this stays reasonably efficient. Sun 5-May-91: Update /pc/ts/tsfaq20b.arc of the Frequently Asked Questions for UseNet news and/or Turbo Pascal users. Some amendments and editing of the existing material. Tue 23-Apr-91: Released an update of my FAQs (Frequently Asked Questions) /pc/ts/tsfaq20.arc. Some rewriting of a few of old answers. There is one new item in the Turbo Pascal questions section concerning ansi codes in writes. There is now a pointer to a comp.binaries.ibm.pc postings archive site by Bob Sloane in the quotes section. I have included my preprecorded answer (fax.txt) to faxed inquiries. For those who may not be familiar with this collection, it gives information on things like how to find programs and get them, how to go about in the UseNet news, and a section on Turbo Pascal, etc. Sat 20-Apr-91: I have released /pc/ts/tschek12.arc, an update of my spell.exe spelling checker which lists the those words of your ascii text file which it cannot find in the user's own (or the accompanying) dictionary. Michael Sanders (thanks for the feedback Michael) pointed out to me that there was a bug in spell's ability to take piped input. This has been remedied. Now you will be able to use the following kind of piped calls of spell: type YourText | spell spelled3.dny con /b > YourOutputFile Tip: You can use spell also for instant checking of your spelling. For example use spell spelled3.dny con recomend recommend ^Z The suspect word(s) will be listed. Other improvements: - Added new words to the accompanying dictionary. - Included a new option (switch /f) for counting the frequency of each "offending" word. - The number of words checked is given (unless the /b switch is on). Fri 19-Apr-91: I have brought some answers up to recent developments in my Frequently Asked Questions, and the collection is currently available as /pc/ts/tsfaq19b.arc. There are also a couple of new questions in there. A note for readers of the Turbo Pascal section of my FAQ. There are no changes in that section since the previous version. To read this FAQ package in a very convenient fashion, you are well advised to get Jeroen Schipper's /pc/comm/rmail31b.zip ReadMail program, even if the FAQ files can be read with any standard text browsing method. A few users have inquired why I don't post these FAQs to UseNet news on a regular basis. There are three main reasons. First, the package is too big. Second, there are ten individual files within the package. Third, there already are FAQs that are regularly posted. Raymond Chen has a FAQ posting for c.b.i.p.d, and there is a useful FAQ in comp.graphics, and so on. I have also been asked the natural question why my FAQ is not in ascii form. The reasons are similar. The entity is too big, and made up of the individual constituents. I notice that there is now so much material in my FAQs that I don't remember even myself what is in there, let alone what are all the individual answers. All the more so, because there is also material in there from others, not only from me. Sat 6-Apr-91: I have updated my Unix-like spelling checker which lists those words of your textfile which are not found in the accompanying dictionary. It is now available from our archives as /pc/ts/tschek11.arc. Some of the new features of the update: - The program is about one third faster. - There are more words in the accompanying ascii dictionary. - Overly long rows in your text files are only skipped. The reading is not terminated as in the previous version. - Elapsed run time is given at the end of the execution. - Switch /b (batch) turns off the header and the footer. - The double empty line on the screen when directing the output to a file has been corrected. Spell has been programmed with Turbo Pascal 5.0. Checking spelling involves tasks that are very time consuming, and much careful code writing is required to make a spelling checker fast. These include the procedures for making a list of the different words of the file to be checked, sorting it, and comparing it the words in the dictionary file. I have gradually improved on these routines through many versions of another, screen oriented spelling checker of mine. Nevertheless, I used Turbo profiler to find further bottle-necks of the code, and could improve on two of the critical parts in the present code. As an example checking the spelling of a 150 page text with a 13000 word dictionary now takes under two minutes on my 386. Although I am not a linguist, let me explain about dictionaries based on practical experience. A dictionary of 10000-20000 words might seem small to you, but it is not. When you write, the number of _different_ words is quite small. Try out some long text of yours with a word frequency counter (you'll find one in tspell24.arc). The figure you get will probably be a surprise to you. This means that with a good selection of words in your dictionary adapted to your own special field and writing style need not be large. The dictionary accompanying tscheck11.arc is inclined towards a computer user's terminology, business economics, mathematics, statistics, and my own writing style. Even if I also enjoy writing programs, this one has risen solely from my own practical needs. I wanted a method for a quick and easy-to-use checking of the spelling of my ascii files on a PC. Thu 4-Mar-91: Update /pc/ts/tsfaq19.arc. Since the last update of my Frequently Asked Questions Jeroen Schipper (jschippe@cs.ruu.nl) has written his really excellent ReadMail email, news, and message reader (available as /pc/comm/rmail30.zip, or whatever version number is current). I have edited the Frequently Asked Questions files in a consistent format so that all the *.txt files included can be read with ReadMail. Try it. You'll like it. See readmail.inf in tsfaq19.arc for a suitable "modify rule" to use ReadMail for browsing the FAQ files. There is also another consistent change I have made. If you are well familiar with arbo.uwasa.fi archives, you may know that there are some files duplicated in /pc/pd2 directory (by Unix links). We will be gradually getting rid of these links, and I have edited the references to reflect this gradual change. Sat 30-Mar-91: I have just updated my screen oriented spelling checker /pc/ts/tspell##.arc (## = 24 at the time of writing this) which displays a text file highlighting the mis-spelled words. Having lately used much also a Unix spell, which instead gives an alphabetical list of the mis-spelled words, I wanted a similar utility for MsDos. So, as usual, I decided to write one myself. Naturally I called it spell.exe and it is available as /pc/ts/tschek10.arc. Its contents: TSCHEK10.ARC Unix-like spell by Timo Salmi Filename Comment -------- -------------------------------- SPELL.EXE Unix-like spelling checker SPELLED3.DNY Dictionary SPL.BAT A simple batch to drive spell TSCHEK.NWS News announcements about tschek TSPROG.INF List of PD programs from T.Salmi VAASA.INF Info: Finland, Vaasa, U of Vaasa ---- ------ ------ ----- The usage is: SPELL DictionaryFile InputFile [OutputFile]. Spell lists in alphabetical order all the words of the input file which it cannot find in the dictionary file. The checking is automatically done in lower case so the system is case-independent. All words longer than 25 characters are truncated. If you omit the OutputFile, the output comes to the screen and can be redirected (e.g. through more or list). If you use your own, larger dictionary, it must be in a lower case and in a strict alphabetical order. The ability to use your own dictionary means that you can use spell.exe also for languages other than English. There is a very simple batch spl.bat to call spell. Configure it to suit your own paths. Using a batch is convenient, since then you don't have to type the name of the dictionary each time. If you have several dictionaries, you might even have a batch for each one. The list command used in the batch is refers to list75f.zip, that is Vernon Buerg's well-known list program. If you don't have it, replace list /s simply with MsDos more command (or whatever browser you have at your disposal). The maximum number of _different_ words that spell.exe can handle is 8000. This practically means an unlimited size, since it is extremely rare that a normal text has such a number of different words. (Checking another dictionary with spell.exe is the only case I can think of where the limitation would become effective in actual practice). The size of the dictionary for a registered version is unlimited. For the distributed PD version the maximum dictionary size is 20000 words. The rules of usage are: This package may be used and distributed freely for NON-COMMERCIAL, NON-INSTITUTIONAL, PRIVATE purposes, provided it is not changed in any way. (Repacking with another method, such as pkzip, is ok, though.) For ANY other usage, such as use in a business enterprise or a university, contact the author for registration. Uploading to bulletin boards is encouraged. Please do not distribute any part of this package separately. Sat 30-Mar-91: I have updated my Frequently Asked Questions collection. It is now /pc/ts/tsfaq18.arc. It contains new information such as a pointer to the archie database (in faqnews.txt), and a pointer to the database of postings on frequently asked questions (in faquote.txt). Both very useful for finding information by oneself, instead of posting the queries. Sat 30-Mar-91: I have updated my screen oriented spelling checker, and my word frequency counter. They are in /pc/ts/tspell24.arc. Wed 13-Mar-91: I have written a menu based ansi.sys driven advanced batch for sending command codes to the printer to make printer initialization and setting easy. It is called setprn.bat. It is for Diconix Inkjet Parallel Printer Model 150, which is an Espon compatible printer. Thus the batch is suitable for various different printer makes, and easily configurable. I have added these two batches to my collection of (hopefully) useful and instructive batch files /pc/ts/tsbat24.arc best available by anonymous ftp from garbo.uwasa.fi archives. There is a program-based alternative to setprn.bat, that is setdico.exe which can be found in /pc/ts/tsprn##.arc. The difference is that in setprn.bat you are able to configure the printer codes if you wish. Sun 10-Mar-91: Again a minor update of my Frequently Answered :-) Questions. It is now /pc/ts/tsfaq17d.arc. Sun 3-Mar-91: If have updated one of my five statistcial packages: /pc/ts/ts1st19.arc Univariate statistical measures. It now also calculates the coefficient of variation for the given observations. Sat 2-Mar-91: I have updated some answers in my Frequently Asked Questions collection. I have not given the update a new version number but called it /pc/ts/tsfaq17b.arc to reflect the fact that there are no totally new items. Tue 26-Feb-91: I have updated the feedback file on TS-programs to be /pc/ts/fback027.arc. Wed 20-Feb-91: I have updated the first of my utility collections to be /pc/ts/tsutil31.arc. SYSINFO.EXE version 2.0 gives information about your PC. I have rewritten the entire code, because much of my original code dated back to my early days of Turbo Pascal programming. Part of this rewriting is invisible to the user, and is for my own edification. The visible changes are: (1) The free memory information has been completely rewritten. The result now agrees exactly with the result that is given by eg mapmem.exe memory mapper from tsrcom29.zip. (2) I have added a routine to search the memory above 1008k for bios identification string, and give the information. (3) The video mode identification recognizes more video modes than before. (4) The country specific format information has been augmented with new items. (5) The program call has now optional switches /h, /r and /s. (a) Switch /r makes redirection possible. Use SYSINFO /r > prn or SYSINFO /r >> your.log. (b) Switch /h (or ?) gives a trivial help. (c) Switch /s suppresses the program's virus selftest. (6) There is now multiline information on each of the disks, including as new items the volume label, the interleave factor, the number of fats, and the maximum number of file entries in the root directory. I'm well aware of the much more comprehensive infop145.zip InfoPlus system information program (in /pc/pd2 at garbo). Nevertheless, I've wanted again to look into system information retrieval with my own routines, and arrange the output of the information in a concise manner. STACK.EXE version 1.2 is a small program that tells the amount of the free memory. (I should have called it FRE.EXE). The free memory should now be given accurately, and tallies with what standard memory mappers give. The memory assessment is based on the information extracted from the PSP (program segment prefix) of stack.exe. Fri 25-Jan-91: I have updated my Frequently Asked Questions collection to /pc/ts/tsfaq17.arc mainly to reflect the move of the University of Vaasa anonymous ftp archives to garbo.uwasa.fi. There are also a couple of new Q&As, and some of the old answers have been updated. Sun 20-Jan-91: I have updated one of my oldest packages, the jogging calculations to be /pc/ts/tsjog11.arc. It contains a simple jog.exe calculator to give your average per kilometer speed and a comparison to Cooper's test. The output of jog can now (optionally) be redirect in the customary MsDos manner. The usage of jog is simple: JOG distance [hh:]mm:ss [ComparisonDistance] I have added a pace.exe program, which simply shows the elapsed time to pace whatever calisthenics you may be doing. The time is shown in really big figures taking up the whole width of the screen, and changing text color once every minute. These programs are not intended to be fancy as programs, but to perform their simple tasks as practical aids to a hobby. Thu 17-Jan-91: I have written a few Terminate and Stay Resident programs as a /pc/ts/tstsr10.arc package: RESCLOCK.EXE Resident clock SORDINO.EXE Turn sounds off, shorter in fact TIMEDOWN.EXE resident countdown timer TIMEUP.EXE Resident countup timer There is nothing very original in these programs that has not been published in some form before. But I wanted to look myself at the techniques of writing TSR programs in Turbo Pascal. (Not quite the simplest of programming task.) There recently was a question in UseNet news comp.lang.pascal for a resident count-down timer. Timedown.exe can be used for this purpose for a color monitor in text mode. These programs can identify if they have already been installed, so you can't accidentally install the same program repeatedly. If you want to deinstall these programs you have to use eg mark - release from /pc/pd2/tsrcom29.zip. I experimented with self releasing code, mostly successfully. However, the code collided crashing the machine if I released a program both by its own code and by release.exe on top of that. After some deliberation I decided (at least for the time being) not to include the self-releasing feature into these programs. Sat 12-Jan-91: I have updated the material in my Frequently Asked Questions collection to be /pc/ts/tsfaq16.arc at the uwasa.fi anonymous FTP archives. Many of the old answers have been amplified, and there are new questions & answers including: How can I link graphics drivers directly into my executable? Which is better, Procomm Plus or Telix? How can I trap a Turbo Pascal runtime error? Many of questions and answers should be of interest to all UseNet readers. New UseNet news users will find much information on UseNet usage and advice on the rules on using the net. What to do and what not to do. As a speciality there is separate section for Turbo Pascal programmers. Tue 8-Jan-91: My Turbo Pascal units collection is now available also for Turbo Pascal 6.0. It is /pc/ts/tspa2360.arc, and is in no other way different from tspa2340.arc, tspa2350.arc, and tspa2355.arc except that the units are for 6.0. As you know, Turbo Pascal units are not compatible across versions. Tue 8-Jan-91: Have you ever been bothered by programs that change the mode, and/or impose a message on the screen upon exiting, or leave an empty screen. If so, here is a handy (MsDos 3.3) skeleton batch that restores the original screen. I shall use Michael Mefford's otherwise excellent dirmat20.com (/pc/pd2/dirmat20.zip) from the PC Magazine to illustrate. If you call dirmat20.com, then when you leave, you are left with the entire dirmat20.com screen, not the original screen, which you started with. You'll need pushscr.exe and popscr.exe from /pc/ts/tsutld18.arc. They respectively store and restore the current screen. Also reset.exe from /pc/ts/tsutil30.arc may come in handy. (The latter is not really necessary in the case of dirmat20.com. Reset.exe could also be replaced by the mode command, since what reset.exe does is to restore the 25*80 textmode and colors.) @echo off pushscr f:\tmpscr.$$$ /o dirmat20 %1 %2 %3 %4 %5 %6 %7 %8 %9 reset popscr f:\tmpscr.$$$ del f:\tmpscr.$$$ > nul echo on Note, this is a just skeleton batch demonstrating the idea. It does not check whether the relevant files are available at path, and so on (for such tricks see /pc/ts/tsbat23.arc). On my system f: is the ramdisk. Naturally, you can easily tailor this batch for any program that causes problems with the screen outlook upon exiting. Sat 5-Jan-91: I have upgraded my Turbo Pascal units collection at uwasa.fi archives by making several changes. Most importantly I have divided the package into three parallel packages: tspa2340.arc for Turbo Pascal 4.0 version tspa2350.arc for Turbo Pascal 5.0 version tspa2355.arc for Turbo Pascal 5.5 version Thus you'll only need the package concurring with the Turbo Pascal version you use yourself. With the exception of the differences inherent to the different releases of Turbo Pascal, the packages are the same. I am expecting Turbo Pascal 6.0, but it has not arrived yet. I have added a new unit TSERR.TPU which turn on the verbal run-time error messages. It is very easy to use. Just include uses TSERR; at the beginning of your main program and you'll have verbal run-time error messages besides the original, cryptic error codes. I have done some cleaning of the old units by omitting some of the older routines which have a more efficient later replacement. In particular this concerns the functions for converting values from one base to another. There are also new routines: PARSENFN Number of substrings in a string (resembles ParamCount) PARSERFN Get substrings from a string (resembles ParamStr) FATSFN Get number of file allocation tables, not XTs INTERLFN Get interleave coefficient of a harddisk, not XTs LASTDRFN Get last drive of the system, softcoded, not XTs and the generic power function POWERGFN has been rewritten. Tue 1-Jan-91: The 1990's uwasa.fi news concerning the files in the /pc/ts directory (the directory of Timo Salmi's packages) has been moved to 0news90.ts. The news of 1989 is in 0dir89.ts. The new news will be in /pc/ts/0news-ts, as before.