University of Vaasa, Finland, Sun IPX sparcstation, 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/0news92.ts text
contains news about the programs in the /pc/ts directory (in reverse
order).
..................................................................
Prof. Timo Salmi      Co-moderator of comp.archives.msdos.announce
Moderating at garbo.uwasa.fi anonymous FTP archives 128.214.87.1
Faculty of Accounting & Industrial Management; University of Vaasa
Internet: ts@uwasa.fi Bitnet: salmi@finfun   ; SF-65101, Finland
..................................................................

               N e w s   o f   1 9 9 2

Mon 28-Dec-92: Updated my collection of Telix telecommunication
program Salt scripts to be garbo.uwasa.fi:/pc/ts/tstlx11.zip.
Added:
 TIMER.SLT       An elapsed time reminder
 This addition was based on a question on the UseNet news.
Corrected:
 FTPGET.SLT      Autodownloading from ftp sites
 I confured seconds and tenth's of a second.

Sun 27-Dec-92: Introduced a collection for my Telix utilities. It is
available as garbo.uwasa.fi:/pc/ts/tstlx10.zip. It contains several
fairly simple, well documented Salt scripts.  They are useful for
learning to write in the Telix Salt programming language. Looking at
source code examples has always been a good way of getting started.
The scripts included are
 9600E.SLT       Initialize MultiTech MultiModem
 FINDPORT.SLT    Test which port has a modem
 FTPGET.SLT      Autodownloading from ftp sites
 MBBS.SLT        Connect to an MBBS system
 TRANSOFF.SLT    Turn off char translation tables
 TRANSON2.SLT    Turn on both translation tables
 UNIXHOST.SLT    Connect to Unix host via server

Fri 25-Dec-92: Updated my third filter collection. It is now
garbo.uwasa.fi:/pc/ts/tstsfltc15.zip.
Added
 DUMP.EXE   "Decimal, hexadecimal, ascii dump"
 COL.EXE    "Columnize a text file"
 UNDUMP.EXE "Convert decimals to ascii chars"

Sat 19-Dec-92: Update garbo.uwasa.fi:/pc/ts/tsbat40.zip of my
collection of useful batch files and batch tips & tricks. Added
  BDIR.BAT  "Bare list & count of directories"
  HEX.BAT   "Add and subtract hexadecimal values"
  PORTS.BAT "Display port base I/O addresses"
Updated and rewrote
  BATRICKS.TXT "Assorted batch tricks"
Corrected
  COLOR.BAT "Set screen color attributes"
It left on a tmp_ environment value.  It shouldn't have.

Sat 19-Dec-92: I have updated my collection of Frequently Asked
questions. It is now garbo.uwasa.fi:/pc/ts/tsfaq31.zip.
 Added CAM.INF "CAM discussion groups charter"
 Brought up to date many of the items throughout the FAQ.
 The principal sections of the collection are
   FAQNEWS.TXT     Q&As relating to UseNet news
   FAQPAS.TXT      Turbo Pascal questions & answers
   FAQPROGS.TXT    Questions answers about programs
   PD2ANS.TXT      Q&As on uwasa.fi archives & more
   UPLOAD.INF      How to upload to garbo archives
   VAASA.INF       Info: Finland, Vaasa, U of Vaasa

Sun 6-Dec-92: I found a bug in my TDEL.EXE "Timo's safe recursive
delete files and remove directories" version 1.2.
   The previous version sometimes detected non-existing directories.
I think I pinpointed the elusive error in my code and hopefully have
this bug corrected.
   While I was at it I also included a more detailed message why a
directory cannot be removed. Example: "Directory not empty: Contains
2 subdirectories and 1 files".
   TDEL.EXE skips read-only files, but reports them. The updated
version also reports hidden and system files (but does not allow
deleting them).
   For Unix users I would describe TDEL.EXE as an MsDos counterpart
rather than a direct port of the rm command. For MsDos users one
could call TDEL.EXE a combined file deletion and directory-tree
pruning utility.
   TDEL.EXE is a part of my consequently updated fifth utility
collection from garbo.uwasa.fi:/pc/ts/tsutle21.zip.

Sat 28-Nov-92: Are you aggravated by accidentally hitting the
CapsLock key and the consequent turning on of the CapsLock? I've
written a new Terminate and Stay Resident (TSR) program NOCAPSLC.EXE
which monitors the CapsLock status and forces it off if it is on.
This is one of the programs that arises from my own usage needs. I
decided that I'd prefer to have the CapsLock key usually disabled
because I hit it by accident rather often. It is located between the
Shift ans Tab key. I use both quite frequently. The former I use for
obvious reasons, the latter especially because it has a special
function on our Unix host (command completion).
   This is how I load NOCAPSLC.EXE on an MsDos 5.0 system:
      MARK nocapslc
      LOADHIGH nocapslc
where MARK.COM comes from TurboPower's /pc/memutil/tstsr34.zip.
   Would you want to assure that the NumLock key is always
activated? My NUMLOCK.EXE TSR program does exactly that by forcing
the NumLock key always on.
   Incidentally, I also have a program to disable the PrintScreen
key to prevent accidental screen prints. That program, however, is
in a different collection garbo.uwasa.fi:/pc/ts/tsutld*.zip because
the task does not require a TSR.
   Consequently, I have updated my collection of TSR programs. It is
now garbo.uwasa.fi:/pc/ts/tstsr14.zip.

Thu 26-Nov-92: I have upgraded my third filter collection to be
garbo.uwasa.fi:/pc/ts/tsfltc14.zip.
   The program CUT.EXE "Extract or delete text columns" has been
updated. Added a /s switch for optionally suppressing empty lines.
   A have included a new program CUTW.EXE "Extract or delete text by
words". It has several convenient features like defining the word
delimiters, option to start from the end of the line, optional
suppression of empty lines, and multiple ranges.
   Added FILE_ID.DIZ "Brief characterization of TSFLTC". Some BBS
systems scan for a FILE_ID.DIZ in uploaded packages and if found use
its contents as the description in their annotated file list.

Thu 26-Nov-92: I have updated my TDEL.EXE "Timo's safe recursive
delete". Besides being able to delete files, this program includes
the option of removing directories recursively. The new version does
the removing from bottom up, which makes using the utility very
convenient. Of course you'll first have to make the directories
empty by deleting the files from them, if any, but that is easy by
first applying TDEL recursively on the files. A small practice set
for ramdisk is included, because even with safe deleting and
removing one has to know exactly what one is doing!
   The old method of removing from top to bottom has been preserved
for compatibility.  It has a special switch /f (force Forward).
   TDEL.EXE is a part of the consequently updated fifth utility
collection from me garbo.uwasa.fi:/pc/ts/tsutle20.zip.

Mon 16-Nov-92: I have started the sixth utility assortment of mine.
It is garbo.uwasa.fi:/pc/ts/tsutlf10.zip.
   The new collection includes STRINGS.EXE for finding the embedded
