University of Vaasa, Finland, Sun 4 node number 128.214.12.3 (chyde.uwasa.fi) has a collection of PD and shareware programs which are available by anonymous ftp (file transfer program). This /pc/ts/0news90.ts text contains news about the programs in the /pc/ts directory (in reverse order). ................................................................... Prof. Timo Salmi (Moderating at anon. ftp site 128.214.12.3) 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 0 Mon 31-Dec-90: One small pointer if you download my statistics packages /pc/ts/ts1st19.arc - ts5st12.arc. In that case take a look at menu.bat in the newly released /pc/ts/tsbat23.arc. It gives you a simple ansi.sys driven batch menu for these statistic programs. Available by anonymous ftp from uwasa.fi archives in the usual manner. Sun 30-Dec-90: Here is a simple "patch" to the scanzip.bat virus scanner batch in the newly released /pc/ts/tsbat23.arc batch file collection. The scanzip.bat batch checks .zip files for viruses and utilizes scan.exe and f-fchk.exe for the virus detection. The problem is that (to my knowledge) these programs do not check pklite-compressed executables (the current versions can handle lzexe-compressed executables, though). *** AFTER THIS EXISTING LINE *** if not "%_found%"=="yes" goto _err6 *** ADD THIS *** rem Check that pklite.exe is available set _found= if exist pklite.exe set _found=yes for %%d in (%path%) do if exist %%d\pklite.exe set _found=yes if not "%_found%"=="yes" goto _err7 *** AFTER THIS EXISTING LINE *** rem if exist f:\tmp$$$\*.olz del f:\tmp$$$\*.olz *** ADD THIS *** rem Expand pklited files if any for %%f in (f:\tmp$$$\*.exe f:\tmp$$$\*.com f:\tmp$$$\*.ov*) do pklite -x %%f *** -BEFORE- THIS EXISTING LINE *** :_out *** ADD THIS *** :_err7 echo File pklite.exe must be at path or in the current directory^G goto _out ............................................................................. Sat 29-Dec-90: I have programmed a fair number of MsDos batch files to make up a batch file collection of hopefully both useful and instructive bacthes. I have updated the collection to be version /pc/ts/tsbat23.arc by adding some new batches. ... FU.BAT is a poor man's function evaluator utilizing gwbasic that (usually) belongs automatically to the MsDos delivery. The basic idea (pardon the pun) of combining batch and gwbasic programming is not really mine. I got it from the PC-Magazine. The code of this batch, however, is entirely due to yours truly. ... ASK.EXE is a common batch file enhancer returning as errorlevel the ascii value of the first character of the user's response. An example of a simple batch utilizing ASK: echo off ASK Yes or no? /d /u if errorlevel==89 if not errorlevel==90 echo It was a yes if errorlevel==78 if not errorlevel==79 echo It was a no echo on My ask has switches for lower case (/l) and upper case (/u) conversions, and (/d) "direct" reads without needing to press the enter key. The ask prompt may include escape sequences for ansi graphics. This is a feature not always available in other ask programs. Ok, there are countless ask batch enhancers already around, so why yet another. Simply so that then tsbat23.arc has it, and you don't have to get one separately. Furthermore, this ask is both simple and general enough to be easy to use while being still flexible. BTW, ask is the one command which the original MsDos batch programming most conspicuously lacks and needs. So many other seemingly lacking features are imbedded in MsDos, and you just have to ferret them out. That's partly what tsbat23.arc collection is about. ... SAFEDEL.BAT is a generalized bacth for deleting files. It asks for confirmation for each file to be deleted. The usage is SAFEDEL [FileName1] [FileNam2] ... and wildcards are allowed. ... MENU.BAT show show to build menus for easy program selection by the user. This batch utilizes ask.exe, and is livened up by ansi graphics. ... UNPACK.BAT has been updated. It extracts, tests, and views packed files (archives) irrespective of the packing method. The update handles also .arj files (the new arrival sent packing on the scene). Sun 23-Dec-90: I have updated all my five statistics packages available from uwasa.fi archives directory /pc/ts. The packages are ts1st18.arc Univariate statistical measures. ts2st19.arc Statistics: Multiple regression analysis. ts3st16.arc Statistics: Transformations of observations. ts4st16.arc Statistics: Correlation analysis. ts5st12.arc Least Absolute Deviation regression analysis. The improvements mostly concern the user interface and the printer routines. Sun 16-Dec-90: I have updated my linear programming and linear goal programming package to be /pc/ts/tslin33.arc. Here is an extract from the release notes of the documentation: Sat 15-Dec-90: Christmas time is approaching so I introduced a fifth package of games programs and called it /pc/ts/tsgmee10.arc. This one contains nothing original, just repeats of old well-known games in new clothes. First there is the classic puzzle of the Towers of Hanoi, where you have to move a pile of rings from one pole to another subject to certain rules. The program includes a demo mode where the program performs the moves. This involved an interesting piece of recursive programming somewhat more complicated than the well-known task of calculating factorials. The second game in the package is the common hangman. You have to guess a word letter by letter or be hung. In my opinion hangman basically has a definite educational flavor despite its hang-em-hi outward appearance. One twist is to use words from a foreign language as the vocabulary file. (Recall that from a Finnish point of view e.g. English is a foreign, albeit a familiar language). The input of my hangman is timed, that is there is a time limit for entering a guess. Both programs use and require EGA compatible graphics. Both games selftest against infections. Wed 12-Dec-90: I have updated the material in my frequently asked questions collection, and added a few new questions and answers. The collection is available as /pc/ts/tsfaq15.arc from uwasa.fi archives. Sun 25-Nov-90: I use SemWare's QEdit v2.1 as my principal text editor for the PC (/pc/pd2/qedit21.zip). (The usual disclaimer naturally applies: I'm only a satisfied customer of SemWare). Since it is possible that my configuration and help files, and some macros, might be of some interest to other users of QEdit, I have put them in a new collection called /pc/ts/tsqed10.arc. The assembled macro files are called *.mac, and the text sources for them are called *.mat. As you know QEdit macro files can be assembled and disassembled using the QMAC Macro Program (/pc/pd2/qmac21.zip). I have included only the *.mat files, since you can easily compile / customize them yourself with QMAC. And even if you would not directly use adopt these files, they may give some useful ideas on QEdit macro programming. Sun 25-Nov-90: Released update /pc/ts/tsfaq14.arc of my frequently asked questions with answers on general matters of interest to PC users, UseNet users, and Turbo Pascal programmers. Since there are quite a number of questions & answers, I have reorganized the files within the package into more categories than in the previous version. Sat 17-Nov-90: At uwasa.fi archives I maintain a list of the detailed contents of my ts-facilities. I do not usually announce updates of this list, but thought to do so this time as it has reached the hundred version mark. The list is available as /pc/ts/tsarc100.txt (and /pc/ts/tsarc100.arc). Thu 15-Nov-90: Released update /pc/ts/tsfaq13.arc of my frequently asked questions with answers on general matters of interest to PC users, UseNet users, and Turbo Pascal programmers. New questions and answers have been added, and some of the old answers have been updated. Fri 9-Oct-90: Released update /pc/ts/tsfaq12.arc of my frequently asked questions with answers on general matters of interest to PC users, UseNet users, and Turbo Pascal programmers. Fri 2-Oct-90: Released an update of my frequently asked questions with answers on general matters of interest to PC users, UseNet users, and Turbo Pascal programmers. This time I have just updated the Turbo Pascal answers. Therefore I'll call this a b-version instead of giving it a full new version number. The update is /pc/ts/tsfaq11b.arc. Mon 29-Oct-90: Several users have quite correctly pointed out that my typing tutor game TYPEVADE contains a bug which causes occasional crashes of this program with a message PANFR out of bounds. This bug is very elusive (probably a side effect of inadvertently overwriting something in the memory by another routine). I hope that I have now managed to set it right, but I cannot guarantee anything. Russel A. Fink (rfink@eng.umd.edu) sent a nice feedback message suggesting that the characters should invade from right to left rather than from left to right as they do now. This is a good suggestion. I have added an option to allow choosing the preferred direction. Thanks Russel. Typevades and the two other games (revegame and witpin) which make up the tsgmeb educational games package now start by performing a selftest against tampering and viruses. You can turn off the selftest by applying switch /s. Every now and then some users have been nicely asking me about my programming background. I have included some of my views on these aspects in the tsgmeb.inf information file which is part of the package. The updated package is tsgmeb14.arc in the /pc/ts directory at uwasa.fi archives at the University of Vaasa, Finland. Sat 27-Oct-90: I have released a new version of my frequently asked questions with answers. It contains both new questions, and updates of the old ones, on general matters of interest to PC users, UseNet users, and Turbo Pascal programmers. It is available as /pc/ts/tsfaq11.arc from uwasa.fi by anonymous ftp or mail server. Sat 27-Oct-90: I have updated the feedback file on the ts-programs. At the same time I have converted it from a text (.txt) file into an archive (.arc). The current version is /pc/ts/fback025.arc. Mon 22-Oct-90: I have updated my batch file collection to be /pc/ts/tsbat22.arc. PC-Magazine Vol 9 Num 14 published a batch to com file compiler bat2exec.com by Douglas Boling which is in the /pc/pd2/bat2ex13.zip package at chyde.uwasa.fi archives. As would be expected a batch compiler is more stringent in its requirements than MsDos. Consequently I have gone through the batches in my collection and seen to it that they are compilable. Note that in doing this I have not altered the tasks of the batch files, nor have I included the resultant compiled .com files. Where needed, I have just adjusted the batches to conform with bat2exec.com compiler requirements. Among others there is an addpath.bat batch for adding directories to the path without needing to rewrite the whole path as the ordinary path command would require. In a similar manner there is delpath.bat to omit a single directory from the path. Delpath.bat needs an auxiliary batch file called setvar.bat, which must be available to the delpath.bat. Delpath now checks whether the auxiliary setvar.bat file is available in the current directory or at path before running the rest of delpath.bat. When a batch contains a call to a program, the program must either be in the current directory, at path, or the call must contain the path to the program. The last method has the disadvantage of requiring adaptation to user's own structure. Therefore the most general method is having the necessary program(s) at path. If the program is not available, a normal batch ends in a "Bad command or file name" error message. This gives very little information of the cause of the problem. Therefore I have added routines in the batches to precheck that the required program(s) are indeed at path, and if not, issue a proper error message telling what exactly is awry. (The batch trick here is testing whether a given file is at path.) An additional note. Batches like delpath.bat cannot obviously be compiled successfully with bat2exec because of its need of an auxiliary batch. Another batch that works as a normal batch file, but won't work when compiled is color.bat. Color.bat sets the screen color attributes using ansi code. Bat2exec.exe compiler has similar problems with some other batches as well, but this does not affect the user of these batch files in any way. I have added blk.bat as an alternative simple screen saver to complement blank.bat. Blk.bat stores the screen before blanking and pops it when you exit the saver. Sat 20-Oct-90: I have again had some useful feedback comments and suggestions from users of ts-programs. This information contains tips and points of interest to other users of my programs. Hence updated the feedback file to be /pc/ts/fback024.txt. Tue 16-Oct-90: I recently programmed and distributed two games involving national flags. A quiz of national flags, and as a by-product, a memory game of pairing turned flags. Quite a number of users have downloaded the package from our site, and I've had some nice feedback concerning the games. In particular, Erik Jacobsen from Aarhus University (erja@daimi.aau.dk) has (once again) made a number of useful suggestions. In accordance, I have corrected some of the flags, added displaying the name of the country, and added an /f switch (flag labels off) for a player who does not want the flag nation name to appear, and remain, under the flag after the quess. The demo /d switch now also shows the names under all the flags. A suggestion from Erik to users who like a particular set of switches: Use a batch file for calling the game. (He needs the /s switch (supress selftest), because he has compressed his executables with lzexe). I have added 15 new flags in both the games bringing the total up to 85 national flags. The updated package is (/pc/ts/)tsgmed11.arc. Available by anonymous ftp or mail server from chyde.uwasa.fi, Vaasa, Finland. Sat 13-Oct-90: I have collected some frequently asked questions in the UseNet news, and my answers to these questions, into a downloadable package /pc/ts/tsfaq10.arc. Available by anonymous ftp or mail server from chyde.uwasa.fi. The preferred order of methods you should use in getting programs from us is the following 1) Automated anonymous ftp (Batchftp) (quick and convenient) 2) Normal "manual" ftp 3) mail server (use only if 1 and 2 are not available to you) Thu 11-Oct-90: I have again had some useful comments and suggestions from users. This information may have points of interest to other users of my programs. Hence updated the feedback file fback023.txt. Mon 8-Oct-90: Updated the linear programming and goal programming package to be version tslin32.arc. Sun 7-Oct-90: Introduced a fourth package of educational game-like programs and called it (/pc/ts/)tsgmed10.arc. It contains a quiz of national flags. It also contains (based on the same flags) a (familiar) memory game of turning pairs cards to try to find pairs. Both programs use and require EGA compatible graphics. Writing these programs was an interesting exercise of Turbo Pascal graphics programming. Sun 9-Sep-90: I have updated the fourth of my utility packages to be (/pc/ts/)tsutld18.arc. It contains three new utilities WARMBOOT, PUSHSCR(een), and POPSCR(een). The names should tell what they are are about. FILES is one of the old programs in the collection. It gives a summary statistics of the different types of files you have on your harddisk (or floppy). It now also gives the percentages of the different file types of the total when sorted by size or count. Fri 7-Sep-1990: I have updated my package of demonstration programs to be (/pc/ts/)tsdemo14.arc. These programs are in fact by-products of writing my utilities and building up my Turbo Pascal routines library. Bigchar.exe and bigtime.exe result from looking at the way which text fonts are stored in the PC textmode. Plotdemo.exe and turbdemo.exe both result from needing and writing Turbo Pascal graphics routines. The former draws a number of different functions in CGA graphics. The latter is new to the package and it involves solving a number of problems that arise in Turbo Pascal graphics programming. These problems include some which have recently been discussed in the InterNet comp.lang.pascal newsgroup, such as having a different background color for each graphics window (when the screen is divided into several windows), underlining text, mixed colors to seemingly increase the number of available colors, etc. Tue 4-Sep-90: Added vaasa2.inf, more information and statistics about University of Vaasa. Sat 18-Aug-90: I have turned my attention back to the more or less educational games, and devised a new one called linegame. It is contained in the updated /pc/ts/tsgmec11.arc package. Linegame expects you to fit lines (y=a+kx) to touch or intercept circles on a plane in order to gain a maximum number of points. The idea, of course, is to convey some rudiments of analytic geometry. If you have Turbo Pascal programming experience, and get the game, and then look at it, you may appreciate that writing the code involved many interesting tasks of TP graphics programming. (In fact much of the motivation to write this game came from an interest to replenish my personal TP graphics routines library). Let me state a few of these tasks, both graphics and general. Saving and restoring the original screen (rather trivial, since it is standard knowledge). Putting the EGA driver routines into the executable, so that no external support (.bgi) files are needed. Building a window system (there are ten separate windows in linegame) with all its facilities. (For example one needs routines for invoking a window, clearing it, drawing its borders, writing to (and reading from) it at the proper locations with a simulated cursor and working delete key, and so on). Devising a coordinate system for graphics windows, and drawing lines and circles in these modified coordinates. Building in graphics the scrolling counterparts of textmode readln and writeln commands. Performing a checksum selftest on the program to guard against tampering or viruses. Wed 8-Aug-90: I have updated my Turbo Pascal (4.0, 5.0, 5.5) units collection to be version (/pc/ts/)tspas22.arc. There are several functions which Tubro Pascal 5.0 and 5.5 have, but TP 4.0 does not. I have added a new unit tsunt45.tpu which includes some of these functions such as EnvCount, EnvStr, GetEnv, and ParamStr0 (giving the name of the program). The unit tsunti.tpu can be used to put information into the .exe file and perform selftests of the .exe. This unit is now also available for TP 4.0. Turbo Pascal ReadKey lacks the ability to read special keys such as RightShift, LeftShift, RightCtrl, and so on. Functions to detect pressing these keys have been added. Turbo Pascal ReadKey also lacks the ability to cope with the full enhanced keyboard potential. This means that TP ReadKey does not detect pressing F11 or F12, and that it cannot distinguish between the numeric keyboard cursor keys and the grey cursor keys. I have added a RDENKEFN function which has these abilities. Wed 1-Aug-90: I have updated my Turbo Pascal (4.0, 5.0, 5.5) units collection to be version (/pc/ts/)tspas21.arc. Turbo Pascal version 4.0 does not have the DosVersion function available in versions 5.0 and 5.5. I have written this function for version 4.0. Furthermore the lack of this function caused errors in TP 4.0 versions of my last two units. This has been put right. I have included a new unit (tsunti.tpu) for putting information into the .exe file, and retrieving the information (not for TP 4.0). The routines include a method for calculating the direct checksum for a file (eg for virus checking). This is not as trivial as it may sound at first sight, because in calculating the checksum, the checksum constant within the program must be skipped. (Else a change in the checksum constant would alter the checksum resulting in a "vicious circle"). Also, the method must be fast enough. I have also included a fast a date and filesize checking method for detecting if the .exe has been patched or its size altered. (Of course, the checksum method is much more difficult to defeat, but it is more complicated and not as fast). Here I have made an exception and included the source code. It is in the selftest.pas file within tspas21.arc. Wed 1-Aug-90: I have updated the first of my utility collections to be (/pc/ts/)tsutil30.arc. It contains my (partly experimental) early utilities geared towards directory information, system information, and usage logging. SYSINFO.EXE gives information about your system. I have added a few items, including the recognition of the processor. Also it now has a simple selftest against tampering (or simple viruses). If the file size or the file date have been altered, a warning will be issued, and the program halted. DTETIMAL.EXE is a simple but useful utility for checking (best from autoexec.bat) that your system clock has not failed, by comparing the system clock year and the parameter you give to DTETIMAL.EXE. The program is (hopefully) more compatible than before (the code uses no more Turbo Pascal Crt). Furthermore, DTETIMAL now performs (optionally) a triple (checksum, size, date) selftest against viruses and other tampering. DIRW.EXE is the same as MsDos dir /w with two notable improvements. DIRW dispalys the file attributes (including hidden files), and it can (optionally) be used recursively to list a directory and all its subdirectories. Corrected a bug that made it list a wrong directory under special circumstances. Mon 23-Jul-90: I have updated my Turbo Pascal (4.0, 5.0, 5.5) units collection to be version (/pc/ts/)tspas20.arc. One problem area that has intrigued me for some time is finding a technique for storing information within an executable file and updating that information. I've looked into it and written a couple of relevant procedures. USECOUNT keeps track of how many times the program has been run and stores the result within the .exe file. BRANDEXE is a more general, but also a more complicated procedure for .exe file handling. As an example I have a demonstration how to tell the previous time when the program was run. The function checking the on-line status of the printer (prnonlfn) has been rewritten to work without Turbo Pascal's Crt unit. And an alternative printer on-line status function, LTPONLFN, has been added. This one should be more robust, because it actually tries to send a carriage return to the printer, and observes the resultant success of the operation to define the on-line status. Of course this is achieved by {$I-} {$I+} IOResult testing, but the real trick here is make to system respond immediately rather than in the default response time of up to one minute. A new procedure PRTSCR sends the current screen to the printer. The new routines GETPRTFN and SETPRT get and set respectively the number of printer default retry times before a timeout. TICKSFN is a simple complement to the TIMERFN already in the collection. TICKSFN gives the number of clock ticks (there are 18.2 per second) since midnight. A new LASTDMFN returns the number of days in a given month and year. DATEOKFN tells whether a date is a valid, existing date. ZELLERFN lets you compare which of the two dates is earlier, calculate the number of days between two dates etc. A new FIXEDFN returns whether a drive is a fixed disk or not. MATHCOFN returns if a math coprocessor is present. RS232FN returns the number of serial ports. PARPORFN returns the number of parallel ports. COUNTRFN returns the country code. CHIPFN returns the type of the processor chip. There are new keyboard routines. SCRLONFN gets the current ScrollLock status. CAPS, NUMLOCK, and SCRLOCK respectively set the CapsLock, NumLock and ScrollLock on, or off. They take the desired status as a boolean argument. CLS sets 25*80 text mode and clears the screen and CLS40 does likewise for 25*40. Crt is not required. So far none of the routines in the TSPAS collection have included any inline code. Starting from tspas20.arc this no longer holds. I have tried to understand some assembler and have included also inline code. Be warned that I cannot give any guarantees that the inline coded routines won't cause confusion. Where inline code has been used, I have stated so. The first function to utilise this is LOWCASFN which is the exact opposite of Turbo Pascal's own UpCase function. WARMBOOT simulating alt-clr-del, and COLDBOOT reboot with memory tests are new, inline routines. A couple of routines have been moved from one unit to another. Sat 21-Jul-90: When a key is held down there is a default delay before it starts repeating, and then the key repeats at a default rate. KEYRATE is a program that resets both the delay, and the repeat rate. The facility is useful e.g. when you want to speed up the cursor movement by increasing the repeat rate. Or if you have a faulty keyboard striking ddoouubble, you can try a temporary remedy by increasing the delay. The facilities used in this program do not work for XTs and older ATs. KEYRATE recognizes the type of your processor chip and ROM BIOS version and informs whether the program is likely to have an effect or not. KEYRATE is part of my fourth utility package which has been updated to be /pc/ts/tsutld17.arc. Thu 19-Jul-90: Caps.exe is a utility to report the status of the keyboard toggles (NumLock, CapsLock, and ScrollLock), and to turn on or off these toggles. This is useful in special situations such as in batch files when the state of these toggles need to be controlled, or if there are no keyboard leds (many laptops lack these), or if there is something wrong with the keyboard keys or leds. Caps.exe is contained in the update /pc/ts/tsutld16.arc of my fourth set of utilities. Available from chyde.uwasa.fi, Vaasa, Finland, by anonymous ftp as usual. By the way, the pascal routines to test, and to turn on or off NumLock, CapsLock, and ScrollLock will be included (among the other new routines) in my Turbo Pascal units collection, when I update it to be tspas20.arc. At the moment of writing this, the Turbo Pascal units upgrade version 2.0 is still being written, and I shall announce it separately in due time. Fri 13-Jul-90: For reasons of convenience I am not announcing quite every update in this news file so you'll need to do some tracking yourself. This concerns the feedback file (fback016.txt at the moment) and the detailed contents file (tsarc083.txt and tsarc083.arc at the moment). Wed 11-Jul-90: I have specialized programs for printing text files to three printers, which I use myself. These are the Dicionix Inkjet Parallel Printer Model 150, Daisy Bubble Jet parallel printer, and Gabriele 8008 daisywheel serial typewriter. I have also two programs with pull-down menus for setting the Diconix and the Daisy. These programs are contained in /pc/ts/tsprn15.arc update. What I've done is to have introduced line editing potential into user interfaces, added controlled ctrl-c and break interrupting, and made the off-line response times from the printers much quicker. Without speeding them up, the off-line response times can be annoying long depending on your hardware. You can use these programs on any PC for these printers, but originally the Diconix program was developed for a Zenith Z-181 laptop, and hence the information file contains some special advice for Z-181 users. The are two pulldown menu driven programs (setdico and setdaisy) for convenient setting of the Diconix and Daisy printers. And next on a more technical note. Originally, one of the reasons (besides wanting to be able to set these printers easily) I wrote these these programs to try pulldown menu programming in Turbo Pascal. One feature of many such programs is the ability to exit to a Dos shell, and I included this feature. One of the problems with a Dos shell is that it is easy to forget being in a shell and needing to type exit. (If you don't do that you may run out of memory.) Now SemWares QEdit has a nice trick to remind you of being in the shell. It adds [QE] to the prompt while in the shell. What I've done in the new release is to program (the inevitable) [TS] addendum to the shell prompt. This turned out to be quite a challenging piece of programming, and the logic is much due to a PD code by Ron Cravis published in a Turbo Pascal FidoNet conference from Rivendell TAP/1 (1:260/340). Mon 9-Jul-90: Released update /pc/ts/tsfcom23.arc of the file manipulation package. This package is a collection of older programs which originate from my earlier VAX/VMS and Sinclair QL programs. I have made the user interface optionally more PC like, and included input line-editing and recall in most of these programs. The documentation also includes some personal reflections. Tue 3-Jul-90: I have updated my fourth utilities collection to be /pc/ts/tsutld15.arc by adding a setprt.exe utility to set the PrintScreen key retry times. On computers not recognizing a printer's offline status immediately, this utility will save you annoying waits when you hit the PrintScreen key inadvertently. Although the tsutld collection is for any type of PC, it is somewhat inclined toward utilities with a laptop flavor. For axample it contains (unchanged) two utilities for changing the cursor size. One request, which has been posed very often in the InterNet comp.sys.laptops newsgroup is for a utility making the cursor better visible on laptops. Bigcurs.exe and bigncurs.exe will take care of this problem. Sun 24-Jun-90: I have updated my batch file collection to be (/pc/ts)/tsbat21.arc. This time I have added my rendition of setting the screen text color and background. The color.bat batch uses ansi color codes. (Thus you must have loaded ansi.sys driver, or its enhanced equivalent (such as nansi.sys or zansi.sys). In other words your config.sys must have a line like device=\sys\zansi.sys in it). Version tsbat20 introduced a scanzip.bat batch as a shell to scan .zip packages for viruses utilizing McAfee's scan.exe virus checker. In addition to unzipping the .zip files into a temporary directory the batch uncompressed lzexec .exe files, if any, using Alan Posner's (/pc/pd2) isl12.aip and Mitugu Kuriziono's (/pc/pd2/)unlzexe5.zip. With the introduction of version (/pc/virus/)scanv63.zip uncompression lzexed executables is no longer necessary, and I have adjusted the batch accordingly. I have, however, done this by just commenting away parts of the batch, so that you can still apply it if you have earlier than scan.exe version 63. I have also added checking overlay files in addition to .exe and .com files. Please note that your email comments, feedback and suggestions on the ts-programs would be welcome. And if you want to look at other users' feedback, you can see it by getting (/pc/ts/)fback013.txt. Sat 16-Jun-90: Especially on laptops with cramped keyboads, it is useful to be able to turn off your PrintScreen key to avoid accidental printing of the screen. I have programmed a small utility PSK.EXE for this purpose. Used repeatedly (as a toggle), it alternatively disables or enables your PrintScreen key. I have made it part of my consequently updated fourth utility collection /pc/ts/tsutld14.arc. Thu 14-Jun-90 : I have updated my Turbo Pascal (4.0, 5.0, 5.5) units collection to be version (/pc/ts/)tspas19.arc. The function indrivfn in tsuntg.tpu tests whether a device is present in a drive. If you defined an invalid drive (such as '1'), a run time error occurred in my earlier versions. - Tsunta.tpu has a new function hightfn, which gives the height of the screen by resolution (25, 43 or 50). - Tsuntf.tpu has a third enhanced readln with line editing, recall, insert toggle, and clean break potential. - Tsunth.tpu includes a new function isdirfn to test whether a name is a directory. - Copyfile procedure copies a file from within a Turbo Pascal program and returns a success status code. I have seen postings in the (InterNet) news about problems with copying files in Turbo Pascal, but I hope that this one should do the trick. - Openedfn function indicates whether a text file has already been closed within the program, or if it is still open. This is particularly convenient for procedures aborting your program. - Tsuntd includes a new procedure called audio. It is an enhanced version of Turbo Pascal's own sound procedure. It takes frequency and duration as parameters, and it does not need the presence of the interfering Crt unit. Audio was written in collaboration with Ari Hovila. - And since I am often asked the question, sorry, no, dear fellow users, the sources are not available, only the units and their documented interfaces. Mon 11-May-90: I have released a new version of the least absolute deviation (LAD) multiple regression analysis program, statladr.exe, in collaboration with Seppo Pynnonen (sjp@chyde.uwasa.fi), who holds a doctorate in statistics. We have added a (lad) coefficient of determination, which indicates the goodness of fit in the same way as R2 does in the familiar ordinary least squares (OLS) regression. The program now also gives the standard errors of the estimated regression coefficients and their respective t-test values. The estimate of the standard error of the residuals is also calculated. The updated version is available as /pc/ts/ts5st11.arc. LAD multiple regression analysis is part of the set of my statistical programs. The programs in the set are ts1st17.arc Univariate statistical measures. ts2st18.arc Statistics: Multiple regression analysis. ts3st15.arc Statistics: Transformations of observations. ts4st15.arc Statistics: Correlation analysis. ts5st11.arc Least Absolute Deviation regression analysis. Thu 7-Jun-90: Lzexed files pose a problem for the present virus scanners. While waiting to see the announced scanv63 to appear with abilities to scan lzexe-compressed files, I wrote a batch to handle scanning .zip packages. This bacth checks both ordinary and lzexed files within a .zip package. The following shareware and PD programs are needed: pkunzip.exe, scan.exe, islzexe.exe, unlzexe.exe, The packages containing these programs can be found from good BBSes and eg from chyde.uwasa.fi by anonymous ftp. The new batch scanzip.bat is included in the updated /pc/ts/tsbat20.arc batch file collection. Fri 1-Jun-90: Released version (/pc/ts/)tsbat19.arc of my batch files collection. It includes two new batches. There is a poor man's screen save blank.bat, and there is an extension of the MsDos type command show.bat, which allows the usage of wildcards and multiple file names. You'll decide yourself if there is any usage for a wildcard type. Myself, I do not see any outright, but the batch itself is a very good exercise in batch programming. If you are new to this aspect of MsDos, I think you will learn many useful tricks from batches like this. - Where possible, I have tried to write the batches in a way that they need a minimum about of auxiliary files or such auxiliary programs, which are not part of MsDos (internal or external) commands. - I have rewritten lastboot.bat (recording the previous boot time of your PC) and logrun.bat (recording program usage) so that they no longer need the auxiliary files enter.txt and star.txt, which have been deleted from the new version. - There are some stylistic changes in scopy.bat. Mon 16-Apr-90: Noticed a small, but a very annoying mistake in my touch utility. When touch asks for confirmation [y,n,q], the n (that is no) option did not work but was taken as yes. The package tsutlb17.arc has hence been updated to be (/pc/ts/)tsutlb18.arc. Fri 13-Apr-90: I have updated my touch utility which can be used in the usual manner to change date and time stamps of files. There is a number of improvements in the details to enhance the flexibility of the program: - The confirmation [y,n,q] no longer requires pressing the enter key. - Keywords 'oldate' and 'oldtime' are available for added flexibility along with 'today' and 'now', or giving then explicitly. - The date can be given without the year as day-month. The current year is then the default. - Date can use . and / along with the former - - Time can use . along with the former : Usage: TOUCH filename [(new date dd-mm[-[yy]yy]) (new time hh:mm[:ss])] The new version is in the updated (/pc/ts/)tsutlb17.arc package. Thu 12-Apr-90: The spelling checker is now version tspell23.arc. There are improvements in the speed of the system. Sat 7-Apr-90: Updated my word frequency counter, and my PC spelling checker to be (/pc/ts/)tspell22.arc. Use it, and you cannot posibly make any speling mistooks. Fri 6-Apr-90: Released version 1.8 of STATREGR.EXE, the multiple linear regression package distributed as ts2st18.arc. The programs in my statistical programs set are ts1st17.arc Univariate statistical measures. ts2st18.arc Statistics: Multiple regression analysis. ts3st15.arc Statistics: Transformations of observations. ts4st15.arc Statistics: Correlation analysis. ts5st10.arc Least Absolute Deviation regression analysis. NEW! All of these are updated or new releases. The ts5st10.arc least absolute deviation multiple regression is an entirely new in the set. There is also a new program ex2fl.exe by Tuomas Eerola in the transformations package ts3st15.arc. This program converts exponential data into floating point format acceptable by the statistics programs. Tue 3-Apr-90: Linear programming and goal programming package. Update tslin31.arc: Version 3.1: In large and/or ill-behaved LP-problems round-off errors can cause serious inaccuracies and deviations from the mathematical, true optimum. Linsolve guards against such errors both in the algorithm, and by displaying inaccuraccy indexes. The number of these indexes has been reduced from four to two, and their calculation has been altered somewhat. First there is a non-optimality index which now gives the norm (square root of the sum of the squared) positive simplex-coefficients in the optimal tableau. Mathematically, it should have none, and thus the closer to zero, the better. Second there is an inaccuracy index giving the norm of the deviation of a recalculated optimal simplex-tableu from the optimal simplex-tableau. The recalculation is based on the inverse of the basis matrix. (See the relevant literature for details.) The norm is used since it gives the length of the deviation when it is considered a vector. Thu 29-Mar-90: I have updated the linear programming and linear goal programming package which appeared in the binaries a few weeks ago. It is now (/pc/ts/)tslin30.arc. The principal program linsolve.exe has it recall line-editing facility somewhat improved. If you enter an equation from the keyboard using continuation lines, each of the lines can now be recalled with consecutive pressing of the PgUp key. The facility mps2equ.exe to convert MPS formatted input to my 'as-is' format has increased capacity of 80 equations and 120 variables. Tue 27-Mar-90: Please note the provisions of using the ts-programs. You are free to use them for your personal, private purposes, and you are free and encouraged to upload them to bulletin boards. But if you use the programs, say, at a university or a business enterprise then you must consider the programs shareware and you should contact me for the terms of a personal or a site license. Sat 24-Mar-90: I have updated the set of my matrix calculation programs. The new release is (/pc/ts/)tsmatr11.arc. This package contains the matrix operations, which are solving simultaneous linear equations (lineq.exe), calculating the inverse of a square matrix (matinv.exe), and multiplying two matrixes (matmul.exe). The maximum number of the simultaneous equations is 30, and the maximum dimension in the matrix inversion program is 25x25. There must be innumerable such programs around, and the algorithms used have nothing much out of the ordinary. They are based on the Turbo Pascal Numerical Toolbox, which has been used in accordance with Borland's license. There is one trick of mine, however, in these programs, which is often lacking even in commercial packages. This is checking the feasibility of the results. What I do is calculate a deviation measure as follows. Let A denote the original square matrix, B the inverse computed by the program, I and identity matrix. First the matrix A*B-I is calculated, and then the sum of the absolute values of the elements of this matrix. This is what I call the deviation from unity. I have found this to be a very handy test of reliability of the results especially in case of problematic matrixes. Nevertheless, the main feature of this package is my user interface (in programming terms the parser I've built). The simultaneous equations are given in what is called an "as-is" or "equations" format. This means that you can input e.g. 2x + 7.8y + 5.0z = 13.4 3x - 8.9y - z = 18.3 -x + 5.6 - 1.3 = 10.3 directly to the lineq.exe program, from file or from keyboard. If you give the input from the keyboard you now have full line editing potential with CursorRight, CursorLeft, BackSpace, Del, Home, End, Insert, and Escape keys. Furthermore, there is input recall (using the PageUp key), and orderly break at any time with the ctrl-C or the break key. I have also corrected a bug in lineq.exe, which prevented using the continuation line potential. This potential means that you can write e.g. 2x + 7.8y & + 5.0z = 13.4 Also updated the directory routine, which can be invoked from within lineq.exe if the input file is not found. Sat 17-Mar-90: Released a new version (/pc/ts/)tsbat18.arc of my batch files collection. - It seems that this bacth collection has become perhaps the most popular of my packages judging from the recent download figures and the comments from users. - Corrected a small bug in c.bat that prevented going back to the root directory. - Built a simple batch lastboot.bat for displaying the date and time of the previous booting. - Also built a new batch virus.bat. This batch makes a directory both prior and after running the suspect program, and gives a warning if the directories differ, and prepares a list of the differences. The batch can be also used by a knowledgeable user for the more benevolent similar purpose of checking what files a certain programs changes. *Flame off* One lesson to be learned from batch programming is that properly used MsDos can be quite flexible. I think it is here to stay for a long time yet Unix and OS/2 notwithstanding. And this does not mean castigating Unix nor OS/2. *Flame on* :-) Thu 15-Mar-90: I am submitting the second and the third of my games packages to the binary postings, and I have therefore updated the second of these packages to be tsgmeb13.arc. Mostly I have just updated some of the documentation. The game of typevaders now restores the original screen after the game is over. Typevaders can no longer be interrupted by the break key. Revegame and witpin have only minor stylistic changes. - The first of the game packages tsgame12.arc (which includes an introductory management mage) came out in the binaries in spring 1989. - The third of the packages was recently announced in comp.binaries.ibm.pc.d for anonymous ftp downloading from chyde.uwasa.fi and Bill (Davidsen) kindly suggested that I submit it for posting, as well. Wed 14-Mar-90: Started a third package of the educational games and called it tsgmec10.arc. The first game in the package is an adaptation of the conventional computerized memory game. The educational trick is that you have to give in ascii code the characters shown. It is called Ascigame. Ascigame has also the option to use it as the ordinary, conventional memory game. - The second program is more of a utility than a game, or perhaps it should best be called a learning device. Wordexam is an aid for cramming for vocabulary examinations in studying foreign languages. The basic idea of Wordexam is simple. You first prepare a bilingual vocabulary file with any editor. Wordexam then asks you one word after another in one of the languages, and you have to give the word in the other language. Sun 11-Mar-90: Released a new version (/pc/ts/)tsbat17.arc of my batch files collection. This update introduces a batch shell unpack.bat for extracting, testing, and viewing packed files irrespective of the packing method. Sun 11-Mar-90: I have a collection of four utility packages called tsutil, tsutlb, tsutlc, and tsutlb. Since I quite often get requests, from users who do not have anonymous ftp capability, to email programs to them (sorry, I will not accomodate the emailing requests for practical reasons), I am considering submitting these programs to the binary postings in comp.binaries.ibm.pc. In the process I have updated (/pc/ts/) tsutil28.arc to tsutil29.arc. Sun 4-Mar-90: In case you are wondering about the new files yitten.arc and yitrat.arc they are meant for our business students at the School of Business Studies at the University of Vaasa. These files contain in Finnish old exams and their answers to my lectures on capital investment and financial decisions. Despite of all these programs around here, my real work is doing research and mostly post graduate teaching in accounting and business finance. Sun 4-Mar-90: My batch file collection is now version (/pc/ts/) tsbat16.arc. - Addpath.bat appending new directories to the path now checks whether the directory exists, and whether the directory already is at path, thus preventing mistakes by the user. I use this batch myself a lot, and since I often make typing errors, I wanted the batch to do the validity checking for me. - Arc2zip.bat converting an .arc file to a .zip file, with comment, has added safeguards against errors and corrupted archives. - Deldir.bat for deleting the files from a directory and then removing the directory, has been rewritten. - There are also new batches in the collection. - There is a harddisk version of the packing methods converter called zoo2arch.bat. It is a .zoo to .zip converter eg for those who prefer tighter .zip files over the binary posting's current .zoo packing method. - If you have been annoyed by the fact that MsDos cannot take more than one command per command line, m.bat is the bacth for you. It is a batch that facilitates giving multiple MsDos commands. Another new batch is d.bat. It gives the directory with sort and generalized name matching. - Also managed to resist the temptation to rename the documentation to the obvious bat.man. Sun 25-Feb-90: I have gotten repeated requests from the users for a Turbo Pascal 5.5 version of my Turbo Pascal units collection. I now have finally got the 5.5 compiler, courtesy of University of Vaasa, because it was felt here that this international interaction is important enough to warrant the expense. (As I have told many of the users who have contacted me in this matter, I am not yet interested in OOP myself). Hence I am in a position to oblige. The new version is called tspas18.arc. There is only one new function in the collection this time. The main point was providing the TP 5.5 versions of the units. Thus there are now three versions of each unit in this new release: TP 4.0, 5.5, and 5.5. - It is true that Borland has made excellent products for the PC community, but the incompatibility between the TPUs of the different Turbo Pascal versions has many of us users disgruntled. Sun 18-Feb-90: With the introduction of the new Kermit version 3.00 in January 1990, I have decided to update my MsKermit utilities accordingly, and released (/pc/ts/)tskerm24.arc. I have tried to build the system so that it would still be compatible with MsKermit version 2.32A. You will thus have a choice between the two, and the tools should be useful even if you have not yet updated to MsKermit version 3.00. I have also included some more postings and messages about Kermit with the kind permission of the authors. Fri 9-Feb-90: I have renamed the 0contents file to 0dir-ts. This is to avoid duplicate naming with other directories. Likewise, I have renamed the 0news file to be the current 0news-ts file. The last year's news have been renamed 0news89.ts. Wed 7-Feb-90: Update tsgmeb12.arc. The update contains a simple new game where you have to re-arrange the numbers 1-9 back in order by reversing a given number of digits counted from the beginning of the string. There is nothing novel in this, rather the contrary, because this is one of the basic early simple computer games. One reason for programming this game was that it involves some programming routines, which I will need later. Thu 25-Jan-90: I have updated my batch file collection to be version (/pc/ts/)tsbat15.arc. There is just one addition, daily.bat. It is intended to run a program from the autoexec.bat file only once in a day. There are programs in circulation, which achieve the same thing as daily.bat. The trick in daily.bat is that it is a true batch file without the need of any external user-made programs. This not a very difficult to do, but tricky enough to be interesting and educational. Sun 21-Jan-90: The older news have been transferred to 0news89. Tue 16-Jan-90: I have still been thinking about batch files and interesting tricks to do with them, and I therefore publish a new upgrade of my botch :-) collection in a rapid succession after the last update. The upgrade is (/pc/ts/)tsbat14.arc, and it will be available by anonymous ftp at least from chyde.uwasa.fi, Simtel20, and by BBS download or file request from Micro Maniacs Opus 2:515/1 telephone 358-0-425966. Two new utilities are included. The first is delpath.bat, which removes a directory from the path variable. This was a really tricky one, and my solution (contrary to the other batches in the collection) requires MsDos version 3.30 because it uses the call command. I have since seen another solution in the PC-Magazine (Vol 8 No 21) but mine uses a somewhat different technique, and should be clearer because even I can understand how mine works :-). The second new batch is deldir.bat for deleting the files from a directory and then removing the directory. This is really trivial, but I needed it myself. I have tried to include reasonable number of safeguards within this batch. Sun 14-Jan-90: I have updated my batch file collection to be version (/pc/ts/)tsbat13.arc: There is a new batch arc2zip.bat for converting an .arc file to a corresponding .zip file. The batch automatically adds your zip-file comment to the converted .zip. Also, the date of the zip file is automatically set to the date of the latest file within the .zip, not the date of the conversion. Another new batch is zipdate. It demonstrates how to datestamp .zip packages. The new version also includes a second addpath utility. It is apath-om.bat and is by Otto Makela. It is included in my batch file collection with Otto's explicit permission. Thanks Otto. This batch nicely demonstrates testing a condition (is a directory already in the path) in MsDos batch programming. I had an interesting time testing Otto's batch and discussing the dilemmas in the earlier versions after Otto posted the original version in the news in alt.msdos.programmer. I think that we both gained in the process. I would pleased to consider similar useful contributions from other users, as well. If you are interested, contact me by email. Where.bat has been rewritten. It finds a file by using a search string on the file name. Contrary to the ordinary wildcarded MsDos DIR-type convention, where.bat matches the search string anywhere within the body of the file name. The updated where.bat has been made case-insensitive (applies upper case conversion on batch parameters). Some of the other batches in the package have had their help texts extended. Tue 2-Jan-90: Released a new game with an educational / problem solving flavor for those of you who like to play games with the computer. The game is called witpin. It is a kind of solitaire draughts. Witpin.exe is part of the updated tsgmeb11.arc package. For the older (1989) news please see 0news89.ts.