Mike McBike @ Home / Arcade Reparaturberichte / Gyruss Reparatur


{Fehlerbeschreibung} hatte gerade eine Gyruss mit Soundproblemen in der Mache... Amps gehen, der Ablauf des Z80 ist wirr. Er läuft, aber je nach Start immer irgendwo anders in der Prärie... Sound ist je nach Einschalten anders, statisch, zirpt oder pfeift, manchmal auch völlig stumm. Soundsampleanfrage von der Hauptplatine kommt an!


{Reparatur} Was ich bisher gemacht habe: Z80 getauscht gegen Neuteil; die zwei Programm-EPROMs getestet: i.O. dann sicherheitshalber gegen neue getauscht; Die LS138 für Chip Select sind i.O. Die ROMs bekommen CS#; Reset tut. Aber:
Der Z80 setzt den IRQ nicht zurück (FF), ich denke, er kommt im Programm nicht so weit. Der Z80 fragt nicht nach der Sound Sample-Nummer (Latch Read). Nach drei Stunden bin ich etwas frustriert...
Soeben. 2 x 2114 ausgelötet. Fassung reingelötet. Meine einzigen zwei 2114 aus meinem Junior-Computer kanibalisiert und eingesteckt... Dadummdummdumm Dadummdummdumm... Musik in meinen Ohren... Oder mit andere Worten: "Hab' dich, du Sau!"


{Gyruss Sounderzeugung} Wenn man den bombastischen Gyruss-Sound kennt, weiss man sofort, dass da mehr als nur einfache Technik dahinter steckt. Die Soundsteuerung und Erzeugung bei Gyruss ist einfach genial aber nicht genial einfach, was auch immer wieder zu lustigen Sound-Ausfällen im Falle von elektronischen Defekten führen kann. Spiele-Prozessor und Sound-Prozessoren sind weitgehend räumlich getrennt und nur durch eine schmale Schnittstelle mit 8-Bit Datenbus und ein paar Steuersignale getrennt. (Spaßeshalber könnte man mal versuchen, das Gyruss-Sound-Board seprat mit einem Microcontroller in Betrieb zu nehmen, um die einzelnen Sound-Samples abzurufen...)
Der Spiele-Prozessor kann über die Steuerleitung RESET# die Tonausgabe resetten oder über SOUND_ON die Tonsequenz interruptgesteuert starten, die über den Datenbus D0..7 (an dem auch die DIP-Schalter und die Buttons / Joysticks abgefragt werden) und das Steuersignal SOUND_DATA angewählt wird. Mehr nicht. Der Rest der Tonsteuerung findet dann autark auf der Soundplatine statt. Als hauptverantwortlicher Soundprozessor werkelt ein Z80 mit 2x8kB EPROM und 1kB RAM (der dritte EPROM-Steckplatz ist nicht belegt). Dieser steuert die 5 (!) AY-3-8910, welche ihrerseits die Töne für die komplexe Musik des Spieles erzeugen. Zusätzlich startet der Z80 die einfacheren Geräusche durch Triggern des zweiten Soundprozessors, eines 8-Bit-Microcontrollers 8039 mit 4kB externem EPROM. Dieser erzeugt z.B. die Explosionsgeräusche, allerdings ohne spezielle Soundbausteine. Er nimmt hierfür einfach seine Portleitungen und einen rudimentären D/A-Wandler aus Widerständen. Bei Bumm-Peng-Knall kommt's ja auch nicht so sehr auf Genauigkeit an.
Jetzt ist natürlich auch klar, dass es eine Vielzahl an Fehlerbildern im Bereich der Sounderzeugung gibt. Häufig ist das Auftreten von fast beliebigen Soundabläufen oder völlig wirren Geräuschen, die zuweilen noch halbwegs synchron mit dem Spielverlauf wechseln können. Hier sind häufig die zwei 2114 RAMs (1kx4) die Übeltäter. Stehen hier die falschen Daten drin, so stimmt beim Z80 womöglich die Interrupt-Sprungtabelle nicht und er springt bei Soundanforderung wüst in die Programm-Prärie. Manchmal haben sich auch die 74LS138 1 aus 8 Adress-Decoder verabschiedet, es werden nicht die richtigen Chip-Select-Signale (CS#) erzeugt und in Folge fühlen sich die falschen, mehrere oder gar keine Teilnehmer von der CPU angesprochen.
Vielleicht hilft ja diese Beschreibung jemandem bei der Fehlersuche.


© 2013 - 2014 · W. Robel e-Mail senden