Bally’s

 

AS-2518-61, AS-2518-61a, AS-2518-61b

"Squawk and Talk"

Sound Module

 

THEORY OF OPERATION

& 

TROUBLESHOOTING 

 

 

 

 

Copyright 2021 by Holger Stallmann (holli8123) 

REV 1.7 vom 28.12.2025                  

 

Dieses Dokument inkl. der Abbildungen ist urheberrechtlich geschützt.

Eine vollständige oder auszugsweise Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers.

Downloads und Kopien dieser Seite sind nur für den privaten, nicht kommerziellen Gebrauch gestattet.


Einführung

Das Bally Squawk & Talk Soundmodul ist eine Weiterentwicklung des Sounds Plus Modul mit Vocalizer, wie es im Xenon und den frühen Flash Gordon verbaut wurde.Es vereint die Möglichkeit, Sprache mttels eines Voice Synthesis Processors sowie Soundeffekte wahlweise durch einen Programmable Sound Generator sowie einem einfachen DA-Wandler zu generieren. Letzteres kann als Grundlage für die Entwicklung des bei späteren Modellen eingesetzten Cheap Squeak Board angesehen werden. Das Squawk & Talk Board ist auf den ersten Blick ein recht komplexes und unübersichtliches Gebilde, zumal es aufgrund einiger von den Entwicklern zwar vorgesehenen, jedoch nie umgesetzten Optionen den Eindruck erweckt, direkt, also ohne eine weitere Optimierung oder Modifizierung, von der Entwicklung in die Fertigung gelangt zu sein. Zerlegt man es aber in einzelne Funktionsblöcke und betrachtet deren Komponenten genauer, wird die Funktionsweise recht schnell verständlich. 

Blockschaltbild

Folgende Abbildung zeigt die einzelnen Funktionsblöcke, die im folgenden Artikel weiter in ihre einzelnen Bestandteile zerlegt und näher betrachtet werden.

  • Spannungsversorgung und Spannungsregelung
  • Ansteuerung durch die MPU 
  • Digitalteil mit CPU, ROM, RAM, digitalen Komponenten zur Sound- / Sprachgenerierung
  • Audioteil mit den Komponenten zur Signalaufbereitung und Signalverstärkung
  • Mono-Endstufe mit angeschaltetem Lautsprecher

Es wird empfohlen, den Schaltplan des Bally AS-2518-61b sowie ein Board bzw. dessen Abbildung bereitzuhalten um die nachfolgenden Beschreibungen besser nachvollziehen zu können. 

Zusätzlich wird auf folgende Dokumente, die zum Teil auch als Grundlage für die Beschreibungen in den folgenden Artikel hergenommen wurden: 

  • Bally FO 560-3 „Electronic Pinball Games Repair Procedures“
  • Bally AS-2518-61b schematics
  • Motorola MC6802 / MC6808 / MC6810 / MC6821 datasheets
  • Texas Instruments TMS5220 / TMS6100 datasheets
  • Yamaha AY-3-8912 datasheet
  • 74LS155 datasheet
  • TDA2002 datasheet

Begriffsbestimmungen

S&T      = Squawk & Talk Sound Module AS-2518-61, -61a, -61b

MPU     = 6800 Prozessor auf dem Rechnerboard des Flippers (nicht auf dem S&T)

CPU     = 680x Prozessor auf Position U1 des S&T

RAM     = 6810 Random Access Memory (Schreib- / Lesespeicher)

ROM    = Read only Memory (nur Lesespeicher)

PIA       = 6820 / 6821 Peripheral Interface Adapter

VSP     = Voice Synthesis Processor TMS5200 (Sprach-IC)

PSG     = Programmable Sound Generator AY-3-8912 

DAC     = Digital-Analog Converter

VCA     = Voltage Controlled Amplifier (Spannungsgesteuerter Verstärker)


Schreibweisen

Signale, die im aktivierten Zustand High-Pegel führen:  normale Schreibweise z.B. CA2

Signale, die im aktivierten Zustand Low-Pegel führen:   mit vorangestelltem Schrägstrich z.B. /RESET


IC Übersicht des Digitalteils

Für die Sound- und Spracherzeugung sind auf dem S&T zehn relevante ICs vorgesehen: 

  • U1 - Motorola 6802 oder 6808 8-bit Mikroprozessor * 
  • U2 - ROM
  • U3 - ROM 
  • U4 - ROM
  • U5 - ROM
  • U6 - 6810 RAM (nur in Verbindung mit einem 6808 Mikroprozessor – bei Verwendung eines 6802 Mikroprozessor und gesetztem Jumper „K“ bleibt der Sockel leer).
  • U7 - 6821 PIA, steuert das Sprach-IC (VSP) U8 (TMS5200). 
  • U8 - TMS5200 VSP Sprach-IC (belegt keinen eigenen Adressbereich des Mikroprozessors). 
  • U10- AD558 DAC zur Wandlung digitaler Daten aus dem ROM in einfache Audio-Signale. 
  • U11- 6821 PIA, steuert das PSG AY-3-8912 Sound IC und die Test LED. 
  • U12- General Instruments AY-3-8912 PSG (Programmable Sound Generator) IC. Auch dieses IC belegt keinen eigenen Adressbereich des Mikroprozessors. 

Bei der Entwicklung des S&T wurde eine Vorbereitung für U9 getroffen, um in Verbindung mit dem TMS5200 ein, vom Hersteller Texas Instruments maskenprogrammiertes TMS6100 VSM 16kB "Phrase" ROM einsetzen zu können. Diese Variante wurde wahrscheinlich aus Kostengründen in der Praxis nie umgesetzt. Auch dieses IC würde keinen Adressbereich des Mikroprozessors belegen.

U12 wird nicht von allen gerätespezifischen Sound-ROMs unterstützt. Der IC wurde dort nicht bestückt und die Jumper „EE“ eingelegt. 


* Wie bei vielen Soundboards dieser Generation kann auch das Bally S&T entweder mit einem Motorola 6802 oder einem Motorola 6808 Mikroprozessor bestückt werden. Der 6802 Prozessor beinhaltet bereits ein 128 Byte NMOS RAM, das durch ein High-Pegel am RE-Pin (RAM Enable) des Prozessors aktiviert wird. Dazu wird RE über den Jumper „K“ mit /RESET verbunden. /RESET führt High-Pegel während des Normalbetriebes. Liegt der RE-Pin eines 6802 auf Low-Pegel (über den Jumper „L“ wird RE mit GND verbunden) oder es wird ein 6808 eingesetzt, wird von einem bestückten 6810 RAM IC auf Position U6 auf dem S&T ausgegangen und entsprechend adressiert.

680x Adressbereiche

Der 6802 bzw. 6808 Mikroprozessor verwaltet einen Adressbereich von 64kB. Dieser Adressbereich ist auf dem S&T Board wie folgt aufgeteilt:  

$0000-$007F 

”Page Zero” RAM: wie bereits erklärt entweder als interner Bestandteil der CPU (6802 + Jumper „K“) oder als separates 6810 RAM auf Position U6 (6808 oder 6802 + Jumper „L“).  

$0080-$0083  

PIA 6821 auf Position U11, kontrolliert den Programmable Sound Generator (PSG) AY-3-8912 und dessen Kommunikation mit der MPU sowie den DAC für die Steuerspannung des VCA für die Verstärkung des Soundsignals.    

$0090-$0093

PIA 6821 auf Position U7, kontrolliert das TMS5200 Voice Synthesis Processor (VSP) Sprach-IC sowie den DAC für die Steuerspannung des VCA für die Verstärkung des Sprachsignals.  

$1000 

DAC AD558 auf Position U10 (8-Bit Digital to Analog Converter)


ROMs

Es können die originalen, maskenprogrammierten ROMs des Herstellers mit der Typenbezeichnung 9316 (2kB = 2048 Bytes) oder 9332 (4kB = 4096 Bytes) eingesetzt werden. Darüber hinaus besteht die Möglichkeit, EPROMs mit einer Größe von 2kB (2516 oder 2716), oder 4kB (2532 oder 2732) einzusetzen. 

Laut Schaltplan ist der ROM-Bereich im Adressraum der CPU wie folgt aufgeteilt:

ROM auf Steckplatz U2:                      $E000 - $E7FF (2 kB)               $C000 - $CFFF (4kB)

ROM auf Steckplatz U3:                      $E800 - $EFFF (2 kB)               $D000 - $DFFF (4kB)

ROM auf Steckplatz U4:                      $F000 - $F7FF (2 kB)               $E000 - $EFFF (4kB)

ROM auf Steckplatz U5:                      $F800 - $FFFF (2 kB)               $F000 - $FFFF (4kB)


Geräteübersicht

Das S&T wurde in folgenden Bally-EE verbaut:

​Es wurde zudem im Midway Eight Ball Champ verbaut. Dieses Gerät gab es in zwei Varianten

  • mit einem S&T Soundboard (U3, U4, U5 + PSG) mit Voice
  • mit einem Cheap Squeak Soundboard mit bestücktem U3 und U4 ohne Voice

Die Auswahl des verbauten Soundboards wurde über das Servicemenü getroffen. 

Darüber hinaus wurde das S&T auch in einigen Bell Games und Arcade Geräten verbaut.


Board Revisionen

AS-2518-61:

  • erste Version des S&T
  • verbaut in Flash Gordon

AS-2518-61A:

  • teilweise Änderung von Bauteilewerten
  • Ergänzung der schaltbaren Spannungsversorgung für den VSP

AS-2518-61B:

  • Wegfall der 40 poligen Stiftleiste zum Anschluss eines Vocalizerboards
  • 10 polige Stiftleiste J2 zum Anschluss des 'Say it again' Boards beim Centaur
  • zusätzlicher Jumper FF zum Betrieb des 'Say it again' Boards

AS-2518-61 Rev. D:

  • entspricht AS-2518-61B, jedoch zusätzliche 7 polige Stiftleiste J3 für Servicezwecke

Drahtbrücken-Kombinationen für verschiedene (EP)ROMs

Die Code- / Sound-ROMs auf den gesockelten Positionen U2 – U5 sind gerätespezifisch. Die Adressierung für die jeweiligen ROM-Typen und Größen (EPROMs oder maskenprogrammierte Original-ROMs mit einem Speichervolumen von 2 kB oder 4 kB) wird durch die über den ROM-Steckplätzen befindlichen Drahtbrücken (Jumper) eingestellt.

Jumper-Stellungen für die ROM-Adressierung:

Ausschließlich 2kB ROMs 2716 / 9316:              A + B gesetzt, C + E entfernt

Ausschließlich 4kB ROMs 2532 / 2732 / 9332:   C + E gesetzt, A + B entfernt

Darüber hinaus gilt folgende Tabelle für die jeweils eingesetzten ROM-Typen in den einzelnen Steckplätzen:

Position U2:

2716 / 9316:      D + P gesetzt, F + G entfernt

2532 / 9332:      D + G gesetzt, F + P entfernt

2732:                 F + P gesetzt, D + G entfernt

Position U3:

2716 / 9316:      Q + T gesetzt, R + S entfernt

2532 / 9332:      Q + S gesetzt, R + T entfernt

2732:                 R + T gesetzt, Q + S entfernt

Position U4:

2716 / 9316:      U + X gesetzt, V + W entfernt

2532 / 9332:      U + W gesetzt, V + X entfernt

2732:                 V + X gesetzt, U + W entfernt

Position U5:

2716 / 9316:      Y + BB gesetzt, Z + AA entfernt

2532 / 9332:      Y + AA gesetzt, Z + BB entfernt

2732:                 Z + BB gesetzt, Y + AA entfernt

