[comp.sys.ibm.pc] 16 bit cards vs 8, SHAFTED?

calhoun@cis.ohio-state.edu (robert r. calhoun) (02/25/89)

        I recently purchased a Genoa VGA card for 1024X768 graphics,
        I was asked if I wanted 16 or 8 bit type card, I was told
        16 was faster, so I chose it.  I received the more expensive
        16 bit card today (or did I) and it fits in my XT. As a 
        matter of fact I am using it now.  I was under the impression
        16 bit cards don't fit in XTs.  Do I have an 8 bit card?

                       Thanx for any help and advice.

chasm@killer.DALLAS.TX.US (Charles Marslett) (02/25/89)

In article <37020@tut.cis.ohio-state.edu>, calhoun@cis.ohio-state.edu (robert r. calhoun) writes:
> 
>         I recently purchased a Genoa VGA card for 1024X768 graphics,
>         I was asked if I wanted 16 or 8 bit type card, I was told
>         16 was faster, so I chose it.  I received the more expensive
>         16 bit card today (or did I) and it fits in my XT. As a 
>         matter of fact I am using it now.  I was under the impression
>         16 bit cards don't fit in XTs.  Do I have an 8 bit card?

The better quality card (better designed cards actually) will work fine
in 8-bit systems, and in fact BECOME 8-BIT CARDS  when inserted into an
8-bit slot in either an XT or an AT.  If the second set of "fingers" do
not contact an AT bus connector, the card should fall back into 8-bit only
access (it has to do 8-bit accesses anyway, to support byte reads and writes
from the CPU, as well as to support misaligned word accesses).

Were you shafted?

Maybe.  If Genoa's 16-bit card is like STB's, it is (obviously) a 16-bit card
and as such will run faster (in text mode, and perhaps in 256-color mode, ONLY)
but it may also have other useful features.  Ours also:

    1) uses a higher frequency oscillator for its 960x720 mode, resulting in
       much less flicker and better screen centering.
    2) uses that same oscillator to provide for 1024x768 in a non-interlaced
       mode (both 8 and 16 bit cards support 1024x768 in the 8514 interlaced
       format).
>                        Thanx for any help and advice.


You're very welcome (if I really helped!)

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

james@bigtex.cactus.org (James Van Artsdalen) (02/26/89)

In <37020@tut.cis.ohio-state.edu>, calhoun@cis.ohio-state.edu (robert r. calhoun) wrote:

> [...] I was asked if I wanted 16 or 8 bit type card, I was told 16
> was faster, so I chose it.

Definitely much faster.  You can access data 16 bits at a time (in an
AT), and there are fewer wait states per access (on an AT), though
this might not be a big deal if the video card inserts large numbers
of wait states on its own.

> I received the more expensive 16 bit card today (or did I) and it
> fits in my XT. As a matter of fact I am using it now.  I was under the
> impression 16 bit cards don't fit in XTs.  Do I have an 8 bit card?

Bizarre though it may seem, at least some 16 bit cards work just fine
in an 8 bit slot, with the 16 bit edge extension just hanging there in
mid-air.  The only one I have seen actually do this is the Video-7 16
bit VGA card.  The hardware people swear this is OK...
-- 
James R. Van Artsdalen          james@bigtex.cactus.org   "Live Free or Die"
DCC Corporation     9505 Arboretum Blvd Austin TX 78759         512-338-8789

mlawless@ncrwic.Wichita.NCR.COM (Mike Lawless) (02/27/89)

