Disclaimer: This information is provided as is. There may be errors in this information. You may use this information only if you agree that Minimalist / Coinop.org, its employees, and noted authors will never be held responsible for any damage, injury, death, mayhem, etc. caused by errors in the information. When working with high voltage, never work alone and always follow safety precautions.

Document Title: [WilliamsHWdescription.html (html file)]

Williams Hardware Description

The older Williams games
(Defender, Stargate, Robotron, Joust, Bubbles and Sinistar) have very
similar hardware inside. These machines have five PC boards:

CPU/Video- the main board, containing the CPU, RAM and video circuits

The game CPU is a Motorola 6809E. There are 24 4116 RAM chips, giving 48K
of DRAM, most of which is used for the video display (38K). There is also
a 1K by 4-bit CMOS SRAM that is battery-backed-up. This retains the game
configuration and high scores when the power is off.  The video circuit
allows for 16 colors on the screen at once out of a total palette of 256 colors.

The color registers can be written by the CPU at any time, allowing for color
cycling and fade effects.

 The normal resolution is 304 pixels by 255 pixels, 4 bits per pixel.

There is a watchdog that resets the machine if a certain data byte is not
written to a hardware location within a certain interval. 

 ROM- program ROMs

This board contains up to 12 4K ROMs, for 48K of ROM space. The ROMs in
banks 0-8 can be bank-switched with RAM. The ROMs in banks D, E and F
are always available.

The ROM board also contains the two 4-bit blitter chips. These chips are
able to move data around without the assistance of the CPU, which only has
to set up the source, destination, width and height. The blitters can move
an entire rectangular block of data, or just the foreground graphics.
They can also replace the graphics with a solid color.

The ROM board PIA has 7 bits of input from the coin door, 7 bits of output
going to the sound board and 4 bits of output to the diagnostic LED. This PIA
is directly connected to the address and data buses, and is accessed at
$C80C-C80F. 

 Interface- game controller interface

This board has two multiplexors to increase the number of inputs going to
the 'widget' PIA. This PIA is directly connected to the address and data
buses, and is accessed at $C804-C807. 

  Sound- sound CPU and ROM

The sound board uses an independant 6808 or 6802 CPU and supports one 2K or
4K ROM (addressed at $F000). It is connected to the game CPU by means of
7 sound/speech inputs. These feed to a PIA (at $0400), which interrupts the
CPU to generate the sound effects. The CPU sends data back to the PIA, which
outputs 8 bits to a digital to analog converter. The board has room for a
40-pin connector that the speech board attaches to. The speech board has two
parts: the digital half is a ROM extender that can hold 4 2K or 4K ROMs.
The analog half consists of a CVSD digital to analog converter whose output
is mixed with the sound board's. 

The classic Williams games cram 48k RAM, 48k ROM and 4k I/O into the 6809's
64k address space using bank-switching.

$0000 - 8fff is bank-switchable between RAM and ROM. Writes always go to RAM.
$9000 - bfff is always RAM.
$c000 - cbff is I/O
$cc00 - cfff is CMOS RAM; $cc00-ccff is write-protected when coin door shut.
$d000 - ffff is always ROM *

Screen memory is $0000 - 97ff (304 pixels * 256 pixels * 4 bits/pixel)

* Sinistar has SRAM at d000 - dfff.

Defender always has RAM from $0000 - bfff and always has ROM from $d000 - ffff.
ROM and I/O is bank switched into $C000 - CFFF.


The older Williams games (Defender, Stargate, Robotron, Joust, Bubbles
and Sinistar) have very similar hardware inside.

Here is an overview of the hardware differences between these games:

Defender:

This is the oldest of these games and although it is very similar to the others,
there are many significant differences. Most of the hardware addresses (such as
PIA and watchdog) are at different locations. Also, many of the ROM images were
bank-switched into the same memory locations.

The ROM board does not have the special chips that are required to run
Robotron, Joust, Bubbles and Sinistar.

Stargate:

This board set is very similar to the later ones with only a few differences.
The CPU board needs a slight modification in order to be compatible with the
later ones. It also includes a small PC board that was used to allow a
different type of SRAM to be used.

Also, the ROM board does not have the special chips required to run the later
games.

Robotron and Joust

These board sets are almost identical. If you want to make a multi-game, you
should start with one of these or (better yet) Bubbles.

Splat

This board set is very similar to Joust and Robotron, except that the ROM
board uses Special Chip 2s instead of SC1s. 

Bubbles

This board set is nearly the same as Robotron/Joust. The major difference is
the extra SRAM included on the CPU board, making the battery- backed memory
8 bits wide instead of 4. This is easy to hack onto an older board, and is
ignored by the other games.

Sinistar

This board set has many slight differences from the others.

The ROM board includes a blitter clipper circuit that stops the special chips
from accessing the top part of the screen, and two SRAMs have been added in
place of ROM Dxxx.

The interface board is substantially different from the other games.

There is a second sound board wired in parallel with the normal one, used in
the cockpit game for stereo effects. There is also a speech board wired to
one of the sound boards.