Eine Kombination von 9332 und 2732 kann entsprechend den oben aufgelisteten Jumpercodierungen durchgeführt werden. Die Jumpercodierung A, B, C, E für einen Mischbetrieb von 2kB und 4kB ROMs ist nicht dokumentiert und muss ggf. rechnerisch ermittelt werden. Es empfiehlt sich, generell 2732 zu verwenden und die Jumper entsprechend zu setzen. 2kB große Dateien (z.B. U5) werden dann zweimal hintereinander, jeweils in den unteren und oberen 2 kB Bereich des EPROM gebrannt. Dadurch wird sichergestellt, dass die CPU das EPROM korrekt adressieren kann, auch wenn über die Jumper der falsche Bereich gewählt wurde.  

Hinweis:

Die in der Legende des Schaltplans angegebene Jumpercodierung enthält einen Fehler:

Beim ausschließlichen Einsatz von 2532 EPROMs oder 9332 ROMs ist die Notwendigkeit von Jumper „D“ für Position U2 nicht angegeben. Richtig ist: 

2532 / 9332               C, E, D, G, Q, S, U, W, Y, AA

Zudem fehlt die Angabe für die Codierung beim ausschließlichen Einsatz von 2732 EPROMs.

2732                         C, E, F, P, R, T, V, X, Z, BB

Spannungsversorgung:

+5 Volt und +12 Volt Versorgung:

Die Regelung der +5 Volt zur Versorgung der digitalen Logik und den Sound- / Speech generierenden Schaltkreisen (TMS5200, PSG AY-3-8912 und DAC AD558) wird durch den Spannungsregler LM323K (VR1) sichergestellt. Dieser befindet sich mit seinem TO3-Gehäuse in der unteren rechten Ecke des S&T auf dem größeren der beiden Kühlkörper.

Als Spannungsquelle bzw. Eingangsspannung des LM323K dient die ungeregelte +12 Volt Versorgung, die durch das Solenoid Driver / Voltage Regulator Board an J1 Pin 10 (+12V unreg.) sowie Pin 15 (unreg. return) des S&T bereitgestellt werden.

Diese + 12 Volt versorgen zudem die Test-LED (s. Abb. 6). Die +12 Volt werden durch den hochkapazitiven Kondensator C14 (4700µ/25V) geglättet um unerwünschte Wechselspannungsanteile herauszufiltern um sie zusätzlich zur Versorgung der 8 Watt Mono-Endstufe TDA2002 (U18) verwenden zu können.

Die genannten Spannungen liegen an folgenden Testpunkten an:

GND                an TP1

+5 Volt             an TP2

+12 Volt           an TP3

Abb.1: Auszug aus dem Stromlaufplan des S&T für die +5 Volt und +12Volt Spannungsregelung

Liegen weder die 11,9V unreg. noch die +5V an den TP 3 und TP 2 an, ist zu prüfen, ob die 11,9V unreg. zwischen den Pins 10 (17) und 15 (16) an J1 anliegen. Ist das der Fall, ist CR2 zu prüfen. Liegt 11,9V an TP3 und keine +5V an TP2, ist CR3 und CR4 zu prüfen. Liegt eine Spannung am + Pol von C15 an, ist der LM323K zu prüfen.

Die Sol Bus Return Leitung an J1-15 ist auf den Sound-Boards nicht mit der Boardmasse (GND) verbunden. Der zentrale Massepunkt befindet sich auf dem Solenoid Driver / Voltage Regulator Board A3, mit dem auch die Boardmasse (GND) über J1 Pin 6 (14) verbunden ist. Bei einer Unterbrechung der vom SDB kommenden Unreg. +5V Return Leitung arbeitet das Soundboard, allerdings ist die Siebung der Versorgungsspannung für die Endstufe durch den Kondensator C14 nicht mehr gegeben, was zu einem überlagerten Brummen im Lautsprecher führen kann. Ob beide Verbindungen zum SDB bestehen, kann mit einer Widerstandsmessung bzw. Durchgangsprüfung zwischen TP1 (GND) und dem – Pol von C14 ermittelt werden. Eine überlagerte Wechselspannung kann zwischen TP1 und dem + Pol von C14 gemessen werden. Deren Wert soll 0.1 VAC nicht übersteigen.

-5V Versorgung:

Zum Betrieb des VSP Sprach-IC TMS5200 wird zusätzlich zur positiven +5 Volt Versorgungsspannung eine negative -5 Volt Versorgung benötigt. Als Spannungsquelle dient die 6,3 Volt Wechselspannung für die allgemeine Beleuchtung (G.I), die an J1 Pin 7 (Gen. Ill. Bus) sowie Pin 15+16 (unreg. return) anliegt. Da diese 6.3 Volt als Eingangspannung für den negativen Spannungsregler µA7905 (VR2) zu gering wäre, wird daraus über eine invertierende Spannungsverdopplerschaltung bestehend aus C37/C38/CR7/CR8 eine negative Spannung von -12,6 Volt generiert und dem Festspannungsregler 7905 (VR2) zugeführt. Diese Komponenten befinden sich unmittelbar über J1 im unteren Bereich des S&T. Da außer den VSP Sprach-ICs keine weiteren Komponenten des S&T eine -5 Volt Versorgung benötigen, ist die entstehende Verlustleistung gering genug, so dass der µA7905 keinen Kühlkörper benötigt.

Abb. 2: Auszug aus dem Stromlaufplan des S&T für die -5 V Spannungserzeugung.

Die - 5 Volt liegt an Testpunkt TP4 des S&T an und kann dort gemessen werden. Sollte das nicht der Fall sein, ist zu prüfen, ob zwischen den Pins 7 und 15 (16) des J1 die 6.5V Wechselspannung für die G.I. anliegt und falls nicht, ob ggf. die Sicherung F5 auf dem Powerboard defekt ist. Im letzteren Fall würde auch im Attract-Mode je nach Modell die komplette G.I. oder Teile davon von einem Ausfall betroffen sein. 

Eine Besonderheit ist die Spannungsversorgung für den VSP TMS5200 ab Revision -61a des S&T. Die +5V und -5V für dessen Versorgung werden erst nach Ablauf des Reset-Timers, also nach dem Start der CPU angeschaltet. Dafür sorgt die Schaltung um Q3, Q4, Q5. Die RESET Leitung, die Q3 über R82 und Q4 über R83 durchsteuert, ist im Gegensatz zur /RESET Leitung für die CPU invertiert (siehe auch Abb. 4). D.h. führt diese RESET Leitung nach Ablauf des Reset-Timers Low-Pegel, schaltet Q3 +5V an Pin 5 (Vss) und Q4 steuert Q5 durch, der -5V an Pin 4 (Vdd) des VSP TMS5200 schaltet.

Abb. 3: Auszug aus dem Stromlaufplan des S&T für die Steuerung der Spannungsversorgung des VSP TMS5200  

Hinweis:

Im Fehlerfall sollten die Versorgungsspannungen nicht ausschließlich an den Testpunkten gemessen werden. Durch die doppelseitige und durchkontaktierte Platine wechseln die potential- und signal führenden Leiterbahnen häufig die Platinenseite. Wird bei einem Bauteiletausch die Durchkontaktierung beschädigt oder die Qualität der Lötstelle stellt den beidseitigen Kontakt nicht sicher, besteht die Gefahr, dass die Potentiale nicht an den Versorgungspins von IC oder anderen Bauteilen anliegen. Zusätzlich zur Kontrolle an den Testpunkten wird eine direkte Messung an den Versorgungspins empfohlen, z.B.:

U1:                   +5V an Pin 8 gegen GND an Pin 1 

U18:                 +11,5V an Pin 5 gegen GND an Pin 3


Resetschaltung:

Die Resetschaltung gewährleistet, dass die CPU erst startet, nachdem sich nach dem Einschalten eine stabile Versorgungsspannung eingestellt hat. Das wird erreicht, in dem die /Reset-Leitung für eine kurze Zeit auf Low-Pegel gehalten wird. Direkt nach dem Einschalten liegt an Pin 2 des invertierenden Schmitt-Trigger U15 High-Pegel, der über das zweite Gatter invertiert wird, d.h. an Pin 2 bzw. TP12 liegt Low-Pegel. C1 wird über den Widerstand R1 geladen. Wird der Schwellenwert des invertierenden Schmitt-Trigger U15 an Pin 1 erreicht, wechselt der Pegel an Pin 2 ca. 300 ms nach dem Einschalten nach Low. Durch die folgende Invertierung liegt nun an Pin 4 bzw. TP12 ein High-Pegel und die CPU kann mit der Abarbeitung des Programms beginnen.    

Abb. 4: Auszug aus dem Stromlaufplan des S&T für die Reset-Schaltung. Zwischen Pin 2 und Pin 3 von U15 wird die RESET Leitung für die Steuerung der Spannungsversorgung für den VSP TMS5200 abgegriffen. An TP12 kann das /RESET-Signal für die CPU gemessen werden.

Adressdekodierung:

Die Adressdecodierung erfolgt mittels eines dualen 1 aus 4 Decoder / Demultiplexer 74LS155 (U17).

Nachfolgend ist die Wahrheitstabelle für dessen Ein- und Ausgänge dargestellt:

Bezogen auf die Adressdekodierung auf dem S&T soll anhand des folgenden Beispiels die Arbeitsweise veranschaulicht werden. Angenommen, in U2 ist ein 2732 EPROM gesteckt und das soll von der CPU adressiert werden. Damit darauf ein Zugriff erfolgen kann, sind folgende Voraussetzungen erforderlich:

Ein 2732 hat eine Kapazität von 4kB. Dazu wird die Adressleitung A11 an dessen Pin 21 benötigt, was durch einlegen des Jumpers F gewährleistet wird. Die Freigabe des Chips erfolgt durch ein Low-Pegel an Pin 18 (/CE) als auch an Pin 20 (/OE). Laut der Jumpertabelle muss bei einem Einsatz eines 2732 EPROM auf der Position U2 der Jumper P eingelegt werden. Dieser verbindet Pin 18 mit GND, was einem ständigen Low-Pegel entspricht. Pin 20 ist mit dem Ausgang /1Y0 von U17 verbunden, d.h. nur dieser Ausgang darf bei der Adressierung von U2 einen Low-Pegel annehmen. Dem entsprechend müssen die anderen Ausgänge des Decoders zu diesem Zeitpunkt einen High-Pegel führen, um die damit verbundenen weiteren IC zu sperren, wodurch Kollisionen auf dem Datenbus vermieden werden.

Um nun nur am Ausgang /1Y0 einen Low-Pegel zu erhalten, sind gemäß der Wahrheitstabelle des 74LS155 folgende, in der nachstehenden Tabelle markierten Bedingungen notwendig:

  1. An beiden Adresseingängen A und B müssen Low-Pegel anliegen.
  2. An /1G muss ein Low-Pegel und an 1C ein High-Pegel liegen
  3. An /2G oder an /2C muss ein High-Pegel liegen, damit an allen 2Y-Ausgängen ein High-Pegel liegt

Ein weiterer Blick auf den Brückenplan zeigt, dass zur Adressierung eines 4kB EPROM die Jumper C und E einzulegen sind. Dadurch wird der Eingang A von U17 mit der Adressleitung A12 und der Eingang B von U17 mit der Adressleitung A13 verbunden.

Fazit: Um die erste Bedingung zu erfüllen, müssen A12 und A13 Low-Pegel führen.

Ein Blick auf den Brückenplan in der Legende des Schaltplans verrät, dass die Brücke H eingelegt sein muss, wenn das S&T ohne ein externes Vocalizer-Board betrieben wird. Das ist die Standard-Betriebsart und somit ist der Eingang 1C von U17 fest mit der Adressleitung A15 der CPU verbunden. Die Leitung /1G ist mit dem, durch ein Gatter des U15 invertierten VMA Signal der CPU verbunden. VMA führt nur während einer, von der CPU initiierten Adressierung ein High-Pegel. Durch die Invertierung erhält /1G während dessen einen Low-Pegel. Somit können 1Y0 bis 1Y3 für die Adressierung herangezogen werden. 

Fazit: Um die zweite Bedingung zu erfüllen, muss A15 und VMA einen High-Pegel führen. 