In article <14313@bigtex.cactus.org> james@bigtex.cactus.org (James Van Artsda
>
>Bizarre though it may seem, at least some 16 bit cards work just fine
>in an 8 bit slot, with the 16 bit edge extension just hanging there in
>mid-air.  The only one I have seen actually do this is the Video-7 16
>bit VGA card.  The hardware people swear this is OK...

Another good example of this type of design is the newest version of the Intel
AboveBoard.  They once had separate versions for 8 and 16 bit buses, but now
they only carry the one model.  They also did away will *all* option switches,
and setup is now done by means of a menu driven setup program which stores
configuration parameters in a non-volatile RAM.  BTW, it is possible to split
the available memory on the board between DOS memory (fill to 640K), extended
and expanded in any arbitrary way you like.  And, the PS version also 
contains a serial and parallel port, and a socket for a second serial port
upgrade.  It holds 2MB of DRAM, with a daughterboard available for an
additional 2MB (I recently heard a rumor that the daughter board can now
handle up to 8MB, but I am not sure).  All in all, this is one of the most
outstanding add-in boards I have ever encountered.

I have no connection with Intel other than being a satisfied customer.
-- 
Mike Lawless, NCR E&M Wichita, Box 20     (316) 636-8666   (NCR: 654-8666)
3718 N. Rock Road, Wichita, KS  67226     Mike.Lawless@Wichita.NCR.COM
{ece-csc,hubcap,gould,rtech}!ncrcae!ncrwic!Mike.Lawless
{sdcsvax,cbatt,dcdwest,nosc.ARPA}!ncr-sd!ncrwic!Mike.Lawless

joel@peora.UUCP (02/28/89)

Another thing I'm wondering about is whether a 16 bit card card will
actually faster than 8 bit cards for most cases. I remember Steve
Gibson in a Infoworld column last year stating that. As I recall the
arguement was that since most accesses to video memory were 8 bits at
a time, the extra bandwidth was usually wasted.

In the July 88 PC Magazine they benchmarked some VGA cards. They
benchmarked the Compaq VGA card in both 8 and 16 bit mode. For most
of the tests the results were the same.
-- 
Joel Upchurch/Concurrent Computer Corp/2486 Sand Lake Rd/Orlando, FL 32809
joel@peora.ccur.com {uiucuxc,hoptoad,petsd,ucf-cs}!peora!joel (407)850-1040

abcscnge@csuna.csun.edu (Scott "The Pseudo-Hacker" Neugroschl) (02/28/89)

In article <14313@bigtex.cactus.org> james@bigtex.cactus.org (James Van Artsdalen) writes:
]In <37020@tut.cis.ohio-state.edu>, calhoun@cis.ohio-state.edu (robert r. calhoun) wrote:
]
]> [...] I was asked if I wanted 16 or 8 bit type card, I was told 16
]> was faster, so I chose it.
]
]Definitely much faster.  You can access data 16 bits at a time (in an
]AT), and there are fewer wait states per access (on an AT), though
]this might not be a big deal if the video card inserts large numbers
]of wait states on its own.
]
]> I received the more expensive 16 bit card today (or did I) and it
]> fits in my XT. As a matter of fact I am using it now.  I was under the
]> impression 16 bit cards don't fit in XTs.  Do I have an 8 bit card?
]
]Bizarre though it may seem, at least some 16 bit cards work just fine
]in an 8 bit slot, with the 16 bit edge extension just hanging there in
]mid-air.  The only one I have seen actually do this is the Video-7 16
]bit VGA card.  The hardware people swear this is OK...

Intel does this with theiir AboveBoard/286.  The card is a 16 bit card.
The manual says to leave the AT connector hanging in an XT.  I was tempted
to put some black tape over the connectors so that it wouldn't have any
chance of shorting...  Incidentally, I'll make another comment on the
AboveBoard -- This is the ONLY card I have ever seen that has the right
type of setup, MCA cards included.  Intel put a EEPROM on the card so that
the setup software burns the prom properly, no switches, no (stupid) .ADF
files needed.



-- 
Scott "The Pseudo-Hacker" Neugroschl
UUCP:  ...!sm.unisys.com!csun!csuna.csun.edu!abcscnge
-- "Beat me, whip me, make me code in Ada"
-- Disclaimers?  We don't need no stinking disclaimers!!!

toma@tekgvs.LABS.TEK.COM (Tom Almy) (03/02/89)

In article <3778@peora.ccur.com> joel@peora.UUCP writes:
>Another thing I'm wondering about is whether a 16 bit card card will
>actually faster than 8 bit cards for most cases. 

Well, if you are going through the BIOS, your won't see any improvement.
I have made the following observations:

1) Code can be written to take advantage of 16 bit access in text mode, since
each character is 16 bits (8 bits attributes, 8 bit character value).  FOr
instance, NANSI.SYS writes 16 bits at a time.

2) At least some of these cards (the Video Seven card I have, for example)
don't insert wait states.  This card runs at bus speeds, while the old EGA
cards I have used inserted about 1usec of wait states with each byte.  This
gives a speed improvement even with 8 bit accesses.

3) Most text applications are not display speed limited, and thus won't show
much speed improvement by the clock, but they sure look lots faster since a
page of text snaps instantly to the screen.  The faster the processor (I have
a 20Mhz 80386), the more important a fast display card is and the more speed
improvement you will see.