strings from a text or a binary file. It also gives the hexadecimal
offset of each string found.
   The second program in the new collection is STRMEMO.EXE which can
be used for scanning your PC's memory for strings. You'll probably
find some interesting information in there.
   An optional switch to use the Scandinavian string definition in
the search is provided.

Sun 8-Nov-92: I have again updated my Turbo Pascal units collection.
They are now
 99367 Nov  8 19:13 garbo.uwasa.fi:/pc/ts/tspa3140.zip
101110 Nov  8 19:13 garbo.uwasa.fi:/pc/ts/tspa3150.zip
103186 Nov  8 19:13 garbo.uwasa.fi:/pc/ts/tspa3155.zip
103345 Nov  8 19:13 garbo.uwasa.fi:/pc/ts/tspa3160.zip
The new routines added are
 TSUNTB:
   BBINFN   Convert decimal byte to binary string
   BHEXFN   Convert decimal byte to hexadecimal string
 TSUNTE:
   ARCFILFN Is a file's archive bit set or not
   HIDFILFN Is a file a hidden file or not
   RDOFILFN Is a file a read-only file or not
   SYSFILFN Is a file a system file or not
 TSUNTG:
   ACTDRVFN Which floppy drive is active on a one drive system
   FLOPSTFN Floppy disk status. Is it present and formatted.
   ISUBSTFN Is a drive a substituted drive (MsDos 3.1+)
   MEDIAFN  What kind of a disk media is present in a drive
              returns: $00 : Error
                       $F0 : Floppy of 1.44Mb
                       $F8 : Fixed disk
                       $F9 : Floppy of 1.2Mb
                       $FA : Floppy of 720Kb
                       $FD : Floppy of 360Kb
                       $FF : Floppy of 320Kb
 TSUNTJ
   ISDIR2FN Is a name a directory or not, alternative method

Sun 1-Nov-92: I have updated one of my directory programs DIRF.EXE
"DIRectory in Full". It can be found in the consequently updated
garbo.uwasa.fi:/pc/ts/tsutlc18.zip package.
Enhancements:
 - The volume serial number is now given for MsDos 4.0 and greater.
 - The MsDos 5.0 like bare format has been included.
 - The help screen has been rewritten.
 - Sysfiles are indicated by an s.
A tip. Besides its usual functions you can utilize DIRF to locate
files anywhere on a drive using e.g. DIRF c:\ /s /b | find "BAK".
The neat feature of this method is that it matches the search string
anywhere in the filename.
 91799 Nov  1 10:14 garbo.uwasa.fi:/pc/ts/tsutlc18.zip

Mon 26-Oct-92: I have again updated my collection of useful batch
files and batch tricks. It is now garbo.uwasa.fi:/pc/ts/tsbat38.zip.
   Added COLORMAP.BAT "Ansi screen color esc. seq. map". I adapted
the idea from PC Computing October 1992. The difference in my
adaptation is that it displays the escape sequence codes you need to
induce the colors on the map. Furthermore, I do not use any
environment variables.
   Added TOUCH.BAT "Touch a file's datetime stamp". It is quite
amazing the thing one can actually do with bare batch files using
the tricks trade.  TOUCH.BAT is a good example of this.
   Added EDIT.BAT "A truly trivial text editor". Appends text to a
text file from the con device, that is the keyboard.
   Made some enhancements to BATRICKS.TXT "Assorted batch tricks"
and added the following item:
 21) Testing if a file name includes a path
 93765 Oct 26 08:05 garbo.uwasa.fi:/pc/ts/tsbat39.zip

Sun 18-Oct-92: I have updated my first utility collection to be
garbo.uwasa.fi:/pc/ts/tsutil36.zip as follows
   I have updated my SYSINFO.EXE system information program. The new
features.
 - It includes MsDos environment size/use as an additional item.
 - It shows the serial number of the disks (for MsDos 4.0+)
 - It recognizes substituted drives (for MsDos 3.1+)
   Also updated my DIRW.EXE directory program by adding a switch /n
to display the disk's serial number for MsDos version 4.0 and later.
   Added FILE_ID.DIZ "Brief characterization of TSUTIL". Some BBS
systems scan for a FILE_ID.DIZ in uploaded packages and if found use
its contents as the description in their annotated file list.

Sat 10-Oct-92: I have updated my collection of TSR (Terminate and
Stay Resident) programs. It is garbo.uwasa.fi:/pc/ts/tstsr13.zip.
   Added LEDS.EXE "Caps, NumLock, ScrollLock status" to indicate the
caps status on laptops and the like which may lack the normal leds.
   Added FILE_ID.DIZ "Brief characterization of TSTSR". Some BBS
systems scan for a FILE_ID.DIZ in uploaded packages and if found use
its contents as the description in their annotated file list.
   Compiled the rest of the programs anew to bring some information
up to date, but made no operational changes. Thus the version
numbers have not been altered, only the compilation date.

Tue 6-Oct-92: I have updated my fifth utility collection to be
garbo.uwasa.fi:/pc/ts/tsutle19.zip.
   CMOS.EXE "Display of the CMOS information" is a program that
reads your battery backupped system information. The program now
takes an optional switch /BW to run on an LDC laptop so that only
two colors (LightGray / Black) are used. CMOS can take ? as a
parameter. It then gives the usage information.
   CLOBBER.EXE "Delete files beyond undelete" is a new program in
the collection. As you know there are several programs that can
undelete deleted files, most notably the external undelete.exe
program that comes with MsDos 5.0.  CLOBBER works by rewriting your
destination file full with ? and then deleting the file. Thus if one
undeletes the file the original contents is no longer there. Be
realistic if you wish a water-tight security. But beware. Although
this can foil a "simple" undelete, there are programs that can read
the sectors of the disk directly. If you update a sensitive file
that often leaves old, unattached clusters of the file on the disk,
and those can be read by a skillful snoop. On the other hand use
CLOBBER judiciously because as a general rule you will lose the file
for good (which is the exact purpose of CLOBBER). I have not been
able to evaluate how well CLOBBER performs on a badly fragmented
file. - All in all, there is a lesson to be learned here for those
who trust encryption programs to protect their sensitive files. You
should never encrypt them anywhere else than on a ram disk. If you
use harddisk for even a temporary decryption, it may leave readable
portions on the hard disk. It is not easy to access them, but it is
not overly difficult. For example I have the tools and knowhow to do
it. (No I will not disclose which and how, so please do not ask.) -
I have tried to make CLOBBER fast. It uses its own 64Kb internal
buffer, a kind of a programmed "disk cache".
   The programs are mostly self-documenting, but I added the
documentations to the TSUTLE.INF information file so that they also
are in one place.