Es bleiben die beiden Möglichkeiten, die ein High-Pegel auf den Ausgängen 2Y0 bis 2Y3 bewirken:

/2G ist ebenfalls mit dem invertierten VMA-Signal verbunden. Dadurch fällt die Möglichkeit, darüber alleine die vier 2Y Ausgänge zu beeinflussen, weg und ist daher nicht relevant. Bleibt der Eingang /2C. Dieser ist mit A15 verbunden. Um nun die vier 2Y Ausgänge auf High-Pegel zu legen, muss A15 einen High-Pegel führen. Da sich das mit der zweiten Bedingung (A15 = High) deckt, ist somit auch die dritte Bedingung erfüllt.

Aufgrund den o.g. Bedingungen und je nach Zustand der Adressleitung A14 ergeben sich nun für ein 4kB EPROM auf Position U2 folgende Adressbereiche:

Der letzte Bereich deckt sich mit der Angabe im Schaltplan. Die Adressleitung A14 wird auf dem S&T nicht für die Adressdekodierung herangezogen. Somit kann sie zwei Zustände (High oder Low) annehmen, was auf den ersten Blick keinen eindeutigen Adressraum für U2 ergibt. Das ist aber in dem Fall nicht relevant, da sich beide 4 kB Bereiche und damit deren Inhalt gegenseitig spiegeln. Eine absolute Adresse im 4 kB Bereich des EPROM ist relativ gesehen über je eine Adresse aus beiden Bereichen erreichbar. Schaut man sich den Schaltplan des Vocalizer-Board AS 2518-57 an, ist erkennbar, dass dort der High-Pegel von A14 für die Adressdekodierung der sich darauf befindlichen ROMs genutzt wird. Da diese Variante trotz des anfänglich für dessen Anschluss vorgesehenen Steckverbinders nie umgesetzt wurde, ist anzunehmen, dass gemäß den Adressangaben im Schaltplan des S&T die Software so geschrieben wurde, dass A14 bei der ROM-Adressierung einen High-Pegel führt. 

Um ein 2716 EPROM mit 2kB in U2 zu adressieren, ergeben sich anhand des Jumper-Planes und der daraus resultierenden, fehlenden Auswertung von A13 und A14 gemäß der Wahrheitstabelle von U17 folgende, wiederrum gegenseitig gespiegelte Adressräume, von denen der vierte im Schaltplan angeben ist.

Auf diese Weise lässt sich für alle ROMs, das RAM, den DAC und die beiden PIAs deren reservierter Adressbereich innerhalb des, von der CPU adressierbaren Gesamt-Adressraumes von 64kB ermitteln.

Abb. 5: Auszug aus dem Stromlaufplan des S&T für die Adressdekodierung.

Die beiden Gatter von U15 (74LS14) sind im Schaltplan nicht als Bestandteil von U15 gekennzeichnet. Das obere Gatter invertiert das VMA Signal der CPU und steuert den /1G und /2G Eingang von U17 (74LS155). Das untere Gatter invertiert ein externes /MEM-ENBL Signal und sperrt bei eingelegtem Jumper „J“ den 1C Eingang von U17. Diese Betriebsart wurde vorgesehen, um ein externes Vocalizer-Board über die 40 polige Stiftleiste anschalten zu können, was allerdings nie umgesetzt wurde. Die Stiftleiste wurde deshalb im Verlauf der Produktion nicht mehr bestückt. Somit ist der Jumper „H“ erforderlich, wodurch das untere Gatter nicht zum Tragen kommt.

Selbsttest nach dem Einschalten:

Wie bei einigen anderen Bally Boards, auf denen ein 680x Mikroprozessor die Steuerung ausführt, wird auch beim S&T eine LED verwendet, um den Status der einzelnen Selbsttest Schritte anzuzeigen. Der Selbsttest wird automatisch nach jedem Einschalten (Power-Up) ausgeführt. 

Hinweis:

Eine Überprüfung der ROMs (U2 – U5) ist kein Bestandteil der Selbsttestroutine. Somit gibt es keine Statusanzeige über die LED, die auf fehlerhafte ROM-Inhalte hinweisen könnte. Da die ROMs neben den Sound- / Sprachdaten auch das „Betriebssystem” des S&T enthalten, kann sich ein fehlerhaftes ROM auf verschiedene Arten bemerkbar machen:

-       kein Selbsttest nach dem Einschalten / keine Funktion des S&T

-       keine oder korrupte Audio- und Sprachausgabe

-       nicht nachvollziehbare Reaktionen des Boards

-       eine fehlerhafte Selbsttestroutine trotz intakter Hardware

Erstes Aufblitzen der LED (Initial Flicker)

Der 6820 bzw. 6821 PIA führt nach einem Systemstart (Power-Up) selbstständig eine automatische Konfiguration durch und setzt seine internen Register und I/O-Leitungen in einen definierten Zustand. Die I/O-Leitungen werden als Eingänge deklariert und sind hochohmig. Dadurch wird nach dem Einschalten der Transistor Q1 über R8 angesteuert und schaltet die LED ein. Nachdem auf dem Board die Spannungsversorgung stabil eingestellt und der Reset-Timer abgelaufen ist, konfiguriert die CPU den PIA mit den, für den Selbsttest notwendigen Einstellungen. Erst dann ist die, für die LED zuständige I/O-Leitung (CA2 U11 Pin 39) als Ausgang deklariert und führt Low-Pegel, Q1 sperrt und die LED erlischt. Dieser Vorgang dauert ca. 300 ms. Dieses kurze Aufblinken der LED wird als „Initial Flicker“ bezeichnet.


Abb. 6: Auszug aus dem Stromlaufplan des S&T für die LED-Ansteuerung

1. Blinken der LED (RAM-Test)

Der erste Schritt der Selbsttest Routine prüft die 128 Bytes des NMOS RAM, das sich im Bereich der Page-Zero im Adressbereiches $0000 - $00FF befindet. Es wird pro Speicherplatz jeweils 256-mal ein inkrementierender 8 Bit Wert von $00 bis $FF geschrieben und zurück gelesen. Entsprechen die 256 x 128 = 32768 zurück gelesenen Werte exakt den vorher geschriebenen, wird der RAM Test mit dem 1. Blinken der LED quittiert. Entsprechen nicht alle der 32768 zurück gelesenen Werte den vorher geschriebenen, bleibt das 1. Blinken aus und der Selbsttest und weitere Bootvorgang des S&T wird abgebrochen.

Troubleshooting:

Wird als CPU ein 6808 verwendet, bietet sich ein Quertausch mit einem funktionierenden RAM, z.B. U7 von / auf der MPU an, da die MPU nach dem Einschalten ihrerseits einen Selbsttest durchführt, den ein defekter RAM vom S&T auch dort nicht bestehen würde. Bleibt der Fehler, ist die Konnektivität der Bus-Signale, die Versorgungsspannung sowie der Sockel für U8 und dessen Lötstellen zu prüfen. 

Wird als CPU ein 6802 verwendet und der RAM Test schlägt fehl (kein 1. Blinken), dann kann folgender Workaround unter Umständen helfen:

  • Auftrennen von Jumper „K“ (internal RAM) 
  • Einlegen von Jumper „L“  (external RAM) und stecken eines 6810 RAM in Position U6

Sollte nun nach erneutem Einschalten der RAM Test mit dem 1. Blinken als fehlerfrei quittiert werden, ist der interne RAM des 6802 fehlerhaft bzw. es liegt ein Fehler in dessen interner Architektur vor.

Hintergrund: Es spielt keine Rolle, ob sich das RAM physikalisch in der CPU oder extern in Position U6 befindet, solange vom Betriebssystem der Adressbereich in Page Zero angesprochen werden kann. Die Auswahl der internen oder externen Adressierung des RAM durch die CPU erfolgt abhängig von den Jumpern „K“ und „L“.

Neben einem defekten internen RAM bzw. 6810 RAM in Position U6 kommt des Weiteren ein defekter U15 und/oder U17 als Fehlerquelle in Betracht. U6 benötigt das /CS2-Signal das durch U17 generiert wird.

 

2. Blinken der LED (PIA U7 Test)

Im zweiten Selbsttest Schritt wird der erste PIA (U7) geprüft. Diese Prüfung läuft in derselben Art und Weise ab, wie beim RAM-Test. Es werden Daten geschrieben und zurück gelesen. Entsprechen die zurück gelesenen Daten den vorher geschriebenen, wird der Test durch das Blinken der LED als erfolgreich quittiert.

Getestet werden:

  • Die beiden Port-Initialization Register für PA und PB 
  • Die beiden I/O-Register PA 0-7 und PB 0-7
  • Die Register für die CA 1-2 und CB 1-2 Ports

Auch hier gilt: Wird während dieser Testschritte ein Fehler erkannt, wird der Selbsttest und der weitere Bootvorgang abgebrochen.

Hinweis: Es werden nur die internen Register des PIA beschrieben und zurück gelesen. Ob die H/L-Pegel wirklich an den korrespondierenden Pins des PIA anliegen bzw. über diese korrekt eingelesen werden, kann im Selbsttest nicht geprüft werden. D.h. ein als gut befundener Selbsttest garantiert keine physikalisch intakten I/O-Leitungen. Es kann daher nur von einer funktionierenden Adressierung und Ansteuerung durch die CPU ausgegangen werden.

Troubleshooting:

Bleibt das 2. Blinken der LED aus, sollte der IC-Sockel für U7 und dessen Lötstellen kontrolliert werden. Beide PIA (U7 und U11) können untereinander getauscht werden. Ein defekter U7 und ein funktionierender U11 würden nach einem Tausch und erneutem Selbsttest ein 2. Blinken hervorrufen, sofern der vermeintlich defekte U7 noch in der Lage ist, die LED korrekt anzusteuern. Eine bessere Prüfvariante wäre ein Quertausch mit einem funktionierenden PIA, z,B, einem von / auf der MPU, da die MPU nach dem Einschalten ihrerseits einen Selbsttest durchführt, den ein defekter PIA vom S&T auch dort nicht bestehen würde. Bleibt der Fehler, ist die Konnektivität der Bus-Signale und Versorgungsspannung zu prüfen. 

 

3. Blinken der LED (PIA U11 Test)

Im dritten Selbsttest Schritt wird exakt die gleiche Testprozedur für den PIA U11 durchlaufen wie im zweiten Schritt für den PIA U7. Ist der Test erfolgreich, wird dieses durch das 3. Blinken der LED quittiert, andernfalls wird der Selbsttest und der weitere Bootvorgang abgebrochen.

Troubleshooting:

Bleibt das 3. Blinken der LED aus, sollte der IC-Sockel für U11 und dessen Lötstellen kontrolliert werden. Beide PIA U7 und U11 können untereinander getauscht werden. Ein defekter U11 und ein funktionierender U7 würden nach einem Tausch und erneutem Selbsttest kein 2. Blinken hervorrufen. Ebenso bietet sich auch hier ein Quertausch mit einem PIA von / auf der MPU an. Bleibt der Fehler, ist die Konnektivität der Bus-Signale und Versorgungsspannung zu prüfen. 

 

4. Blinken der LED (PSG U12 Test)

Im vierten Selbsttest Schritt schreibt die CPU Daten in die internen Register des PSG AY-3-8912 (U12) und liest diese wieder zurück. Der PSG wird allerdings nicht direkt von der CPU adressiert, sondern über die Portleitungen des PIA U11 gesteuert. Demzufolge belegt der PSG keinen eigenen Adressbereich im Adressraum der CPU. Ist der Test erfolgreich, wird dieses durch das 4. Blinken der LED quittiert, andernfalls wird der Selbsttest und der weitere Bootvorgang abgebrochen.

Hinweis: Je nach Gerätetyp ist U12 auf dem S&T nicht bestückt und die 5 Jumper mit der Bezeichnung „EE“ sind gesetzt. In diesem Fall entfällt dieser vierte Selbsttest Schritt. Dieses ist z.B. beim Bally „Fathom“ oder „Centaur“ der Fall.

