Part of the ENHANCER series of programs EGACHG.COM Ver. 1.1, Feb 17, 1986 Copyright (C) I. B. Miller 1985, 1986 If you find this of value and use it please send a contribution ($25.00) suggested. To: Enhancers It is suggested that companies contribute 231 Otonabee Ave. more for use on more than one machine. Willowdale, Ontario, Canada M2M-2S9 Please contact me for a site license Phone (416) 226-9753 EGACHG is a program which provides a means to preset 12 palette color combinations for EGACLR.COM a companion program which Controls the seventeen palette registers on the enhanced color card ( Enhanced Graphics Adapter), 12 different user selected color combinations of any 16 of the 64 colors available can be made active by use of the Alt key at the same time as any of the number keys 1 to = at the top of the qwerty keyboard. EGACHG will change the colors in the Palette registers so that you can see what is available but unless you use EGACLR these will be lost at the next video reset called by any program. The actual colors available to you depend on your actual hardware set up and so may be different. As an example if you have only a regular monitor you will have only standard colors though you will be able to swap them around. In my experience THE limiting factor for text display is the monitor. Though for graphic display memory size is also a limiting factor. General Information ------------------- With the Enhanced Monitor color coding is as follows. Bit Hex --- --- 1 is Medium Blue - 01 2 is Medium Green - 02 3 is Medium Red - 04 4 is Low intensity Blue - 08 5 is Low intensity Green - 10 6 is Low intensity Red - 20 1+4 is High intensity Blue - 09 Low and medium add to give 2+5 is High intensity Green - 12 high - this is the basic 3+6 is High intensity Red - 24 principle the card works on Following is the standard color palette combination. ---------------------------------------------------- B B G C R M B W G High intensity colors O l l r y e a r h r --------------------- v a u e a d g o i e B G C R M B W e c e e n e w t y l r y e a r h r k n n n e u e a d g o i s t e e n e w t c a n t n e a a n palette register # = 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 ^-this is the Seventeenth or in hex it is 10. It really cannot be used in Enhanced Mode because of a seeming bug in the EGA. I cannot believe IBM wanted it that way. Try it and see. How the program works --------------------- The program works by loading in the entire EGACLR.COM file and then selecting the color controlling bytes which are all near the start as initial values for setting the colors. It then follows the user through the registersets updating them in memory and changing them and the colors on display as the user dictates. Once the user is finished changing colors to his liking and has pressed the End key EGACHG first checks to see how high in the sequence of possible EGACLR1.COM to EGACLR99.COM exists on the disk. once found it increments this and writes out a temporary file. After it has succeeded in the write it renames the original EGACLR.COM to EGACLR(whatever #).COM and then renames the temporary file to EGACLR.COM. In theory you could change names and have almost unlimited numbers of color combinations which can be made active by using these variants of EGACLR.COM, but in practice I find it adequate to have a few and use the command parameters with EGACLR.COM to change Instructions ------------ EGACHG has been written to work on the EGACLR.COM file on the same drive as EGACHG.COM. Make sure both are present on the same disk. Important: Unless you use the EGACLR o command line to turn off auto reset, or have not yet activated EGACLR, then EGACLR will proceed to not allow this program to show the colors to you. You must Deactivate (or not start) EGACLR before starting EGACHG. The program will proceed to load into itself the EGACLR.COM file. It will then paint a window on the top half of the screen showing the palette colors currently in use with EGACLR use of which I call registerset # 1. The program will next paint the bottom window which is the working area and will display the current register of the 17 included in the current registerset as well as the current value in that register displayed in both decimal and Hex. It will also show the RGB comp- onents of the color corresponding to that value. The screen painted appears approximately as follows with of course the addition of color. EGACHG.COM A program to change colors to any 16 of 64 available on the EGA for use with a companion program EGACLR.COM which must be on same drive. Register 0 1 2 3 4 5 6 7 _______________________________________________________________________ | | | | | | | | | | | | | | | | | | | Blocks of colors appear here and change as palette registers change | |________|_______|________|________|________|________|________|________| | | | | | | | | | | under the control of the operator | | | | | | | | | | | | | |________|_______|________|________|________|________|________|________| Register 8 9 A B C D E F Below is current color being worked on. ____________________________________________________________________________ | | | | | | |__________________________________________________________________________| PgUp & PgDn change registerset, Up & Dn change registers, + & - change colors, End to quit & save , Q to quit & not save! ,W to write BAT file ,R,G,B to vary Current Palette Registerset is : 5 10,11,12 are 0,-,= Current Palette Register is : 01 Color is: 2 Color in Hex is : 02 Current RGB values are : R= off G= med B= off From then on you are in the part of the program that does all the work and the following keys are the only ones which will do anything. PgUp Moves Up one registerset from 1 to 12 then back to 1 PgDn Moves Down one registerset from 12 to 1 then back to 12 Up-Arrow Moves up one Pallette register from 0 to 16 then back to 0 0 to 10 Hex Dn-Arrow Moves Down one Pallette register from 16 to 0 then back to 16 10 to 0 Hex + Increases value in Pallette register from 0 to 63 then back to 0 0 to 3F hex - Decreases value in Pallette register from 63 to 0 then back to 63 3F to 0 hex R Changes Red component of color through off, low, med, high & back G Changes Green component of color through off, low, med, high & back B Changes Blue component of color through off, low, med, high & back Q Allows you to quit without creating an output file S Standardizes colors In current Registerset W writes out a .BAT file to reset colors in Alt 1 . A sample appears here. EGACLR 02A,126,202,337,404,505,614,707,818,919,A1A,B1B,C3C,D2D,E36,F3F,s00 End Writes out all the values to an EGACLR.COM files while saving the previous ones as EGACLR1.COM up to EGACLR99.COM Use the End key when you have completed your selection. the program will then update EGACLR.COM with your selected colors available from to . you may then activate the colors by entering at the DOS prompt EGACLR R Disclaimer ---------- For obvious reasons the user is totally responsible for use of this program and determining that it is suitable for use by him, and he uses this program with no warranty from myself. It should work properly with the EGA from IBM or any card which later maintains compatibility with it This program and EGACLR.COM are used by myself with LOTUS Development programs and work well solving a colors shift bug (or less than perfect EGA driver routine) but obviously LOTUS does not support it. General -------- Again please note that if you have the regular monitor or the Enhanced Monitor operating in regular mode none of the non-standard colors are available to you! Of Course ---------- The program EGACHG.COM will allow you to work with many colors and see them on screen interactively without any of the work involved in remembering all the numbers and color coding schemes. I believe it will make color control easy. If you have any comments or suggestions please contact me either at Home in the evenings at (416) 226-9753 or at the following BBS's PCanada(pc-1266) (416) 751-6337 SGV-BBS (416) 673-0557 I am also on Compuserve as 72167,2563 Ivor B. Miller