home *** CD-ROM | disk | FTP | other *** search
- Command-line diagnostic CHECKSYS.EXE
-
-
- Dan Shearer, Computer Centre, University of South Australia
- Comments and bug reports to: ccdps@lux.levels.unisa.edu.au
-
- Version 1.36 released to the public domain 20th May, 1992.
-
-
- Overview
- ---------
-
- CHECKSYS is a command-line diagnostic program which either gives a short
- description of a whole PC system, or returns a one-line description and
- gives an errorlevel when asked about one aspect of the system.
- The primary intention is for it to be used to determine system configuration
- and driver status from batch files. It can also be handy when wanting a
- quick idea of what a machine has during a system debugging session
- without starting up a complicated package and poking around menus.
-
-
- Reasoning Behind CHECKSYS
- -------------------------
-
- We have a very mixed hardware environment at UniSA, but like to have
- generic batch files on the LAN. In our batch file that starts up Windows,
- for instance, we have several CHECKSYS calls to determine what mode
- Windows should be run in and what hardware drivers are needed, and also
- to check and see if Windows is already running.
-
-
- How it Works and Acknowledgements
- ---------------------------------
-
- It is a collection of routines that I have put together in Turbo Pascal
- 6.0, with assembler routines to check for CPU and FPU. All the detection
- calls are in a self-contained TP unit, and I would be willing to release
- this to the public domain as well if there was a call for it.
-
- The commandline switch checking code in CHECKSYS is with the kind permission
- of Rocky Stone, also of UniSA. Gary Oxton (once a UniSA student) wrote
- the basis of the CPU-detection assembler I have used for his final-year
- Computer Studies project. I have learnt about checking for memory types
- from the InfoPlus source code, by Andrew Rossman and Steve Grant, and
- used their LongCall assembler function, which overcomes a shonky feature
- of Turbo Pascal 6.0.
-
- Ralf Brown's interrupt list is, of course, absolutely essential.
-
-
- Syntax
- ------
-
- CHECKSYS [/switches]
- where switches and corresponding actions are:
- /ALL Displays the messages for all tests and returns errorlevel 0
- /CPU returns errorlevel 0-8 in order for:
- 8088, 8086, V20, V30, 80188, 80186, Unknown, 80286, 80386
- /EMM returns errorlevel 1 if EMM driver installed, 0 if not
- /FTP returns 1 if packet driver responding else 0 if not installed
- /KBD returns errorlevel 1 if extended keyboard installed, 0 if not
- /MOUSE returns 0 for no mouse driver else number of buttons
- /NETBIOS returns errorlevel 1 if NetBIOS responding, 0 otherwise
- /PAR returns number of parallel ports recognised by BIOS
- /SER returns number of serial ports recognised by BIOS
- /VID returns 1-10 in order for:
- CGA, MCGA, EGA, EGA64, EGAMon, 8514, HercMon, ATT400, VGA, PC3270
- /WIN returns 0-3 in order for:
- No Windows, Win/386 2.x, Win 3.0 (/R or /S), Win 3.x (/3)
- /XMS returns 2 for XMS & HMA avail, 1 for XMS but no HMA, 0 for no XMS
- /87 returns 0-3 in order for: None, 8087, 80287, 80387
-
- Each test also displays a detailed message to standard output.
- Switches can be abbreviated to 1 letter. Errorlevel 99 for syntax error.
-
-
-
- Examples:
-
- CHECKSYS displays the above help message
- CHECKSYS /ALL displays detailed results of all tests
- CHECKSYS /MOUSE displays detailed info about the mouse, and
- returns errorlevels 0 for not present, 2 for two
- button mouse present or 3 for three button mouse.
-
-
- Bugs
- ----
-
- BIOS check for printer and comms ports is often not accurate. Could add
- some better checks.
-
- The FPU check gives a silly result when used on a NEC V20 chip with an
- Intel 8087 installed
-
- Doesn't test for Weitek FPU
-
- Doesn't distinguish OS/2 dos-boxes from Windows dos-boxes
-
- Doesn't test for various network cards
-
- Doesn't test for game port
-
- Doesn't give video chipset particulars (might be useful for running
- Windows with specific screen drivers)
-
- Doesn't detect sound cards
-
- Could possibly have a TSR check, ie syntax like:
-
- CHECKSYS <unique TSR signature> [<optional range of interrupts>]
-
-