Bally Astrocade - Bally Astrocade

Bally Astrocade
Bally-Arcade-Konsole.jpg
Hersteller Bally Manufacturing
Astrovision
Typ Heimvideospielkonsole
Generation Zweite Generation
Veröffentlichungsdatum April 1978 ; Vor 43 Jahren ( April 1978 )
Einführungspreis 299 US-Dollar (entspricht 1.277 US-Dollar im Jahr 2020)
Abgesetzt 1983 ( 1983 )
Zentralprozessor Zilog Z80 taktet mit 1.789 MHz
Speicher RAM: 4k-64k (mit externen Modulen) RAM , 8k ROM
Wechselspeicher ROM-Kassette
Grafik 160×102 oder 320×204 in 4/8 Farben
Klang 3 × Oszillatoren mit Rauschmischung und Hardware-Global- Vibrato

Die Bally Astrocade (auch bekannt als Bally Arcade oder ursprünglich als Bally ABA-1000 ) ist eine Heimvideospielkonsole der zweiten Generation und ein einfaches Computersystem, das von einem Team bei Midway , damals die Videospielabteilung von Bally, entwickelt wurde . Es wurde ursprünglich im Oktober 1977 als "Bally Home Library Computer" angekündigt und im Dezember 1977 erstmals für den Versandhandel zur Verfügung gestellt. Aufgrund von Produktionsverzögerungen wurden die Geräte jedoch erstmals im April 1978 in die Läden gebracht und das Branding in "Bally Professional" geändert Arkade". Es wurde nur für eine begrenzte Zeit vermarktet, bevor Bally beschloss, den Markt zu verlassen. Die Rechte wurden später von einer Drittfirma übernommen, die es erneut veröffentlichte und bis etwa 1984 verkaufte. Der Astrocade zeichnet sich insbesondere durch seine sehr leistungsstarken Grafikfunktionen zum Zeitpunkt der Veröffentlichung und den schwierigen Zugriff auf diese Funktionen aus .

Geschichte

Nutting und Midway

In den späten 1970er Jahren beauftragte Midway Dave Nutting Associates mit der Entwicklung eines Videoanzeigechips, der in all ihren Videospielsystemen verwendet werden konnte, von Standup- Arcade-Spielen bis hin zu einem Heimcomputersystem . Das von Nutting gelieferte System wurde in den meisten Midways klassischen Arcade-Spielen der Ära verwendet, einschließlich Gorf und Wizard of Wor . Der Chipsatz unterstützte die damals relativ hohe Auflösung von 320×204 in vier Farben pro Zeile, obwohl für den Zugriff auf diesen Modus Speicher erforderlich war, auf den schneller zugegriffen werden konnte als der übliche dynamische 2-MHz- RAM der Zeit.

Konsolennutzung

Ursprünglich als Bally Home Library Computer bezeichnet , wurde er 1977 veröffentlicht, ist aber nur über den Versandhandel erhältlich. Verzögerungen in der Produktion bedeuteten, dass bis 1978 keine der Einheiten tatsächlich ausgeliefert wurde, und zu diesem Zeitpunkt war die Maschine in Bally Professional Arcade umbenannt worden . In dieser Form wurde es hauptsächlich in Computergeschäften verkauft und hatte nur eine geringe Einzelhandelspräsenz (im Gegensatz zum Atari VCS ). In 1979 wuchs Bally weniger Interesse an dem Arcade - Markt und beschlossen , ihre Consumer Products Division zu verkaufen , einschließlich der Entwicklung und Produktion der Spielkonsole.

Ungefähr zur gleichen Zeit hatte eine Drittpartei erfolglos versucht, ihr eigenes Konsolendesign als Astrovision auf den Markt zu bringen . Ein Firmenkäufer aus Montgomery Ward, der für das Bally-System verantwortlich war, brachte die beiden Gruppen in Kontakt, und schließlich wurde ein Deal arrangiert. In 1981 es das Gerät mit der BASIC Kassette kostenlos, diesmal bekannt als das im Lieferumfang enthaltenen wieder freigegeben Bally Computersystem , mit der Namensänderung wieder, im Jahr 1982, zu Astrocade . Es wurde unter diesem Namen bis zum Absturz des Videospiels von 1983 verkauft und verschwand dann um 1985.

