home *** CD-ROM | disk | FTP | other *** search
/ World of Shareware - Software Farm 2 / wosw_2.zip / wosw_2 / PASCAL / INFOP125.ZIP / INFOPLUS.DOC < prev    next >
Text File  |  1990-08-10  |  20KB  |  345 lines

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