Schlagwort-Archive: vectrex

Die Vectrex

Es liegt schon einige Zeit zurück, dass ich dieses Schätzchen bearbeitet und aufbereitet habe. Einen Beitrag darüber zu schreiben, ist dann wieder ein ganz anderes Thema. Oft habe ich mir gedacht, man könnte die Reparaturen und Aufbereitungen ja gleich mitfilmen und dann einen kleinen Film daraus machen und auf einer Videoplattform veröffentlichen… Na zumindest jetzt, im mittlerweile zweiten Corona Lock down und einer schlaflosen Nacht, sitze ich wieder vorm Rechner und versuche über dieses Stück geniale Hardware ein paar Zeilen zu verfassen. Dieses „geniale Stück Hardware“ habe ich zwar selber nie besessen und auch spät von dessen Existenz erfahren, aber als ich mich dann ein wenig eingelesen hatte, musste ich eines haben – aber natürlich auch zu einem bezahlbaren Preis. Also wie immer, lange nach defekten Geräten gesucht – und da die nur kurze Zeit hergestellt wurden, sind sie auch rar und schwer zu finden. Aber nach langer Suche hatte ich Glück und ein defektes, aber in Teilen vollständiges Gerät gefunden. Wie oben im Titel schon geschrieben, handelt es sich um die (oder auch „den“) Vectrex.

Die Vectrex ist ein Heim-Arcade Automat, mit einer 24cm Monochrombildröhre, einem ausklappbaren und auch herausnehmbaren Joystick. Dieser Spielautomat ist ein vollständiges „stand-alone“ System, das nur mehr eine Energieversorgung aus der Steckdose benötigt und es kann direkt losgelegt werden. Das Spiel der Vectrex nennt sich „MINE STORM“ und ist ein Klon des ASTEROID Spiels. Man hat damals also einen ASTEROIDS Automaten für daheim gekauft. Wenn ich von „damals“ spreche, dann bedeutet das von 1982 bis 1984. Denn die US Firma General Consumers Electronics (GCE) hat 1982 mit dem Verkauf des Automaten begonnen. Zu der Zeit war allerdings auch schon Atari mit dem 2600er auf dem Markt und erfreute sich großer Beliebtheit. Auch der Verkauf des C64 von Commodore stand kurz bevor. Diese Begebenheiten verminderten die Chance auf den großen Durchbruch der Vectrex zumal der Startpreis mit 200$ kein Schnäppchen war. So ging die Vertriebsfirma GCE 1984 pleite. In Europa war „MB“ Milton Bradley ab 1983 Rechteinhaber und vertrieb den Vectrex (oder die?). Um nun nicht nur das integrierte MINE STORM spielen zu müssen, gibt es einen Erweiterungsport, in den Spielemodule in ROM-Form gesteckt werden können. An Spieletiteln gab es ein überschaubare Menge – damit will ich sagen, dass es nicht besonders viele waren. Ein paar davon habe ich in dem Beitrag „Spielemodul für die Vectrex selbstgemacht“ erwähnt. Es existiert aber auch noch heute eine Community, die sich mit der Hardware und Software für die Vectrex beschäftigt und eigene Games entwickelt (sog. Homebrew Games). Auf der Website vectrex.de findet man eine reichhaltige Sammlung an Informationen über die Hardware. Auch Youtuber wie Zerobrain und Wolfgang Robel beschäftigen sich mit dieser Thematik und haben interessante Beiträge dazu veröffentlicht.

Driverboard für Hochspannung und Ablenkung usw.