Midway plante seit langem, ein Erweiterungssystem für das Gerät herauszubringen , das als ZGRASS-100 bekannt ist . Das System wurde von einer Gruppe von Computerkünstlern an der University of Illinois in Chicago, bekannt als "Circle Graphics Habitat" , zusammen mit Programmierern bei Nutting entwickelt. Midway war der Meinung, dass ein solches System in einer externen Box die Astrocade für den Markt interessanter machen würde. Es war jedoch noch nicht zur Veröffentlichung bereit, als Bally die Division verkaufte. Eine kleine Handvoll könnte als ZGRASS-32 produziert worden sein, nachdem die Maschine von Astrovision wiederveröffentlicht wurde.

Das in einer einzigen Box kombinierte System sollte schließlich als Datamax UV-1 veröffentlicht werden . Während der Entwicklung auf den Heimcomputermarkt ausgerichtet, wurde die Maschine nun als System zur Ausgabe hochwertiger Grafiken auf Videoband neu ausgerichtet. Diese wurden irgendwann zwischen 1980 und 1982 zum Verkauf angeboten , aber es ist nicht bekannt, wie viele gebaut wurden.

Beschreibung

Das Basissystem wurde von einem Zilog Z80 angetrieben, der den Display-Chip mit einem RAM- Puffer dazwischen ansteuerte. Der Display-Chip hatte zwei Modi, einen Modus mit niedriger Auflösung bei 160 × 102 und einen Modus mit hoher Auflösung bei 320 × 204, beide mit 2 Bit pro Pixel für vier Farben. Diese Art von Farbe/Auflösung überstieg normalerweise die Fähigkeiten des RAM der damaligen Zeit, der die Daten nicht schnell genug auslesen konnte, um mit der TV-Anzeige Schritt zu halten. Das System verwendete eine Seitenmodus-Adressierung, die es ihnen ermöglichte, jeweils eine "Zeile" mit sehr hoher Geschwindigkeit in einen Puffer innerhalb des Anzeigechips zu lesen. Die Zeile konnte dann gemächlicher auf den Bildschirm ausgelesen werden, wobei die CPU, die ebenfalls versucht hatte, den gleichen Speicher zu nutzen, weniger belastet wurde.

Auf der Astrocade waren die Pins, die für diesen "Trick" benötigt werden, nicht verbunden. Somit blieb dem Astrocade-System nur der 160 × 102-Modus mit geringerer Auflösung übrig. In diesem Modus verbrauchte das System 160 × 102 × 2 Bit = 4080 Byte Speicher, um den Bildschirm zu halten. Da die Maschine nur über 4 kB (4096 Byte) RAM verfügte, ließ dies nur sehr wenig Raum für Programmfunktionen wie Spielstand und Spieloptionen. Der Rest des Programms müsste im ROM abgelegt werden .

Die Astrocade verwendete Farbregister oder Farbe indirection , so dass die vier Farben aus einer Palette von 256 Farben ausgewählt werden können. Eine Farbanimation war möglich, indem die Werte der Register geändert wurden , und mit einem horizontalen Blank-Interrupt konnten sie von Zeile zu Zeile geändert werden. Ein zusätzlicher Satz von vier Farbregistern könnte an jedem Punkt entlang der Linie "eingetauscht" werden, was die Erzeugung von zwei vertikal geteilten Bildschirm-"Hälften" ermöglicht. Ursprünglich dazu gedacht, einen Score-Bereich an der Seite des Bildschirms zu erstellen, nutzten Programmierer diese Funktion auch, um 8 Farbmodi zu emulieren.

Im Gegensatz zum VCS enthielt der Astrocade keine Hardware- Sprite- Unterstützung. Es enthielt jedoch ein Blitter- ähnliches System und eine Software, um es zu steuern. Der Speicher oberhalb von 0x4000 war dem Display gewidmet und der Speicher darunter dem ROM. Wenn ein Programm in den ROM-Speicher schreibt (normalerweise unmöglich, es ist immerhin "nur lesen"), würde der Videochip die Daten nehmen, eine Funktion darauf anwenden und dann das Ergebnis an die entsprechende Stelle im RAM kopieren. Welche Funktion zu verwenden war, wurde in einem Register im Display-Chip gespeichert und beinhaltete allgemeine Befehle wie XOR und Bit-Shift. Dies ermöglichte es der Astrocade, eine beliebige Anzahl von Sprite-ähnlichen Objekten unabhängig von der Hardware zu unterstützen, mit dem Nachteil, dass es an der Software lag, sie neu zu zeichnen, wenn sie sich bewegten.

