Wikiwand AI

Bally Astrocade

Home video game console From Wikipedia, the free encyclopedia

The Bally Astrocade (also known as Bally Arcade and initially as Bally ABA-1000)[1] is a second-generation home video game console and simple computer system designed by a team at Midway, at that time the video game division of Bally.

Also known asBally Professional Arcade (1978–81)
Bally Computer System (1981–82)
ManufacturerBally Manufacturing
Astrovision
Quick facts Also known as, Manufacturer ...
Bally Astrocade
Also known asBally Professional Arcade (1978–81)
Bally Computer System (1981–82)
ManufacturerBally Manufacturing
Astrovision
TypeHome video game console
GenerationSecond generation
ReleasedApril 1978
Introductory price
US$299 (equivalent to $1,590 in 2025)
Discontinued1983 (1983)
CPUZilog Z80 clocked at 1.789 MHz
Memory4 KB–64 KB (with external modules) RAM
8 KB ROM
ROM cartridge
Graphics160×102 or 320×204 in 4/8 colors
Sound3 × oscillators with noise mixing and hardware global vibrato
Close

It was originally announced as the "Bally Home Library Computer" in October 1977 and made available for mail order in December 1977. Due to production delays, the units were first released to stores in April 1978 and its branding changed to "Bally Professional Arcade". It was marketed only for a limited time before Bally decided to exit the market. The rights were later picked up by a third-party company, who re-released it and sold it until around 1984.

The Astrocade is particularly notable for its powerful graphics capabilities for the time of release,[citation needed] and for the difficulty in accessing those capabilities.

History

Nutting and Midway

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 was used in most of Midway's classic arcade games of the era, including Gorf and Wizard of Wor. The chipset supported what was at that time relatively high resolution of 320×204 in four colours per line, although to access this mode required memory that could be accessed at a faster rate than the common 2 MHz dynamic RAM of the era.

Console use

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 widely available Atari VCS. In 1979, Bally grew less interested in the arcade market and decided to sell off their Consumer Products Division, including development and production of the game console.

At about the same time, a third-party group had been unsuccessfully attempting to bring their own console design to market as the Astrovision.[2] A corporate buyer from Montgomery Ward who was in charge of the Bally system put the two groups in contact, and a deal was eventually arranged. In 1981, they re-released the unit with the BASIC cartridge included for free, this time known as the Bally Computer System, with the name changing again in 1982 to Astrocade. It sold under this name until the video game crash of 1983, and then disappeared around 1985.

Midway had long been planning 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 at Chicago 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. A small handful may have been produced as the ZGRASS-32 after the machine was re-released by Astrovision.

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

Description

Bally Astrocade controller

The basic system was 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 160 × 102, and a high-resolution mode at 320 × 204, both with 2-bits per pixel for four colors. The higher resolution mode was beyond the capabilities of common RAM of the era, which could not read out the data fast enough to keep up with the TV display. To address this, the system used page mode addressing allowing them to read one "line" at a time at higher 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 interfering less with the CPU, which was also trying to use the same memory.

On the Astrocade the pins needed to use this "trick" were not connected. Thus the Astrocade system was left with just the lower resolution 160 × 102 mode. In this mode the system used up 160 × 102 × 2 bits = 4080 bytes of memory to hold the screen. Since the machine had only 4kiB (4096 bytes) of RAM, this left very little room for program functions such as keeping score and game options. The rest of the program would have to be placed in ROM.

The Astrocade used color registers, or color indirection, 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 they could be changed from line to line. An additional set of four color registers could be "swapped in" at any point along the line, allowing the creation of two screen "halves", split vertically. Originally intended to allow creation of a score area on the side of the screen, programmers also 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 is "read only") 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 sprite-like objects 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. 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.

The Astrocade featured a relatively complex input device incorporating several types of control mechanisms: the controller was shaped as a pistol-style grip with trigger switch on the front; a small 4-switch/8-way joystick was placed on top of the grip, and the shaft of the joystick connected to a potentiometer, meaning that the stick could be rotated to double as a paddle controller.

On the front of the unit was a 24-key "hex-pad" keyboard used for selecting games and options as well as operating the calculator. On the back were a number of ports, including connectors for power, the controllers, and an expansion port. One oddity was that the top rear of the unit was empty, and could be opened to store up to 15 cartridges. The system's ability to be upgraded from a video game console to personal computer along with its library of nearly 30 games in 1982 are some reasons that made it more versatile than its main competitors, and was listed by Jeff Rovin as one of the seven major video game suppliers.[3]

Astro BASIC