Sun 27-Sep-92: I have updated what was my number base calculation
programs package:
 BASE.EXE        Convert from one base to another
 BC.EXE          Base calculations (+-* and or..)
   Implemented /g## a switch into these programs to indicate that
the user wants the converted string spaced in groups of ## digits.
   Implemented more operators (xor shl shr) to BC.EXE.
   Added SCANCODE.EXE "Get key scan/ascii/status codes" redefining
the TSBASE package to be more generally "A programmer's tools base".
It is available as garbo.uwasa.fi:/pc/ts/tsbase11.zip.
   Added FILE_ID.DIZ "Brief characterization of TSBASE". Some BBS
systems scan for a FILE_ID.DIZ in uploaded packages and if found use
its contents as the description in their annotated file list.

Thu 24-Sep-92: I have updated all my five easy-to-use statistics
packages available from the Garbo archives, directory /pc/ts. The
packages are
  ts1st20.zip    Univariate statistical measures.
  ts2st20.zip    Statistics: Multiple regression analysis.
  ts3st17.zip    Statistics: Transformations of observations.
  ts4st17.zip    Statistics: Correlation analysis.
  ts5st13.zip    Least Absolute Deviation regression analysis.
The input and output file names can be optionally given as
parameters in the program calls, e.g.
      STATREGR /ic:\stat\test.dat /or:\tmp
This option has  been improved.  The "prefilled"  name (e.g.
c:\stat\test.dat) will now automatically appear on the input line
without the need of pressing the cursor up key. All you need to do
is to press enter.
   Also made some minor internal changes not worth recording.
   Rewrote the document files using a 68 column wrap instead of the
former 80 to make the text easier to read and handle. Added the list
of files in each package to the documentations.

Mon 21-Sep-92: Update garbo.uwasa.fi:/pc/ts/tslin33b.zip of my
Linear Programming and Linear Goal Programming user-friendly
solution package.
   Version 3.3b: Since version 3.2 the input and output file names
can be optionally given as parameters in the program call, e.g.
      LINSOLVE /ic:\ordat\lptask.dat /of:\tmp
This option has  been improved.  The "prefilled"  name (e.g.
c:\ordat\lptask.dat) will now automatically appear on the input line
without the need of pressing the cursor up key. All you need to do
is to press enter.
   Also made some minor internal changes not worth recording.

Sun 20-Sep-92: I have again updated my collection of useful batch
files and batch tricks. It is now garbo.uwasa.fi:/pc/ts/tsbat38.zip.
   WEEKLY.BAT "Run program(s) once a week" is a new batch in my
collection. If you want to run a program once a week when you reboot
your computer, put
  CALL WEEKLY Weekday YourApplicationName [Param1] [Param2] [...]
in your autoexec.bat file. Only one application, or one set of
applications, can be run on the same weekday with this batch. The
application can be a different one for each weekday.
Examples: CALL WEEKLY Mon YourApplication
          CALL WEEKLY Tue echo Time to back up^G^G^G
          CALL WEEKLY Fri call YourBatchOfManyPrograms
No auxiliary programs outside the normal MsDos commands have been
used in WEEKLY.BAT. Not easy, but it can be done.
   DAILY.BAT "Run a program only once a day" which you call call
from your autoexec.bat relies on the MsDos external FC command. The
output of this command has been rewritten in MsDos 5.0. DAILY.BAT
did therefore not work for MsDos version 5.0.  I have consequently
rewritten DAILY.BAT to comply also with the MsDos 5.0 version. A
similar amendment has been done to VIRUS.BAT "Another batch-based
virus test".
   BOOT.BAT "Choose your boot configuration" now utilizes nu
NOBOOT.EXE from garbo.uwasa.fi:/pc/ts/tstsr12.zip (or whichever is
the current version number) if it is available. This is to prevent
the user from accidentally being too hasty about rebooting while the
batch is still running.
   LASTBOOT.BAT "Show date + time of previos boot" streamlined to
show just the date and time without the confusion of referring to
the previous boot with "Current date is" which MsDos date (and time)
produce.
   PROMPT.TXT "Tips on prompt usages with ansi" has some additional
information on key redefinitions.
   BATRICKS.TXT added the following new items:
19. Utilizing the subst command in paths
20. How to run a batch once a week (testing for the weekday)
   Some other, minor amendments.

Sun 20-Sep-92: In my Turbo Pascal units there is a number of
editable readln substitutes:
 TSUNTF: (uses Dos, Crt)
  EDRDLN   Readln with line-editing potential (the simplest)
  EDREABLN Edreadln with ctrl-c and break trapping
  EDREADLN Editable Readln with recall, and insert toggle
I have written alternative versions of these routines which can take
a PrefillString as the default input string, so the user has an
option of just pressing enter, and default is selected.
  EDRDEBLN Editable Readln with ctrl-c, break trapping, pre-fill etc
  EDRDEFLN Editable Readln with recall, pre-fill, and insert toggle
The suggestion to make this enhancement came from Darrell Davis
davisd@ziavms.enmu.edu. My thanks to Darrell for his useful
suggestion.
 garbo.uwasa.fi:/pc/ts/tspa3040.zip
 garbo.uwasa.fi:/pc/ts/tspa3050.zip
 garbo.uwasa.fi:/pc/ts/tspa3055.zip
 garbo.uwasa.fi:/pc/ts/tspa3060.zip

Sat 19-Sep-92: Updated my answers to Frequently Asked Questions. It
is now garbo.uwasa.fi:/pc/ts/tsfaq30.zip. This is a working update
with no major additions.

Sun 13-Sep-92: I have released an update of my fourth package of
utilities making it garbo.uwasa.fi:/pc/ts/tsutld20.zip.
   I have a laptop-oriented TSR (terminate and stay resident)
program BIGCURS.EXE to make the cursor a block so that is is better
visible. It now can sense whether it already has been loaded so that
the user cannot accidentally load it twice.
   I have rewritten the optional batch ADJCURS.BAT which can be used
to load and unload my cursor programs. The batch senses whether the
user has MsDos 5.0 and in that case loads BIGCURS high with loadhi.
If not then the batch loads it low. Also the tests in ADJCURS to
verify that the necessary programs are available has been totally
rewritten. It is now sufficient for ADJCURS that the programs are at
in the current directory or at path. (ADJCURS draws the ideas from
my batchtricks in /pc/ts/tsbat37.zip or whichever is the current
version number). Note that if you use ADJCURS you need auxiliary
programs from /pc/ts/tsutil35.zip and /pc/memutil/tsrcom34.zip (or
whichever are the current version numbers).
   I have a SWITCHAR.EXE program for Unix freaks to toggle the MsDos
switch character between / and - although using the - can cause
problems with some applications. The undocumented MsDos interrupt
which drives the program has no effect in MsDos 5.0.  I have added a
test for the MsDos version into SWITCHAR so that it won't even try
when MsDos 5.0 is encountered.

