INFOPLUS Version 1.56 Released to the public domain. By Andrew Rossmann, 12/30/1992 Originally based on Steve Grant's Public Domain SYSID 4.44. Syntax: INFOPLUS [B][D][M][C][F][NP][NV][AP[:filename]][H][?] where: B = Write to screen using BIOS (default under Desqview) D = Write directly to screen memory (default) M = Use monochrome colors (default under MODE BWxx) C = Use normal colors (default) F = Leave 16550 FIFO's enabled NV = Do not perform VGA chipset detection NP = Do not read Partition Table AP = AutoPrint all screens, ask for setup AP:filename = AutoPrint to a file or device H or ? = This help screen ex: INFOPLUS B M NV Run INFOPLUS using BIOS, monochrome colors, no VGA check. A system description for DOS-based PC/XT/AT- and PS/2-class machines. INFOPLUS generates 18 screens of information about the host system and runs under DOS versions 3.0 and later. My primary sources of ideas in INFOPLUS were Ray Duncans "Advanced MS-DOS" and Terry Dettman's "DOS Programmer's Reference." The ideas of Prakash Chandra,Terje Mathisen,Bob Smith, and others appear in various places. Also James Howard, John Levine, Mark Aitchison, Jay Caplan, David Tay, Heribert Eisele, Matthias Heidbrink. Some of the techniques INFOPLUS uses are not documented or officially supported by either IBM or Microsoft. Where possible I have followed the undocumented routine with a comment describing my source for the technique. The following files are included with the runtime program: INFOPLUS.EXE - The main program INFOPLUS.HIS - Changes in each version INFOPLUS.HLP - The help screens INFOPLUS.DOC - This file INFOPLUS.PIF - Windows 3 Program Information File IP-PIF.DVP - Desqview Program Information File INFOPLUS.ICO - Icon for Windows 3 Program Manager PRINTHLP.EXE - Program to print some or all .HLP pages The following files are included with the source code: INFOPLUS.PAS - Main file IFPGLOBL.PAS - Global variables, constants, and types IFPCOMON.PAS - Routines common to many of the pages IFPRUN.PAS - General runtime manager IFPINIT.PAS - Initialization routines PAGE_xx.PAS - Each of the pages IFPEXTRN.PAS - Unit for external routines IFPSCRPT.PAS - Unit for screen printing IFPHELP.PAS - Unit for help screens INFOPLUS.ASM - Assembly language procedures INFOPLUS.OBJ - Assembly routines for linking PRINTHLP.PAS - For printing out the help pages MAKEHELP.PAS - Compiles PAGE_xx.INF files into INFOPLUS.HLP PAGE_xx.INF - Help screen for each page Using INFOPLUS is easy. Just use the PGUP and PGDN keys to move from page to page. HOME and END will move to the first and last pages, respectively. If you hit ENTER, you can then type in the page you want to go to. If you hit ENTER without typing a new page number, it will re-run the current page. Hit ESC to end the program. Some pages won't fit all on one screen, for that you hit the DOWN ARROW key to get more information. Some pages let you hit UP ARROW to review already displayed information. If you want to save a copy of the information on a screen, hit ALT-P. A window will pop up. You can send your output to a File or the Printer. If a File already exists, you can Overwrite it, or Append to it. If your printer does not support the IBM 'graphics' characters (such as line drawing), then choose Normal ASCII. Lastly, you can optionally add an extra header line to the output. You can put anything you want there (up to 255 characters.) The most logical is to put a little information on what computer your using. ie: Betty's Office If you want a full record, start INFOPLUS using the AP option. This will send a copy of every screen to a file or the printer. Before the first page, you will be asked the same questions as for a single page, plus one new one: Number of screens per page. INFOPLUS will place that many screens on a page before issuing a form-feed. If you want everything all together, use 0 to suppress form-feeds. You can hit F1 during screen displays to get a help screen explaining what's being displayed. INFOPLUS looks for the environment variable INFOPLUS, and if found, uses a path given on it to look for INFOPLUS.HLP (INFOPLUS=C:\UTIL). If no environment variable is found, INFOPLUS will look in the current directory, then the same directory as the program was found, then your PATH. If you have trouble with bad colors on the screen, try setting your computer to MODE MONO or MODE BW80 before starting INFOPLUS. INFOPLUS will use a black and white palette if either of these modes are detected. You can also use the M command line switch. (INFOPLUS M) If you are in a 40 column mode, INFOPLUS will run in 80 column, but return you back to 40 columns upon completion. 132 column modes are not supported because Turbo Pascal's CRT unit only works with standard modes, and I don't want to give up all the nice features. INFOPLUS does support more than 25 lines, although most of the pages are set up to look best at 25 lines. Some display modes do not properly return the correct number of lines. For ease of use, a utility named PRINTHLP comes with INFOPLUS. When you run it, you can have one or all of the help pages sent to your printer (or any DOS device or file.) Each information page will be paginated any way you like. Each new page will have a small header giving the INFOPLUS version it refers to, the page number, and what is on the page. WINDOWS 3.x NOTES!!! You can add INFOPLUS to the Program Manager. Open the group that you want to put INFOPLUS in. Select File, New, Program item. Use whatever you want for the Description. For Command line, enter INFOPLUS.EXE, preceed with a drive and directory if not on your PATH. If you hit ENTER, and end up at the screen, select File, Properties. Hit Change Icon, and for the file name, use INFOPLUS.ICO. Then OK everything. Note that when you minimize INFOPLUS, you will see a standard DOS icon. This can't be changed. Desqview NOTES: INFOPLUS runs safely under Desqview, and is 'Desqview Aware.' If DV is detected, INFOPLUS will write to the screen using BIOS calls unless you use the D command line switch. This allows windowed screens even on non-386/486's. IP-PIF.DVP is a sample setup for INFOPLUS. The settings should be: Change a Program Program Name............: Infoplus Keys to Use on Open Menu: IP Memory Size (in K): 300 ------------------------------------------------------------------------------ Program...: C:\UTIL\INFOPLUS.EXE <---Change this for your own setup Parameters: Directory.: C:\UTIL <---Not needed if you use the environment variable ------------------------------------------------------------------------------ Options: Writes text directly to screen.......: [N] Displays graphics information........: [N] Virtualize text/graphics (Y,N,T).....: [N] Uses serial ports (Y,N,1,2)..........: [Y] Requires floppy diskette.............: [N] Change a Program Advanced Options System Memory (in K).......: 0 Maximum Program Memory Size (in K)..: Script Buffer Size.......: 1000 Maximum Expanded Memory Size (in K): 16 Text Pages: 2 Graphics Pages: 0 Initial Mode: Interrupts: 00 to FF ------------------------------------------------------------------------------ Window Position: Maximum Height: 25 Starting Height: 25 Starting Row...: 0 Maximum Width.: 80 Starting Width.: 80 Starting Column: 0 ------------------------------------------------------------------------------ Shared Program Pathname..: Data......: ------------------------------------------------------------------------------ Close on exit (Y,N,blank)......: [ ] Uses its own colors..............: [Y] Allow Close Window command.....: [N] Runs in background (Y,N,blank)...: [N] Uses math coprocessor..........: [Y] Keyboard conflict (0-F)..........: [0] Share CPU when foreground......: [Y] Share EGA when foreground/zoomed.: [Y] Can be swapped out (Y,N,blank).: [Y] Protection level (0-3)...........: [0] The Maximum Expanded Memory setting of 16 allows the VCPI detection to work. You can set this to 0 if you need to, or 9999 if you want INFOPLUS to detect it all (INFOPLUS does not actually use EMS at present.) The Maximum Program Size can also be varied if you wish. This version of INFOPLUS was compiled using the following equipment: Hardware: Gateway 2000 386/25 (Micronics ASIC motherboard w/ 64K cache) 4 Meg RAM Microscience 110M ESDI, 3.5" HH Ultrastor 12F ESDI controller w/ 32K cache ATI VGA Wonder XL w/ 1M RAM ProAudio Spectrum 16 Software: MS-DOS 5.00 Rev A QEMM 6.00 4DOS 4.01 Rev B Super PC-Kwik 5.00 Turbo Pascal 6.0 Turbo Assembler 2.0 Turbo Debugger 2.0 KEDIT 4.00D2 Windows 3.10 Desqview 2.40 My primary sources of ideas in INFOPLUS were Ray Duncans "Advanced MS-DOS" and Terry Dettman's "DOS Programmer's Reference." The ideas of Prakash Chandra,Terje Mathisen,Bob Smith, and others appear in various places. Also James Howard, John Levine, Mark Aitchison, Jay Caplan, David Tay, Heribert Eisele, Matthias Heidbrink. Some of the techniques INFOPLUS uses are not documented or officially supported by either IBM or Microsoft. Where possible I have followed the undocumented routine with a comment describing my source for the technique. Much of the additional info came from Ray Duncan's "Advanced MSDOS Programming" second edition (a must get book for anyone interested in low-level stuff.) Also, additional information on the DOS 4 boot sector format came from "The Norton Troubleshooter." A book that comes with The Norton Utilities 4.5. Even more information comes from Ralf Brown's interrupt list, which lists hundreds of goodies. It's available via BBS's, and resides on SIMTEL20 and many other public access UNIX sites. It's also available on the Infoplus BBS. The name is INTERxxy.ZIP, where xx is the version, and y is the part letter. (This version of INFOPLUS used INTER32.) Additional information on XMS and DPMI came from the book 'Extending DOS' by Ray Duncan (and others.) Information on additional partition values came from numerous people of which I never wrote down their names!! Information on detecting VGA chipsets came from "Advanced Programmer's Guide to Super VGAs" by George Sutty and Steve Blair. Published by Brady. (NOTE! Beware of bugs in the detection routines in the above book!!) Some extra VGA chipset detection help came for the source code for Fractint 16.11. Information on reading the CMOS came from a program posted by Mark Aitchison on USENET. Information on detecting UART types came from David Tay and David Nugent (david@csource.oz.au) More information on VGA chipsets came from "Programmer's Guide to the EGA and VGA Cards, Second Edition" by Richard F. Ferraro. Published by Addison-Wesley. Information about how dangerous it is to pass too many flags, and info about OS/2 came from Heribert Eisele (heribert@caen.engin.umich.edu) How to detect the Tandy 1000, and some models digital sound, came from Frank Durda IV (uhclem@nemesis.lonestar.org) Information about a bug in the LONGCALL routine came from Michael Holin (HIMH%DCZTU1.BITNET@cunyvm.cuny.edu). Information about problems with Trident VGA chipsets came from MANY people. Information on the Gravis UltraSound came from Tran of Renaissance and Joshua Jensen. If you have any questions, bug reports, or suggestions, I can be reached at the following places: Internet : andyross@infopls.chi.il.us Unix : uunet!infopls!andyross CompuServe : >INTERNET:andyross@infopls.chi.il.us Infoplus BBS : (708)537-0247 (14400/9600/2400/1200 v32bis/v42bis/MNP) This is my own BBS. You can always get the latest version here. Just log in as INFOPLUS, and follow the instructions on screen. RCS Defender : (708)390-6603 (2400/1200, 2 lines) : (708)390-9662 (14400/9600/2400/1200 v32bis/v42bis/MNP) Beacon : (708)615-0845 (2400/1200) Andrew Rossmann Wheeling, IL From Steve Grant: Both the source and object code of SYSID are hereby released into the public domain. Neither version carries any warranty, expressed or implied, of merchantability or fitness for a particular purpose. Comments, suggestions, and questions may be addressed to: BIXMail: sjgrant CompuServe: 71101,706 Steve Grant Long Beach, CA January 13, 1989