home *** CD-ROM | disk | FTP | other *** search
- Leading Edge Model D Mono Screen "color" Fixup
- ----------------------------------------------
- (c) 1986 Alan R. Losoff, Milwaukee Wisconsin
-
- Background:
- ----------
- The Leading Edge Model D in monochrome emulates a Hercules
- (tm) Monochrome Graphic Card. I have noticed several programs
- which display areas that are supposed to be text as various
- shades of blank screen. Many programs allow you to configure
- "colors" even on a MONO screen, which solves the problem if you
- can at least read enough to run the color set program. The
- public Domain AUTOMENU is one that I was able to get working
- this way. However, many programs do not allow color
- configuration, or do not give enough flexiblity to get
- everything visible. Among these are Leading Edge's own Nutshell
- Tutorial (how mbar- rassing for them!) and Paperback Software's
- VP/Planner.
-
- I called Leading Edge Tech Support and found them aware of
- the problem, but without a general fix. They did send me an
- upgrade to Nutshell, but could do nothing about other packages.
- They suggested that perhaps the programs were getting confused
- since the Model D has both color and mono circuitry. Sounds
- reasonable BUT THIS IS NOT THE CASE.
-
- The IBM monochrome graphics adaptor very cleverly maps some
- be color combinations from the Color Graphics Adaptor (CGA) into
- the "attributes" that it supports. The Mono adaptor supports
- normal (white on black), reverse (black on white), underline
- (blue on black) and invisible (black on black). It also
- supports the first three with the addition of blink and or
- bright for a total of 13 attributes. The remaining possible
- attributes, most of which correspond to valid CGA color combina-
- tions, are UNDEFINED. However, on a "true-blue" IBM monochrome
- display adaptor the undefined codes all display as normal (with
- whatever blink/bright is set). On the Leading Edge Model D,
- many of the undefined codes come out as white on white. I do
- not know if this happens on a genuine Hercules Card or if it is
- unique to this one. The documentation for all three adaptors
- (IBM, Leading Edge and Hercules) DOES NOT SPECIFY what happens
- if you use an undefined combination.
-
- So the problem is not that the programs think that the
- Leading Edge is running in color (the Pheonix Rom passes all the
- tests for display type), but rather that lazy programmers didn't
- care. They "knew" that the illegal combinations would show up
- as normal white on black. So here we are!
-
- The only "correct" fix for this problem is a hardware change
- to the display adaptor to map illegal codes the same as the IBM
- display does. But I'm not willing to wait for that, so I wrote
- a software solution. It's not "clean", it takes 3-4% away from
- your CPU when active, but it does work!
-
-
- How to use FIXLED:
- -----------------
- I tried to make this program as easy to use as possible.
- At the A> prompt (and with fixled.com on drive a:) type
-
- FIXLED and press return
-
- it loads itself and becomes active. To turn it off (but leave
- it in memory) just type
-
- FIXLED and press return
-
- again. Each call to FIXLED toggles the status. You may add it
- to your autoexec.bat or the .bat for executing a program that
- needs it. For use in a .bat file, it returns an ERRORLEVEL code
- of 1 if it is now active, and 0 if it isn't, so you can be sure
- you didn't turn it off when you meant to turn it on. There is a
- sample batch file for VP Planner included with this program.
-
-
- How it works:
- ------------
- Since most programs write directly to the screen memory
- rather than calling DOS to do it's writing, there is no easy way
- to intercept the writes. Therefore I had to take an "after the
- fact" approach. FIXLED steals the timer interupt vector (in a
- very clean way, so it should not interfere with anything else)
- and every time it is activated (18.2 times per second) it
- examines a portion of screen memory and changes any illegal
- attributes it finds to the attribute a true IBM display would
- show. It is currently set up to do it 200 bytes at a time (one
- tenth of the screen) which I found to be the best compromise
- between speed and overhead. Thus it will fix up any error
- within 10/18 of a second.
-
- This is yet another one of those "load me last" programs.
- It is only necessary if you want to be able to turn it on and
- off. The program can't find itself if some other program has
- taken back the timer interupt. If you don't intend to toggle
- it, there should be no problem loading a program which insists
- more vehemently on being loaded last.
-
- If the MONO TEXT MODE is not active, the interupt handler
- will exit without messing up any graphics. I've tested this
- with REFLEX version 1.1, and would expect it to be alright with
- any graphic program that sets the mode properly. If you find
- one of your graphics screens self-destructing, you will have to
- disable FIXLED while running it.
-
-
- Caveats:
- -------
- To the best of my knowledge, this program works as described
- and won't mess anything else up. However, I make no claims or
- guarantees for it. You use it at your own (minimal) risk. If
- you don't like it, what do you want for nothing? If you do like
- it, send a donation to some charity -- not to me.
-
- This program and supporting material are protected by
- copyright. Permission to distribute copies is granted under the
- following conditions:
-
- 1. No commercial distribution. This excludes computer
- dealers, distributers and manufactures from giving this program
- to customers. A license for commercial distribution is
- avaliable. this also precludes charging a fee for the
- distribution of this program. Reasonable copying charges by a
- non-profit users' group are ok.
-
- 2. No modified version may be distributed without including
- the original unmodified version, including this documentation.
-
- 3. All copyright notices are to be preserved.
-
-
- Author:
-
- Alan R. Losoff, CDP (414) 228-7160 (Voice)
- 5726 N. Argyle (414) 964-5160 (Data)
- Milwaukee, WI 53209 Genie mailbox: ALSOFT
-
-