The Astrocade also included a BASIC programming language cartridge, written by Jamie Fenton, which was an expanded version of Li-Chen Wang's Palo Alto Tiny BASIC.[4] First published as Bally BASIC in 1978.

Developing a BASIC interpreter on the system was difficult, because the display alone used up almost all the available RAM. The solution to this problem was to store the BASIC program code in the video RAM.

This was accomplished by interleaving every bit of the program along with the display itself; BASIC used all the even-numbered bits, and the display used the odd-numbered bits. The 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 scavenged by using fewer lines vertically, only 88 instead of the full 102. This managed to squeeze out 1760 bytes of RAM for BASIC programs. The downside was that most of the graphics system's power was unavailable.

Programs were entered via the calculator keypad, with a plastic overlay displaying letters, symbols, and BASIC keywords. These were selected through a set of 4 colored shift keys. For example; typing "WORD"(gold) shift then the "+" key would result in GOTO.

A simple line editor was supported. After typing the line number corresponding to an existing program, each press of the PAUSE key would load the next character from memory.[4]:16

An Astro BASIC program that later became commercialized is Artillery Duel. John Perkins wrote the game first and submitted it to The Arcadian fanzine, from which it was adapted for the Astro BASIC manual.[4]:95 Perkins subsequently developed the Astrocade cartridge of the game.

Language features

Astro BASIC supported the following keywords:[4]:108-114

  • Commands: LIST, RUN, STOP, TRACE
  • Statements: PRINT, INPUT
  • Structure: GOTO, GOSUB, RETURN, IF (but no THEN and no ELSE), FOR-TO-STEP/NEXT
  • Graphics: BOX, CLEAR, LINE
  • Tape Commands: :PRINT, :INPUT, :LIST, :RUN
  • Functions: ABS(), CALL(), JX() (specified joystick's horizontal position), JY() (joystick vertical position), KN() (knob status), PX(X,Y) (pixel on or off), RND(), TR() (trigger status)
  • Built-in variables
    • (read only): KP (key press), RM (remainder of last division), SZ (memory size), XY (last LINE position)
    • (write only): SM= (scroll mode), TV= (display ASCII character)
    • (read/write): BC (background color), CX CY (cursor position), FC (foreground color), NT (note time),
  • Math: + - × ÷
  • Relational operators: < > = <= >= # [not equal] [the language did not support <>]
  • Logical operators: × [AND] + [OR]

A period . at the start of the line was equivalent to REM in other BASIC implementations. Certain commands were handled by the keypad instead of by keywords: the RESET button was equivalent to NEW in other interpreters.

The language supported 26 integer variables A to Z, and two pre-defined arrays, @() - which was stored starting after the program, ascending - and *() - which was stored from the top of memory, descending. The language lacked a DIM statement for dimensioning the arrays, the size of which was determined by available memory (SZ) not used by the program listing (2 bytes per item). Ports were accessed via the array &(), and memory was accessed via the array %(), rather than using PEEK and POKE. While the language lacked strings, KP would provide the ASCII value of a key press, which could be output to TV, meaning that characters could be read in from the keyboard, stored in an array, and then output.

The character display was 11 lines of 26 characters across. The resolution for the graphic commands is 88x160, with X ranging from -80 to 79 and Y ranging from -44 to 43.

Music could be produced in four ways:[4]:40,114

  1. The PRINT command, as a side effect, produced a unique tone for each character or keyword displayed.
  2. The MU variable converted numbers into notes.
  3. Ports 16 through 23 accessed a music synthesizer.
  4. The sound-synthesizer variables MO (master oscillator), NM (Noise Mode), NV (Noise Volume), TA (Tone A), TB (Tone B), TC (Tone C), VA (Voice A volume), VB (Voice B volume), VC (Voice C volume), VF (Vibrato Frequency), VR (VibRato). (Added to Astro BASIC but not in Bally BASIC.)

Sample code

The following sample program from the manual demonstrates the joystick input and graphics functions. "Try your skill... The first player's knob moves the phaser left or right and the trigger shoots... Player two controls the target while player one shoots."[4]:72

  1 .PHASER PHUN
  2 .BY DICK AINSWORTH
 10 X=RND(60)-31
 20 Y=RND(20)
 30 CLEAR
 40 X=X+JX(2)×3
 50 Y=Y+JY(2)×3
 60 BOX X,Y,4,4,3
 70 K=KN(1)÷2
 80 BOX K,-40,3,8,1
 90 IF TR(1)=0GOTO 30
100 N=1
110 IF K>X-3IF K<X+3N=15
120 FOR A=1TO N
130 BOX K,0,1,80,3
140 MU="4"
150 BC=A×8
160 NEXT A
170 FC=7
180 BC=8
190 GOTO 10

This listing illustrates how keywords, which were tokenized, were always displayed with a following space.

ZGRASS

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).[5] The unit also added I/O ports for a cassette and floppy disk, allowing it to be used with CP/M.

