[comp.sys.ibm.pc] Configuration using SET

yuan@uhccux.UUCP (Yuan Chang) (03/20/88)

[ Purena Line-eater Chow ]

	I have a question about how most programs do their "configuration."
Setting configuration for display adapter, for example.  Why not store
the display type within the environment in a consistent manner, so that
you don't have to tell every new software that you have EGA or something?
This way, you might get your software to "auto-configure" without having
to mess with install programms.  And changing configurations will be as
easy as changing a line in AUTOEXEC.BAT, rather than having to dig up
the distribution disks (for programs like Windows, 1-2-3) and re-install
everything.  

	I realize that there a limit on how big the default environment
size in MS-DOS is, but that can be easily changed from DOS 3.20+.  Besides,
I don't think these config items will take up a lot of memory.

Basically, what I can think of right now to put into the environment
would be:

	PRI-DISPLAY:  The name of your display adapter.  The exact name
		of your video adapter.  So that a program can take 
		full advantage of it should it recognize it.  Let's
		say I set this to ATI Wonder.

	SEC-DISPLAY:  If the program doesn't recognize the Primary display
		adapter, then it'll try driving the display as an 
		adapter as specified by SEC-DISPLAY.  Types here should
		be limited to:
			MONO 	= IBM Monochrome adapter
			CGA-BW	= CGA running with comp. mono. monitor.
			CGA-COL	= CGA with RGBI monitor
			EGA	= EGA
			VGA	= VGA
			PGC	= If anybody's rich enough to own one...
		So if the program I want to run doesn't recognize the
		Primary Display, it should be able to recognize one of
		the above whether it supports them or not.  So in this
		case I might set my SEC-DISPLAY to EGA to get at least
		EGA resolution with the ATI Wonder.

	MOUSE:  Some programs can figure out which mouse you have if 
		you have MOUSE.COM loaded (or something similar).  
		However, putting mouse type into the environment
		probably will make it easier to configure.  I'm not
		too sure how many different "standards" for mouse
		exists, so I'll just mention the few that I know:
			LOGI	= Logitech mouse
			MICRO	= MicroSoft mouse
			MOUSE	= Mouse System's mouse

	KEYBOARD:  Believe it or not, some programs still can't figure
		out the enhanced keyboard.  With KEYBOARD clearly 
		defined in the environment, programs can make exact
		placement for keys, instead of trying to compromise
		between all keyboards (think of VT-100 emulation
		down to the keyboard!).  Valid types are:
			PC	= The old 83-key PC keyboard.
			AT	= Old 94-key AT keyboard.
			NEW	= New 101-key keyboard with 12 function 
				  keys accross the top.
			JR	= If we really have to 8(...

	TEMP:  Directory for temperary work files.  

	PRINTERS: Basically, apply the same idea from display.  So there
		should be PRI-PRINTER and SEC-PRINTER.  With SEC-
		PRINTER, I don't want to be suggesting the possible
		types, because I don't know that many printers.  Perhaps
		the 10 most emulated printers should find their homes
		here.  If you want to worry about more than one 
		printer(s), then we could add a 1, 2, or 3 indicating
		which LPT port the printer is being configured.  Re-
		direction to COM ports will be handled by DOS.

	Did I cover all grounds with that?  I hope you see my idea by
now.  All these environment variable will basically be entered into
memory at boot-time in AUTOEXEC.BAT.  Any time your system configura-
tion changes, just modify AUTOEXEC.BAT, and all (hopefully) of your
programs will adjust accordingly.  And temperarily changing the 
configuration will be easily accomplished with SET on the commandline.
Programs which call up another copy of COMMAND.COM will get a copy
of the environment, can even modify it until they exit, and all
will be the same.  Now if I could only get MicroSoft or Lotus
to listen 8)...  

P.S.  Don't let my standard .signature fool you.  I (sort of) know 
what I'm talking about 8-)
-- 
Yuan Chang 
UUCP:      {ihnp4,uunet,ucbvax,dcdwest}!ucsd!nosc!uhccux!yuan
ARPA:	   uhccux!yuan@nosc.MIL               "Wouldn't you like to 
INTERNET:  yuan@uhccux.UHCC.HAWAII.EDU         be an _A_m_i_g_o_i_d too?!?"
-- 
Yuan Chang 
UUCP:      {ihnp4,uunet,ucbvax,dcdwest}!ucsd!nosc!uhccux!yuan
ARPA:	   uhccux!yuan@nosc.MIL               "Wouldn't you like to 
INTERNET:  yuan@uhccux.UHCC.HAWAII.EDU         be an _A_m_i_g_o_i_d too?!?"