Message-ID: <323A1C3F.3728@cs.com> Date: Fri, 13 Sep 1996 19:45:19 -0700 From: "John M. Aldrich" Organization: Three pounds of chaos and a pinch of salt MIME-Version: 1.0 To: DJGPP Workers Mailing List Subject: "djverify" - DJGPP Installation Diagnostic Program Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Wow! In just one day I managed to pick up a fantastic amount of advice! Thank you, all. :) Now, on to some preliminary conclusions and additional questions: 1) The program will be named "djverify". I assume that it will be distributed with one of the standard DJGPP packages, although it should probably also be available as a standalone program for current users. FYI, as default I plan to have it output the files "djveriXX.txt" (summary report) and "bugrptXX.txt" (bug report for newsgroup). 2) Although the basic idea is to provide help for beginning users of DJGPP, I would like to make djverify a comprehensive diagnostic package suitable for anybody who has trouble with their setup. Even experienced users would probably feel more comfortable having such a tool handy. Also, to address Mark Habersack's concerns, there are many users who upgrade from v1.x to v2 and encounter problems similar to those of complete newbies because of the substantial differences between v1 and v2. It would definitely not be a waste of time to include such code, especially when it could form a basis for detecting similar conditions with any theoretical future versions of DJGPP. 3) I like DJ's suggestion about djverify's modes. What I had planned was something like the following: - Interactive mode, where the user can see a piece-by-piece evaluation of his/her system, and be able to see recommended packages based on his/her selections. This mode would also contain references to the FAQ by section number for common problems. On request it would also output two reports - a complete diagnostic summary and a bug report suitable for submission to the newsgroup. This would be the default mode. - Summary mode (non-interactive), which would simply run down the list of problem areas and give a report on each. By default, it would output a summary to the screen and a bug report to a text file. - Diagnostic mode (DJ's idea), which would perform a quick evaluation of the current configuration to confirm that DJGPP programs can run. It would be silent unless problems were detected. If a problem is detected, the user can press a key to enter interactive mode for a full diagnosis and/or printing of reports. 4) Initially, I think I will have it run in plain b/w text mode, with some basic windowing functions thrown in to make it look nicer. Question: Am I safe in assuming that every computer the program runs on will be capable of displaying the extended ASCII character set (127-255)? If not, is there any way to test for this? 5) Modifying the stub to return errorlevels seems like the best idea, and I can get a better feel for using assembly along the way. However, how do I convince symify to use the modified stub that I have made instead of the standard one? I don't want to get rid of the standard stub, for obvious reasons. Ideally, the new stub would be in the same directory as the program itself. Also, are there any guidelines I should follow in assigning the error codes themselves, other than (obviously) providing documentation on them? Lastly, is this stub likely to exist solely for the purposes of my program, or is there a possibility of it being made the standard for the next version? Mostly, I need to know how careful I have to be in limiting the extent of my changes. 6) Charles, I would appreciate any code you may have for the following: - Detecting maximum installed memory - Detecting current DOS, EMS/XMS, and DPMI memory excluding that consumed by the program image itself. (or I am getting too complex?) - Determining what memory managers are currently installed and/or what DPMI host is being used. Well, that's about it for now. Additional thoughts will follow when I think of them. :) Thanks! -- John M. Aldrich, aka Fighteer I -----BEGIN GEEK CODE BLOCK----- Version: 3.1 GCS d- s+:- a-->? c++>$ U@>++$ p>+ L>++ E>+ W++ N++ o+ K? w(---) O- M-- V? PS+ PE Y+ PGP- t+(-) 5- X- R+ tv+() b+++ DI++ D++ G e(*)>++++ h!() !r !y+() ------END GEEK CODE BLOCK------