CLAY'S HAND-ASSEMBLED UTILIITIES -------------------------------- This file is a continuation of the README.TXT file. See README.TXT for the copyright notice and license agreement. The following utility programs were hand-assembled using DEBUG: HIDE.COM and UNHIDE.COM: ----------------------- This is the easy way to hide and unhide files and directories! Syntax: HIDE filespec or UNHIDE filespec Filespec may contain wildcards for processing of multiple files. HIDE sets the "hidden" attribute without changing any other attributes. UNHIDE clears the "hidden", "system", and "read-only" flags, effectively unprotecting the file for copying and writing, while leaving other attributes intact. CAUTION: Don't do UNHIDE *.* in the root directory of C:. You'll unprotect the hidden, read-only system files IO.SYS and MSDOS.SYS, which can have undesirable consequences for your system. Similar capability is available in DOS 5.0 and higher via the ATTRIB command, but ATTRIB is awkward to use with all of its parameters, and it complains when it can't find the file or is restricted by the status of unspecified attributes. Since HIDE and UNHIDE produce no display under any conditions, you can use them in your batch program without regard for whether or not such a file exists or has various other attributes. SETRO.COM and SETSHR.COM: ------------------------ Like HIDE and UNHIDE, SETRO and SETSHR provide a quick and easy way to set the Read-Only attribute (SETRO) or the System, Hidden, and Read-Only attributes (SETSHR) in your batch files. Syntax: SETRO filespec or SETSHR filespec BIOSVER.COM and VIDVER.COM: -------------------------- These utilities capture the version identification strings from the system BIOS ROMs and the VGA ROM extension, respectively. BIOSVER returns all text strings found in memory segments F000-FFFF that contain both "BIOS" and either "ver" or "(C)". The search for "BIOS" is case-sensitive; when it is found, the string's remaining ASCII characters are checked for any one of the other three literals in a non-case-sensitive mode. Strings that pass both tests are printed to STDOUT, which may be redirected to a file. VIDVER is similar to BIOSVER in concept, but different in the details. The memory segments searched are C000-C7FF (the VGA ROM area), and the returned strings are all those that contain any one of the following: "BIOS", "ver", "(C)", or "Copyr". Again, the search for "BIOS" is case-sensitive and the search for other literals is non-case-sensitive, but any one of the literals will cause the string to be printed to STDOUT ("BIOS" is not a prerequisite for the others). EXTMEM.COM: ---------- This utility reads the CMOS to determine how much extended memory is present on the system. It returns a string formatted as follows: Extended Memory = nnnnnK where nnnnn is replaced by the number of Kbytes found. The first digit is a blank space when the result is less than 10000K. All other digits show as leading zeros when applicable. Common values are 1024K for 1 MB of extended memory (typical for a "2 MB" system), 3072K (typical "4 MB" system), 7168K (typical "8 MB" system), 15360K (typical "16 MB" system), etc. On some PCs, a portion of the 384K "shadow" RAM becomes available as additional extended memory when not used for shadowing; in such cases, slightly higher values are returned (e.g., 3392K on a "4 MB" system that makes 320K of unused shadow RAM available as extended memory). The output is sent to STDOUT, which may be redirected to a file for further interpretation. Heuristic virus scanners may report that this program contains useless code. This is due to the manner in which it provides the needed delay between requesting a value from CMOS and reading the value CMOS returns. It does not reflect a program deficiency or alteration. DAYOFWK.COM: ----------- Returns an errorlevel code corresponding to the current day of week, where 1=Sunday, 2=Monday, etc., through 7=Saturday. Failure results in no error code returned. Visual output reports the errorlevel returned and the day of week (3-character abbreviation); e.g., "3=Tue". This output may be redirected to a file, NUL, or other device. Use DAYOFWK in batch files to control processes that should be performed only on certain days of the week. FIXTIME.COM: ----------- Resets the DOS clock to match the real-time clock. This is handy when certain notebook PCs wake up from suspended operation and still show a DOS time setting from when they were initially suspended. The real-time clock has continued running, but DOS was asleep and doesn't know that any time has passed! A simple FIXTIME command will bring DOS back to reality. This can also be used periodically on systems that run continuously on an extended basis, to correct DOS's inherent time drift. Enjoy! Clay