|4 controller ports
Released to stores in January 1978, the Bally Professional Arcade (later known as the Astrocade) never really took off commercially, but it did develop a strong cult following.
The Astrocade is an second generation video game console and simple computer system designed by a team at Midway, the videogame division of Bally. The Astrocade is particularly notable for its very powerful graphics capabilities for the time of release, and for the difficulty in accessing those capabilities.
With its BASIC language capabilities and built-in, 24-button keypad (which was a serviceable substitute for a computer keyboard), the Professional Arcade was seen by some as a more complex alternative to the Atari 2600. Adding to the system’s sophisticate-friendly allure are its unusual controllers, which are grip handles outfitted with a gun-like trigger and a knob that serves as both joystick and rotary controller. The system was packaged with two control devices, but the console has four controller ports, meaning many of the games offer four-player capabilities.
- CPU: Z80, 1.789 MHz
- RAM: 4k (up to 64k with external modules in the expansion port)
- ROM: 8k
- Cart ROM: 8k
- Expansion: 64K total
- Ports: 4 controller, 1 expansion, 1 light pen
- Sound: 3 voices + noise/vibrato effects (played through the TV)
- 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 you could have the left section of screen (this could be the play field) use 1 set of colors while the right side (this could show information such as lives and score) used an entirely different set of colors, thus 8 total colors were possible.
- Graphic type: Bitmap, 2 plane bitpacked
Supporting BASIC on the system was very difficult, because the display alone used up almost all the available RAM. The solution to this problem was very complex, yet very clever.
BASIC programs were 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 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. The end result of all this was to manage to squeeze out 1760 bytes of RAM for BASIC programs. The downside was that most of the graphics system's power was unavailable.
BASIC was programmed, laboriously, through 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.