4) Speed improvement in graphics modes is less since you cannot do 16 bit
graphics manipulations.  IBM, in their infinite wisdom, used a "Big endian"
display bit ordering in a "Little endian" processor environment, so all
pixel operations need to be done on bytes anyway.

Tom Almy
toma@tekgvs.labs.tek.com
Standard Disclaimers Apply

james@bigtex.cactus.org (James Van Artsdalen) (03/03/89)

In <3778@peora.ccur.com>, joel@peora.UUCP wrote:
> Another thing I'm wondering about is whether a 16 bit card card will
> actually faster than 8 bit cards for most cases.

Yes.  You'll see it too.

> As I recall the arguement was that since most accesses to video
> memory were 8 bits at a time, the extra bandwidth was usually wasted.

Ha!  Mr. Gibson wasn't thinking.  The most visually obvious speed
issue is screen scrolling, and that happens 16 bits at a time.  16
transfers have fewer wait states than 8 bit, so you get not only two
bytes at once, but fewer wait states to boot.

Keep in mind that most/all VGA cards have the video BIOS on the card,
and don't use the motherboard BIOS.  One tends to assume that the card
vendor optimizes their BIOS for their board design.q
-- 
James R. Van Artsdalen          james@bigtex.cactus.org   "Live Free or Die"
DCC Corporation     9505 Arboretum Blvd Austin TX 78759         512-338-8789

james@bigtex.cactus.org (James Van Artsdalen) (03/03/89)

In <4710@tekgvs.LABS.TEK.COM>, toma@tekgvs.LABS.TEK.COM (Tom Almy) wrote:
> In article <3778@peora.ccur.com> joel@peora.UUCP writes:
> >Another thing I'm wondering about is whether a 16 bit card card will
> >actually faster than 8 bit cards for most cases. 

> Well, if you are going through the BIOS, your won't see any improvement.
> I have made the following observations:

How so?  VGA cards have their own BIOS.  I assume those vendors code
their BIOS to use their hardware properly.  The code in the
motherboard BIOS isn't generally used.  The video card BIOS is certain
to use 16 bit moves to scroll the screen.

> 3) Most text applications are not display speed limited, and thus won't show
> much speed improvement by the clock, but they sure look lots faster since a
> page of text snaps instantly to the screen.

"snaps instantly to the screen"?  "won't show much speed improvement"?

If you can see it, it's definitely an improvement.  If you can't, it
usually isn't.  Whether or not something is an improvement from the
CPU's perspective is entirely irrelevant: on the user's perspective
matters.

> 4) Speed improvement in graphics modes is less since you cannot do 16 bit
> graphics manipulations.

Oh?  I've been doing it for years.  If you store sixteen bits to the
screen, you get that bit pattern displayed.  You just have to store
the right sixteen bits.
-- 
James R. Van Artsdalen          james@bigtex.cactus.org   "Live Free or Die"
DCC Corporation     9505 Arboretum Blvd Austin TX 78759         512-338-8789

toma@tekgvs.LABS.TEK.COM (Tom Almy) (03/03/89)

In article <14505@bigtex.cactus.org> james@bigtex.cactus.org (James Van Artsdalen) writes:
>In <4710@tekgvs.LABS.TEK.COM>, toma@tekgvs.LABS.TEK.COM (Tom Almy) wrote:
<< In article <3778@peora.ccur.com< joel@peora.UUCP writes:
<< <Another thing I'm wondering about is whether a 16 bit card card will
<< <actually faster than 8 bit cards for most cases. 
<
<< Well, if you are going through the BIOS, your won't see any improvement.
<< I have made the following observations:
<
<How so?  VGA cards have their own BIOS.  I assume those vendors code
<their BIOS to use their hardware properly.  The code in the
<motherboard BIOS isn't generally used.  The video card BIOS is certain
<to use 16 bit moves to scroll the screen.

Yes the BIOS is possibly faster, but the problem is that the BIOS routines
are constrained to operate like IBM's BIOS, which was not designed for
efficiency.  For instance, you cannot write a string of characters, but
must call the BIOS for each character, enduring the overhead on each one. 
(Yes, the VGA BIOS has a string output function, but this is not available
on earlier adapters)  If you want to draw a line, there is no line drawing
primitive, nor is there area fill or area copy (you can read or write only
single pixels).  The BIOSes also scroll the display by moving all characters
rather than reprogramming the display start address: this is much faster,
FANSI-CONSOLE does it, but is incompatible with some application programs.
Really fast programs don't use the BIOS except for setting display modes.