Reception

Games magazine included Bally Professional Astrocade in their "Top 100 Games of 1981", noting that "Our favorite cartridges are the classic Gunfight, Red Baron air war, and Demolition Derby."[6]

Danny Goodman of Creative Computing Video & Arcade Games stated in 1983 that Astrocade "has one of the best graphics and sound packages of any home video game".[7]

Specifications

Bally Astrocade motherboard

Circuit board and cartridges

  • CPU: Zilog Z80, 1.789 MHz
  • RAM: 4 kB (up to 64 kB with external modules in the expansion port)
  • ROM: 8 kB
  • Cart ROM: 8 kB
  • Expansion: 64 kB total
  • Ports: 4 controller, 1 expansion, 1 light pen

Audio

Demonstration of Bally Arcade's multi-voice sound chip, including noise and various vibrato effects
  • Sound chip model: 0066-117XX, also known as the Music Processor,[8] or a custom I/O chip[8][9] since the sound chip also performs I/O functions.
  • Channel capabilities: There are 3 square wave channels, all with a pitch accuracy of 8-bits (256 possible frequencies from which to choose), which can all play square waves. The chip also has a noise generator, which can be independent from the other 3 square wave channels, or it can add its value to the master oscillator that drives the 3 square wave channels. The master oscillator can be set to different frequencies, which means that the frequency range can be changed for the 3 square wave channels.[9]
  • Volume control: Each channel has independent 4-bit volume control.[9]
  • Miscellaneous features concerning sound: There are hardware registers for vibrato, with two bits for the vibrato speed and 6 bits for vibrato depth.[9] This means that it wouldn't be necessary for vibrato to be done entirely with software.

Video

  • Resolution: True 160×102 / Basic 160×88 / Expanded RAM 320×204
  • Colors: True 8* / Basic 2
    • The bitmap structure of the Bally actually only allows for 4 color settings. However, through the use of 2 color palettes and a left/right boundary control byte, the left section of screen (this could be the play field) could use one set of colors while the right side (this could show information such as lives and score) could use an entirely different set of colors, thus 8 total colors could possibly be displayed at once.
  • Graphic type: Bitmap, 2 bit per pixel bit map.

Software library

There were 31 cartridges released for the system before its discontinuation. Many of these cartridges provide two or more games bundled together. Counted separately and including the four games built into ROM, there were a total of 51 games and software applications released in this format. Later on, a number of games were published by unlicensed third parties, many of whom had gotten their start developing BASIC programs for the Astrocade as underground developers. These developers also released these BASIC games on cassette tapes and in print through the Arcadian newsletter.[10]

Many early games were licensed ports of Bally Midway arcade games, including Space Invaders and Galaxian which were licensed to Bally Midway for the North American market. Some of these titles had to be later changed due to licensing issues.

Cartridges