So – aber nun zur Technik der Konsole. Die Vectrex besteht aus einem schwarzen Kunststoffgehäuse. Darin eingebaut ein CRT (auf Deutsch eine Kathodenstrahlröhre, also Bildröhre) im Hochformat. Ein Board für die Ansteuerung der Röhre mit der Hochspannungserzeugung und Treibern für die Ablenkspulen. Dann gibt’s da einen 50 Hz Netztransformator der als Niederspannungsversorgung der gesamten Elektronik dient. Hier ist anzumerken, dass die Primärseite des Trafos, als die 240VAC Seite direkt mit dem Netzkabel verbunden ist. Der Trafo verbraucht also IMMER Energie. Der kombinierte Lautstärke-Netzdreschalter ist an der Niederspannungsseite angebracht und trennt also nur die Elektronik. Der Trafo bleibt immer am Netz. Also wenn man das Gerät nicht verwendet, dann sollte man auch den Netzstecker ziehen.

Mainboard

Um mit der Aufzählung der Innereien fortzufahren: Es fehlt noch das, naja, nicht ganz unwichtige Teil – das Mainboard mit dem „Rechner“. Darauf arbeitet eine 6809 CPU von Motorola. Das ist eine 8Bit CPU die mit einem Takt von 1.6MHz angetrieben wird. Der Takt wird vom On-Chip Oszillator erzeugt, der nur mehr den Quarz an der Außenwelt benötigt. Die genauen technischen Features findet man wie immer im Datenblatt. Zur Sounderzeugung ist ein Dreikanal – Synthesizer – Soundchip verbaut, der AY-3-8910. Leider wurde bei der weiteren Signalverarbeitung gespart und das Audiosignal muss auf dem Weg zum NF-Verstärker so ziemlich alles an eingestrahlten Störungen mitnehmen, was die Leistungsstufen zur Ansteuerung des Bildrohrs so abstrahlen. Das ist aber ein durchaus bekanntes Phänomen. Die Vectrex ist bekannt für die „ich nenne es“ unsaubere, verrauschte Tonausgabe. Daran erkennt man aber auch die Originalität der frühen Konsolen. Angeblich sollen den letzten Generationen vor dem Verkaufsende dieses Problem nicht mehr haben. Ich habe bisher aber nur die verrauschten Vectrexen kennengelernt.

Vom Ton zum Bild. Und das ist auch einer der großen Unterschiede zu herkömmlichen Videospielkonsolen. Eine herkömmliche Spielekonsole wie auch jeder Fernsehempfänger rastert das Bild. Da bedeutet der Elektronenstrahl der Röhre schreibt die Bildinformation Zeile für Zeile auf die Leuchtschichte. Je nach Standard gibt es hier Unterschiede, wie Halbbildverfahren oder Anzahl der Zeilen oder auch Anzahl der Bildwechsel. Aber das Prinzip ist bei allen Rasterschreibern gleich. Links oben wird begonnen, eine Zeile mit den unterschiedlichen Helligkeits- und Farbinformationen zu schreiben. Dann erreicht der Strahl das rechte Ende des Bildrandes und wird dunkel geschaltet um ganz schnell in der nächsten oder (je nach Verfahren) übernächsten Zeile wieder zu beginnen. Beim PAL-System dauerte die Zeit von links nach rechts 64µs und das bei 625 Zeilen. Das bedeutet ein vollständiges Bild war in 0.04s geschrieben. Das wiederum bedeutet in einer Sekunde erreicht man damit eine Anzahl von 25 dargestellten Bildern:

64µs pro Zeile * 625 Zeilen = 0.04s je Bild * 25 Bilder = 1 Sekunde

Soweit so gut. Die Ablenkung des Elektronenstrahls wurde mittels magnetischen Feldern über Spulen am Bildröhrenhals realisiert.

Bei der Vectrex funktioniert das etwas anders. Der Name Vectrex, so mein Ansatz stammt von dem Begriff „Vektor“ also per Definition: Größe, die als ein in bestimmter Richtung mit bestimmter Länge verlaufender Pfeil dargestellt wird und die durch verschiedene Angaben (Richtung, Betrag) festgelegt werden kann. Im Datenblatt der Vectrex liest man bei Bildschirmauflösung 256×256 Positionen. Das bedeutet, der Elektronenstrahl kann ausgehend von seiner Nullposition (also beide Ablenkspulen erzeugen kein Magnetfeld) jeweils in 128 Stufen nach oben, nach unten, nach links und nach rechts abgelenkt werden. (also beide Achsen haben je eine Auflösung von 8 Bit). Wie funktioniert das jetzt? Nehmen wir an ein kleines Dreieck soll im linken oberen Bildschirmbereich dargestellt werden. Wir nehmen an, der linke Bildrand liegt bei x=-128, der rechte bei x=+128, der obere bei  y=-128 und der untere bei y=+128.

