home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PROGRAMS / UTILS / HARDWARE / INFOP120.ZIP / INFOPLUS.DOC < prev    next >
Encoding:
Text File  |  1990-07-29  |  17.6 KB  |  317 lines

  1. !!      INFOPLUS
  2. !!
  3. !!      Version 1.20  Released to the public domain.
  4. !!
  5. !!      By Andrew Rossmann, 7/29/90
  6. !!
  7. !!      Originally based on Steve Grant's Public Domain SYSID 4.4.
  8. !!
  9. !!      All lines that begin with ** are Steve Grant's original documentation.
  10. !!      All lines that begin with !! are mine.
  11. !!
  12. !!      Usage:  [d:][path]INFOPLUS
  13. **
  14. **      A system description for DOS-based PC/XT/AT- and PS/2-class machines.
  15. !!      INFOPLUS generates 18 screens of information about the host system and
  16. **      runs under DOS versions 3.0 and later.
  17. **
  18. !!      My primary sourcesofideas in INFOPLUS were Ray Duncans "Advanced MS-DOS"
  19. **      and Terry Dettman's "DOS Programmer's Reference."  The ideas of Prakash
  20. **      Chandra,Terje Mathisen,Bob Smith, and others appear in various places.
  21. !!      Also James Howard.
  22. **
  23. !!      Some of the techniques INFOPLUS uses are not documented or officially
  24. **      supported by either IBM or Microsoft.  Where possible I have followed
  25. **      the undocumented routine with a comment describing my source for the
  26. **      technique.
  27. **
  28. !!              INFOPLUS.PAS       - Main file source code
  29. !!              PAGE_xx.INC        - Each of the pages
  30. !!              INFOPLUS.ASM       - assembly language procedures
  31. !!              INFOPLUS.PIF       - Windows 3 Program Information File
  32. !!              INFOPLUS.ICO       - Icon for Windows 3 Program Manager
  33.  
  34. !!   Using INFOPLUS is easy. Just use the PGUP and PGDN keys to move from page
  35. !! to page. HOME and END will move to the first and last pages, respectively.
  36. !! If you hit ENTER, you can then type in the page you want to go to. Hit ESC
  37. !! to end the program. Some pages won't fit all on one screen, for that you hit
  38. !! the DOWN ARROW key to get more information. If you wish a hard copy, just
  39. !! hit SHIFT-PrtSc or SHIFT-PRINT or PrintScrn, depending on your keyboard.
  40. !!
  41. !! WINDOWS 3.0 NOTES!!!
  42. !!      You can add INFOPLUS to the Program Manager. Open the group that you
  43. !!      want to put INFOPLUS in. Select File, New, Program item. Use whatever
  44. !!      you want for the Description. For Command line, enter INFOPLUS.EXE,
  45. !!      preceed with a drive and directory if not on your PATH. If you hit
  46. !!      ENTER, and end up at the screen, select File, Properties. Hit Change
  47. !!      Icon, and for the file name, use INFOPLUS.ICO. Then OK everything.
  48. !!      On page 3, you might get a message that the program needs to run under
  49. !!      standard mode. This is due to the check for a VCPI driver, and no harm
  50. !!      comes from this. This will only occur under 386 enhanced mode.
  51. !!
  52. !!      Changes by Andrew Rossmann v 1.20 (7/29/90)
  53. !!      Page 1: Thanks to information posted to USENET by James Howard of
  54. !!              Dell Computer Corporation, most later model Dell's will be
  55. !!              directly identified.
  56. !!              The adapter ROM scan now searches at 2K boundaries. This will
  57. !!              hopefully detect what QEMM calls 'split roms.'
  58. !!      Page 2: Due to continued problems with the CPU detection locking up
  59. !!              computers, I am now using the original detection code. This
  60. !!              uses differences in the Flags registers to distinguish a 386
  61. !!              from a 286. The 486 will not be directly identified. A side
  62. !!              benefit is that you can now run safely under Windows 3
  63. !!              enhanced mode.
  64. !!              The coprocessor detection code sometimes thinks you have one
  65. !!              when you don't. This gives an 'unknown coprocessor - FF'
  66. !!              message. Now, if that happens, I check to see if Turbo Pascal
  67. !!              found one (the Test8087 variable.) If it didn't find one, I
  68. !!              now say 'none.'
  69. !!      Page 9: The file handle count should now be more accurate. I search
  70. !!              where DOS keeps it's FILES lists, and get my counts that way.
  71. !!      Page 16:Tells whether an extended boot signature is found (DOS 4.)
  72. !!              If extended boot signature, tell the physical drive number
  73. !!              (hard disks start at 128, floppies at 0.)
  74. !!      INFOPLUS.ASM: Commented out 'invalid opcode' CPU detection method, and
  75. !!                    re-enabled the original detection code. This results in
  76. !!                    the inablity to detect the '486.
  77. !!
  78. !!
  79. !!      Changes by Andrew Rossmann v 1.10 (7/20/90)
  80. !!      Page 1: ROM search now displays size of ROMs found.
  81. !!      Page 3: If an XMS driver is found, various information about it
  82. !!              is now displayed.
  83. !!              All EMS memory is now given in K instead of pages.
  84. !!      Page 6: Added detection of Paradise, Video 7, and ATI VGA boards. Some
  85. !!              additional information and the correct memory size is given.
  86. !!      Page 7: Tell whether the Mouse driver is shadowing the EGA registers.
  87. !!      Page 10:A hopefully generic Network check was added.
  88. !!              The CDROM detection might work better. Also displays what
  89. !!              drives are actually CDROM.
  90. !!      Page 15:Now only search for drives $80 to $99. Going beyond that
  91. !!              caused exception errors under EMM386.SYS (the Win 3 version.)
  92. !!      Page 17:Corrected a bug that caused part of the screen to scroll
  93. !!              when running under Desqview (I hope.)
  94. !!      INFOPLUS.ASM: Added new LONGCALL routine. This is needed for the XMS
  95. !!              checking. LONGCALL calls a routine using a FAR CALL instead of
  96. !!              the more normal INT functions.
  97. !!              Since TASM 2.0 supports the 486, the XADD macro is now
  98. !!              commented out.
  99. !!
  100. !!
  101. !!      Changes by Andrew Rossmann v 1.0 (6/25/90)
  102. !!      All:    Due to confusions with Steve Grant continuing to release
  103. !!              new versions, I am renaming my version to INFOPLUS.
  104. !!              The documentation for SYSID 4.4 states that the source and
  105. !!              object code are public domain. SG's newer versions are
  106. !!              copywritten, and no longer contain source code. All
  107. !!              of my versions WILL ALWAYS continue to contain the source
  108. !!              code, and WILL ALWAYS be public domain!! Like FRACTINT, I
  109. !!              hope for this program to slowly grow as people add their own
  110. !!              ideas.
  111. !!      All:    Changed colors to blue background, with text of LightGray
  112. !!              and LightCyan.
  113. !!              You now press the DOWN ARROW key to continue a long screen.
  114. !!               This lets you move to another page without looking at all
  115. !!               the information.
  116. !!              A title telling what is on the page appears at the bottom.
  117. !!      Page 0: New page, shows contents of each page. HOME always goes here.
  118. !!              Also, this eliminates the chance that scanning the ROM could
  119. !!              lock up the program, preventing its use. If that happens, you
  120. !!              can just go to another page directly.
  121. !!      Page 2: The V20/V30 should be correctly detected.
  122. !!      Page 3: Added detection of XMS, DPMI (untested) and VCPI.
  123. !!              DPMI detection is tentative, since it's still in the formative
  124. !!              stages. Windows 3.0 is the first program to support it.
  125. !!              Under EMS 4, handle names will be listed (not all programs
  126. !!               give their handles names.)
  127. !!      Page 9: Added count of FCB's (File Control Blocks.)
  128. !!              Added count of Dos STACKS (DOS 4 only.)
  129. !!      Page 10:Added detection of DOS (should always be YES!!)
  130. !!              Added detection of JP Software's 4DOS (and other info on it.)
  131. !!              Added detection of CD-ROM extensions.
  132. !!      Page 13:For default drive, tells what type it is, if it is removable,
  133. !!              has doorlock detection, is JOIN'd, or SUBST'd (and shows the
  134. !!              true path.)
  135. !!      Page 17:New page, just thanks you for using INFOPLUS, and gives
  136. !!              some places I can be reached.
  137. !!
  138. !!
  139. !!      The following are my versions of SYSID. It's very likely that some
  140. !!      of these version numbers may overlap Steve Grant's!!
  141. !!
  142. !!      Changes by Andrew Rossmann (5/28/90) v 5.1
  143. !!      Page 2: Corrected bug in 386 detection code actually in SYSID.ASM.
  144. !!                This bug could cause lock-ups or exception errors on
  145. !!                386, 386SX, or 486 systems.
  146. !!
  147. !!      Changes by Andrew Rossmann (1/19/90) v 5.0
  148. !!      Page 9: Added buffer count (and read-ahead) for DOS 4!
  149. !!      Page 15:Added several more partition types.
  150. !!
  151. !!
  152. !!      Changes by Andrew Rossmann (12/31/89) v 4.8
  153. !!      Page 2: Added recognition (I hope) of the '486. This involved
  154. !!              replacing the code that detects the 286/386 with newer
  155. !!              code by Robert Collins.
  156. !!      Page 5: Added the extended modes of the Paradise VGA boards.
  157. !!              (Considering that the CRT unit forces the screen into a
  158. !!              standard text mode at startup, most of the entries are
  159. !!              sort of useless right now.)
  160. !!      Page 15:Added Disk Manager, Speedstore, Split (?), and GB (?) to
  161. !!              the recognized partition types.
  162. !!              Corrected some erroneous numbers in the starting cylinder
  163. !!              and sector.
  164. !!
  165. !!      Changes by Andrew Rossmann (9/30/89) v 4.7
  166. !!      All:    Re-compiled under Turbo Pascal 5.5.
  167. !!      Page 9: Reduced the number of files to 255 due to a potential bug
  168. !!              under DOS 3.30.
  169. !!      Page 10:Added a few extra programs to the multiplex listings. Some of
  170. !!              these will probably only be recognized under DOS 4 or newer.
  171. !!
  172. !!      Changes by Andrew Rossmann (7/2/89) v 4.6
  173. !!      Page 9: Under DOS 3.30 or newer, use a new DOS function call to set
  174. !!              up space for up to 256 files. The number of total files
  175. !!              available will now be closer to the FILES= setting, instead
  176. !!              of being stuck at the 20 that is the default size.
  177. !!
  178. !!      Changes by Andrew Rossmann (6/7/89)
  179. !!              Changed the version to 4.5.
  180. !!      ALL:    Pressing <ENTER> will bring up a 'Page no.=>' prompt. You
  181. !!              can then type in the number of the page you want to jump to.
  182. !!      Page 9: Added OEM (Original Equipment Manufacturer) Serial number to
  183. !!              list. Not everyone uses this. Put file handle table sizes
  184. !!              on one line.
  185. !!              Changed current time to conform to the format of the current
  186. !!              country code, including 12-hour format.
  187. !!      Page16: Corrected more DOS4 errors in the Dos Disk Parameter Block
  188. !!              listings. It seems the number of sectors per FAT has grown
  189. !!              from 1 byte to 1 word. This pushed the sector # of directory,
  190. !!              address of device header, media descriptor, access check,
  191. !!              and next block pointer up 1 byte.
  192. !!
  193. !!      Changes by Andrew Rossmann (6/3/89):
  194. !!              I upped the letter to 'V'.
  195. !!      Page 9: Added 'Boot disk was'. This will display which disk drive
  196. !!              was used to boot the computer under DOS 4. Under DOS 3,
  197. !!              this will always display (unknown).
  198. !!              I changed the file used to figure out the number of available
  199. !!              file handles from COMMAND.COM to the program itself. This is
  200. !!              because COMMAND.COM may not always be available (especially
  201. !!              if you are on floppies.) It's more likely the program itself
  202. !!              will be available. This uses a DOS 3 or 4 feature that lets
  203. !!              a program know it's full pathname. (ParamStr(0) in TP5).
  204. !!      Page10: Added extra information about the APPEND command under DOS
  205. !!              4. Will display which switches are active, and the path
  206. !!              currently in use.
  207. !!      Page15: Added several parition types, including 'Big DOS-16' (DOS 4
  208. !!              partitions >32M), XENIX, NOVELL, PCIX, CP/M, and BBT.
  209. !!      Page16: Modified the DISKREAD portion of SYSID.ASM for use under
  210. !!              DOS 4. Will now correctly read disks with partitions >32M.
  211. !!              Disks >32M under Compaq DOS 3.31 will probably not work.
  212. !!
  213. !!      Changes by Andrew Rossmann (5/29/89):
  214. !!              I named this version 4.44U for 'U'pdated. Don't know of any
  215. !!              newer versions.
  216. !!      Page 1: The search for the Copyright message in ROM has been
  217. !!              expanded to start at F000:C000 instead of F000:E000. This
  218. !!              test had returned nothing on my Tandy 1000SX. This may
  219. !!              cause longer waits on other machines. NOTE: the CPUID
  220. !!              routine does not detect my V20. It returns an unknown type.
  221. !!              I have no idea why, and I would like to know why. (I also
  222. !!              have an 8087 if that makes any difference.)
  223. !!      Page 7: If you had a mouse, some information about your keyboard
  224. !!              ended up scrolling off the screen. Some related info
  225. !!              has been put on 1 line to prevent scrolling.
  226. !!      Page 9: The method to find the number of available file handles
  227. !!              had a minor problem. It used the COMSPEC environment
  228. !!              variable to continuously open COMMAND.COM until an error
  229. !!              occurred, presumably a 'Too Many open files' error. BUT,
  230. !!              the files were opened as untyped files, which have a
  231. !!              default FileMode = 2 (read/write). If your copy of
  232. !!              COMMAND.COM was read-only (for virus protection), an
  233. !!              error 5 (Access denied) occured, and 0 available handles
  234. !!              was shown. This is fixed by setting FileMode:=0 (Read only)
  235. !!              before opening files.
  236. !!              The printer echo status is supported under DOS 4.
  237. !!              The number of buffers is still unknown as I am unable to
  238. !!              figure it out. Since DOS 4 can have a huge number of
  239. !!              buffers, and even put them in EMS memory, finding out their
  240. !!              count may be difficult.
  241. !!      Page13: Information about a floppy now supports the parameters
  242. !!              for 3.5" drives, and displays number of tracks.
  243. !!      Page16: Now supports DOS 4.0 and Compaq DOS 3.31 with partitions
  244. !!              >32M (maybe others if they follow the same format.)
  245. !!              If you have a disk formatted under DOS 4, the boot
  246. !!              record section will display the volume label, serial number,
  247. !!              and FAT type of the disk.
  248. !!
  249. **
  250. **      Known bugs:
  251. **      1) Page 2: The CPU test for interrupts of multi-prefix string
  252. **      instructions is reliable only on machines whose clock speeds are
  253. **      less than about 15 MHz.  The 8086 and 8088 are the only CPU's that
  254. **      don't handle such interrupts correctly, however, and they aren't
  255. **      (to my knowledge) ever run at anything like 15 MHz.  (This 15 MHz
  256. **      limit assumes that the timer tick interrupt occurs at the standard
  257. **      rate of 18.2 Hz.  SYSID could check that, too, I suppose.)
  258. **      2) Page 5: The description of foreground color will not mention the
  259. **      blinking attribute, even if it was enabled before you invoked
  260. **      SYSID.
  261. **      3) Page 10: SYSID used to report incorrectly the statuses of some of
  262. **      the executable files which use the "multiplex interrupt" (INT
  263. **      2FH).  I have commented these status checks out of the source
  264. **      code, determined to do battle with them another day.  Can anyone
  265. **      supply the correct INT 2FH functions for these files?  Or are some
  266. **      of them red herrings that simply check INT 2FH to see if *other*
  267. **      files have been loaded (e.g. APPEND/ASSIGN)?
  268. **      4)      The error beep sometimes fails to sound when you press PgDn
  269. **      while on the last page (or PgUp while on the first page).  I have no
  270. **      idea why. (!!corrected in version 4.5)
  271. **
  272. **      Both the source and object code of SYSID are hereby released into the
  273. **      public domain.  Neither version carries any warranty, expressed or
  274. **      implied, of merchantability or fitness for a particular purpose.
  275. **
  276. **      Comments, suggestions, and questions may be addressed to:
  277. **              BIXMail: sjgrant
  278. **              CompuServe: 71101,706
  279. **
  280. **      Steve Grant
  281. **      Long Beach, CA
  282. **      January 13, 1989
  283. !!
  284. !!
  285. !!
  286. !!      My computer is a Gateway 2000 386/25 running MS-DOS 4.01, Windows 3,
  287. !!      an ESDI drive, and an ATI VGA Wonder card.
  288. !!      Compiled under Turbo Pascal 5.5 and Turbo Assembler 2.00.
  289. !!      Much of the additional info came from Ray Duncan's "Advanced MSDOS
  290. !!      Programming" second edition (a must get book for anyone interested
  291. !!      in low-level stuff.) Also, additional information on the DOS 4 boot
  292. !!      sector format came from "The Norton Troubleshooter." A book that
  293. !!      comes with The Norton Utilities 4.5. Even more information comes from
  294. !!      Ralf Brown's interrupt list, which lists hundreds of goodies. It's
  295. !!      available via BBS's, and resides on SIMTEL20 and many other public
  296. !!      access UNIX sites.
  297. !!        Additional information on XMS and DPMI came from the book 'Extending
  298. !!      DOS' by Ray Duncan (and others.)
  299. !!        Information on additional partition values came from numerous people
  300. !!      of which I never wrote down their names!!
  301. !!
  302. !!      Andrew Rossmann
  303. !!      Wheeling, IL
  304. !!
  305. !!
  306. !!      Central Command, 1-708-359-9346 (1200/2400)
  307. !!                       1-708-359-9396 (HST 14.4)
  308. !!      DDSW1 BBS, 1-708-808-7300 (6 lines),
  309. !!                 1-708-808-7306 (Telebit PEP only!!)
  310. !!      Igloo BBS, 1-708-272-5912 or 1-708-272-5917 (Telebit PEP)
  311. !!      RCS Defender BBS, 1-708-390-6603
  312. !!
  313. !!      Unix Mail:
  314. !!      andyross@ddsw1.MCS.COM, or <well-connected>!ddsw1!andyross
  315. !!              -or-
  316. !!      andyross@igloo.UUCP
  317.