More information Title, No. ...
Title[11] No.[12] Publisher Release[13] Description[11]
280 Zzzap[i] 2001 Bally January 1978 Based on Midway's 1976 arcade racing game
Acey-Deucey[ii] 5002 Bally November 1978 A card betting game, unrelated to the board game despite the name
Amazing Maze[iii] 5001 Bally January 1979 Based on Midway's 1976 arcade maze game
Artillery Duel 5005 Astrovision October 1982 An artillery game
Bally BASIC[iv] 6004 Bally October 1978 A BASIC interpreter
Bally Pin[v] 3005 Bally October 1979 A pinball video game[14]
Bingo Math[vi] 4001 Bally May 1978 An educational math game
Biorhythm 4004 Astrovision September 1981 A biorhythm calculator
Blackjack[ii] 4004 Bally November 1978 Based on the card game blackjack
Brickyard[vii] 2004 Bally November 1978 Similar to Atari's Breakout[15]
Blast Droids Esoterica July 1983 A multidirectional shooter, similar to Midway's Omega Race
Blue Ram BASIC Perkins Engineering November 1981 An extended version of BASIC sold with The Blue Ram, a third party RAM expansion[16]
Calculator[viii] Bally January 1978 An arithmetic calculator
Checkmate[viii] Bally January 1978 Based on Midway's 1977 arcade snake game[15]
Clowns[vii] 2004 Bally November 1978 Based on Midway's 1978 arcade circus game[15]
Cosmic Raiders 2019 Astrovision August 1983 A scrolling shooter, Similar to William's Defender[17]
Crosswords[ix] 4002 Bally December 1978 A letter arrangement game
Demolition Derby[x] 2014 Astrovision September 1981 Based on the sport of demolition derby
Dodgem[i] 2001 Bally January 1978 A topdown racing game
Dog Patch 2010 Bally October 1980 Based on Midway's 1978 arcade skeet shooting game
Football 3002 Bally January 1979 Based on the sport of American football[15][18]
Galaxian[xi] 2007 Astrovision August 1981 Based on Namco's 1979 arcade shoot 'em up[14]
Grand Prix[x] 2014 Astrovision September 1981 An overhead racing game
Gun Fight[viii] Bally January 1978 Based on Midway's 1975 arcade wild west game[15]
Handball[xii] 3001 Bally May 1978 Similar to Pong but based on the sport of handball
Hockey[xii] 3001 Bally May 1978 Similar to Pong but based on the sport of ice hockey
I.C.B.M. Attack Spectre Systems June 1982 Similar to Atari's Missile Command
Letter Match[ix] 4002 Bally December 1978 Based on the card game concentration
Machine Language Manager Bit Fiddlers December 1981 A development environment for writing machine code
Missile[xiii][xiv] 2002 Bally January 1978 Based on Midway's 1977 arcade shooting game Guided Missile[15]
Ms. Candyman L&M Software September 1983 Similar to Midway's Ms. Pac-Man
Muncher[xv] Esoterica March 1983 Similar to Namco's Pac-Man
Panzer Attack[xvi] 2003 Bally January 1978 A tank game, similar to Atari's Combat
Pirates Chase 2015 Astrovision September 1982 A maze chase game with no maze
Poker[ii] 5002 Bally November 1978 Based on the card game poker
Red Baron[xvi] 2003 Bally January 1978 A dogfighting game, similar to Atari's Combat
Scribbling[viii] Bally January 1978 A basic drawing program[15]
Sea Devil L&M Software December 1983 an underwater scrolling shooter, similar to William's Defender
Seawolf[xiii] 2002 Bally January 1978 Based on Midway's 1976 submarine game[15]
Sneaky Snake New Image September 1983 Similar to Atari's Centipede
Solar Conqueror 2018 Astrovision August 1983 A multidirectional shooter[19]
Space Fortress 2012 Astrovision October 1981 Based on Midway's 1980 arcade shoot 'em up Space Zap
Space Invaders[xvii] 2008 Bally October 1979 Based on Taito's 1978 arcade shoot 'em up[18]
Speed Math[vi] 4001 Bally May 1978 An educational math game
Spell ‘n Score[ix] 4002 Bally December 1978 A letter arrangement game
Star Battle 2005 Bally February 1979 A rail shooter, similar to Atari's Star Wars arcade game
Tennis[xii] 3001 Bally May 1978 Similar to Pong but based on the sport of tennis
The Incredible Wizard 2017 Astrovision August 1982 Based on Midway's 1981 arcade maze game Wizard of Wor
Tic-Tac-Toe[iii] 5001 Bally January 1979 Based on the pen and paper game tic-tac-toe
Tornado Baseball[xii] 3001 Bally May 1978 Based on Midway's 1976 arcade baseball game
Treasure Cove Esoterica April 1983 A scuba diver game[20][10]
Close
  1. Bundled as 280 Zzzap/Dodgem
  2. Bundled as Blackjack/Poker/Acey-Deucey
  3. Bundled as Amazing Maze/Tic-Tac-Toe
  4. Later retitled to Astrovision BASIC
  5. Later retitled to Astrocade Pinball
  6. Bundled as Speed Math/Bingo Math, also known as Elementary Math/Bingo Math
  7. Bundled as Brickyard/Clowns
  8. Built into the system
  9. Bundled as Letter Match/Spell ‘n Score/Crosswords
  10. Bundled as Grand Prix/Demolition Derby
  11. Later retitled as Galactic Invasion
  12. Bundled as Tornado Baseball/Tennis/Handball/Hockey
  13. Bundled as Seawolf/Missile
  14. Later renamed to Bombardier
  15. Released in limited quantities and only ever labelled on cartridges as Test Programme or Demo[11]:24
  16. Bundled as Red Baron/Panzer Attack
  17. Retitled as Astro Battle in 1981

Prototypes

  • Conan the Barbarian[21]
  • Mazeman
  • Soccer
  • Fawn Dungeon[22]

References

Related Articles

Timelines

Top Qs

Fact Checks