Main Page | See live article | Alphabetical index

Bally Astrocade

The Astrocade was an early video game console designed by a team at Midway Mfg., the videogame division of Bally. Originally referred to as the Bally Home Library Computer, it was released in 1977 but available only through mail order. Delays in the production meant none of the units actually shipped until 1978, and by this time the machine had been renamed the Bally Professional Arcade. In this form it sold mostly at computer stores and had little retail exposure (unlike the Atari VCS).

In 1979 Bally grew less interested in the arcade market, and started looking for new markets to expand into. Within a few short years they were known solely as a health club and casino company. They had already started construction of a casino in Atlantic City in 1979, and in 1980 decided to sell off their Consumer Products Division who were in charge of the machine.

By this point the unit had gathered a following of dedicated users who had learned of the power of the machine though its BASIC cartridge. A group of them arranged to buy the rights to the system from Bally, and set up in business as Astrovision. In 1981 they re-released the unit with the BASIC cartridge included for free, this time known as the Bally Computer System, and then changed the name again in 1982 to Astrocade. The sold under this name until the video game crash of 1983, and then disappeared around 1985.

Midway had long been planned to release an expansion system for the unit, known as the ZGRASS-100. The system was being developed by a group of computer artists at the University of Illinois known as the Circle Graphics Habitat, along with programmers at Nutting. Midway felt that such a system, in an external box, would make the Astrocade more interesting to the market. However it was still not ready for release when Bally sold off the division in 1980. A small handful may have been produced as the ZGRASS-32 after the machine was re-released by Astrovision.

The system, combined into a single box, would eventually be released as the Datamax UV-1. Aimed at the home computer market while being designed, the machine was now re-targetted as a system for outputting high-quality graphics to video tape. These were offered for sale some time between 1980 and 1982, but it is unknown how many were built.

Table of contents
1 Description


In the late 1970s Midway contracted Dave Nutting Associates to design a video display chip that could be used in all of their videogame systems, from standup arcade games, to a home computer system. The system Nutting delivered remains perhaps the most powerful graphics system of the 8-bit generation, and was used in most of Midway's classic arcade games of the era, including Gorf and Wizard of Wor.

The basic systems were powered by a Zilog Z80 driving the display chip with a RAM buffer in between the two. The display chip had two modes, a low-resolution mode at 160x102, and a high-resolution mode at 320x204, both with 2-bits per pixel for four colors. This sort of color/resolution was normally beyond the capabilities of RAM of the era, but a clever trick, technically "holding the RAS high", allowed them to read one "line" at a time at very high speed into a buffer inside the display chip. The line could then be read out to the screen at a more leisurely rate, while also interfereing less with the CPU who was also trying to use the same memory.

Sadly, on the Astrocade the pins needed to use this "trick" were not connected. Thus the Astrocade system was left with just the lower resolution mode that the hardware supported. In this mode the system used up 160x102 x 2bits = 4080 bytes of memory to hold the screen. Since the machine had only 4k of RAM, this left very little room left over for the programs use, which was used for things like holding the score, or game options.

The Astrocade used color registers, or color indirection as it was often referred to then, so the four colors could be picked from a palette of 256 colors. Color animation was possible by changing the values of the registers, and using a horizontal blank interrupt you could change them from line to line. An additional set of four color registers could be "swapped in" at any point along the line, allowing you to easily create two sections of the screen, split vertically. Clever programmers used this feature to emulate 8 color modes.

Unlike the VCS, the Astrocade did not include hardware sprite support. It did, however, include a blitter-like system and software to drive it. Memory above 0x4000 was dedicated to the display, and memory below that to the ROM. If a program wrote to the ROM space (normally impossible, it's "read only" after all) the video chip would take the data, apply a function to it, and then copy the result into the corresponding location in the RAM. Which function to use was stored in a register in the display chip, and included common instructions like XOR and bit-shift. This allowed the Astrocade to support any number of "sprites" independent of hardware, with the downside that it was up to the software to re-draw them when they moved.

The Astrocade was one of the early cartridge-based systems, using cartridges known as Videocades that were designed to be as close in size and shape as possible to a cassette tape. The unit also included two games built into the ROM, Gunfight and Checkmate, along with the simple but useful Calculator and a "doodle" program called Scribbling.

The Astrocade also included a BASIC cartridge as well, which presented a problem given that the display alone used up almost all the RAM. The solution to this problem was very complex, yet very clever. The BASIC program was stored in the video RAM by interleaving every bit of the program along with the display itself, BASIC used all the even-numbered bits, and the display got the odd-numbered bits. The BASIC interpreter would read out two bytes, drop all the odd-numbered bits, and assemble the results into a single byte of code. This was rendered invisible by setting two of the colors to be the same as the other two, such that colors 01 and 11 would be the same (white), so the presence, or lack, of a bit for BASIC had no effect on the screen. Additional memory was scavanged by using less lines vertically, only 88 instead of the full 102. The end result of all this was to manage to squeeze out 1760 bytes of RAM for BASIC programs.

On the front of the unit was a 24-key "hex-pad" keyboard used for selecting games and options. Most cartridges included two games, and when they were inserted the machine would reset and display a menu starting with the programs on the cartridge and then listing the four built-in programs. BASIC was programmed, labouriously, though this keyboard by assigning each of the keys a single command, number and several alpha characters. These were selected through a set of 4 colored shift keys. This way you simply typed "WORD"(gold) shift then the "+" key and got GOTO.

On the back were a number of ports, including connectors for power, the controllers, and an expansion port. One oddity was that the top of the unit was empty, and could be opened to store up to 15 cartridges. The controllers were also somewhat odd, the handle was a large grip with a trigger on the front, with the "stick" on top that also doubled as a paddle controller. By most reports the controllers were excellent, but had the downside of breaking frequently.

The ZGRASS unit sat under the Astrocade and turned it into a "real" computer, including a full keyboard, a math co-processor (FPU), 32k of RAM, and a new 32k ROM containing the GRASS programming language (sometimes referred to as GRAFIX on this machine). The unit also added I/O ports for a cassette and floppy disk, allowing it to be used with CP/M.


CPU: Z80, 1.8 MHz
RAM: 4k (up to 64k with external modules in the expansion port)
ROM: 8k
Video: 160x102x2 bit true (4 colors), 160x88x1 bit basic (2 colors)
Sound: 3 voices + noise/vibrato effects (played through the TV)
Ports: 4 controller, 1 expansion, 1 light pen

List of Bally Astrocade games