[comp.sys.ibm.pc] Problem: IBM-Logo & EGA don't go

mdvries@cwi.nl (Michiel de Vries) (06/28/89)

IBM-Logo doesn't work with an EGA card, even if you set the switches
for CGA emulation.

The problem is in so called `Mixed Mode', where there are 4 lines of text 
displayed on the graphics screen. Scrolling these lines, sometimes leaves
some pixels set; a kind of shadow of the just scrolled away lines.
Just for completeness: the text lines have to be in 40 char. mode.

The problem is known to the Dutch Logo Users Group, but they don't know
of a solution. There is no problem with a CGA card.

Questions:
- Does someone has a solution/patch for the problem?
- What causes the problem? Is it incompatibility between CGA & EGA, and does
Logo write directly to the EGA memory? Is it do-able to try to patch Logo?
What should I start to look for?

Any help will be appreciated. Thanks.

chasm@killer.DALLAS.TX.US (Charles Marslett) (07/01/89)

In article <533@turing.cwi.nl>, mdvries@cwi.nl (Michiel de Vries) writes:
> IBM-Logo doesn't work with an EGA card, even if you set the switches
> for CGA emulation.
> 
> The problem is in so called `Mixed Mode', where there are 4 lines of text 
> displayed on the graphics screen. Scrolling these lines, sometimes leaves
> some pixels set; a kind of shadow of the just scrolled away lines.
> Just for completeness: the text lines have to be in 40 char. mode.

The problem is that someone at IBM (or whoever wrote that code) was really
dumb or stuffed in a chunk of code to prevent anyone from running the code
on a system not by IBM.  The scroll code is done with an XOR sequence that
turns off the old text and turns on the new (all at once) -- but it uses a
local copy of the character font (not the one pointed to by the vector in
low RAM and not the one at a fixed location in the OS ROMs).  The best fix
I know of (other than buying an STB EGA or VGA) is to find the 8x8 character
font in the OS ROM area (F000:0000-FFFF) and change the pointer at 0000:010C
(if I remember correctly) to point to it.  This has to be done after each
mode set (I think there is a BIOS mechanism to support such stuff, but a
TSR that watches for mode sets and patches 010C afterwards might work out
just as easily).

> The problem is known to the Dutch Logo Users Group, but they don't know
> of a solution. There is no problem with a CGA card.

If the CGA also failed, that would mean the OS ROM did not have a perfect
match on the 8x8 character font.

> Questions:
> - Does someone has a solution/patch for the problem?
> - What causes the problem? Is it incompatibility between CGA & EGA, and does
> Logo write directly to the EGA memory? Is it do-able to try to patch Logo?
> What should I start to look for?

Actually, you could patch logo for the EGA card you have, or even patch logo
to use the font pointed to by the 0000:010C vector (this would make any EGA
or VGA work, but would fail if a CGA were installed, since the system BIOS
doesn't set up that vector).

> Any help will be appreciated. Thanks.

I hope that is enough ideas (I ran into it two or three years ago, writing
an EGA BIOS -- our font was right justified in the 8x8 cell and IBM's is
left justified, so the result was that each line scrolled up left an "outline"
character behind!  It looked very odd, and took forever (;^) to explain).

Charles
===========================================================================
Charles Marslett
STB Systems, Inc.  <== Apply all standard disclaimers
Wordmark Systems   <== No disclaimers required -- that's just me
chasm@killer.dallas.tx.us <== soon to be attctc.dallas.tx.us I think