Fri 11-Sep-92: Wrote a program to set the serial number of a disk.
Starting from the MsDos version 4, format puts a random serial
number on the disk.  For example you might have 2D0D-13C9.  With
SETSER.EXE you can decide yourself what you want this two part nine
character hexadecimal serial number to be.  Or you can randomize a
new serial number without having to reformat the disk.  This program
is within a new package from me garbo.uwasa.fi:/pc/ts/ts5dos10.zip.
At the moment SETVER.EXE is the only program within the package.
   The program utilizes the routines from my collection of TPU units
for Turbo Pascal, garbo.uwasa.fi:/pc/ts/tspa29*.zip where * = 40,
50, 55, 60.

Sun 30-Aug-1992: I have updated my collection of useful batch files
and batch tricks. It is now
       88457 Aug 30 1992 garbo.uwasa.fi:/pc/ts//tsbat37.zip
   BATRICKS.TXT "Assorted batch tricks" now also explains how to
extract the extension from a file name, how to prevent breaking a
batch, how to avoid auxiliary batches, and much more.
   PUSHDIRE.BAT "Non-resident push directory" has been totally
rewritten and is now self-contained. The external auxiliary program
SETPUSHD.EXE is no longer needed, and has been omitted from the
collection. The companion program POPDIRE.BAT has been brought up to
date. Both the batches can take an /s (show) switch. See the remarks
within the batches for more information.
   DELPATH.BAT "Delete a directory from the path" has been rewritten
so that it creates the auxiliary file that it needs as a temporary
file. Thus SETVAR.BAT is not longer needed in beforehand and has
been eliminated from the collection.
   UNPACK.BAT "Unpack-test-view any archivetype" does not need, nor
allow an extension in the archive name because it know how to detect
the type of the archive. The batch now first checks that the user
has not mistakenly given an extension. UNPACK.BAT also treats the
other error situations in a more informative manner than before.
   D.BAT "Directory with sort & wildsearch" uses implicit wildcards
to match anywhere in the file name(s). The batch now checks that the
users soes not enter explicit wildcards to D.BAT.
   LOCATE.BAT "Wildcard file find". Added an optional /p paging
switch. Clarified the instructions.
   WILD.BAT "Wilcard any command". Corrected the simple case of no
command given to wild.bat to jump out.
   ARC2ZIP.BAT "Single .arc to .zip with comment" has been rewritten
to check more closely to correct input format. Likewise the renamed
ZOO2ZIP.BAT and EXE2ZIP.BAT. ARC2ZIP.BAT is now harddisk oriented
like the two otehrs, since working on floppies can be now considered
rare.
   Some other minor changes and rewrites of the batches and their
documentation. (The batches are self-documenting.)

Wed 26-Aug-92: Updated my Turbo Pascal units collection. It is now
 garbo.uwasa.fi:/pc/ts/tspa29*.zip
where * = 40,50,55,60.
 94246 Aug 26 23:18 garbo.uwasa.fi:/pc/ts/tspa2940.zip
 96009 Aug 26 23:20 garbo.uwasa.fi:/pc/ts/tspa2950.zip
 98101 Aug 26 23:20 garbo.uwasa.fi:/pc/ts/tspa2955.zip
 98264 Aug 26 23:21 garbo.uwasa.fi:/pc/ts/tspa2960.zip
   Bug fixed (hopefully) the ISDIRFN "Is a name a directory or not"
function in TSUNTJ unit. My thanks are due to Richard (Ricki) Breuer
ricki@rwthi3.informatik.rwth-aachen.de for alerting me to the
problem.
   In the process we noticed a rather undesirable feature of DRDOS.
All my units are written for MsDos (command.com). The alternative
command interpreters like DRDOS and 4DOS can cause incompatibilities
since some of Turbo Pascal's routines (like IOResult) utilize the
values the system returns. There is nothing I can do about
incompatibilities like this, and it is a coincidence that we even
noticed, since I do not run 4DOS or DRDOS. Anyway, ISDIRFN eill not
work as expected if you are using DRDOS. I do not know about 4DOS.
   SETENV "Set a parent environment variable (variable=value)" in
the TSUNTENV unit now accepts cases like TARGET=A B C (formerly the
it was cut at the spaces).  Also this suggestion is to to Ricki. Be
careful.  Trailing white spaces and other invisible characters you
might put in there are included. Thus "TARGET=A" and "TARGET=A " are
not the same thing.
   Started a new 4.0+ specific unit TSUNTK. It contains the
following routines.
  BOOTDRFN Get boot device name (MsDos 4.0+)
  GETSERFN Get disk's serial number (MsDos 4.0+)
  GETVOLFN Special get disk volume label (MsDos 4.0+)
  SETSER   Set floppy's serial number (MsDos 4.0+)