Bildröhre der Vectrex

Dazu wird der Elektronenstrahl von seiner Nullposition nach links oben, also zum Beispiel in x=-50 und y=-50 ausgelenkt. Von dort fährt er zum nächsten Punkt des Dreieckes z.B.  -40/-60 und von dort zum nächsten (z.Bsp. -30/-50) und dann wieder zurück zu -50/-50. Während des Anfahrens dieser drei Punkte ist der Elektronenstrahl hell geschaltet. Er zeichnet also das Dreieck. Vom letzten Punkt und auch ersten Punkt des geschlossenen Dreiecks geht’s dann wieder zurück zur Nullposition und das natürlich mit dunkel geschaltetem Elektronenstrahl.  So lange das Dreieck auf dem Bildschirm dargestellt wird, wird der Vorgang mit der maximalen Geschwindigkeit wiederholt um ein schönes, flimmerfreies Dreieck zu sehen.  Jetzt kann man sich denken was passiert, wenn nun ganz viele Symbole gleichzeitig gezeichnet werden sollen. Das geht natürlich nicht. Der Strahl muss alle Symbole nacheinander anfahren und zeichnen. Das bedeutet wiederum je mehr Symbole, umso länger dauert es, bis das Bild fertig gezeichnet ist und im Umkehrschluss umso langsamer wird die Bildwiederholrate. Also je mehr Grafiksymbole, umso mehr Geflimmer.

Die X/Y Daten werden digital als jeweils 8Bit Werte erzeugt und über zwei 8 Bit DA-Wandler (Digital/Analog) in eine analoge Spannung umgewandelt. Diese Spannung wird an das nichtlineare Verhalten der Ablenkelektronik angepasst (mittel OP-Amp Integratoren) und einer zweikanaligen Verstärkerstufe zugeführt, die auch Frequenzen im höheren Kiloherz-Bereich schafft und im Stande ist, die Ablenkspulen, also Induktive Lasten zu treiben. Und was bietet sich hier an: Eine Audioendstufe aus einem Audioverstärker. Und genau so wurde es hier gelöst. Unter dem Kühlkörper befindet sich ein LM379 ein Dual 6W Audioverstärker IC von National Semiconductor. Ein nettes Detail am Rande: Der Hochspannungstransformator wird von einem NE555 IC-getaktet…

Um nun die Spiele auf der Vectrex auch bedienen zu können, ist ein abnehmbarer Controller – also Joystick – mit vier Tasten in Form der unteren Frontabdeckung integriert. Der Zweiachsen – Stick besteht aus zwei Potentiometern mit denen eine feine, „quasi stufenlose“ Kontrolle der Spieleobjekte möglich ist.

Nun ja, und eine solche Konsole, oder Home Arcade, oder einfach nur ein solch ein Schätzchen habe ich nach ewiger Suche günstig gefunden. Natürlich mit ein paar Problemchen. Wichtig war mir zuallererst einmal, dass alles vollständig ist und nach Möglichkeit keine Teile fehlen. Von außen betrachtet, war auch, bis auf ein abgeschnittenes Netzkabel, alles da. Der Controller war komplett – auch das Spiral – Anschlusskabel fehlte nicht und war in einem guten Zustand. Leider hatte schon jemand am Controllergehäuse herumgebastelt und versucht, die beiden Gehäusehälften mit einem Schraubendreher auseinander zu hebeln, aber er hatte scheinbar nicht bedacht, dass unter dem oberen Aufkleber etliche Schrauben zu finden sind, die alles zusammenhalten. Dem entsprechend sieht das Gehäuse heute auch aus. – leider-