Der Astrocade war eines der frühen kassettenbasierten Systeme, bei dem als Videocades bekannte Kassetten verwendet wurden, die in Größe und Form einer Kassette so nahe wie möglich waren . Das Gerät enthielt auch zwei in das ROM integrierte Spiele , Gunfight und Checkmate , zusammen mit dem einfachen, aber nützlichen Rechner und einem "Doodle" -Programm namens Scribbling. Die meisten Cartridges enthielten zwei Spiele, und wenn sie eingesetzt wurden, wurde das Gerät zurückgesetzt und ein Menü angezeigt, das mit den Programmen auf der Cartridge begann und dann die vier integrierten Programme auflistete.

Der Astrocade verfügte über ein relativ komplexes Eingabegerät mit mehreren Arten von Steuerungsmechanismen: Der Controller war als Pistolengriff mit Triggerschalter an der Vorderseite geformt; ein kleiner 4-Schalter/8-Wege- Joystick wurde oben auf dem Griff platziert und die Welle des Joysticks mit einem Potentiometer verbunden , was bedeutet, dass der Stick gedreht werden konnte, um als Paddel-Controller zu dienen.

Auf der Vorderseite des Geräts befand sich eine 24-Tasten-"Hex-Pad"-Tastatur zur Auswahl von Spielen und Optionen sowie zur Bedienung des Taschenrechners. Auf der Rückseite befanden sich eine Reihe von Anschlüssen, darunter Anschlüsse für die Stromversorgung, die Controller und ein Erweiterungsanschluss. Eine Besonderheit war, dass die obere Rückseite des Geräts leer war und geöffnet werden konnte, um bis zu 15 Patronen aufzubewahren. Die Fähigkeit des Systems, von einer Videospielkonsole auf einen PC aufgerüstet zu werden, zusammen mit seiner Bibliothek von fast 30 Spielen im Jahr 1982 sind einige Gründe, die es vielseitiger machten als seine Hauptkonkurrenten und wurde von Jeff Rovin als eines der sieben wichtigsten Videos aufgeführt Anbieter von Spielen.

Astro BASIC

Die Astrocade enthielt auch eine BASIC - Programmiersprache Kassette, geschrieben von Jamie Fenton , der erweiterte Li-Chen Wang ‚s Palo Alto Tiny BASIC . 1978 erstmals als Bally BASIC veröffentlicht.

Die Entwicklung eines BASIC-Interpreters auf dem System war schwierig, da allein das Display fast den gesamten verfügbaren Arbeitsspeicher verbrauchte. Die Lösung für dieses Problem bestand darin, den BASIC-Programmcode im Video-RAM zu speichern.

Dies wurde erreicht, indem jedes Bit des Programms zusammen mit der Anzeige selbst verschachtelt wurde ; BASIC verwendet alle geradzahligen Bits und zeigt die ungeradzahligen Bits an. Der Interpreter würde zwei Bytes auslesen, alle ungeradzahligen Bits fallen lassen und die Ergebnisse zu einem einzigen Code- Byte zusammensetzen . Dies wurde unsichtbar gemacht, indem zwei der Farben gleich den anderen beiden gesetzt wurden, so dass die Farben 01und 11gleich (weiß) waren, so dass das Vorhandensein oder Fehlen eines Bits für BASIC keine Auswirkung auf den Bildschirm hatte. Zusätzlicher Speicher wurde freigelegt, indem vertikal weniger Zeilen verwendet wurden, nur 88 statt der vollen 102. Dies schaffte es, 1760 Bytes RAM für BASIC-Programme herauszupressen. Der Nachteil war, dass die meiste Leistung des Grafiksystems nicht verfügbar war.

Programme wurden über die Tastatur des Taschenrechners eingegeben, mit einer Plastikauflage, die Buchstaben, Symbole und BASIC-Schlüsselwörter anzeigte. Diese wurden über einen Satz von 4 farbigen Umschalttasten ausgewählt. Zum Beispiel; Wenn Sie "WORD" (gold) eintippen, dann würde die Taste "+" zu GOTO.

Ein einfacher Zeileneditor wurde unterstützt. Nach dem Eingeben der Zeilennummer, die einem vorhandenen Programm entspricht, würde jedes Drücken der PAUSE-Taste das nächste Zeichen aus dem Speicher laden.

Ein Astro-BASIC-Programm, das später kommerzialisiert wurde, ist Artillery Duel . John Perkins schrieb das Spiel zuerst und reichte es beim The Arcadian Fanzine ein , von dem es für das Astro BASIC Handbuch adaptiert wurde. Perkins entwickelte anschließend die Astrocade-Kassette des Spiels.

Sprachmerkmale