The first, that is BOOTDRFN was transferred from the TSUNTH unit.
The others are brand new. I got the idea to get and set the disk
serial number from PC-Magazine (July 1992, Vol. 11, No. 13, p. 496)
which published TP 6.0 specific code for these tasks. Since my own
TP units are more general, that is for all the current MsDos TP
versions starting from TP 4.0, I decided to write routines of my own
for these tasks. But the users interested in a source code may wish
to look at the article.  (I did not bother to test whether the
PC-Magazine code works, but I don't see why not). I got interested
because I now use MsDos 5.0 in addition to 3.30 and 3.21 (and the
aggravating 4.01).
   Added HEXLNGFN "Convert hexadecimal string to decimal longint up
to 7FFFFFFF" to the conversion unit TSUNTB because TSUNTK internally
needs this conversion in accessing the disk serial number.
   Added to TSUNTE the following elementary routines, just because I
occasionally happen to need them myself.
  LABELFN  Get a disk's volume label (not for TP 4.0)
  DEFDRVFN Get the default drive
   Finally added HIBACK to TSUNTC to enable high intensity
background colors instead of enabling blinking text. The appropriate
interrupt was pointed out by Bob Beauchaine bobb@vice.ICO.TEC.COM on
the UseNet news in comp.lang.pascal. The routine requires an EGA,
MCGA, or a VGA.

Sun 16-Aug-92: Every now and then anyone who has much to do with
computers needs a quick program to convert a number or a range of
numbers from one base to another. My new BASE.EXE does just that.
The usage is simple: BASE FromBase ToBase Number [LastNumber]. The
file in contained in a new garbo.uwasa.fi:/pc/ts/tsbase10.zip
package.
  The package also contains BC.EXE which performs calculations for
numbers in non-decimal bases.  The operations include + - * div mod
and or.

Thu 6-Aug-92: I have updated my collection of useful batch files and
batch tricks.  It is now
 88069 Aug 7 02:16 garbo.uwasa.fi:/pc/ts/tsbat36.zip.
Among the updates and enhancements are
   C.BAT "Lazy changing of a directory" has been enhanced. The basic
idea is that if you are tired of typing the backslash (\), C.BAT
lets you use an easier syntax.  For example if you have a directory
on the current drive called \text\jokes\stupid you can apply the
form "c text jokes stupid" without needing the backslash. If you
type c alone, it takes you to the root directory. Now C.BAT can
handle drives too, and at one go at that. For example of you are on
the C: drive and your directory is on D: you can apply
                c d: text jokes stupid
The beauty of the system is that the "d:" is optional, that is the
batch can identify whether the first parameter indicates a drive or
not.
   BATRICKS.BAT is a new addition. It covers assorted batch tricks
from the batches in the TSBAT collection, and also a number
additional tricks that are not covered in the in the actual batches.
   BOOT.BAT "Choose your boot configuration" now sounds a warning
bell if you choose an unexisting boot configuration. My own
selection new has four alternative boots, but you can easily adjust
to yours. To logic is rather straight-forward. Also a couple of
typos in the rem comments have been corrected.
   PROMPT.TXT "Tips on prompt usages with ansi" has some new
clarifications.
   SCANZ.BAT "Scan for viruses (incl. execomp)" has been brought up
to date.
   VAASA.INF "Info: Finland, Vaasa, U of Vaasa, our faculty, Timo"
has been updated. This file is included in most of my program
packages.
   There are several minor adjustments in some of the other items.

Sat 20-Jun-92: I recently acquired a HP Desk Jet 500 printer at home
and have programmed a menu driven system SETHP.EXE to set the
printer. It is available in my updated garbo.uwasa.fi:/pc/ts/
tsprn16.zip printer program collection.

Sat 13-Jun-92: Updated my Turbo Pascal units collection. It is now
 garbo.uwasa.fi:/pc/ts/tspa28*.zip
where * = 40,50,55,60.
Added to TSUNTG unit
  GETESCAN Get scancode of key pressed, enhanced keyboard.
  GETSCAN  Get scancode of key pressed, XT keyboard.
The TSUNTENV unit already had
  SETENV   Set a parent environment variable (variable=value).
but this takes effect only after the program has been completed.
Added an alternative which takes effect immediately, but is
temporary
  SETENVSH Set an environment variable for the duration of shelling.
One of the handy uses of SETENVSH is that you can temporarily change
the prompt to indicate that you are shelled out of a program so that
you are less likely to forget to type exit. See TSUNTG.TST for how
to use this feature.

Sat 13-Jun-92: An update garbo.uwasa.fi:/pc/ts/tsfaq29.zip of the
collection of my Frequently Asked Questions for UseNet news
newcomers, FTP users, MsDos shareware and PD program users, and
Turbo Pascal programmers. Most importantly I have added information
on archie servers kindly provided to me Adam Thompson, and I have
corrected my error in describing the alt.sources UseNet newsgroup.

Sat 6-Jun-92: I have updated to garbo.uwasa.fi:/pc/ts/tsutle18.zip
as follows. I have written a new SETVIDEO.EXE program for setting
the CRT video mode. This program in fact originates from my own need
to set the 132x43 text mode for (MsKermit) terminal emulation in
order to read wide screens when connected to main frames like the
Vaasa University garbo.uwasa.fi and chyde.uwasa.fi.
   It is easy to set the 40x25 in Turbo Pascal by applying
TextMode(C40). Likewise it is fairly trivial to set the 80x43/50
text mode by applying TextMode (C80 + font8x8). But I initially had
difficulties in finding out how to set the 132 text modes until
David R. Conrad (David_Conrad@mts.cc.wayne.edu) kindly informed me
that the interrupt 10hex function 00hex can be used for this purpose
too. The way it goes is that the standard defines video modes from
00hex to 13hex, but in fact there are many more modes which depend
on the particular video adapter card. This information can be found
in Ralf Brown's list of interrupts INTERRUP.A in inter30a.zip
(located in the /pc/programming directory at garbo.uwasa.fi).
    The problem is that the sifferent video adapter cards have
different defaults for the beyond 13hex video modes. I have used the
following solution. You give the video mode as a hex parameter to
SETVIDEO.EXE rather than choose from a menu of preset video modes.
The values to give for the different video adapter cards can be
found in the said INTERRUP.A information file if you look at INT
10h, function 00h. There is a very long list in there. For my own
386s the text modes are
 $00 =  40x25    $01 =  40x25    $02 =  80x25    $03 =  80x25
 $50 =  80x30    $51 =  80x43    $52 = 132x25    $53 = 132x25
 $54 = 132x30    $55 = 132x43    $56 = 132x60

Tue 26-May-92: I have again updated the collection of my Frequently
Asked Questions for UseNet news newcomers, FTP users, MsDos
shareware and PD program users, and Turbo Pascal programmers. It is
available as 112238 May 26 12:03 garbo.uwasa.fi:/pc/ts/tsfaq28.zip.

Wed 20-May-92: I have programmed two educational games involving
national flags. A quiz of national flags, and as a by-product, a
memory game of pairing turned flags. I have updated these games and
release the update as garbo.uwasa.fi:/pc/ts/tsgmed12.zip. I have
added new flags to reflect the changes brought by the recent world
events. The new flags include flags from the Commonwealth of
Independent States such as Russia, Ukraine, Byelorussia and so on.
   I have not, however, reflected the events in the Balkan region
since the picture is still forming. My flag games are devoid of any
political connotations. The (old?) Yugoslav flag is retained for the
time being in these games, since whatever happens at least it is
part of world history just like the flag of the Soviet Union
(although the latter does not feature in the games).
   I have added some common flags that were missing. These added
flags are those of Great Britain, Australia, New Zealand, Canada,
Brazil. This brings the total number of flags to en even 100.
   I usually try to avoid hype my own programs, but I wish to say
that I am fairly pleased with my flag games. They both are nicely
educational for children and adults alike, and they are pleasantly
colorful. Furthermore they made a reasonably challenging graphics
programming task. These games have brought me most of the feedback
(positive, I am pleased to say) that I have received from the gentle
users on my games programs.
   An Ega color video adapter is a necessary minimum for playing
these games.
   A tip: I you dont like to play, but would like to study the
flags, use FLAGQUIZ /d. The flags are displayed to you in an
alphabetical order. The alphabetical order is new feature in
FLAGQUIZ. I have this option because some users like me may
appreciate games in general, but do not have the time or the
inclination to play.

Sun 3-May-92: I have updated the collection of my Frequently Asked
Questions for UseNet news newcomers, FTP users, MsDos shareware and
PD program users, and Turbo Pascal programmers. It is available as
garbo.uwasa.fi:/pc/ts/tsfaq27b.zip. This is a maintenance update
bringing quite a few items up to the current status. No new items
have been added, but there are some useful new pointers in the old
items.

Sat 18-Apr-92: I have updated my collection of QEdit editor macros
and key definitions to be garbo.uwasa.fi:/pc/ts/tsqed16.zip. I added
one macro to scroll the text in two windows up or down in
synchronization. Like for the rest of the macros the need for it
came out of practice. To use these macros you naturally must be
using SemWare's QEdit shareware editor, version 2.10 or later. It is
available as garbo.uwasa.fi:/pc/editor/qedit215.zip. You will also
need the macro translator garbo.uwasa.fi:/pc/editor/qmac215.zip.

Tue 14-Apr-92: I have updated my collection of useful batch files
and tricks making it garbo.uwasa.fi:/pc/ts/tsbat35.zip.
   Sometimes there are situations where a batch file needs to call
another in order to perform its task. There is a genuinely clever
trick in Wolverton & Gooking, Supercharging MsDos, Microsoft Press,
1991, p. 102 to circumvent the need of having a separate batch by
making a batch call itself. I have modified the solution a bit and
rewritten my SAFEDEL.BAT (safe delete of files) so that it no longer
needs the auxiliary SAFEDEL1.BAT batch.
   Likewise the SHOW.BAT (wildcard multifile type command) has been
updated and the auxiliary file SHOW1.BAT has been deleted.
   The same book shows how to push the current directory without the
need of resident programs, auxiliary executables, or environment
variables. On the other hand this is less general than my
PUSHDIRE.BAT which uses an auxiliary executable and environment
variables. PUSHIT.BAT based on the idea from Wolverton & Gooking
does not work between different drives.  It have added this file to
tsbat35.zip along with its auxiliary text file CD.AUX.

Sat 28-Mar-92: I have updated my TODAY.EXE.  It is a utility that
shows your files that have been created today (have their date stamp
today). It optionally shows your files that have been created nn
days back (exactly nn days, or since, as you choose) also traversing
(optionally) all the subdirectories. There was a directory mask
error kindly reported to me by landers@ibm150.mgmt.purdue.edu
(Christopher Landers). Thanks, user feedback is welcome and useful.
TODAY now correctly handles masks like TODAY . and TODAY D: also
when used from another drive like C:. TODAY.EXE is part of my
consequently updated garbo.uwasa.fi:/pc/ts/tsutld19.zip package.

Sat 28-Mar-92: Updated my collection of QEdit editor macros and
utilities. It is now garbo.uwasa.fi:/pc/ts/tsqed15.zip. I added the
rot13.qma macro to rotate and unrotate a block of text.  Rot13
rotation is often used as an elementary encryption technique for
public but somehow sensitive texts.

Sat 28-Mar-92: I have updated my third filter collection making it
garbo.uwasa.fi:/pc/ts/tsfltc13.zip by adding ROT13.EXE which rotates
ascii text by 13 positions. This is often used as an elementary
encryption technique for public but somehow sensitive texts.
ROT13.EXE works both ways because the method is transitive.  It
rotates unrotated text and unrotates rotated text. My version of
ROT13.EXE is "clever" in the sense that it can detect redirection,
and thus if you don't direct any input to it, it will give you the
instructions.

Sat 21-Mar-92: Updated garbo.uwasa.fi:/pc/ts/vaasa2.inf which gives
some history of the University of Vaasa.

Sat 21-Mar-92: Updated TOUCH.EXE for altering the date stamps of
files. The month can now be also given as a three letters. Thus
examples of acceptable dates include 21-3-92 21-Mar-92 21/03/1992
21.3.92 today oldate and /fReferenceFile. This file is part of the
thus updated garbo.uwasa.fi:/pc/ts/tsutlb20.zip utility collection.

Sat 21-Mar-92: I have updated my CMOS.EXE program which displays
information from your battery backupped CMOS memory.
 - Made the CMOS clock display continuous.
 - Omitted the weekday information because it has turned out to be
   volatile.
 - Added the display of whether a math coprocessor is installed
   according to the CMOS configuration information.
I have consequently released an updated version of my fifth utility
collection. It is now garbo.uwasa.fi:/pc/ts/tsutle17.zip.

Sat 21-Mar-92: I have updated my collection of useful batch files
and tricks making it garbo.uwasa.fi:/pc/ts/tsbat34.zip.
 - Added EXE2ZIP for converting self-extracting archives into
   zippped archives. Requires that you have PKZIP.EXE and dive R:
   available. I have ramdisk on drive R:, and if you do not you have
   to either customize the batch or use a suitable drive
   substitution like SUBST R: C:\
 - Updated REZIP.BAT which removes authenticity -AV labels for
   zippped archives. (Such a batch is useful, since PKWare's
   authenticity code was broken and some BBSes put in their own -AV
   labels). If errors are reported by pkzip, the user is asked for
   whether s/he wants to go on nevertheless.
 - Added a WILD.BAT to perform wildcarded operations with commands
   which ordinarily do not allow wildcards. Example of WILD.BAT
   usage: WILD *.txt type. The idea for my own version comes a from
   a note in a Finnish computer journal (Mikro PC, March 1992, Aimo
   Matikainen).

Sat 21-Mar-92: I have updated my collection of puns, and it is now
garbo.uwasa.fi:/pc/ts/tspun11.zip.

Mon 16-Mar-92: I am often asked for information about Finland,
Vaasa, University of Vaasa, our faculty, and even about myself.  I
have updated garbo.uwasa.fi:/pc/ts/vaasa.inf which contains such
information.  The said file is also included in the new tsfaq27.zip
release of my Frequently Asked Questions which I just announced.

Sun 15-Mar-92: I have updated the collection of my Frequently Asked
Questions for UseNet news newcomers, FTP users, MsDos shareware and
PD program users, and Turbo Pascal programmers. It is available as
garbo.uwasa.fi:/pc/ts/tsfaq27.zip.
   I have added two new files UPLOAD.INF and UPTEXT.INF which give
information on how to upload to garbo.uwasa.fi MsDos archives, and
how to write the upload announcement.
   There is one new item in the Turbo Pascal section (storing and
restoring the screen).
   I have updated the VAASA.INF file giving information about
Finland, Vaasa, University of Vaasa, our faculty, and yours truly.
   I have made some updating of a few of the old items.

Mon 2-Mar-92: The modern PCs have a battery backupped CMOS memory
which includes the backed-up clock to store the date and the time,
and configuration information. This battery usually lasts for
several years, but eventually it will loose power. The current
(pardon the pun) state of the battery can be checked by programming
since as long as the battery is giving power is a certain bit in
CMOS memory is on, and if the battery looses power the bit will be
off. I have written a program CMOSALAR.EXE to read this bit. If the
battery bit is off, an alarm will be sounded. One option is to put
it in your autoexec.bat where it will act as a sentinel for you.
   Another similar program added is CMOS.EXE which displays
information from your battery backupped CMOS memory. A color video
adapter, and at least an AT PC is required.
   CMOSALAR.EXE and CMOS.EXE are part of my hence updated fifth
utility collection garbo.uwasa.fi:/pc/ts/tsutle16.zip. The other
three programs in the package are
 MSPLIT.EXE      Split Unix elm email messages, for UseNet users
 PESTIKID.EXE    Keep your computer to yourself, lock keyboard
 TDEL.EXE        Timo's safe recursive delete for files & dirs
PESTIKID.EXE has a small, invisible correction.  The other two have
not been changed.

Sat 22-Feb-92: I have updated my collection of useful batch files
making it garbo.uwasa.fi:/pc/ts/tsbat33.zip:
 - Added PROMPT.TXT tips on prompt usages with ansi.
 - Added REPLY.BAT to demonstrate how batch files can after all
   accept input without any auxiliary programs (like the common
   ask.exe). This is not a widely know trick, although I cannot
   claim true originality. It utilizes environment variables, and is
   somewhat awkward, but shows that it can be done.
Get this package even if you do not need the specific batches. There
is much to learn from them about MsDos and batch usages. Many
Frequently Asked MsDos Questions (FAQs) are implicitly answered by
looking at these files. The sometimes spurned MsDos batches are much
more powerful and flexible than usually believed. But you have to
know how to get the best mileage out of them.

Mon 17-Feb-92: I have updated the collection of my Frequently Asked
Questions for UseNet news newcomers, FTP users, MsDos shareware and
PD program users, and Turbo Pascal programmers. It is available as
garbo.uwasa.fi:/pc/ts/tsfaq26.zip. I have updated some of the items
and added two items to the Turbo Pascal section.
   If you find this collection interesting, there is more, mostly
garbo.uwasa.fi MsDos archive site related material in
/pc/pd2/post*.txt files (* = 01,...,07 currently).

Sun 9-Feb-92: If you happened to like 75890 Feb 4 23:23
garbo.uwasa.fi:/pc/ts/tsbat32.zip there is an interesting
enhancement by ilya@math.mit.edu to UNPACK.BAT for unpacking,
viewing, or testing any archive type (.arc, .zip, .zoo etc).
 Enhancements:
 1. The first parameter can be an option
 2. The extensions are allowed (look into the trick, I have never
    seen it elsewhere)
 3. Any amount of environment is allowed (Yes, today I debugged this
    part)
 4. Wildcards allowed! unpack /v *
Ilya's version is available in the garbo.uwasa.fi:/pc/pd2/post07.txt
garbo feedback and information file.

Sat 8-Feb-92: I have updated my Turbo Pascal units collection to be
 garbo.uwasa.fi:/pc/ts/tspa2740.zip
 garbo.uwasa.fi:/pc/ts/tspa2750.zip
 garbo.uwasa.fi:/pc/ts/tspa2755.zip
 garbo.uwasa.fi:/pc/ts/tspa2760.zip
This time I have introduced (parent) environment related routines in
a new TSUNTENV.TPU unit
  ENVSIZFN Get the size of the parent environment
  ENVUSEFN Get the current use of the parent environment
  ENVADDFN Get the starting segment address of the parent environment
  SETENV   Set a parent environment variable (as MsDos SET var=value)
  SHOWENV  Write the parent environment table on stdout (for testing)
Setting a parent environment varaible from within a Turbo Pascal
program can be considered reasonably advanced programming I guess,
and I cannot be absolutely sure that I got it right. But here goes
anyway. The key to the task is obtaining the starting address of the
parent environment, and knowing that the format of the parent
environment table in memory is
      name=value1<nul>name=value2<nul>...name=valueN<nul><nul>.
PC Magazine Vol. 11, No. 1, pp. 425-427 has useful code which can be
adapted to find out the relevant segment address. Should you look at
that article, the crucial variable to get at in there is EnvSeg. The
rest then follows. What a delightfully complicated challenge.
   Oh yes, since I know that some users will be asking for the
source code. I am happy to share this reference, and make my .TPU
collection publicly available, but I have chosen not to distribute
by source codes.
   In fact I have not added the unit to the tspas2740.zip TP 4.0
version TPUs, but I have updated it nevertheless to avoid confusion
with the version numbers.

Tue 4-Feb-92: I have again updated my collection of useful batch
files. It is now garbo.uwasa.fi:/pc/ts/tsbat32.zip. Some of the
batches do not allow wildcards in file names given to them as
parameters. There was a clever for-loop trick in the PC Magazine Vol
11 No 1 on page 364 to check whether the file name is wildcarded.
Even if innovative the PC Magazine's solution uses unnecessarily an
environment variable for the cheking. But the article got me
thinking that I should find a better solution and put in a check for
wildcards to warn the user in those of my bacthes which do not allow
wildcards. Consequently I have updated the following batches in my
collection:
 ARC2ZIP.BAT     Single .arc to .zip with comment
 REZIP.BAT       Remove zip authenticity labels
 UNPACK.BAT      Unpack-test-view any archivetype
 ZOO2ZIPH.BAT    Single .zoo to .zip on harddisk

Sat 1-Feb-92: I have updated my average speed & time calculator
JOG.EXE. A user (Hamish Whittal cchw@hippo.ru.ac.za) suggested that
the one kilometer intervalling option is insufficient. I have
consequently extended the usage to be
 JOG DistanceKm Time [ComparisonDistance] [/i[IntervalMeters]]
                 include Interval schedule -+
The jog program is part of me hence updated package
garbo.uwasa.fi:/pc/ts/tsjog13.zip.

Thu 30-Jan-92: I have updated to garbo.uwasa.fi:/pc/ts/tsfltc12.zip.
It is a futher collection of my filters that you can customize
yourself. The filter DETAB.EXE for filtering tabs now has the
following enhancements:
- A new optional keep switch (/k) to make the date/time stamp of the
  destination file the same as that of the source text file.
- To allow the source text file and the destination file be the
  same. In other words the programs can now make the conversion
  without forcing you to produce new files with names different from
  the original.
- The programs first test whether the source file is a proper text
  file with MsDos #13#10 eolns, no special characters (#0..#6, #8,
  #11, #14..#25, #28..#31), and no lines exceeding 254 characters in
  length. If not the conversion will not be attempted.

Thu 30-Jan-92: I have updated to garbo.uwasa.fi:/pc/ts/tsfltb15.zip.
It is a collection of filters that you can customize yourself. The
filter FILTXT.EXE for text files and FILBIN.EXE for binary files now
have the following enhancements:
- A new optional keep switch (/k) to make the date/time stamp of the
  destination file the same as that of the source text file.
- To allow the source text file and the destination file be the
  same. In other words the programs can now make the conversion
  without forcing you to produce new files with names different from
  the original.
- The programs first test whether the source file is a proper text
  file with MsDos #13#10 eolns, no special characters (#0..#6, #8,
  #11, #14..#25, #28..#31), and no lines exceeding 254 characters in
  length. If not the conversion will not be attempted. This
  naturally goes for FILTXT.EXE only.

Wed 29-Jan-92: I have updated to garbo.uwasa.fi:/pc/ts/tsfilt19.zip.
It is a collection of filters for text files. Among others it
includes programs for converting text files from 8-bit ascii to
7-bit ascii with Scandinavian conventions. The programs are
TOASC.EXE and TOASCI.EXE. There is also a Scandinavian conversion
TOIBM.EXE from 7-bit ascii to 8-bit ascii. The fourth update is
LOGFILT.EXE to filter noise from telecommunication log files. These
programs have now the following enhancements:
- A new optional keep switch (/k) to make the date/time stamp of the
  destination file the same as that of the source text file.
- To allow the source text file and the destination file be the
  same. In other words the programs can now make the conversion
  without forcing you to produce new files with names different from
  the original.
- The programs first test whether the source file is a proper text
  file with MsDos #13#10 eolns, no special characters (#0..#6, #8,
  #11, #14..#25, #28..#31), and no lines exceeding 254 characters in
  length. If not the conversion will not be attempted.
Some examples of the current usages:
 TOASC MyText.txt /k                     („ -> }, ” -> |, etc)
 TOASC MyText.txt conv.txt
 TOASC MyText con /m

Sat 25-Jan-92: I have updated my collection of useful batch files.
It is now garbo.uwasa.fi:/pc/ts/tsbat31.zip and contains 49 batch
files. It adds
- boot.bat for convenient selective booting from alternative
  configurations. It is often believed that complicated programs are
  needed for booting with alternative configurations. The boot.bat
  batch shows that this need not be the case at all.
- path.txt to explain how to easily circumvent the 127 character
  limit on the path length.
- showtime.bat to show both the date and the time without the hassle
  of beating enter to death.
- mve.bat to move file(s) to another directory.

Sun 19-Jan-92: I have updated my collection of TSR (Terminate and
Stay Resident) programs to be garbo.uwasa.fi:/pc/ts/tstsr12.zip. I
have added a noboot.exe which turns off the Alt-Ctrl-Del warm boot.
I know that there must be other similar facilities around, perhaps
even much better. Here my point is not only to make one more
available to our downloaders, but I wanted to look at this
reasonably advanced Turbo Pascal programming problem myself. Quite a
plateful.  The program has to replace the old keyboard interrupt
handler to intercept the keystrokes already at the keyboard port,
chain the old keyboard interrupt, check the keyboard buffer status,
assure that the program is not yet loaded to avoid a second copy in
memory, make the program resident in memory, assure a sufficient but
non-bloated stack, etc, etc. I can just hope I got all of it right.
   If you use this, or any other TSR utilities for that matter, you
are well advised to get garbo.uwasa.fi:/pc/memutil/tsrcom33.zip (or
whichever version number is current) memory management tools by
Turbo Power Software.

Sat 18-Jan-92: I have updated my PESTIKID.EXE program which locks
the keyboard (unless the user knows the code to unlock it). The
following features have been added:
- The alt-ctrl-del combination is inactivated for the time the
  program is running.  Thus the pesty user cannot beat PESTIKID.EXE
  by the simple alt-ctrl-del warm boot. The user either has to know
  the unlock code or reset your PC physically.
- There is an optional message that is flashed to the screen if any
  other key is pressed except the unlock code. The message is
  invoked by a new /w (warning word) switch.  You can choose the
  word yourself, or if you just use /w, "Hands off" will be flashed
  as the default.  The flash is given in LightRed on Blue. The
  screen is restored to blank Black after the flash.
- The cursor can be turned off for the duration of the program.  The
  new /c switch is for turning the cursor off.
- Improved a bit the error messages if incorrect parameters are
  given in the program call
PESTIKID.EXE is a part of my consequently updated fifth utility
collection garbo.uwasa.fi:/pc/ts/tsutle15.zip. The other two
programs in the package are
 MSPLIT.EXE Split Unix elm email messages
 TDEL.EXE   Timo's safe recursive delete