Troubleshooting: 

Prüfen, ob für das Gerät, in dem das S&T eingesetzt wird, ein PSG AY-3-8912 erforderlich ist.

Falls ja:

  • Prüfen, ob ein PSG AY-3-8912 in Position U12 installiert und die Jumper „EE“ nicht gesetzt sind.
  • Da U12 über den PIA U11 gesteuert wird, sollten die Konnektivität untereinander, speziell beide IC-Sockel und deren Lötstellen kontrolliert werden. 
  • Ggf. den PIA U11 austauschen.
  • Ggf. den PSG AY-3-8912 austauschen.

Falls nein:

  • Prüfen, ob die Jumper „EE“ gesetzt sind und sich kein PSG AY-3-8912 auf Position U12 befindet

 

5. Blinken der LED (4. Blinken der LED ohne PSG) 

Im fünften und letzten Selbsttest Schritt wird die Funktion des VSP TMS5200 (U8) geprüft. Hierzu schickt die CPU Daten über den PIA U7 zum VSP. Demzufolge belegt der VSP ebenfalls keinen eigenen Adressbereich im Adressraum der CPU. Nach dem Systemstart ist der Stapelspeicher (Stack) des VSP leer. Die CPU sendet nun das 1. Byte und wartet bis der VSP dessen Erhalt mit einem „buffer/stack low“ maskiertem Interrupt quittiert. Dieser Vorgang wiederholt sich bis das 8. Byte gesendet und quittiert wurde. Wird das 9. Byte gesendet, erfolgt keine Quittierung mehr. Sind diese Bedingungen erfüllt, wird dieses durch das 5. Blinken der LED quittiert, andernfalls wird der Selbsttest und der weitere Bootvorgang abgebrochen.

Bally schreibt dazu in der „Theory of Operation“: Jedes Mal, wenn ein Byte zum VSP übertragen wurde, quittiert dieser den Erhalt mit einem Acknowledge. 

Richtiger ist aber: Sowohl im Selbsttest als auch im Betrieb werden die ersten 8 Bytes wie oben beschrieben mit einem „buffer/stack low“ maskiertem Interrupt quittiert. Das 9. bis 15. Byte wird nicht per Interrupt quittiert, aber das Statusregister des VSP setzt das Talk Status flag, welches von der CPU aktiv abgefragt werden kann. Das 16. Byte wird quittiert, indem der VSP sein Pegel am Pin 18 (“RDY”) ändert. RDY ist mit CA2 vom PIA U7 verbunden. Dieser teilt nun der CPU per Interrupt mit, dass momentan keine weiteren Daten empfangen werden können. Die Selbsttestroutine beschränkt sich lediglich auf das Senden von 9 Bytes und die Auswertung der Reaktion vom VSP nach jedem empfangenen Byte. 

Troubleshooting:

Der VSP arbeitet bzw. reagiert nur, wenn beide Versorgungsspannungen (+5V an Pin 5 und -5V an Pin 4) anliegen. Andernfalls wird der Selbsttest abgebrochen. 

  • Daher sollten zuerst die Spannungen an den Testpunkten des S&T sowie direkt an den Pins von U8 gemessen werden, da dieser die Spannungen über die im Kapitel „Spannungsversorgung“ beschriebene Schaltung erhält. 
  • Bei der Herstellung der TMS5200 wurde für die IC-Pins eine Metalllegierung verwendet, die im Laufe der Jahre stark oxydiert. Erkennbar ist das an einem schwarzen Belag auf den Pins. Der TMS5200 sollte sehr vorsichtig aus seinem Sockel genommen und dessen Pins mit einem Glasfaserstift von dieser Oxydschicht befreit werden.
  •  Da der VSP U8 über den PIA U7 gesteuert wird, sollten die Konnektivität untereinander, speziell beide IC-Sockel und deren Lötstellen kontrolliert werden.
  •  Ggf. den PIA U7 austauschen
  •  Ggf. den VSP TMS5200 austauschen

Der PIA U7 und VSP U8 Test wird vom ROM des Rapid Fire nicht ausgeführt, da diese beiden IC dort nicht bestückt sind.

 

Ende des Selbsttest

Nach dem 5. Blinken (4.Blinken bei nicht unterstütztem PSG) werden beide PIAs mit den für den normalen Betrieb notwendigen Daten initialisiert und je nach Modell ein kurzer Testsound abgespielt, der bereits von der MPU initiiert wird. Nun ist das S&T bereit, weitere Sound-Interrupts vom MPU-Board zu empfangen und die über die Sound Select Leitungen angeforderten Audiosignale zu generieren.


Prüfung der digitalen Komponenten mit Hilfe von Leon Borres Test-Rom

Eine komfortable und einfache Prüfung der Adressdekodierung um U17 für das ROM U5, die PIA U7 und U11  (incl. einer Funktionsprüfung deren Ports), sowie einen RAM-Test für U6 bzw. des internen Zero-Page RAM in U1 gestattet das Test-ROM von Leon Borre (R.I.P).

Auf pinwiki stehen 2 Varianten zum Download bereit:

als 4kB Binärfile für ein 2532 EPROM 

https://www.pinwiki.com/wiki/index.php?title=File:Baltalk2532.zip

als 2kB Binärfile für ein 2716 EPROM

https://www.pinwiki.com/wiki/index.php?title=File:Baltalk2716.zip

Das 2kB Binärfile kann auch zweimal hintereinander in die jeweils 2kB großen Speicherbereiche eines 2732 EPROM gebrannt werden. Die Jumper über U5 sowie A,B,C und E sind entsprechend dem verwendeten EPROM-Typ einzustellen und die (E)PROMs auf U2 bis U4 sollten herausgenommen werden. 

Wenn die CPU funktioniert, die Jumper entsprechend eingestellt sind und die Adressdekodierung um U17 korrekt arbeitet, beginnt der Test sofort, nachdem die +12V Versorgungsspannung an J1 angelegt wurde.

Arbeitet der PIA U11 und dessen Ansteuerung korrekt, beginnt die LED auf dem S&T zu blinken, da während der Testroutine auf den Portleitungen PA0-7, PB0-7, CA2 und CB2 von U7 und U11 ein kontinuierlicher Pegelwechsel im Sekundentakt stattfindet. Eine Überprüfung kann mit Hilfe eines Logic-Probe, oder im einfachsten Fall mit Hilfe einer LED mit einem 470 Ohm Vorwiderstand an allen genannten Portleitungen beider PIAs erfolgen.

Die Kathode der LED wird dazu mit dem GND-Testpunkt TP1 verbunden und die Anode über den genannten Vorwiderstand an die zu prüfende Portleitung gehalten. 

Treten keine Pegelwechsel an den Portleitungen beider PIA auf, wird auf das Troubleshooting im Kapitel "1. Aufblitzen der LED (Initial Flicker)" verwiesen. 

Treten die Pegelwechsel nur an einem PIA auf, wird auf das Troubleshooting in den Kapiteln "2. und 3. Blinken (PIA U7 und U11 Test)" verwiesen. 

Leons Test-ROM beinhaltet zudem einen RAM-Test. Dazu wird während des Blinkens der LED der rote Testswitch auf dem S&T gedrückt. Die LED verharrt daraufhin in ihrem aktuellen Zustand und beginnt bei intaktem RAM (U6 bzw. das interne Zero-Page ROM in U1) nach ca. 2 Sekunden wieder zu blinken. Wird während des RAM-Tests ein Fehler festgestellt, bleibt das Blinken der LED aus und sie bleibt in dem Zustand „AN“ oder „AUS“. 

Zum Troubleshooting wird auf die Hinweise im Kapitel "1. Blinken der LED (RAM-Test)" verwiesen. 


Bus-Associated Signals:

Die nachstehende Tabelle zeigt die Verbindungen der Bus-Signale zwischen der CPU und den direkt mit dieser verbundenen ICs. Abhängig von dem Ergebnis des Selbsttests und / oder Leons Test-ROM können die Verbindungen zwischen den betroffenen Komponenten mit Hilfe eines DMM im Durchgangstest auf Konnektivität oder Berührungen untereinander überprüft werden. Ebenso ist eine Überprüfung im Betrieb mittels eines Logic-Probes hilfreich. An allen in einer Reihe der Tabelle angegebenen Punkten liegt das gleiche Signal bzw. zeitgleich dessen Pegel. Die Klammern geben die Jumper an.

Die nicht aufgeführten Verbindungen zwischen den IC ohne CPU-Bezug können dem Schaltplan entnommen werden und sollten im Fehlerfall ebenfalls auf Konnektivität bzw. Berührung untereinander geprüft werden. Das gilt auch für die Spannungsversorgung der einzelnen IC.

Hinweis: Die Verbindungen sollten immer direkt von oben am IC-Anschluss geprüft werden, damit die IC-Sockel und deren Lötstellen in der Überprüfung enthalten sind.

Adressierung (Soundauswahl) durch die MPU

Damit die MPU das S&T ansprechen und notwendige Steuerinformationen übermitteln sowie die zu generierenden Sound- und Sprachsignale anfordern kann, generiert sie über die Sound Interrupt Leitung (J1 Pin 8) für die Dauer von 40µs einen Low-Pegel. Dieser Impuls wird über eine der 6 invertierenden Treiberstufen von U16 dem CB1 Pin des PIA U11 zugeführt. Der PIA teilt der CPU per Interrupt mit, dass nun seitens der MPU die Adressierungsdaten für die Sound- / Sprachgenerierung an den Sound Select Leitungen bereitgestellt werden. Es stehen 5 Sound Select Leitungen an J1 (Pins 1,2,3,4,12) zur Verfügung. Von diesen 5 Leitungen wurden jedoch nur die ersten 4 Leitungen verwendet, da das Adress-Byte (8 Bit, was einer Auswahlmöglichkeit zwischen 256 möglichen Steuer-, Sound- und Sprachkombinationen entspricht) in der Form von 2 halben Bytes (= 1 Nibble = 4 Bit) übertragen wird. Die 5. Leitung (J1 Pin 12) wird nicht genutzt und liegt standardmäßig auf GND. Sie wurde von den Entwicklern möglicherweise als Reserve für eine spätere Erweiterung des Adressraumes oder für eine Abwärtskompatibilität zu einem AS-2518-51 in Geräten mit 6-stelligen Player Anzeigen vorgesehen, wozu es jedoch nie gekommen ist. 

Das Timing für die Adressierung ist in folgender Abbildung dargestellt:

Abb. 7: Timing der Adressierung durch die MPU

Das obere Signal zeigt die Sound Interrupt Leitung mit dem 40µs andauernden Sound-Interrupt Impuls seitens der MPU, der eine steigende Flanke auf der Sound Interrupt Leitung zur Folge hat. Darunter sind die Sound Select Leitungen dargestellt, über die die MPU 22µs nach dem Sound Interrupt das erste Nibble (LSB) der Sound Select Information für eine Dauer von 145µs bereitstellt. Die Abfrage durch die CPU erfolgt ca. 110µs nachdem die MPU das erste Nibble bereitgestellt hat. Im Anschluss daran wird das zweite Nibble (MSB) für die Dauer von 78µs angelegt und ca. 35µs später durch die CPU abgefragt. Die CPU setzt die beiden Nibbles (MSB + LSB) zu einem Byte zusammen und prüft dessen Wert auf Gültigkeit. Wurde eine ungültige, nicht verwertbare Information empfangen, wird diese verworfen. Ansonsten wird die Information zur Einstellung des S&T sowie zur Generierung des Soundeffektes weiterverarbeitet. Dabei ist zu beachten: Sollte das S&T aufgrund eines Fehlers die Daten nicht in dem vorgesehenen Timing abfragen und dadurch z.B. nur ein Nibble empfangen, könnte sich durchaus ein - für die CPU - gültiger Wert zur Soundauswahl ergeben, was eine falsche Sound- / Sprachausgabe zur Folge hat. Es erfolgt keine Quittierung (z.B. in Form eines Acknowledge) seitens des S&T zurück zur MPU ob eine gültige, ungültige oder keine Information empfangen wurde.

Wichtig ist, dass auf diesem Weg keine Daten für die Sound- oder Sprachgenerierung von der MPU zum S&T gelangen, sondern jeweils nur die Adressierung einer von 256 möglichen Aktionen, Tönen, Audio- und Sprachsequenzen, die durchaus von mehreren Komponenten des S&T erzeugt werden können. Dadurch beschränkt sich die Kommunikation zwischen der MPU und dem S&T auf ein Minimum. 

Beispiel:

Adresse 00000001 erzeugt ein hohes „Ping“ durch den PSG. Adresse 00000010 erzeugt ein tiefes „Pong“ durch den DAC und Adresse 00000011 erzeugt ein „Hello World“ durch den VSP.

Wird nun im Spielablauf nur ein „Ping“ benötigt, addressiert die MPU 00000001. Wird nur ein „Pong“ benötigt, addressiert die MPU 00000010. Wird nur ein „Hello World“ benötigt, addressiert die MPU 00000011. Wird nacheinander ein „Ping“, „Pong“, „Hello World“, „Pong“, „Ping“, „Ping“ benötigt, könnte anstatt der Anforderung von 6 einzelnen Sound- / Sprachsignalen auch eine neue Adresse z.B. 00010100 definiert worden sein, anhand der die CPU diese 6 Einzelsequenzen durch nur eine Anforderung nacheinander ausführt. In der Praxis werden jedoch direkt hintereinander folgende Töne und Voice Sequenzen einzeln angefordert.

Besonderheiten:

Einige Sounds und Sprachausgaben werden vom S&T eigenständig durch im Programmablauf festgelegte Regeln (Rules) erzeugt. Dazu gehören z.B. eine automatische, zeitgesteuerte oder trefferabhängige Erhöhung der Geschwindigkeit des Background-Sounds sowie wechselnde Voicesequenzen, die seitens der MPU über nur eine Soundadresse angefordert werden.

Beispiel beim Eight Ball Deluxe:

Die Soundadresse 3Ch erzeugt bei der ersten Anforderung die Sequenz "Get the one Ball". Weitere Anforderungen mit der gleichen Adresse erzeugen "Sink the one Ball" und "Shoot for the one Ball". Das gleiche gilt für die Soundadressen 3Dh - 4Ah (two Ball - fifteen Ball). Diese zusätzlichen Sequenzen können nicht direkt über eine externe Adresse abgerufen werden.


Abb. 8: Auszug aus dem Stromlaufplan des S&T mit der Schnittstelle zur MPU.

Die an J1 ankommenden Sound Select Signale werden über je eine invertierende Treiberstufe von U16 geführt und bei nicht unterstütztem und nicht bestücktem PSG U12 (AY-3-8912) über die Jumper „EE“ direkt dem PIA U11 zur Weitergabe an die CPU zugeführt. Bei unterstütztem und bestücktem PSG U12 werden die Signale direkt an den PSG U12 geleitet und dort verarbeitet. In diesem Fall müssen die Jumper „EE“ entfernt werden.

Hinweis: Die Sound Select Leitungen werden durch die PB0 bis PB3 Pins des PIA U11 auf dem MPU-Board gesteuert. Diese Pins steuern gleichzeitig den 1 aus 16 Demultiplexer für die Spulentreiber (momentary solenoids) auf dem Solenoid Driver Board. Die Sound Interrupt Leitung wird durch den CB2 Pin des PIA U11 auf dem MPU-Board angesprochen. Führt diese Leitung Low-Signal, wird das Solenoid Driver Board angesprochen. Nur bei Einhaltung des oben beschriebenen Timings wird ausschließlich das S&T adressiert, da der 40µs andauernde Low-Pegel keine Spulenreaktion zulässt. Dabei gilt folgende Ausnahme: Liegt zeitgleich eine Anforderung zur Aktivierung einer Momentary Solenoic durch das Solenoid-Driver-Board an, wird eine Soundanforderung erst nach der Spulenadressierung durchgeführt. Typische Beispiele sind Pop-Bumper und Slingshots. Um die jeweilige Spule aktivieren zu können, wird die Sound Interrupt Leitung auf Low-Pegel gelegt. Die Spule wird über die Sound Select Leitung adressiert und die Adressierung als auch der Low-Pegel auf der Sound Interrupt Leitung für ca. 30ms beibehalten. Anschließend legt die MPU die Sound Interrupt Leitung auf High-Pegel und legt nach 22µs die der vorher aktivierten Spule zugeordnete Soundadresse mit dem o.a. Timing auf die Sound Select Leitungen.

Der Verdrahtungsplan der Geräte, in dem ein S&T zum Einsatz kommt, zeigt jeweils, dass die Signalleitungen von der MPU A4 J4 Pins 1,2,3,4,10 zum S&T A14 J1 Pins 1,2,3,4,8 und von dort weiter zum SDB A3 J4 Pins 6,5,4,3,7 verlaufen. Wichtig in diesem Zusammenhang ist zu wissen, dass bei einem Fehler an einer oder mehreren Leitungen zwischen MPU und S&T nicht nur die Adressierung des S&T sondern gleichzeitig auch die Spulenadressierung fehlerhaft wäre.

Die SND A-D Leitungen und die Sond Interrupt Leitung sind im Schaltplan nicht als AID Testpunkte gekennzeichnet, dennoch ist eine einfache Überprüfung der Konnektivität zwischen der MPU und dem Sound-Board mit Hilfe eines AID1 Servicemodule möglich, falls verfügbar. 

Ansonsten lässt sich die korrekte Verbindung zwischen MPU und Sound-Board mit einer Widerstandsmessung feststellen. Dazu wird im spannungsfreien Zustand der Widerstand der Sound-Select Leitungen zwischen deren Pin am PIA U11 auf der MPU und deren jeweiligen Eingangspin von U16 auf dem Soundboard gemessen. Jede Sound-Select Leitung sowie die Sound-Interrupt Leitung wird über einen Widerstand auf der MPU, den dortigen Steckverbinder J1 und dem Kabelbaum zum Sound-Board geführt, um dort wieder über den Steckverbinder und einem Widerstand zu U16 zu gelangen.

Für die Sound-Select Leitungen A – D und der Sound-Interrupt Leitung ergibt sich bedingt durch die beiden Widerstände ein Streckenwiderstand von jeweils 10,47 KOhm.

Die Funktion von U16 kann mittels eines Logic-Probes ermittelt werden. Am Ausgang eines invertierenden Buffers muss der invertierte Pegel vom dazu gehörenden Eingang erscheinen. Liegt z.B. am Eingang U16-7 ein Low-Pegel, führt der Ausgang U16-6 ein High-Pegel und umgekehrt.


Abb. 9 Auszug aus dem Verdrahtungsplan für den Stecker J1 vom S&T. Das 5. Sound Select Signal ist am Stecker J1 Pin 12 des S&T zur MPU hin nicht verdrahtet und mit N/U gekennzeichnet.

Ablauf der Interaktion zwischen MPU und S&T nach dem Einschalten:

Die MPU und das S&T beginnen gleichzeitig und unabhängig voneinander mit ihrem Boot-Vorgang. Das S&T hat seinen Boot-Vorgang nach ca. 3 Sekunden abgeschlossen und ist danach betriebsbereit. Während dessen ist die MPU noch bei der Abarbeitung des Testschrittes 3. Prüft sie nach ca. 5 Sekunden im Testschritt 5 den PIA U11, reagiert das S&T ggf. mit einem Ton, da bei der Prüfung eine gültige Soundanforderung generiert wird.  

Nach ca. 7 Sekunden hat die MPU ihren letzten Testschritt beendet und adressiert im Anschluß einige Spulen (Reset der Targetbänke, Saucer) um einen definierten Ausgangszustand zu erhalten.  

Bei einigen späteren Geräten (z.B. Mr. and Mrs. Pac Man) sendet die MPU als nächste Infomation einen Geräte-Code. Der soll vermutlich verhindern, dass das S&T Sounds bzw. Voice generiert, wenn das Game-ROM auf der MPU nicht zu den Sound-ROMs auf dem S&T passt. Bei welchen Geräten dieser Geräte-Code tatsächlich zum Tragen kommt, ist nicht dokumentiert.  

Es folgt die Übermittlung der im "Kassentür Menü" unter den Punkten 20 und 21 eingetragenen Lautstärkewerte für Sound und Voice. Dazu sendet die MPU vor dem ersten angeforderten Sound ein Byte mit dem fixen MSB F und dem LSB des unter 20 eingetragenen Wert (0-F). Diesem Byte folgt der separate Befehl F1, was das S&T veranlasst, das vorher übermittelte LSB als Wert für die Soundlautstärke zu übernehmen. Nach der ersten Soundanforderung folgt die Übermittlung des Wertes für die Voicelautstärke. Dazu sendet die MPU erneut ein Byte mit dem fixen MSB F und dem LSB des unter 21 eingetragenen Wert (0-F). Auch diesem Byte folgt der separate Befehl F1, was das S&T veranlasst, das vorher übermittelte LSB als Wert für die Voicelautstärke zu übernehmen. Wann diese Werte zum Tragen kommen, ist im Kapitel "Lautstärkeregelung (Gain Control) beschrieben.  

Abschließend übermittelt die MPU ggf. weitere zum Start des Attract-Mode abzuspielende Soundadressen.


Soundgenerierung

Auf dem S&T stehen zwei unterschiedliche Signalquellen zur Verfügung, um Soundeffekte zu erzeugen. 

1. durch den PSG AY-3-8912

Eine Methode ist die Soundgenerierung durch den PSG AY-3-8912 (U12), wenn dieser von den verwendeten Sound-ROMs unterstützt wird. Mit Hilfe des PSG werden softwaregesteuert die, für diese Gerätegeneration typischen Soundeffekte wie kurze Melodien, Töne und Geräusche erzeugt. Wie bereits erwähnt wurde, wird der PSG über den PIA U11 von der CPU gesteuert. Die CPU liest und beschreibt über Port A des PIA die 16 internen Register des PSG, der anhand dieser Daten die Soundeffekte erzeugt. 

Die 16 internen Register des PSG AY-3-8912:

Da beim AY-3-8912 nur Port A zur Verfügung steht, entfallen das Register R7-B7 (IOB) und das komplette Register R17 (I/O Port B Data Store).

AY-3-8912 sind mittlerweile kaum noch zu bekommen. Der AY-3-8910 hingegen wird noch häufig angeboten. Mithilfe einer kleinen Adapterplatine kann ein AY-3-8910 auf den Sockel eines AY-3-8912 adaptiert werden.

Die Adressierung der Register sowie das Übertragen deren Inhalte werden über den Datenbus des PSG (D0 – D7), der mit Port A (PA0 - PA7) des PIA U11 verbunden ist, durchgeführt. Mit den Signalen BC1 (PB0 vom PIA) und BDIR (PB1 vom PIA) wird gesteuert, ob die Daten an PA0 - PA7 Adressinformationen oder Registerinhalte darstellen und ob ein Schreib- oder Lesezugriff erfolgt. Der /RST Eingang ist mit der /Reset Leitung der CPU verbunden und sorgt für einen definierten Ausgangszustand nach dem Einschalten. Über den TTL-kompatiblen CLK Eingang erhält der PSG seinen Referenztakt zur Steuerung der internen Synthesizer. 

Abb. 10: Auszug aus dem Stromlaufplan des S&T (90° gedreht). Er zeigt die Pinbelegung des AY-3-8912 und die Verbindung zum PIA U11 sowie die 4 (5) Sound Select Eingänge IO0 – IO3 (IO4). IO5 – IO7 liegen fest auf GND. Die drei analogen Ausgänge A, B, C sind zusammengeschaltet und bilden als Summe das Ausgangssignal.

Fordert die MPU einen Sound an, wird die Sound Interrupt Leitung für 40µs auf Low gelegt. Durch den L/H-Wechsel wird über einen invertierenden Buffer von U16 durch ein H/L-Wechsel an CB1 des PIA U11 ein Interrupt in Richtung CPU erzeugt. Anschließend gelangen die Sound Select Informationen ebenfalls über je einen invertierenden Buffer von U16 in Form von zwei aufeinander folgenden Nibbles an die I/O Pins des PSG. Diese I/O Pins werden in Register 14 des PSG gepuffert und dort von der CPU über den PIA U11 eingelesen. Aus diesen beiden empfangenen 8 Bit („000“ + 5 Bit) werden jeweils die vier niederwertigen Bits zu einem neuen 8 Bit Wert zusammengesetzt. Diese 8 Bit sind keine direkten Sounddaten, sondern eine von 256 möglichen Adressen, anhand deren die CPU die zugeordneten Aktionen zur Sounderzeugung ausführt. Diese Aktionen und notwendigen Daten zur Soundgenerierung sind in den Sound-ROMs hinterlegt und dienen fallweise der Ansteuerung des VSP TMS5200 zur Sprachgenerierung sowie der Erzeugung von Sound über den DAC oder über den PSG AY-3-8912. Im letzteren Fall sendet die CPU über den nun als Ausgang deklarierten Port A (PA0 – PA7) des PIA U11 die notwendigen Registereinstellungen für die Ton- bzw. Geräuscherzeugung durch die drei im PSG enthaltenen und unabhängig voneinander arbeitenden Synthesizer A, B und C. Die drei Synthesizer-Ausgänge liefern an den Pins 1,4 und 5 rechteckförmige Analogsignale, die durch Parallelschaltung ein Summensignal bilden. Dieses Summensignal ist an TP7 messbar. 

Ist kein PSG AY-3-8912 verbaut, gelangen die Sound-Select Informationen direkt über die invertierenden Buffer von U16 und die eingesetzten Jumper „EE“ an die PA0 – PA4 Ports des PIA U11 und werden wie oben beschrieben von der CPU abgefragt und verarbeitet. 

Da Rechecksignale recht hart klingen, wird das Ausgangssignal des PSG über C31 zu einem Tiefpassfilter mit einer Grenzfrequenz von 3,5 kHz und einer Dämpfung von 12 dB / Oktave geleitet. Das Tiefpassfilter wird mit einem der vier Verstärker von U13 (LM3900) und dessen Beschaltung gebildet. Die Grenzfrequenz kann von der CPU über den CB2 Pin von U11 durch die Ansteuerung von Q2 auf 200 Hz reduziert werden, wenn spezielle Soundeffekte mit niedrigen Frequenzen erzeugt werden. Das gefilterte und nun harmonischer klingende Soundsignal wird über den Koppelkondensator C36 auf einen spannungsgesteuerten (Vor-) Verstärker (VCA = Voltage Controlled Amplifier) geleitet.

Abb. 11 Auszug aus dem Stromlaufplan des S&T. Tiefpassfilter für das Audiosignal des PSG

2. durch den Digital/Analog Converter (DAC) AD 558

Die zweite und auch vorrangig eingesetzte Methode zur Soundgenerierung wird mit Hilfe des Digital/Analog-Wandlers (DAC) U10 realisiert. Da der DAC im direkt adressierbaren Bereich der CPU liegt sind seine 8 digitalen Eingangsleitungen direkt mit dem Datenbus (D0 – D7) der CPU Verbunden. Um nun Töne zu erzeugen, liest die CPU die dazu notwendigen Parameter aus den Sound-ROMs, generiert daraus die Daten und adressiert diese anschließend an den DAC. Es sind also keine gesampelten Audiosignale in den ROMs gespeichert. Die Freigabe zur Datenübernahme und Wandlung erhält er über Pin 10 (/CS) der mit dem Adressdecoder U17 verbunden ist. Das Ausgangssignal des DAC ist nahezu sinusförmig, so dass eine Filterung der Oberwellen mittels eines Tiefpassfilters nicht notwendig ist. Daher wird das Ausgangssignal direkt über den Koppelkondensator C43 auf den gleichen spannungsgesteuerten (Vor-) Verstärker (VCA) geleitet, auf den auch das Soundsignal des PSG AY-3-8912 geleitet wird. Auch mit Hilfe des DAC werden die, für diese Generation typischen Töne und Geräusche sowie ein evtl. abzuspielender Background-Sound erzeugt. 

Abb. 12 Auszug aus dem Stromlaufplan des S&T: Der DAC mit der Anbindung an den Datenbus und der /CS-Leitung an den Adressdecoder U17 für die Freigabe, die erst dann stattfindet, wenn gleichzeitig /CE über ein invertierendes Gatter von U15 auf Low geschaltet wird. Dieses geschieht über den „Enable“-Pin (E) der CPU, an dem das Taktsignal der CPU anliegt. Ist „E“ auf Low, findet kein Lese- oder Schreibzugriff über den Datenbus statt und der Datenbus wird hochohmig (Tristate). Schaltet „E“ auf HIGH, kann die CPU Daten über den Datenbus lesen oder schreiben. Über die „Enable“ Leitung werden neben dem DAC die beiden 6821 PIAs und der 6810 RAM freigegeben. Die Enable-Pulse werden zudem dem PSG AY-3-8912 als Taktreferenz zugeführt und liegen an TP8 für Messzwecke an. 


Spracherzeugung (Voice):

Das S&T erzeugt die Sprachsignale mit Hilfe des Texas Instruments TMS5200 VSP (Voice Synthesis Processor) IC, das sich auf Position U8 befindet. Die Daten werden generell in den Sound-ROMs vorgehalten und bei Bedarf von der CPU an den VSP gesendet. Im Schaltplan als auch auf der Platine des S&T ist die Möglichkeit vorgesehen, Sprachdaten auch durch ein vom Hersteller maskenprogrammiertes TMS6100 VSM (Voice Synthesis Memory) "phrase" ROM (U9) mit einer Kapazität von 16 kB bereitzustellen. Diese Option wurde von Bally jedoch nie praktisch umgesetzt. Daher wird hier auf das „Interworking“ zwischen TMS5200 und TMS6100 nicht weiter eingegangen, sondern die Bereitstellung und Verarbeitung der Daten aus den Sound-ROMs beschrieben. Der VSP ist zu langsam, um direkt mit der CPU zu kommunizieren. Die CPU müsste nach dem Übergeben von Daten in einer Warteschleife (Loop) auf eine Antwort warten und könnte während dieser Zeit keine anderen Aufgaben erledigen. Deshalb ist – wie bereits beim PSG beschrieben - ein 6821 PIA (U7) eingesetzt, der für die CPU als parallele Schnittstelle fungiert und dieser die Anforderungen des VSP Interrupt gesteuert mitteilt.

Der TMS5200 VSP dekodiert digitale Sprachdaten, die nach dem LPC-Verfahren (Linear Predictive Coding) digitalisiert wurden und rekonstruiert daraus ein analoges Sprachsignal. Die LPC Kodierung ist ein Verfahren, das mit Filtertechniken arbeitet. Es filtert aus einem Signalgemisch sprachrelevante Komponenten wie die Sprachgrundfrequenz, Lautstärke und Stimmhaftigkeit heraus. Dazu wird das digitale Sprachsignal in ein Erregersignal und in Koeffizienten eines zeitvarianten Filters transformiert, das den menschlichen Stimmtrakt nachbildet. Dies geschieht durch kontinuierliche Abtastung des Sprachsignals mit 160 Abtastwerten pro Sekunde, aus denen die Filterkoeffizienten anhand von speziell für den TMS5200 definierten Tabellen gebildet und digitalisiert werden. Bei der Aufteilung in kurzzeitige Segmente geht man davon aus, dass die Änderung zwischen zwei aufeinander folgenden Segmenten sehr gering ist. Durch die lineare Vorhersage brauchen daher nur die jeweiligen Änderungen zwischen zwei aufeinander folgende Segmente digitalisiert zu werden, wodurch die zur Wiederherstellung benötigte Menge an Daten im Vergleich zu einer direkten A/D-Wandlung nach dem PCM-Verfahren wesentlich reduziert wird. Die so gewonnenen digitalen Daten sind in den Sound ROMs des S&T gespeichert. Erhält die CPU die Aufforderung, Sprache zu generieren, holt sie diese Daten byteweise aus den ROM und sendet sie über den PIA U7 in den 16 Byte FIFO (First in First out) -Speicher des VSP. Während des Sendens und der Verarbeitung der Bytes setzt der VSP - wie bereits beim Selbsttest für den VSP beschrieben – Statusregister und generiert Interrupts. Das Statusregister wird dann seitens der CPU ausgelesen und sie kann entsprechend den gesetzten Flags reagieren. Die dekodierten Sprachsignale werden letztendlich durch einen im VSP integrierten Digital/Analog Wandler in ein analoges Sprachsignal umgewandelt, das an Pin 8 (Speech Out) bereitgestellt und an TP9 gemessen werden kann. 

Für eine tiefer gehende Erklärung der Funktionsweise des TMS5200 sowie der Möglichkeit des Interworking mit einem TMS6100 sollten deren Datenblätter zu Rate gezogen werden.

Abb. 13 Auszug aus dem Stromlaufplan des S&T. Die Stromversorgung erfolgt über die Pins VRF (GND), Vdd (+5V) und Vss (-5V). Die Erzeugung und Anschaltung wurde bereits im Kapitel „Spannungsversorgung“ erläutert. Die RC-Kombination (R9/C51) am OSC-Pin dient der Erzeugung des internen Taktes von 640 kHz. Dieser Takt kann an Pin 6 gemessen werden. 

Auf dem AS-2518-61, das ausschließlich im Flash Gordon eingesetz wurde, beträgt der Widerstandswert für R9 200kOhm. Wird das AS-2518-61 mit entsprechenden Sound-ROMs als Ersatz für ein AS-2518-61A oder AS-2518-61B in einem anderen Gerät eingesetzt, ergibt sich durch den höheren R9 eine deutlich niedrigere Taktfrequenz als 640kHz, wodurch die interne Verarbeitungsgeschwindigkeit des TMS5200 sinkt, was eine tiefere Voicefrequenz zur Folge hat. Wird ein AS-2518-61A oder AS-2518-61B als Ersatz in einem Flash Gordon verbaut, ergibt sich durch den auf diesen Boards verbauten R9 von 130kOhm im Vergleich zum AS-2518-61 die erwähnte höhere Taktfrequenz von 640kHz, wodurch die interne Verarbeitungsgeschwindigkeit des TMS5200 steigt, was dann eine höhere Voicefrequenz zur Folge hat.

Die Pins A1, A2, A4, A8/Data, ROM CLK, I0 und I1 werden nur bei Verwendung eines TMS6100 VSM ROM auf Position U9 benötigt. Bally hat diese Kombination in der Praxis nie realisiert, sondern ausschließlich die Bereitstellung der Sounddaten durch die CPU über den PIA U7. Die Anbindung an den PIA erfolgt über den Datenbus D0 – D7 an PA7 – PA0, sowie den Steuerleitungen RS (Read) an PB0, WS (Write) an PB1, RDY (Ready) an CA2 und INT (Interrupt) an CB1.

Der TMS5200 ist mittlerweile obsolet und daher kaum noch zu beschaffen. Im Falle eines Defektes kann der zwar auch osolete, aber noch besser erhältliche TMS5220 eingesetzt werden. Allerdings verfügt der TMS5220 über vom TMS5200 abweichende Filterkoeffizienten. Da die Voicefragmente mit den Koeffizienten des TMS5200 codiert wurden, ergibt sich bei der Dekodierung mit einemTMS5220 ein abweichendes Klangbild. Die Sprache ist von der Tonlage her abweichend und auch qualitativ schlechter (Aussetzer, Rauschen, Verzerrungen). Durch experimentelles anpassen des Widerstandes R9 kann versucht werden, die Tonhöhe ein wenig anzupassen, jedoch kann dadurch die Qualität des Voice Signales nicht positiv beeinflusst werden..

Die Umwandlung der Sprachdaten durch den VSP hat ein digitales Rauschen als unerwünschten Nebeneffekt zur Folge. Um dieses, durch Oberwellen erzeugte Rauschen abzuschwächen, wird das Ausgangssignal über C19 zu einem Tiefpassfilter mit einer Grenzfrequenz von 5 kHz und einer Dämpfung von 12 dB / Oktave geleitet. Das Tiefpassfilter wird wie beim Audiosignal des PSG mit einem der vier Verstärker von U13 (LM3900) und dessen Beschaltung gebildet. Das gefilterte und nun harmonischer klingende Sprachsignal wird über den Koppelkondensator C24 auf einen spannungsgesteuerten (Vor-) Verstärker (VCA = Voltage Controlled Amplifier) geleitet.

Abb. 14: Auszug aus dem Stromlaufplan des S&T. Tiefpassfilter für das Audiosignal des VSP

Lautstärkeregelung (Gain Control)

Sowohl für das Sprachsignal als auch für den Sound steht jeweils ein eigener spannungsgesteuerter Verstärker (VCA) zur Verfügung. Für die Erzeugung der Steuerspannung für die VCA hat Bally drei Optionen vorgesehen:

 

1. Lautstärkeeinstellung über je einen 1kOhm Trimmer für Sprache und Sound auf dem Board.

Diese Funktionsweise ist die Standardvariante.

2. Lautstärkeeinstellung über 1kOhm Remote-Potentiometer außerhalb des Boards. 

Bei dieser Option müssen die beiden Trimmer auf dem S&T entfernt werden. Die Remote-Potentiometer werden jeweils zwischen J2 Pin 4 und Pin 5 für die Sprachlautstärke und zwischen J2 Pin 4 und Pin 6 für die Soundlautstärke angeschaltet. Auch wenn über die Potentiometer nur eine Gleichspannung zur Steuerung der VCA eingestellt wird, sollte die Verdrahtung zwischen J2 und den Remote-Potentiometern über ein abgeschirmtes Kabel erfolgen.

Wird eine dieser beiden Optionen gewählt, müssen die Jumper „M“ und „CC“ entfernt und „N“ und „DD“ installiert werden.

Abb. 15: Auszug aus dem Stromlaufplan des S&T: Die On-Board Trimmer R69 und R70 und die Anschaltemöglichkeit für Remotepotentiometer an J2

Hinweis: Mit Remote-Potentiometer ist nicht der, bei allen Bally EE Geräten mit S&T Board in der Kassentür vorhandene Lautstärkeregler gemeint. Dieser liegt direkt in der Verbindung zwischen S&T und dem 8 Watt Lautsprecher und regelt das Audio-Ausgangssignal (Sprache + Sound) des S&T.

3. Die Lautstärkeregelung durch die CPU  

Für dieses Feature ist je ein Digital-/Analog-Wandler (DAC) zur Erzeugung der Steuerspannungen für die VCA des Sound- und Sprachsignals vorgesehen, die aus diskreten Bauelementen und den zwei verbleibenden Verstärkern von U13 aufgebaut sind. Die Steuerspannung für die Einstellung der Sprachlautstärke wird über vier Portleitungen des PIA U7 (PB4 – PB7) und dem Spannungsteiler bestehend aus den Widerständen R20 – R23 generiert. Die Steuerspannung für die Soundlautstärke wird über vier Portleitungen des PIA U11 (PB4 – PB7) und dem Spannungsteiler bestehend aus den Widerständen R43 – R46 generiert. Das ergibt eine Auflösung von jeweils vier Bit, so dass insgesamt 16 unterschiedliche Spannungswerte im Bereich zwischen 2,2V und 4,3V für die Steuerung der VCA erzeugt werden können, womit eine Verstärkung von ca. -36dB bis +4dB eingestellt werden kann. Im Selbsttest-Menü, das durch den Servicetaster in der Kassentür aufgerufen wird, kann bei den Steps 20 (Sound) und 21 (Speech) jeweils ein Wert zwischen 00 (min.) und 15 (max.) eingestellt werden. Die dort eingestellten Werte werden nach dem nächsten Reset der MPU über die Sound Select Leitungen an die CPU des S&T gesendet und beide VCA entsprechend eingestellt. Voraussetzung ist, dass der Programmablauf der MPU diese Option auch unterstützt (Menüpunkte 20 und 21 vorhanden). Ist dieses der Fall, müssen die Jumper „N“ und „DD“ entfernt und „M“ und „CC“ installiert werden. Nach dieser Änderung sind die Trimmer auf dem S&T oder Remote-Potis ohne Funktion.

Hinweis: Wird diese Option genutzt, ist zu beachten, dass die eingestellten Werte für die jeweilige Lautstärke im Falle eines entladenen Speicherakkus bzw. Goldcaps auf der MPU neu gesetzt werden müssen.

Abb. 16: Auszug aus dem Stromlaufplan des S&T. Dargestellt sind die beiden diskret aufgebauten DAC zur Erzeugung der Steuerspannung für die VCA durch die CPU.

Abb. 17: Auszug aus dem Stromlaufplan des S&T. Dargestellt ist der VCA für die Vorverstärkung des Soundsignals. Die Steuerspannung liegt im Bereich von 2,2 VDC und 4,3 VDC und kann an TP6 (Sound) und TP5 (Sprache) gemessen werden. Durch den Spannungsteiler R55 / R56 wird die Kathodenspannung an CR5 gebildet, Diese wiederum ändert den Signalwiderstand der Diode der mit dem Eingangswiderstand R54 als Spannungsteiler fungiert, um die Steuerspannung für den Operationsverstärker zu erzeugen. Der VCA für das Sprachsignal ist identisch aufgebaut.  Das verstärkte Soundsignal wird über C34 und das verstärkte Sprachsignal über C25 dem 8 Watt Endverstärker TDA2002 zugeführt.

Endstufe (Amplifier)

Abb. 18 zeigt die Schaltung der Audioendstufe um den TDA2002. Dieser befindet sich im mittleren rechten Bereich des S&T auf dem kleineren der beiden Kühlkörper. Der Auszug stammt von einem S&T AS-2518-61b. Diese Ausführung bietet im Vergleich zu den vorherigen Versionen durch die 10 polige Stiftleiste J2 und den Jumper „FF“ die Anschlussmöglichkeit für das Say-It-Again Modul AS-2518-81, welches beim Bally CENTAUR zur Erzeugung des Echo-Effektes eingesetzt wird. Das Summensignal aus Sound und Sprache gelangt über C25 zum Jumper „FF“. Bei allen Flippermodellen bei denen ein AS-2518-61b ohne Say-It-Again Modul eingesetzt ist, muss der Jumper FF eingelegt werden, damit das Audiosignal direkt weiter an den Eingang von U18 gelangen kann. Beim Einsatz im CENTAUR wird der Jumper „FF“ entfernt und die Verbindung zum Say-It-Again Modul auf die Pins 7,8,9,10 von J2 gesteckt. Das vom TDA2002 verstärkte Sprach- / Soundsignal wird über den Spannungsteiler R31/R34 und über C29 auf den invertierenden Eingang von U18 zurückgekoppelt und gleichzeitig über C27 an J2 Pin 2 in Verbindung mit J2 Pin 1 zum Anschluss des 8 Ohm Lautsprechers bereitgestellt. C30 und R35 bilden ein so genanntes Boucherot-Glied oder Snubber-Glied zur Verhinderung von wilden HF-Schwingungen am Ausgang von U18.

Der Test-Switch

Im oberen linken Bereich des S&T befindet sich oberhalb der 680x CPU ein Test-Switch SW1. Vorausgesetzt das Board hat den Selbsttest nach dem Einschalten erfolgreich durchlaufen, werden nach Drücken des Test-Switch für jedes Gerät fest definierte Sprachmuster und ein abschließendes Soundmuster abgespielt, um die Funktion des VSP und des DAC überprüfen zu können. Ein Testsound, der vom PSG generiert wird, scheint dagegen bei keinem Modell erzeugt zu werden. Darauf erfolgt ein Warmstart des Boards mit anschließendem Selbsttest, jedoch ohne den „Initial Flicker“, da die PIAs bereits nach dem Einschalten initialisiert wurden. Eine unangenehme Eigenschaft kann nach dem Druck auf den Switch auftreten: Der Switch schaltet direkt GND auf den /NMI-Eingang der CPU. Eine Entprellung wurde seitens der Entwickler nicht getroffen, was zur Folge haben kann, dass die CPU bei einem mehrere Jahrzehnte alten Switch bei einem Druck durch die fehlende Entprellung mehrfaches Drücken erkennt. Jedes Mal, wenn die CPU die Interrupt-Anforderung über den /NMI-Pin erhält, werden die Registerinhalte in einem internen Stapelspeicher (Stack) gesichert, der Interrupt ausgeführt – also der Testsound abgespielt – und danach die Registerinhalte zurückgeschrieben. Erkennt die CPU mehrere /NMI-Anforderungen, werden auch entsprechend oft die Registerinhalte gesichert. Da der Stack nur eine begrenzte Größe aufweist, kann es zu einem Stack-Overflow kommen, der die CPU und damit das gesamte S&T zum Absturz bringt, was nur durch Aus- und wieder Einschalten zu beheben ist. Wichtig zu wissen ist, dass es sich bei diesem sehr selten auftretenden Phänomen mehr um eine Fehlfunktion bedingt durch einen Designfehler als um einen Defekt an den elektronischen Komponenten handelt.

Kondensatoren

Auf dem S&T sind insgesamt 16 axiale Elektrolytkondensatoren verbaut. Einige Dokumentationen empfehlen als erste Maßnahme zur Fehlerbehebung von Soundproblemen häufig einen Tausch dieser Kondensatoren. Einige Ersatzteilhändler haben die Kondensatoren daher als Komplettset oder Rebuild-Kit in ihrem Angebot. Aber nicht immer ist der Verursacher einer Fehlfunktion beim S&T ein gealterter, ausgetrockneter Elektrolytkondensator. Schon gar nicht ist er die Ursache für zeitweise auftretende Sound-Probleme. Entweder er funktioniert oder er funktioniert halt nicht. Ein Defekt der hochkapazitiven Kondensatoren ist auch nach mittlerweile fast 40 Jahren recht selten. Deren vorsorglicher Tausch ist daher in den meisten Fällen überflüssig. Kondensatoren mit kleiner Kapazität (1µF und 2µF) sind eher betroffen. Da diese Kondensatoren in der Regel als Koppelkondensatoren in den analogen Signalleitungen zwischen den Soundausgängen des PSG, VSP, DAC und deren nach geschalteten Filter- und Verstärkerstufen liegen, ist ein Ausfall eines solchen Kondensators mit einem Oszilloskop oder Signalverfolger / -injektor recht schnell zu erkennen. Typische Fehlerbilder: Kein Signaldurchgang oder ein verzerrtes und / oder zu leises Signal. Wird ein kleiner Kondensator als Fehlerquelle identifiziert und muss getauscht werden, sollte man überlegen, ob es wirklich notwendig ist, die anderen 1µF und 2µF direkt mit auszutauschen, denn jedes unnötige Löten stresst die Lötpunkte, Durchkontaktierungen und Leiterbahnen, was ggf. zu neuen Fehlerbildern führen kann. Bei einem Tausch sollte wieder ein axialer Typ verwendet werden. Mit Drahtstücken verlängerte Anschlussdrähte von radialen Elkos bergen die Gefahr von Berührungen mit darunter verlaufenden Leiterbahnen und haben eine stärkere „Antennenwirkung“, was zu Störgeräuschen führen kann. Die nachfolgende Tabelle enthält eine Auflistung der Elkos:

Auch der auf dem Board verbaute 4,7µF Tantal Kondensator C22 kann nach der langen Zeit für Fehler sorgen. Dieser befindet sich am Ausgang des Spannungsreglers für die -5V Versorgungsspannung (VR2) für den TMS5200. Ein defekter Kondensator kann zu einem überlagertem 50Hz Brummen am Ausgang des TMS5200 führen, das auch hörbar ist, wenn gerade keine Sprachausgabe erfolgt. In dem Fall sollte der Tantal Kondensator ersetzt werden. An dessen Stelle ist auch der Einsatz eines 4,7µF Elektrolykondensators möglich.

Bleibt nur der übliche Hinweis auf mögliche Kontaktprobleme zwischen den Platinensteckern und den Stiftleisten nicht fehlen. Nachlassender Kontaktdruck, Schmutz durch Staub, Nikotin- bzw. Teerablagerungen und Korrosion sind nach der langen Zeit häufig die Ursache für zeitweise und damit relativ schwer einzugrenzende Fehler. In diesem Fall ist ein Austausch der Stiftleisten und Platinenstecker (Crimpkontakte) empfehlenswert. Auch die Lötstellen der Stiftleisten sollten nach der langen Zeit auf der Platinenunterseite nachgelötet werden, um Kontaktproblemen durch „kalte“ Lötstellen entgegen zu wirken. Das gleiche gilt für die beiden, in offener Bauweise ausgeführten 1kOhm Trimmer für die Lautstärkeregelung. Ist eine Nachregelung mit Aussetzern und Störgeräuschen verbunden, wird deren Austausch gegen eine geschlossene Bauweise empfohlen. 


Anhang 1: Fehlersuche im Analogteil mit Hilfe eines Signalverfolgers / -injektors

Beispiel 1: kein Sound, Sprache funktioniert  

Als erste Maßnahme gilt es zu prüfen, ob der Fehler im Digital- oder Analogteil des Boards zu suchen ist. Dazu wird das Gerät in den Zustand versetzt, in dem normalerweise Sound erzeugt wird. Das kann am einfachsten durch Aktivierung des Background-Sound im Testmenü (Step 18 auf 03) und starten eines Spieles erfolgen. Auch die Betätigung von Kontakten hat in der Regel einen Sound zur Folge.

Wie bereits beschrieben wurde, gibt es auf dem S&T zwei analoge Signalquellen, der PSG AY-3-8912 (U12) und der DAC AD558 (U10). Je nach Gerätetyp ist U12 nicht bestückt und der Sound wird ausschließlich durch U10 erzeugt.

Im nachfolgenden Ausschnitt des Stromlaufplanes sind die Prüfpunkte zum Testen beider Signalquellen angegeben.


Der Masseanschluss des Signalverfolgers wird mit GND (TP1) des S&T verbunden. Die Verstärkung des Signalverfolgers wird auf minimal gesetzt und die Prüfspitze an TP7 (Prüfpunkt 1a) gehalten, wenn U12 als analoge Soundquelle fungiert bzw. an U10 Pin 16 (Prüfpunkt 2a), wenn dieser als analoge Soundquelle fungiert. An beiden Punkten tritt das analoge Signal als erstes auf. Die Verstärkung wird langsam erhöht und dabei geprüft, ob das Soundsignal hörbar wird. Ist dies nicht der Fall, wäre zu prüfen, ob die Voraussetzungen zur Erzeugung eines Soundsignals erfüllt sind. Ist das der Fall, wäre die Prüfung an dieser Stelle schon vorbei und der Fehler im Digitalteil der Schaltung zu suchen. Ansonsten wird die Prüfung Step by Step an den einzelnen Prüfpunkten fortgesetzt. Nehmen wir an, der Kondensator C31 wäre defekt. Dann wäre an Prüfpunkt 1b (- Pol von C31) ein Signal hörbar, an Prüfpunkt 1c (+ Pol von C31) wäre keins vorhanden oder ein im Vergleich zu Prüfpunkt 1b sehr leises oder qualitativ schlechteres Signal zu hören. Es bedarf etwas Erfahrung, das Ergebnis am Prüfpunkt 1d, den Ausgang von U13 zu bewerten, da bei der Filterstufe das Ausgangssignal schwächer als das Eingangssignal an Prüfpunkt 1c  sein kann und somit kein Fehler wäre. Generell kann man sagen: Ist am Eingang der Stufe ein Signal vorhanden und am Ausgang keins oder ein im Vergleich zum Eingang wesentlich lauteres, ist der LM3900 bzw. dessen Beschaltung sehr verdächtig. Ab Prüfpunkt 5 kann übrigens so auch die Funktion des Volume Reglers für den Sound überprüft werden, sofern der Jumper ‚DD‘ eingelegt ist. Je nach Stellung des Trimmers R70 ändert sich dann die Lautstärke vom Signalverfolger.  

Beispiel 2: keine Sprache, Sound funktioniert.  

Als erste Maßnahme gilt es auch hier zu prüfen, ob der Fehler im Digital- oder Analogteil des S&T zu suchen ist. Dazu wird der Flipper in den Zustand versetzt, in dem normalerweise Sprache erzeugt wird. In der Regel kann eine Sprachausgabe durch Drücken des roten Testswitch erzwungen werden. Der Masseanschluss des Signalverfolgers wird mit GND (TP1) des S&T verbunden. Die Verstärkung wird auf minimal eingestellt und die Prüfspitze an TP1 (Prüfpunkt 1) gehalten, an dort das analoge Sprachsignal als erstes auf dem Soundboard auftritt. Die Verstärkung wird nun langsam erhöht und dabei geprüft, ob das Sprachsignal hörbar wird. Ist dies nicht der Fall, wäre die Prüfung auf dem Soundboard an dieser Stelle schon vorbei und die Fehlersuche im Digitalteil der Schaltung fortzusetzen. Ansonsten wird die Prüfung Step by Step wie oben beschrieben an den einzelnen Prüfpunkten fortgesetzt. Ab Prüfpunkt 8 kann auch in diesem Kreis die Funktion des Volume Reglers für die Sprache überprüft werden, sofern der Jumper ‚N‘ eingelegt ist. Je nach Stellung des Trimmers R69 ändert sich dann die Lautstärke vom Signalverfolger.  

Beispiel 3: keine Sprache, kein Sound  

Hier wird als erstes geprüft, ob beide Einzelsignale an Prüfpunkt 5 und Prüfpunkt 8 anliegen und das Summensignal (Sprache und Sound) an den Prüfpunkten 1 und 2 anliegt. Ist das der Fall, kann mit etwas Vorsicht auch die Funktion des TDA2002 (U9) geprüft werden. Dazu ist die Verstärkung des Signalverfolgers auf minimal einzustellen. Beim kurzen Antippen der Prüfpunkte 3 und 4 ist bei intaktem U16 das verstärkte Signal sehr laut im Lautsprecher des Signalverfolgers hörbar. Das Signal klingt allerdings auch bei einer niedrig eingestellten Verstärkung am Signalverfolger sehr übersteuert.           

 

Prüfung der Signalwege mit Hilfe eines Signalinjektors

Eine weitere Möglichkeit zur Überprüfung der Signalwege ist der Einsatz eines Signalinjektors. Dieses Prüfgerät erzeugt ein, in der Amplitude regelbares Signal im hörbaren Frequenzbereich, dass an den o.g. Prüfpunkten in den Signalweg eingespeist (injiziert) und über den angeschlossenen Lautsprecher hörbar wird. Zur Prüfung wird der Masseanschluss des Signalinjektors mit dem TP1 (GND) verbunden. Die Amplitude wird auf minimal eingestellt und das Signal mittels der Prüfspitze beginnend am letzten Prüfpunkt vor dem TDA2002 (U18) eingespeist. Ist das Prüfsignal im Lautsprecher hörbar, wird der zu prüfende Signalweg rückwärts in Richtung Signalquelle geprüft, in dem das Prüfsignal an den oben im Schaltplan markierten Prüfpunkten eingespeist wird. Dabei ist jeweils die Amplitude etwas anzupassen. Ist das Signal an einem Prüfpunkt hörbar und an dem davor liegenden Prüfpunkt nicht, liegt der Fehler zwischen diesen beiden Prüfpunkten. 

Die Prüfung ist auch in Kombination mit einem Signalverfolger möglich. Dazu wird der Signalverfolger mit einem Prüfpunkt verbunden, der sich nach einem Prüfpunkt befindet, an dem das Signal des Signalinjektors eingespeist wird. 

Steht kein Signalinjektor zur Verfügung, lässt sich die Funktion der Signalwege ggf. auch „quick and dirty“ überprüfen. Dazu berührt man mit einem Finger die Anschlüsse der sich im Signalweg befindlichen Kondensatoren, was im Lautsprecher zu einem Netzbrummen führt. Diese Methode stellt allerdings nur einen groben Funktionstest dar und lässt keine Aussage über die Signalqualität zu.


Anhang 2: Fehlersuche auf der Werkbank

Um das S&T auf der Werkbank zu booten, werden +12 Volt und -5 Volt benötigt. Dazu eignet sich ein PC-Netzteil, das diese beiden Spannungen bereitstellt. Die +12V liegen an dem gelben Draht, Pin 10 des 20-poligen Steckers des PC-Netzteils an. Dieser wird mit J1 Pin 10 des S&T verbunden. Die -5 Volt liegen am weißen Draht, Pin 18 des 20-poligen Steckers an. Dieser wird mit TP4 des S&T verbunden. GND liegt an den schwarzen Drähten des 20-poligen Steckers. Einer dieser Drähte wird mit TP1 des S&T verbunden. Damit das Netzteil nach dem Anlegen der Netzspannung die Ausgangsspannungen liefert, muss es über die grüne Steuerleitung (PS_ON) Steckers eingeschaltet werden, in dem diese Leitung mit Masse (schwarz) verbunden wird. Dazu müssten bei einem 20 poligen Mainboard-Stecker Pin 14 mit z.B. Pin 15 gebrückt werden. Es sollte selbstverständlich sein, beide Spannungen vor dem Verbinden mit dem S&T zu prüfen. Ein fehlerhaftes Netzteil oder eine, an den falschen Punkten des Steckers abgegriffene oder am S&T falsch angelegte Spannung können zu einem Schaden am S&T führen.

Hinweis: Manche PC-Netzteile benötigen auf dem +5V Ausgang eine Mindestlast, damit sie auf dem +12V Ausgang eine stabile Spannung bereitstellen.

Nach dem Einschalten der Netzspannung beginnt das S&T mit dem Bootvorgang und ist im Idealfall danach in Betrieb. Wird an den Pins 1 und 2 von J2 ein Lautsprecher angeschlossen, ist nach dem Drücken des Testknopfes bei fast allen ROMs eine Sprachausgabe zu hören. Bootet das Board nicht oder nicht vollständig, lassen sich auf der Werkbank recht bequem die, in den vorherigen Kapiteln beschriebenen Messungen und Tests im Digitalteil des S&T durchführen. Bootet das Board vollständig, können Fehler im Analogteil durch Messungen und Tests mit Hilfe eines Signalverfolgers auf dem Weg vom VSP bis zur Endstufe durchgeführt werden. Eine Überprüfung vom Ausgang des PSG und / oder DAC bis zur Endstufe sind auf der Werkbank mit Hilfe eines Signalinjektors möglich. Die Sounderzeugung selbst ist auf der Werkbank durch das notwendige Timing an der Sound-Interrupt und den Sound-Select Leitungen mit normalen Mitteln sehr eingeschränkt möglich. Es empfiehlt sich zur Fehlersuche mittels Signalverfolger der Einbau in einen Flipper, der das S&T unterstützt.


You like this work?