Astro BASIC unterstützt die folgenden Schlüsselwörter:

  • Befehle: LIST, RUN, STOP,TRACE
  • Aussagen: PRINT,INPUT
  • Struktur: GOTO, GOSUB, RETURN, IF(aber nein THENund nein ELSE),FOR-TO-STEP/NEXT
  • Grafiken: BOX, CLEAR,LINE
  • Bandbefehle: :PRINT, :INPUT, :LIST,:RUN
  • Funktionen: ABS(), CALL(), JX()(horizontale Position des Joysticks), JY()(vertikale Position des Joysticks), KN()(Knopfstatus), PX(X,Y)(Pixel ein oder aus), RND(), TR()(Triggerstatus)
  • Eingebaute Variablen
    • (nur lesen): KP(Tastendruck), RM(Rest der letzten Division), SZ(Speichergröße), XY(letzte LINE-Position)
    • (nur schreiben): SM=(Scroll-Modus), TV=(ASCII-Zeichen anzeigen)
    • (Lesen/Schreiben): BC(Hintergrundfarbe), CX CY(Cursorposition), FC(Vordergrundfarbe), NT(Zeit notieren),
  • Mathematik: + - × ÷
  • Relationale Operatoren: < > = # [ungleich] [die Sprache unterstützte nicht: <= => <>]
  • Logische Operatoren: × [AND] + [OR]

Ein Punkt .am Zeilenanfang war äquivalent zu REManderen BASIC-Implementierungen. Bestimmte Befehle wurden über die Tastatur statt über Schlüsselwörter verarbeitet: Die RESET-Taste war äquivalent zu NEWanderen Interpretern.

Die Sprache unterstützte 26 Integer-Variablen Abis Z, und zwei vordefinierte Arrays , @()- die nach dem Programm aufsteigend *()gespeichert wurde - und - die von der Spitze des Speichers absteigend gespeichert wurde. Der Sprache fehlte eine DIMAnweisung zur Dimensionierung der Arrays, deren Größe durch den verfügbaren Speicher ( SZ) bestimmt wurde, der nicht von der Programmauflistung verwendet wird (2 Byte pro Element). Auf die Ports wurde über das Array zugegriffen &(), und auf den Speicher wurde über das Array zugegriffen %(), anstatt PEEK und POKE zu verwenden . Während die Sprache keine Zeichenfolgen hatte, KPwürde sie den ASCII- Wert eines Tastendrucks bereitstellen , der in ausgegeben werden konnte TV, was bedeutet, dass Zeichen von der Tastatur eingelesen, in einem Array gespeichert und dann ausgegeben werden konnten.

Die Zeichenanzeige war 11 Zeilen mit 26 Zeichen breit. Die Auflösung für die Grafikbefehle beträgt 88x160, wobei X von -80 bis 79 und Y von -44 bis 43 reicht.

Musik kann auf vier Arten produziert werden:

  1. Der PRINTBefehl erzeugte als Nebeneffekt einen einzigartigen Ton für jedes angezeigte Zeichen oder Schlüsselwort.
  2. Die MUVariable wandelte Zahlen in Noten um.
  3. Die Ports 16 bis 23 greifen auf einen Musiksynthesizer zu.
  4. Die Sound-Synthesizer-Variablen MO(Master-Oszillator), 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 Lautstärke), VF(Vibrato-Frequenz), VR(VibRato). (Zu Astro BASIC hinzugefügt, aber nicht in Bally BASIC.)

Beispielcode

Das folgende Beispielprogramm aus dem Handbuch demonstriert die Joystick-Eingabe- und Grafikfunktionen. "Testen Sie Ihr Geschick... Der Drehknopf des ersten Spielers bewegt den Phaser nach links oder rechts und der Abzug schießt... Spieler 2 kontrolliert das Ziel, während Spieler 1 schießt."

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

Diese Auflistung veranschaulicht, wie Schlüsselwörter, die tokenisiert wurden, immer mit einem nachfolgenden Leerzeichen angezeigt wurden.

ZGRASS

Die ZGRASS-Einheit saß unter der Astrocade und verwandelte sie in einen "richtigen" Computer, einschließlich einer vollständigen Tastatur, eines mathematischen Co-Prozessors ( FPU ), 32k RAM und einem neuen 32k ROM mit der GRASS-Programmiersprache (manchmal auch als GRAFIX auf dieser Maschine). Das Gerät fügte außerdem I/O-Anschlüsse für eine Kassette und eine Diskette hinzu , sodass es mit CP/M verwendet werden kann .

Rezeption

Danny Goodman von Creative Computing Video & Arcade Games erklärte 1983, dass Astrocade "eines der besten Grafik- und Soundpakete aller Heimvideospiele hat".

Spezifikationen

Platine und Kassetten

  • CPU: Zilog Z80, 1.789 MHz
  • RAM: 4 kB (bis zu 64 kB mit externen Modulen im Erweiterungsport)
  • ROM: 8 kB
  • Warenkorb-ROM: 8 kB
  • Erweiterung: 64 kB gesamt
  • Anschlüsse: 4 Controller, 1 Erweiterung, 1 Lichtstift

Audio

  • Soundchip-Modell: 0066-117XX, auch als Musikprozessor bekannt , oder ein benutzerdefinierter I/O-Chip, da der Soundchip auch I/O-Funktionen ausführt.
  • Kanalfunktionen: Es gibt 3 Rechteckwellenkanäle, alle mit einer Tonhöhengenauigkeit von 8 Bit (256 mögliche Frequenzen zur Auswahl), die alle Rechteckwellen abspielen können. Der Chip verfügt auch über einen Rauschgenerator, der von den anderen 3 Rechteckwellenkanälen unabhängig sein kann oder seinen Wert dem Master-Oszillator hinzufügen kann, der die 3 Rechteckwellenkanäle ansteuert. Der Masteroszillator kann auf verschiedene Frequenzen eingestellt werden, wodurch der Frequenzbereich für die 3 Rechteckkanäle verändert werden kann.
  • Lautstärkeregelung: Jeder Kanal verfügt über eine unabhängige 4-Bit-Lautstärkeregelung.
  • Sonstiges zum Klang: Es gibt Hardware-Register für Vibrato, mit zwei Bit für die Vibrato-Geschwindigkeit und 6 Bit für die Vibrato-Tiefe. Dies bedeutet, dass Vibrato nicht vollständig mit Software ausgeführt werden muss.

Video

  • Auflösung: Echt 160×102 / Basic 160×88 / Erweiterter RAM 320×204
  • Farben: True 8* / Basic 2
    • Die Bitmap-Struktur des Bally lässt eigentlich nur 4 Farbeinstellungen zu. Durch die Verwendung von 2 Farbpaletten und einem Kontrollbyte für die linke/rechte Grenze könnten Sie jedoch den linken Bildschirmabschnitt (dies könnte das Spielfeld sein) einen Satz Farben verwenden, während die rechte Seite (dies könnte Informationen wie Leben anzeigen) und Partitur) einen ganz anderen Farbsatz verwendet, somit waren insgesamt 8 Farben möglich.
  • Grafiktyp: Bitmap, 2 Bit pro Pixel Bitmap.

Spielebibliothek

Es gibt 28 offiziell veröffentlichte Videospiele für das System.

  • 280 Zzzap / Dodgem (1978)
  • Erstaunliches Labyrinth / Tic Tac Toe (1978)
  • Artillerie-Duell (1982)
  • Astro Battle (1981) (ursprünglich mit dem Titel Space Invaders)
  • Bally-Pin (1981)
  • Biorhythmus (1981)
  • Blackjack / Poker / Acey-Deucey (1978)
  • Explosionsdroiden (1981)
  • Clowns / Ziegelei (1979)
  • Kosmische Räuber (1982)
  • Hundefleck (1978)
  • Grundlegende Mathematik und Geschwindigkeitsmathematik (1978)
  • Fußball (1978)
  • Galaktische Invasion (1981) (ursprünglich mit dem Titel Galaxian)
  • Galaxian (1981) (später umbenannt in Galaktische Invasion)
  • Grand Prix / Demolition Derby (1978)
  • Schießerei (1977)
  • Der unglaubliche Zauberer (1981)
  • Buchstabenübereinstimmung / Spell'n Score / Kreuzworträtsel (1981)
  • Frau CandyMan (1983) (sehr selten)
  • Müncher (1981)
  • Panzerangriff / Roter Baron (1978)
  • Piratenjagd (1981)
  • Seeteufel (1983) (selten)
  • Seewolf / Rakete (1978)
  • Sonneneroberer (1981)
  • Weltraumfestung (1981)
  • Space Invaders (1979) (später umbenannt in Astro Battle)
  • Sternenschlacht (1978)
  • Tornado-Baseball / Tennis / Hockey / Handball (1978)

Andere Patronen

  • BASIC
  • Maschinensprachmanager

Prototypen

  • Conan der Barbar
  • Mazeman
  • Fußball

Hausbrauen

  • Kitz Dungeon
  • Schatzbucht (1983) (Spectre Systems)
  • ICBM-Angriff (Spectre Systems) mit dem Spectre Systems-Griff (extrem selten)
  • Hinterhältige Schlange (1983) (Neues Bild)
  • Krieg

Verweise

Externe Links