Mike McBike @ Home / Arcade Reps Teil 5 / 1943 |
|
{1943 Original} Das Teil macht mich irre... Original Capcom 1943 mit schwarzem Bild. Interessant ist, dass ein nicht laufender Z80 nicht etwa zu Zeichensalat auf dem Schirm führt, sondern zu einem sauberen schwarzen Bildschirm. Das Textlayer muss nämlich erst duch einen I/O-Speicherzugriff aktiviert werden... Zumindest erkennt man, dass ein sauberes Sync kommt. Noch ärgerlicher: der Z80 läuft... aber er macht immer nur ein paar Befehle im Kreis. EPROMs gelesen: die zwei 512er lesen sich wieder nur als FF... neu gebrannt. Hilft nicht. Z80 getauscht. Hilft nicht. Der einzelne 256er liest sich einwandfrei - trotzdem mal neu gebrannt. Hilft nicht. Das 64k RAM hab ich dann als nächstes ausgelötet: Die Leiterbahnen sind schon irre dünn - hier ist Vorsicht angesagt! Und ja, ich habe zwischen Z80 alle(!) Adress- und Datenleitungen durchgeklingelt... Neuer RAM Baustein: hilft nicht. Jetzt hab ich aber die Schnauze langsam voll... Prozessorstatus ausgemessen - Kein Reset, kein NMI, aber IRQ# auf dauer-Low... Ein IORQ# müsste den Interrupt wieder zurücksetzen - der kommt aber nie... Da stimmt doch irgendwas mit der Programmabarbeitung nicht... Zum Spaß hab ich mal ROM 1 einfach ausgesteckt: Das Ergebnis ist zwar völlig statisch aber sehr interessant... Im Moment weiss ich mal nicht richtig weiter... Nächster Halt: Logik-Analyzer Sowas hatte ich in meiner ganzen Laufbahn als Reparazzi noch nicht... maximaler technischer Aufwand, um zielgerichtet den blödesten Fehler der Arcadegeschichte zu finden. Alles richtig gemacht also. Der CPU Datenbus sieht komisch aus, wichtige Steuersignale (Bankswitch für's ROM, Reset für die Sound-CPU) werden nicht geliefert - ich habe ein Buslatch in Verdacht: Nach Neubesetzung gibt es keine Änderung - konnte auch nicht, das Latch wird nicht mal getaktet... die CPU kommt nicht bis zur Bedienung dieses Bauteils. {Hardcore Diagnose} Ich hab die Schnauze wieder mal voll - jetzt wird aus allen Rohren gefeuert. Ich bestücke meinen Logic-Analyzer mit der Z80-Belegung. Jetzt will ich alles wissen! Wann hat die CPU mit wem zum letzten Mal geredet und über was? Und warum geht es hier nicht weiter? Das Spiel erzählt mir die Geschichten von Adressen und Daten: Adresse 0x58... sie wiederholt sich immer - ein Blick in das Game-ROM liefert mir den Code. Ich verstehe (noch) nichts. Es gibt Online-Disassembler, eine ungemein praktische Einrichtung. Z80 übersetzt sich so: Das Programm checkt den Inhalt der Speicherstelle 0xC003 - sie ist null, sollte sie aber nicht. Solange sie 0x00 ist, wird eine ewige Schleife angesprungen... Der MAME-Sourcecode verrät mir, was 0xC003 ist: DSWA! Der erste DIP-Switch... nee, oder? Das Programm fragt nicht etwa den DIP-Switch ab und geht in eine Endlosschleife, wenn Bit 6 null ist? Ich lege die Mäuseklaviere um... Ein wenig stolz bin ich schon auf mich. Ich habe soeben mit maximalem technologischem Aufwand und vollem intellektuellem Einsatz herausgefunden, dass auf der PCB der DIP-Schalter A2 (Screen Stop) aktiviert war. Die nächste 1943 sehe ich mir vorab genauer an. Man lernt ja manchmal dazu... |
© 2013 - 2023 · W. Robel | e-Mail senden |