<
<< 3) Most text applications are not display speed limited, and thus won't show
<< much speed improvement by the clock, but they sure look lots faster since a
<< page of text snaps instantly to the screen.
<
<"snaps instantly to the screen"?  "won't show much speed improvement"?
<
<If you can see it, it's definitely an improvement.  If you can't, it
<usually isn't.  Whether or not something is an improvement from the
<CPU's perspective is entirely irrelevant: on the user's perspective
<matters.
<
Yes and no.  I think we are in agreement here -- people want the programs
to appear fast, and a 2x faster display, even in a 90% compute bound program
looks more than 5% faster!  But by the clock (which is what you see in
magazine reviews), it will only be 5% faster, so people might believe it
is not worth the additional cost.

<< 4) Speed improvement in graphics modes is less since you cannot do 16 bit
<< graphics manipulations.
<
<Oh?  I've been doing it for years.  If you store sixteen bits to the
<screen, you get that bit pattern displayed.  

Well, no.
The binary value 0000000110000000
displays as
.              .
which is not what I would expect!

<You just have to store the right sixteen bits.

Well, thats the problem, isn't it?  If you put "1" in AX, and write it to
the screen, shift left and write, etc., you see this:

       .		Time 1
      .			Time 2
     .			Time 3, etc.
    .
   .
  .
 .
.
               .
              .
             .
            .
           .
          .
         .
        .


EGA/VGA cards were designed for 68000 processors, being big endian in their
bit ordering.  

Tom Almy
toma@tekgvs.labs.tek.com
Standard Disclaimers Apply

chasm@killer.DALLAS.TX.US (Charles Marslett) (03/05/89)

In article <14505@bigtex.cactus.org>, james@bigtex.cactus.org (James Van Artsdalen) writes:
> How so?  VGA cards have their own BIOS.  I assume those vendors code
> their BIOS to use their hardware properly.  The code in the
> motherboard BIOS isn't generally used.  The video card BIOS is certain
> to use 16 bit moves to scroll the screen.

As the author of half a dozen of those BIOSes, I consider myself more-or-less
an authority on this issue.  Mostly we who write BIOSes put our emphasis on
(1) making the d**n thing fit into the 16/30/32K of ROM space we have to work
with, (2) making all the flakey software out there work with it (the STB BIOS
write-dot function was at one time almost 3 times as fast as the second fastest
I could identify -- but because the registers in the CRTC/graphics controller
were not left in the same state as IBM left them, several programs broke -- so
we do it like every one else now...), then (3) making it run fast.

Specifically, all the GOOD 16-bit cards have some way to disable 16-bit operation
since the faster 386 boxes often do not work with them in 16-bit mode.  In
fact, we have one card (I believe it is a Video 7 VRAM card, but it may be one
of the others) that asserts a very short 16-bit acknowledge and on my Everex
Step/20 386 box it runs in 8-bit mode whether it realizes it or not -- so says
the PC Tech Journal ATPERF program.

> >[Some comments about non-significance of the improvement in speed]

> If you can see it, it's definitely an improvement.  If you can't, it
> usually isn't.  Whether or not something is an improvement from the
> CPU's perspective is entirely irrelevant: on the user's perspective
> matters.

And here I might add that if a program runs slower, but makes the
user wait less (not the case here, but often the case when a serial
tasking program is converted to running with multiple tasks) most people
will consider it faster, even if it does more poorly on the standard
benchmarks!

> > 4) Speed improvement in graphics modes is less since you cannot do 16 bit
> > graphics manipulations.
> 
> Oh?  I've been doing it for years.  If you store sixteen bits to the
> screen, you get that bit pattern displayed.  You just have to store
> the right sixteen bits.

Unfortunately, this is not true in general for EGA/VGA products.  If you
write your own graphics I/O routines (that is, write code that is NOT EGA
compatible) you can do 16-bit graphics I/O.  In fact, generic EGA graphics
access is even possible using 16-bit transfers, but the overhead and the
difficulty of the code (it is nearly impossible to follow, since the pixel
layout is erratic, and many registers need to be modified every few pixels)
make this very rare.  The normal methods of accessing EGA 16-color graphics
modes (VGA also) are inherrently 8-bit unless you are going to simulate
monochrome and write all 4 planes at once all the time.

> -- 
> James R. Van Artsdalen          james@bigtex.cactus.org   "Live Free or Die"
> DCC Corporation     9505 Arboretum Blvd Austin TX 78759         512-338-8789

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