An S-100 VGA Video Board.
Many S-100
board manufactures had their own Video boards. Most initially were
character based "video TTY's". The very early ones were restricted to 64
characters/line (for example the
SSM board) but
soon 80 characters per line became common. A good example is the
SD Systems 8024 Board.
As time went on, boards started to get more sophisticated and began to offer
fairly high resolution graphics capabilities. A good example of this
would be the Matrox ALT512 board which offered color graphics at a 512 X 256
resolution. There were even a few of higher resolution. The
NEC
7220 based video controller boards for example, which brought video display
graphics to a new level. That chip was the NVIDEA chip of its day back in
the early 1980's.
Once the IBM PC appeared on the scene video hardware compatibility with it became
key. There were a few S-100 bus attempts to make equivalent
cards. The
Lomas "Color Magic" IBM-PC Color Graphics Adaptor (CGA) look-alike
probably being the most successful. However with the phasing out of
the S-100 bus in the late 1980's, no higher resolution S-100 video boards
were ever produced.
On the IBM-PC side of things (and its clones), video boards of increasing
resolution appeared, eventually culminating in "VGA" boards. At the same
time a very long list
of "all in one" PC video chips were developed. The
firm Chips and Technologies was the first company (outside of IBM) to
deliver a compatible VGA chipset, the 82C451. This market was then entered
into by companies such as Trident Microsystems, Western Digital, Cirrus
Logic, Oak Technologies, and others, until it was saturated. None of
them exist today, nevertheless they started a whole industry of powerful
all in one video chips. With one chip, a little DRAM
and a ROM a complete video board could be constructed with outstanding
capabilities.
With the recent of our re-introduction introduction of 16 bit 8086 based S-100
boards and MS-DOS based operating systems there is a clear need for a good
high resolution VGA style video board. The specifications of a VGA
board is beyond the capability of discrete 74LSxx based TTL chips.
This is the job of a dedicated "Video Controller Chip". What chip
should one use ? There are a number of candidates. In the end I
settled for the
Cirrus Logic GD5420. Major points in its favor were
SVGA resolution, an onboard DAC, an excellent manual describing the chip and
reasonable availability. The only catch is that it only exists in a
164 pin surface mount version -- as do all these video chips.
After some further researching I found that one can easily get a custom
board made for chips like this and have it custom soldered to a board with
regular 0.1" centers. Here is a picture of such a board. A number of
companies make these "adaptor boards" and provide solder capabilities.
I got mine done by a Canadian group called
Proto-Advantage. The GD5420
chips themselves are often available on eBay. Fortunately the GD5420 was
used in many ISA bus PC video boards of the time. These are almost always
available on eBay. If you don't mind
trashing a board, it can be easily popped one from a board with a heat gun
on the back of a board.
Interfacing the chip to the S-100 bus at first looks quite simple but
unfortunately it's not! The GD5420 is setup to directly interface with the
PC ISA bus with no need for buffers or drivers. Unfortunately this
will not work on the 8/16 bit wide S-100 bus. If we could guarantee
the bus CPU would only send/receive 16 bit wide data it would be easy but
unfortunately VGA based software will often send and receive 8 bit wide data
as well. In this case the S-100 bus goes through a rearrangement with
separate 8 bit data in and out lines. See
here for
a detail description of this.
What this means is that we have to trap on the board memory and I/O
addresses that are relevant to the GD5420 chip and present them in a format
that is ISA bus "like". Very fortunate for us is the fact
that the chip has two pins MCS16* and IOCS16* that go low whenever the chip
sees a RAM or an IO port address that is meant for it.
ALL other addresses are ignored. This is
the trick we will build this boards interface around. The
schematic for this board is shown
here. Here is a picture of this first prototype board:-
In a typical IBM-PC, the video BIOS for the VGA board is at C000:0H to
C000:7FFFH. If we display RAM in this region on this board pin 2
of the GD-5420 chip (EROM*) will go low. This activates the two onboard
EEPROMS and their 74LS245 drivers. The fairly complex circuit on the
right of the schematic (U11, U12, U14, U10 etc) is to take care of the S-100
bus 8 and 16 bit data capabilities. This circuit is discussed in
detail for our 4Mg RAM board.
So far so good. However when I went to utilize the GD-5420 I/O ports the
IOCS16* pin did not go low! After a few frustrating days I
realized that the chip must first be "activated" by a few handshake signals
to ports 102H, and 46E8H. We now have a chicken and egg situation
because I cannot get to these ports unless IOCS16* goes low and these port
addresses will not be seen/acknowledged by the chip unless it is activated!
The net result of all this is that I have to do a second prototype board
where in hardware I "carve out" the GD-5420 ports allowing them to interact
with the chip in a ISA bus manner and interfacing the data to/from the chip
with the S-100 bus.
Here is
the more elaborate schematic required.
A Second Prototype Board
The second VGA S-100 video board has circuitry to recognize I/O ports
3BDH-3DFH, 102H, 46EBH such that if these ports are accessed (read or write)
the bus drivers are activated allowing communication with the Cirrus chip.
Here is a picture of this second board:-

As you can see there were still problems with the board. The port addressing
circuit had to be combined with the S-100 status signals sINP or sOUT. This
was accomplished with a 74LS00 shown in the patch area shown above.
Unfortunately I still have problems with the board/circuit. For some reason
Cirrus chip is not active (at least there is no DRAM refreshing or H & V
sync signals. Stay tuned.
MOST
CURRENT VGA BOARD SCHEMATIC
(V2 1/14/2012)
MOST
CURRENT VGA BOARD LAYOUT (V2
1/14/2012)
Other pages describing my S-100
hardware and software.
Please click
here
to continue...
This page was last modified
on 02/06/2012