Gehäuseschale des Controllers mit Beschädigung durch Schraubendreherhebeln

Die Vectrex hatte aufgrund der Staubansammlung und des Modergeruches die letzten 35 Jahre scheinbar in einem Keller oder Dachboden verbracht. So war mein Plan nun, einmal das ganze Gerät komplett zu zerlegen und dabei gleich die Vollständigkeit zu überprüfen. Schon beim Öffnen der Gehäuseschrauben fiel mir auf, dass ein paar Schrauben fehlten. Also war da auch schon jemand drinnen. Nach der kompletten Demontage war erst einmal eine intensive Reinigung angesagt. Genauer gesagt war es eher eine Waschung. So musste von der Bildröhre, der Ablenkeinheit bis hin zu den Boards alles ins Seifenbad. Nach der Trocknung kann sich das Ergebnis auch sehen lassen. Die Teile sehen wieder aus wie neu. Jetzt konnte mit den Reparaturen begonnen werden.

Es stellte sich schlussendlich heraus, dass bis auf ein paar Kleinigkeiten soweit keine größeren Probleme vorlagen. Zuerst mal war der Netzschalter an den Kontakten so verharzt, dass an beiden Polen kein geschlossener Kontakt mehr zu erreichen war. Dann gab es keine Hochspannung an der Röhre – hier war der Transistor BU407 defekt und schaltete nur mehr ganz müde bis gar nicht durch. Die diversen Potis benötigten ein wenig Zuneigung und der eine oder andere Kondensator musste noch erneuert werden. Aber das war´s dann auch schon. Nachfolgend lade ich noch ein paar Bilder zu den Reinigungs- und Reparaturarbeiten hoch.

 

 

 

 

Spielemodul für die Vectrex selbstgemacht

Für die Vectrex – Spielekonsole einem Home-Arcade-Automat aus dem Jahr 1982 gibt, oder gab es eine sehr begrenzte Anzahl an Spiele Titeln. Die Vectrex selber, beziehungsweise die Restauration dieses Schätzchens werde ich in einem eigenen Beitrag vorstellen.

Die Spiele waren in Form von ROM-Modulen erhältlich und mussten seitlich in die Konsole gesteckt werden. Heute sind sie, wie auch die Konsole selber, ziemlich rar und schwer zu finden. Auch preislich sind sie meist keine Schnäppchen. Es gibt auch Nachbauten, Multiroms und einige DIY Projekte, die auf Basis der alten EPROMS das Spielprogramm oder auch mehrere Games gespeichert halten und so über ein „Modul“ spielbar waren.   Da ich auch noch alle möglichen Eproms mit unterschiedlichen Größen im Bauteilelager habe und auch von einem Kollegen (vielen Dank Jürgen) ein paar 27C512er Eproms gesponsert bekam, musste ich einfach versuchen, damit ein ROM-Modul zu basteln.

originale Vectrex ROM-Modul Platine

Also einmal schnell nachgedacht, was ich dafür alles benötige. Hier eine kleine Aufstellung:

  • alte EPROMS (ich verwende Eproms, die mit UV-Licht wieder gelöscht werden können)
  • einen Eprom Programmer (in der hintersten Ecke eines Kastens habe ich noch einen ChipLab Programmer mit paralleler Schnittstelle gefunden)
  • einen alten Rechner mit eben einer parallelen Schnittstelle und einem älteren Betriebssystem (Windows XP). Auch hier habe ich glücklicher Weise einmal mehr auf die Entsorgung verzichtet und einen alten Laptop wieder zum Leben erweckt.
  • eine Software für den Programmer (hier verwende ich „ChipLab“ die mit Hilfe von „porttalk22“ auf WindowsXP lauffähig ist)
  • die Binärdaten oder HEX-Files der originalen ROM-Module (hierzu kann man die Internetsuche bemühen)
  • ein Layout Tool (Autodesk Eagle)
  • eine Bastelbude, in der man Platinen ätzen kann, oder einen Account bei einem fernöstlichen PCB-Hersteller
  • Lötwerkzeug und Kleinteile
  • und natürlich eine Vectrex – sonst hat das alles keinen Sinn
