Document Title: [WilliamsHWdescription.html (html file)]
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.