but they have not been changed.

Mon 6-Jan-92: I have updated my Turbo Pascal units collection to be
 garbo.uwasa.fi:/pc/ts/tspa2640.zip
 garbo.uwasa.fi:/pc/ts/tspa2650.zip
 garbo.uwasa.fi:/pc/ts/tspa2655.zip
 garbo.uwasa.fi:/pc/ts/tspa2660.zip
by transferring the following routines from TSUNTH.TPU unit to a new
TSUNTJ.TPU unit
  COPYFILE Copy a file from within a Turbo Pascal program
  OPENEDFN Is an assigned textfile still open or not
  ISDIRFN  Is a name a directory or not
  PIPEDIFN Is the standard input from redirection
  PIPEDNFN Is the standard output redirected to nul
  PIPEDOFN Is the standard output redirected
by adding the following routines to TSUNTJ.TPU
  INTRADDR Show the memory address to which the interrupt points
  INTRLOCA Show the memory address where the interrupt is located
and by adding the following routines to TSUNTH.TPU
  ISMOUSFN A simple true/true false test of mouse available
  MOUSTAFN Status (type byte) of the mouse hardware and driver
My thanks are due to Duncan Murdoch in particular who first noted a
potential error in the early version of my mouse functions.
   The first of the sets garbo.uwasa.fi:/pc/ts/tspa2640.zip contains
a compatibility unit TSUNT45.TPU for Turbo Pascal 4.0. It adds
routines that the later versions have, but which are missing in
version 4.0. I have added
  GetVerify Get the status of the MsDos write verify flag
  SetVerify Set the status of the MsDos write verify flag
  GetCBreak Get the state of Ctr-Break checking in DOS
  SetCBreak Set state of Ctr-Break checking in DOS

Sun 5-Jan-92: I have updated the collection of my Frequently Asked
Questions for UseNet news newcomers, FTP users, MsDos shareware and
PD program users, and Turbo Pascal programmers. It is available as
garbo.uwasa.fi:/pc/ts/tsfaq25.zip.  The collection is already so
large that I have only added one new item (it concerns the columns
width of news postings). I have also updated and rewritten some of
the items.
   Especially if you are new to comp.binaries.ibm.pc.archives,
news.newusers.questions, and/or comp.lang.pascal I trust that you
will benefit from this collection.
   If you find this collection interesting, there is more, mostly
garbo.uwasa.fi MsDos archive site related material in
/pc/pd2/post##.txt files (## = 01,...,06 currently).

Wed 1-Jan-92: Updated my collection of QEdit editor macros and
utilities to be garbo.uwasa.fi:/pc/ts/tsqed14.zip.  This is a minor
update that corrects a bug in the DATE.QMA macro for inserting the
date with the month given as letters instead of numbers.  The macro
confused the month and the day number for certain dates.

Wed 1-Jan-92: The 1991's garbo.uwasa.fi news concerning the files in
the /pc/ts directory (the directory of Timo Salmi's packages) has
been moved to 0news91.ts.