EPROMs

Um den Speicherbedarf der Eproms zu ermitteln, muss ich zuerst einmal die Größe der Spiele kennen. Hier die Liste der Titel und deren Größe:

Spiele mit einer Größe von 4 kB (4 kilo Byte). Das entspricht einem Adressbereich von hex 0000 bis 0FFF

  • Armor Attack
  • Art Master
  • Bedlam
  • Berzerk
  • Clean-Sweep
  • Cosmic Chasm
  • Engine Analyzer
  • Hyperchase
  • Minestorm 2
  • Rip Off
  • Scramble
  • Solar Quest
  • Space Wars
  • Star Castle
  • Star Hawk
  • Star Trek

Spiele mit einer Größe von 8 kB (8 kilo Byte). Das entspricht einem Adressbereich von hex 0000 bis 1FFF

  • Animaction
  • Blitz
  • Fortess of Narzod
  • Heads Up
  • Melody Master
  • Pitchers Duel
  • Pole Position
  • Spike
  • Spinball
  • Tour de France
  • Web Wars

Spiele mit einer Größe von 12 kB (12 kilo Byte). Das entspricht einem Adressbereich von hex 0000 bis 2FFF

  • Dark Tower

Als nächstes sehe ich mir einmal die Eproms bezüglich Pinout und Größe an. Hier habe ich zwei Größen betreffend der Pin Anzahl zur Verfügung. Eproms mit 28pin und 32pin im DIL Gehäuse. Zu denen im 28poligen Gehäuse gehören folgende Typen:

  • 27c64         8k x 8 bit  also   64 kb (kilo Bit)
  • 27c128   16k x 8 bit  also 128 kb (kilo Bit)
  • 27c256   32k x 8 bit  also  256 kb (kilo Bit)
  • 27c512   64k x 8 bit  also  512 kb (kilo Bit)
Bild von (www.futurlec.com)
Bild von (www.futurlec.com)

 

Das Pinout ist, bis auf die unterschiedliche Anzahl der Addressleitungen, identisch. Die 1Mbit Variante 27C1001 (27C010) hat jedoch ein anderes Pinout.

Bild von (www.futurlec.com)

Der nächste Schritt ist, sich das Pinout des Vectrex Modulschachtes anzusehen. Die Pin – Nummern des Moduls sind im Bild unten zu gekennzeichnet.

Pin Nummerierung des Vectrex Moduls

Die den Pin-Nummern zugehörigen Signale sind dem Vectrex Schaltplan des Mainboards zu entnehmen. Im Bild unten ist ein Auszug des Schaltplans mit dem Bereich des 36 poligen Cartridge-Connectors dargestellt. (Quelle: console5.com)

Jetzt sind soweit mal alle nötigen Informationen gesammelt, um mit einem Schaltplan und Layout zu beginnen. Im Netz habe ich nach einem Eagle-Layout für den Platinen-Stecker gesucht. Es war aber nicht gleich etwas zu finden. Also musste ein originales ROM-Modul als Referenz für die Abmessungen und Abstände der Kontaktpads herhalten. Mit den so abgenommenen Massen war es dann schnell gemacht und ich hatte ein neues Eagle-Bauteil gezeichnet und in der Library gespeichert.

vectrex_connector.lbr

Ich habe zwei Varianten der Modulschaltungen gezeichnet. Eine für die EPROMs mit 28 Pins und eine für die 1Mbit ROMs mit 32 Anschlusspins. (Da hier ja auch mehr Games Platz finden) Um nun alle möglichen Größen an Spielen unterschiedlich auf dem EPROM verteilen zu können, habe ich die Adressbits 12,13 und 14 umschaltbar gemacht. Und zwar so, dass diese drei Adressleitungen wahlweise von der Vectrex angesteuert werden können, oder extern vom Bediener über DIP-Schalter (L/H) auszuwählen sind. Die Bits 15 und 16 (sind ebenfalls über DIP-Schalter auszuwählen).

