# Bally Astrocade

O Bally Astrocade (também conhecido como Bally Arcade ou inicialmente Bally ABA-1000) é um console de videogame doméstico de segunda geração e um sistema de computador simples projetado por uma equipe da Midway, na época a divisão de videogames da Bally. Foi originalmente anunciado como o "Bally Home Library Computer" em outubro de 1977 e inicialmente disponibilizado para correspondência em dezembro de 1977. Contudo, devido a atrasos na produção, as unidades foram lançadas pela primeira vez nas lojas em abril de 1978 e sua marca mudou para "Bally Professional Arcade". Foi comercializado apenas por um tempo limitado antes que Bally decidisse sair do mercado. Os direitos foram posteriormente adquiridos por uma empresa terceirizada, que a relançou e vendeu até por volta de 1984. O Astrocade é particularmente notável por suas poderosas capacidades gráficas para a época do lançamento, e pela dificuldade no acesso a esses recursos.

## História
### Nutting e meio caminho

No final da década de 1970, a Midway contratou a Dave Nutting Associates para projetar um chip de exibição de vídeo que poderia ser usado em todos os seus sistemas de videogame, desde jogos de fliperama até um sistema de computador doméstico . O sistema fornecido pela Nutting foi usado na maioria dos jogos de arcade clássicos da Midway da época, incluindo Gorf e Wizard of Wor .

### Uso Console

Originalmente chamado de Bally Home Library Computer , foi lançado em 1977, mas disponível apenas por correspondência. Atrasos na produção significaram que nenhuma das unidades realmente foi vendida até 1978 e, nessa época, a máquina havia sido renomeada para Bally Professional Arcade . Dessa forma, era vendido principalmente em lojas de informática e tinha pouca exposição no varejo (diferentemente do Atari VCS ). Em 1979, Bally ficou menos interessado no mercado de fliperamas e decidiu vender sua divisão de produtos de consumo, incluindo o desenvolvimento e a produção do console de jogos.
Na mesma época, um grupo de terceiros tentara, sem sucesso, lançar seu próprio design de console no mercado como o Astrovision. Um comprador corporativo da Montgomery Ward, que estava encarregado do sistema Bally, colocou os dois grupos em contato, e um acordo acabou sendo acertado. Em 1981, eles relançaram a unidade com o cartucho BASIC incluído gratuitamente, desta vez conhecido como Bally Computer System, com o nome mudando novamente, em 1982, para Astrocade. Ele foi vendido com esse nome até o crash dos videogames de 1983 e desapareceu por volta de 1985.
A Midway planejava lançar um sistema de expansão para a unidade, conhecido como ZGRASS-100. O sistema estava sendo desenvolvido por um grupo de artistas da computação da Universidade de Illinois em Chicago, conhecido como 'Circle Graphics Habitat', juntamente com programadores da Nutting. A Midway achou que esse sistema, em uma caixa externa, tornaria o Astrocade mais interessante para o mercado. No entanto, ainda não estava pronto para o lançamento quando Bally vendeu a divisão. Um pequeno punhado pode ter sido produzido como o ZGRASS-32 depois que a máquina foi relançada pela Astrovision.
O sistema, combinado em uma única caixa, seria lançado como Datamax UV-1 . Visando o mercado de computadores domésticos enquanto era projetada, a máquina agora era redirecionada como um sistema de saída de gráficos de alta qualidade para fita de vídeo. Estes foram colocados à venda em algum momento entre 1980 e 1982 , mas não se sabe quantos foram construídos.

## Descrição

O sistema básico era alimentado por um Zilog Z80 acionando o chip de exibição com um buffer de RAM entre os dois. O chip de exibição tinha dois modos, um modo de baixa resolução em 160 × 102 e um modo de alta resolução em 320 × 204, ambos com 2 bits por pixel para quatro cores. Esse tipo de cor / resolução normalmente estava além dos recursos de RAM da época, que não conseguiam ler os dados com rapidez suficiente para acompanhar a tela da TV. O sistema usava o endereçamento no modo de página, permitindo que eles lessem uma "linha" de cada vez em velocidade muito alta em um buffer dentro do chip da tela. A linha poderia então ser lida na tela a uma taxa mais lenta, enquanto também interferia menos na CPU, que também estava tentando usar a mesma memória.
No Astrocade, os pinos necessários para usar esse "truque" não estavam conectados. Assim, o sistema Astrocade ficou com apenas o modo de resolução mais baixa 160 × 102. Nesse modo, o sistema utilizava 160 × 102 × 2bits = 4080 bytes de memória para manter a tela. Como a máquina tinha apenas 4 kiB (4096 bytes) de RAM, isso deixava muito pouco espaço para funções do programa, como manter as opções de pontuação e jogo. O restante do programa teria que ser colocado na ROM .
O Astrocade usava registros de cores , ou indireção de cores , para que as quatro cores pudessem ser escolhidas em uma paleta de 256 cores. A animação em cores foi possível alterando os valores dos registros e, usando uma interrupção horizontal em branco, eles poderiam ser alterados de linha para linha. Um conjunto adicional de quatro registros de cores pode ser "trocado" em qualquer ponto da linha, permitindo criar duas "metades" da tela, divididas verticalmente. Originalmente destinados a permitir que você crie facilmente uma área de pontuação na lateral da tela, os programadores também usavam esse recurso para emular 8 modos de cores.
Ao contrário do VCS, o Astrocade não incluía suporte a sprites de hardware . No entanto, incluiu um sistema e um software semelhantes ao blitter para conduzi-lo. A memória acima de 0x4000 foi dedicada ao monitor e a memória abaixo disso à ROM. Se um programa gravasse no espaço da ROM (normalmente impossível, afinal, é "somente leitura"), o chip de vídeo pegaria os dados, aplicaria uma função a ele e copiaria o resultado no local correspondente na RAM. Qual função usar foi armazenada em um registro no chip da tela e incluiu instruções comuns como XOR e deslocamento de bits. Isso permitiu ao Astrocade oferecer suporte a qualquer número de objetos semelhantes a sprites, independentemente do hardware, com a desvantagem de que o software deveria recriá-los quando eles se movessem.
O Astrocade foi um dos primeiros sistemas baseados em cartuchos, usando cartuchos conhecidos como Videocades que foram projetados para serem o mais próximo possível em tamanho e forma possível de uma fita cassete . A unidade também incluiu dois jogos embutidos na ROM, Gunfight e Checkmate , juntamente com a Calculadora simples, mas útil, e um programa de "doodle" chamado Scribbling.
O Astrocade apresentava um dispositivo de entrada relativamente complexo, incorporando vários tipos de mecanismos de controle: o controlador era modelado como um punho de pistola com um gatilho na frente; um pequeno joystick de 4 interruptores / 8 vias foi colocado no topo da empunhadura e o eixo do joystick foi conectado a um potenciômetro , o que significa que a alavanca pode ser girada para dobrar como um controlador de remo.
Na frente da unidade havia um teclado "hexadecimal" de 24 teclas usado para selecionar jogos e opções. A maioria dos cartuchos incluía dois jogos e, ao serem inseridos, a máquina reiniciava e exibia um menu começando com os programas no cartucho e listando os quatro programas internos. Na parte traseira havia várias portas, incluindo conectores de energia, controladores e uma porta de expansão. Uma peculiaridade era que a parte superior traseira da unidade estava vazia e poderia ser aberta para armazenar até 15 cartuchos. A capacidade do sistema de ser atualizado de um console de videogame para um computador pessoal, juntamente com sua biblioteca de quase 30 jogos em 1982, são alguns dos motivos que o tornaram mais versátil do que seus principais concorrentes e foi listado por Jeff Rovincomo um dos sete principais fornecedores de jogos de vídeo.

## BASIC

O Astrocade também incluiu uma linguagem de programação BASIC cartucho que foi baseado em Li-Chen Wang 's minúsculo BASIC . O suporte ao BASIC no sistema era difícil, porque o monitor consumia quase toda a RAM disponível. A solução para esse problema foi armazenar o código do programa BASIC na RAM de vídeo.
Isto foi conseguido intercalando cada bit do programa junto com o próprio display; O BASIC usou todos os bits pares, e o display recebeu os bits ímpares. O intérprete lê dois bytes, descarta todos os bits de número ímpar e reúne os resultados em um único byte de código. Isso ficou invisível ao definir duas cores iguais às outras duas, de modo que cores 01e11seria o mesmo (branco); portanto, a presença ou falta de um pouco para o BASIC não teve efeito na tela. A memória adicional foi eliminada usando menos linhas na vertical, apenas 88 em vez das 102 completas. O resultado final de tudo isso foi conseguir espremer 1760 bytes de RAM para programas BASIC. A desvantagem foi que a maior parte da energia do sistema gráfico não estava disponível.
Os programas foram inseridos pelo teclado, com cada uma das teclas atribuídas a um único comando, número e vários caracteres alfabéticos. Estes foram selecionados através de um conjunto de 4 teclas Shift coloridas. Dessa forma, você simplesmente digitou "WORD" (gold) shift e depois a tecla "+" e obteve GOTO.

## ZGRASS

A unidade ZGRASS ficou embaixo do Astrocade e o transformou em um computador "real", incluindo um teclado completo, um co-processador matemático ( FPU ), 32k de RAM e uma nova ROM de 32k contendo a linguagem de programação GRASS (às vezes chamada de GRAFIX nesta máquina). A unidade também adicionado portas I / O para uma cassete e disco flexível , que lhe permite ser utilizada com o CP / M .

## Recepção

Danny Goodman, da Creative Computing Video & Arcade Games, declarou em 1983 que o Astrocade "possui um dos melhores pacotes de gráficos e sons de qualquer videogame doméstico".

## Especificações
### Bordo e cartuchos de circuito

* CPU: Zilog Z80, 1.789 MHz
* RAM: 4 kB (até 64 kB com módulos externos na porta de expansão)
* ROM: 8 kB
* ROM do carrinho: 8 kB
* Expansão: 64 kB total
* Portas: 4 controladores, 1 expansão, 1 caneta de luz

### Áudio

* Modelo de chip de som: 0066-117XX, também conhecido como Music Processor , ou um chip de E / S personalizado pois o chip de som também executa funções de E / S.
* Recursos de canal: existem 3 canais de onda quadrada, todos com uma precisão de afinação de 8 bits (256 frequências possíveis para escolher), que podem reproduzir ondas quadradas. O chip também possui um gerador de ruído, que pode ser independente dos outros 3 canais de onda quadrada, ou pode agregar seu valor ao oscilador principal que aciona os 3 canais de onda quadrada. O oscilador principal pode ser configurado para diferentes frequências, o que significa que a faixa de frequência pode ser alterada para os 3 canais de onda quadrada.
* Controle de volume: cada canal possui controle de volume independente de 4 bits.
* Recursos diversos relacionados ao som: Existem registros de hardware para o vibrato, com dois bits para a velocidade do vibrato e 6 bits para a profundidade do vibrato. Isso significa que não seria necessário que o vibrato fosse feito inteiramente com software.

### Vídeo

* Resolução: True 160 × 102 / Basic 160 × 88 / RAM expandida 320 × 204
* Cores: Verdadeiro 8 * / Básico 2
** Na verdade, a estrutura de bitmap do Bally permite apenas 4 configurações de cores. No entanto, com o uso de duas paletas de cores e um byte de controle de limite esquerdo / direito, você pode fazer com que a seção esquerda da tela (esse pode ser o campo de jogo) use 1 conjunto de cores enquanto o lado direito (isso pode mostrar informações como vidas e score) usavam um conjunto de cores completamente diferente, portanto, 8 cores totais eram possíveis.
* Tipo de gráfico: Bitmap, bitmap de 2 planos

## Biblioteca de jogos
### Videogames oficiais

Existem 28 videogames lançados oficialmente para o sistema.
* 280 Zzzap / Dodgem (1978)
* Labirinto Incrível / Tic Tac Toe (1978)
* Duelo de Artilharia (1982)
* Astro Battle (1981) (originalmente intitulado Space Invaders)
* Bally Pin (1981)
* Biorritmo (1981)
* Blackjack / Poker / Acey-Deucey (1978)
* Droides Explosivos (1981)
* Palhaços / Brickyard (1979)
* Caçadores Cósmicos (1978)
* Dog Patch (1978)
* Matemática Elementar e Matemática de Velocidade (1978)
* Futebol (1978)
* Grande Prêmio / Derby de Demolição (1978)
* Luta com armas (1977)
* O Assistente Incrível (1981)
* Correspondência de letras / Pontuação ortográfica / Palavras cruzadas (1981)
* CandyMan (1983) (muito raro)
* Muncher (1981)
* Panzer Attack / Red Baron (1978)
* Perseguição aos Piratas (1981)
* Diabo do Mar (1983) (raro)
* Lobo do mar / míssil (1978)
* Invasão Galáctica (1981) (originalmente intitulado Galaxian)
* Galaxian (1981) (mais tarde intitulado Invasão Galáctica)
* Conquistador Solar (1981)
* Fortaleza do Espaço (1981)
* Invasores do Espaço (1981) (mais tarde intitulado Astro Battle)
* Guerra nas Estrelas (1978)
* Tornado Beisebol / Tênis / Hóquei / Handebol (1978)
Outros cartuchos
* BASIC
* Gerenciador de linguagem de máquina
Protótipos
* Mazeman
* Futebol
Homebrew
* Treasure Cove (1983) (Sistemas de Espectros)
* Ataque ICBM (Spectre Systems) Com o cabo Spectre Systems (Extremamente raro)
* Guerra