delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1997/09/04/11:15:29

Sender: vheyndri AT rug DOT ac DOT be
Message-Id: <340ECF7F.6EB3@rug.ac.be>
Date: Thu, 04 Sep 1997 17:10:55 +0200
From: Vik Heyndrickx <Vik DOT Heyndrickx AT rug DOT ac DOT be>
Mime-Version: 1.0
To: Charles Sandmann <sandmann AT clio DOT rice DOT edu>
Cc: djgpp-workers AT delorie DOT com
Subject: Re: _dos_ds segment limit
References: <9709011542 DOT AA17704 AT clio DOT rice DOT edu>

Charles Sandmann wrote:
> 
> The ScreenUpdate call from djgpp used 32 bit writes to the text page.
> 32-bit writes were chosen since they were almost 2X faster for many
no *so* many
> machines, and it had no bad effects on thousands of machines tested.
> If the bus does not support 32-bit access (ISA) the chip set is supposed
> to handle it properly.

The system bus as well as the VGA card are VLB, so no problem should
arise from that. It is the video card ALG2201 that can't cope with the
high load of repeated 32 bit writes.

> If a particular piece of hardware doesn't, it's broken and needs to be
> programmed around.  Slow computers need the performance a lot - especially
> when trying to do rapid screen updates.  Why punish them due to one piece
> of broken hardware?  That's like forcing us all to use the 8088 instruction
> set since some computers don't support the 386 instructions...

Rapid screen updates is not a text mode video issue.
As I pointed out, slow computers don't benefit from 32 bit writes
(general case). The time slice to do text mode writes is relatively
small. (As opposed to graphics mode writes). The only computers that are
punished are fast computers, that will run as a result about .1% slower.
So when a few people would have these problems, the sacrifice won't be
that big. Unfortunately my survey pointed out that these problems are
*very* rare.

I can hardly see the similarity between this case and the 8088 - 80386
instructions. I believe that DJGPP was originally based on the principle
that it would only run on 386's and above. I also think that it should
run on almost any hardware, especially video hardware. The 32-bit text
write is as far as I can deduct from the documents I have, an
undocumented feature. I can find nowhere that it can be used nor that it
cannot. So in this light when I would make a commercial product I won't
even dare to make use of this feature, because it might not run on a
particular set of hardware. I think DJGPP should follow this rule.

-- 
+----------------+
| Vik Heyndrickx |
+----------------+

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019