Die folgende Tabelle zeigt ein paar Beispiele, wie die Startadressen der Spiele ausgewählt werden können.

bit
16
bit
15
bit
14
bit
13
bit
12
bit11-bit0
game adressen
adressen
start – ende (hex)
L L L L L bei 8k Spiel 0000 – 1FFF
L L L H L bei 8k Spiel 2000 – 3FFF
L L H L L bei 8k Spiel 4000 – 5FFF
L L H H L bei 8k Spiel 6000 – 7FFF
L H L L L bei 8k Spiel 8000 – 9FFF
L H L H L bei 8k Spiel A000 – BFFF
L H H L L bei 8k Spiel C000 – DFFF
L H H H L bei 8k Spiel E000 – FFFF
H L L L L bei 4k Spiel 10000-10FFF
und so weiter…
Ansicht im Hex Editor

Vorausgesetzt natürlich, die Spieledaten wurden auch so auf das EPROM geschrieben. Um das zu bewerkstelligen, verwende ich einen von vielen Freeware – Hex Editoren (HxD) und baue mir aus den einzelnen Game-Images ein Binärfile zusammen. Diese „Datei“ wird dann in der ChipLab-Software importiert, das korrekte EPROM aus der Datenbank ausgewählt, dann den Chip in den Programmer gesteckt und los gehts… (Vorher nochmal checken, ob der Chip auch leer ist. Ansonsten muss er „oben ohne“ in die Sonne, oder unter die UV-Lampe (für ca. 15-20min)

Eprom im Programmer

Ist der Chip mit Bits gefüllt und aus dem Schaltplan ein Layout gemacht, dann geht´s ans Ätzen eines Prototypen. Dafür konnte ich in einer kurzen Mittagspause die Ätzanlage unserer Firma heranziehen und das unnötige Kupfer der Platine ätztechnisch entfernen.

Platinen Layout auf Folie

Nach dem Belichten einer mit fotopositv Lack beschichteten doppelseitigen Platine und dem anschließenden Entwickeln derselben, kann wird das überflüssige Kuper mit EisenDreiChlorid entfernt. Übrig bleibt die gewünschte Struktur.

Mal ein Selfie zwischendurch. Die Belichtung der Platine mit UV – Licht dauert etwa 57 Sekunden. Genug Zeit um mit dem Handy dumme Fotos zu machen 😀

 

Weiter geht es dann mit dem Bohren der Löcher in das Board. Die Durchkontaktierungen (VIAs) vom Top- zum Bottom Layer werden bei dem Prototypen nicht durch galvanisches Auftragen von Kupfer in den Bohrungen realisiert, sondern per Hand durch Durchstecken eines Stückes Silberdraht durch das Loch und anschließendem beidseitigem Verlöten.

fertig geätzte Platine

Jetzt fehlt nur noch die Bestückung. Die ist aber sehr schnell erledigt. Denn bis auf den IC-Sockel, ein paar Pull-Up Widerstände und die DIP-Schalter ist auf dem Board ja nicht viel drauf. Also die paar Teile gelötet, den Chip in den Sockel gesteckt – und fertig ist das ROM-Modul.

fertig bestücktes ROM-Modul

Wie das fertige Modul an der Vectrex aussieht und vorallem funktioniert, werde ich beizeiten einmal als kurzes Video zeigen. Ich habe das Board auch ein wenig verschönert und als industriell gefertige Platine bei einem fernöstlichen Leiterplattenhersteller in Auftrag gegeben…

(kleines Update am 20.Oktober 2020)
Die im fermem Osten gefertigten Platine sind gekommen und sehen meiner Meinung nach auch ganz passabel aus. Schnell ist ein Board bestückt … hier das Ergebnis: