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, clocked at 1MHz.
- There are 24 4116 RAM chips, giving 48K of DRAM, most of which is used for the screen buffer (38K).
- On all games but Defender, RAM is always available from $9000 to $BFFF, and can be bank-switched with ROM from $0000-$8FFF. Except for Sinistar, the games have ROM from $D000-$FFFF; Sinistar has RAM at $D000-DFFF.
- Defender always has RAM from $0000-$BFFF. Other banks of ROM and I/O are bank-switched into $C000-$CFFF.
- There is also a 1K by 4-bit CMOS SRAM that is battery-backed-up (Bubbles has 8-bit SRAM). This retains the game configuration and high scores when the power is off. The first part of this RAM is write protected when the coin door is shut, so game configuration can't be changed without opening the door.
- The video circuit allows for 16 colors on the screen at once out of a total palette of 256 colors (3 bits of red, 3 bits of green and 2 bits of blue). The color registers can be written by the CPU at any time,
allowing for color cycling and fade effects. The resolution is 304 pixels by 256 pixels, 4 bits per pixel. There is a 14-bit video counter driven by a 1MHz clock that gets reloaded with 0x3F00 the first time it overflows, giving a total count of 16640 in 16.64ms.
- There is a watchdog that resets the machine if the value 0x39 is not written to memory location 0xCBFF within 8 vertical blanking periods (about 133 milliseconds).
- Memory address $C900 is used for a few miscellaneous things: bit 0 selects RAM or ROM in the memory space $0000-$8FFF. Bit 1 flips the screen for the 2nd player on a cocktail game. Bit 3 is used by Sinistar to protect the top part of the screen (the radar and scores) from being overwritten.
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.
Power supply- regulators and fuses
- The power supply board takes the
reduced AC voltages from the large transformer in the bottom of the cabinet
and rectifies and regulates them, producing +/- 5 volts, +/- 12 volts and
+27 volts. 6.3 volts AC is also taken from the transformer for lighting.
There are 3 LEDs on the power supply board: the top LED shows that +5 volts
is working; the middles indicates +12 volts; and the bottom is for -5 volts.