Elevator Action

  • Der nächste Patient ist eine Elevator Action.
    Angeblich mit Grafikfehlern.


    Nachdem ich einen passenden Adapter gelötet hatte, folgte der erste Test:
    [ATTACH=CONFIG]30527[/ATTACH]


    Ok, die Kiste bootet nicht mal richtig. Also mal die Boards genau angeschaut.
    Auf dem Board gibts jede Menge 2016er RAMs. Ist ja alles schön gesockelt also mal die RAMs getestet.
    Ach du lieber Schieber! 5 RAMs im Eimer!!!
    Also fix neue reingedrückt und nächster Versuch:
    [ATTACH=CONFIG]30528[/ATTACH][ATTACH=CONFIG]30529[/ATTACH]


    Ok das lässt zumindest mal einen Startscreen vermuten.


    Als nächstes alle ROMs runter, gereinigt und ausgelesen.
    Hmm, wieder erwarten keine CRC-Fehler, ABER falscher Programm-Code!!
    [ATTACH=CONFIG]30530[/ATTACH]


    Nachdem ich dann tierisch mit den 2732er ROMs zu kämpfen hatte (mein Willem kann nur 2732 von NEC brennen),
    habe ich das Board wieder zusammengebaut und getestet. Leider kein Erfolg.


    Nun meine Frage an alle Elevator Action Besitzer:
    Kann mir jemand sagen, was für Program-Code in den ROM mit der Nummer 20 kommt?
    [ATTACH=CONFIG]30531[/ATTACH]
    Laut Handbuch wird der nicht benötigt.



    Danke und Tschüss

  • Der Herr Laschek ... danke für den Link.
    Aber du bist kein Mann der vielen Worte ;)


    Alsoooo, ich habe hier wohl die 4 Board Version vor mir liegen (CPU, Video, Sound Sound-ROM Board).
    Auf dem CPU-Board ist auch in der Mame-Source der IC52 abgebildet:
    [ATTACH=CONFIG]30535[/ATTACH]


    Wenn ich dann aber weiter unten beim Rom-Load schaue, steht für die CPU aber nicht der IC52 mit dabei!
    2454 ROM_START( elevator )
    2455 ROM_REGION( 0x12000, "maincpu", 0 )
    2456 ROM_LOAD( "ea-ic69.bin", 0x0000, 0x1000, CRC(24e277ef) SHA1(764e3b3a34bf0ec849d58023f710e5b0a0d0ccb5) )
    2457 ROM_LOAD( "ea-ic68.bin", 0x1000, 0x1000, CRC(13702e39) SHA1(b72fea84f8322463ff224e3b06698a1ed7e305b7) )
    2458 ROM_LOAD( "ea-ic67.bin", 0x2000, 0x1000, CRC(46f52646) SHA1(11b68b89ab0f580bfe88047e59bd9bba237a2eb4) )
    2459 ROM_LOAD( "ea-ic66.bin", 0x3000, 0x1000, CRC(e22fe57e) SHA1(50888975e698c4d2a124e5731d0922df43eb01ef) )
    2460 ROM_LOAD( "ea-ic65.bin", 0x4000, 0x1000, CRC(c10691d7) SHA1(a7657d3d661421d1fca3b04e4025725272b77203) )
    2461 ROM_LOAD( "ea-ic64.bin", 0x5000, 0x1000, CRC(8913b293) SHA1(163daa07b6d45469f18e4f4a1904b60a890c8699) )
    2462 ROM_LOAD( "ea-ic55.bin", 0x6000, 0x1000, CRC(1cabda08) SHA1(8fff75a354ee7589bd0ffe8b0271fd9111b2b241) )
    2463 ROM_LOAD( "ea-ic54.bin", 0x7000, 0x1000, CRC(f4647b4f) SHA1(711a9447d30b35bc38e149e0cf6e835ff06efd54) )
    2464 /* 10000-11fff space for banked ROMs (not used) */


    Da ich das 4er Board habe, dürfte der MCU-Code auch nicht gebraucht werden.


    In dem Eprom IC52 war bei mir der Code für das Bootleg Board:


    Warum da jemand gemischten Code (halb Orginal halb bootleg) verwendet hat, ist mir eh ein Rätsel!


    Aber nochmal meine Frage, wird beim 4er Board der IC52 überhaupt benötigt und wenn ja, welcher Code passt?


    Gruß
    Eniwhite

  • Zitat

    Habe nur 3 1/2 stöckige Boards.


    Jup, genau die liegt vor mir. Laut Handbuch zählen die aber das "ROM-Daughterboard" also vollwertige PCB - ergo 4.


    Ist ja auch wurst.
    Wärst du so nett, und stellst ein Foto von der CPU-PCB hier ein?
    Alternativ kannst auch die freien Sockel nennen.


    Gruß
    Enrico

  • So ich muss mal kurz laut denken :D
    Die CPU bleibt auf Reset stehen. Ein kurzes Messen bestätigt das:
    [ATTACH=CONFIG]30657[/ATTACH]


    Leider werde ich aus diesem Schaltplan nicht ganz schlau, geht ja nur über mehrere PCBs :mad:
    [ATTACH=CONFIG]30656[/ATTACH]


    Also die erste Frage die sich mir stellt: Wo kommt der Reset für die CPU her?


    Dann habe ich bei den DIP-Switch-Settings noch folgenden interessanten Satz gefunden:

    Zitat

    Remarks: If the power-on-reset circuit is not incorporated in the power suply unit, please add a circuit that can suply one positive-polatity pulse to the pin 7 of the G-connector of the Main P.C Board. Pulse width t1=30mS - 150mS


    Verstehe ich das richtig, dass wenn dieser positive Impuls mit einer Taktung von 30-150ms nicht anliegt, das Ding auf Reset bleibt?
    Falls ja, wie kann ich das nachbauen? Soll das eine Art "Kopierschutz" sein?

  • Betrifft Reset:
    Nach meinem Verständnis ist Reset hier active low, also der Reset der Z80 erfolgt bei L an diesem Pin.
    Also direkt beim Einschalten messen, danach muß der H werden.
    Du kannst ja mal messen (ohmisch), ob dort wegen Kurz- oder Feinschluß kein H Level möglich ist.
    Oder versuchsweise manuell resetten, also den Pin von der übrigen Schaltung trennen, einen Pull-up nach +5 dran.
    Dann nach dem Einschalten mal ne 1/10tel Sekunde nach GND ziehen.
    Wenns funzt, dann könntest Du das mit einer R/C-Kombi simpel nachbauen.
    Kondensator an +5 in Serie mit Widerstand nach GND. Am Verbindungspunkt bekommst Du dann direkt nach dem Einschalten kurze Zeit H-Level.
    Bis der C aufgeladen ist. Zeitkonstante läßt sich easy berechnen.
    Iss olle Analogtechnik, wennste ne steile Flanke brauchst, haust Du nen Schmidt-Trigger hinterher.
    Gruß
    Winfried

    Vacuum-Fachverkäufer


    Wissen ist der einzige Rohstoff, welcher sich durch Gebrauch vermehrt! :thumbup:


    Aus aktuellem Anlaß weise ich darauf hin, daß Reparaturtips nur unter Beachtung der Regeln im Umgang mit elektrischen Geräten befolgt werden sollten!
    Sollten dort Zweifel bestehen, bitte einen Fachmann zu Rate ziehen!

  • @Laschek: Danke dir für die Fotos. Aber du hast recht, du hast ein anderes Board-Set.


    winni: Ja Reset ist Low-aktiv. Werde dann mal den Z80 "zum Laufen überreden" ;)
    Das habe ich schon mal bei meiner Galaga 88 gemacht, um überhaupt mal weiter messen zu können.
    Vielleicht gibt es dann bei dieser PCB auch neue Erkenntnisse.

  • Mini-Update:
    Manchmal sollte man Abends nichts mehr machen, weil man hin und wieder einfach zu doof ist!
    #Reset = H ergo die CPU steht NICHT auf Reset.


    So also mal die Adress- und Datenbusse der RAMs und EPROMs gemessen: alles Top.
    Dann das gleiche Prozedere am Z80: D0 = H. Und für kurze Zeit hatte ich wieder Hoffnung.
    [ATTACH=CONFIG]30718[/ATTACH]
    Erstaunlicherweise wird aber der D0 von den anderen Komponenten korrekt beschrieben!?!?
    Also D0 vom Z80 zu den EPROMs gemessen, keinen Durchgang :D
    Na dann sind wir ja auf der Zielgeraden ... Pin 17 (D0) am Z80 nachverfolgt ... wird aber über einen Widerstand auf 5V geknüppelt.
    Und kurz vorm Ziel auf die Nase gelegt... Mist ;(


    Aber damit stimmt der Schaltplan an der Stelle nicht, weil da ist D0 vom Z80 mit dem D0-Buss aller Komponenten verbunden...grrr.


    Dieses Drecks-Board mag micht nicht. Die CPUs laufen, ein Teil des Startscreens ist zu erahnen, aber die Kiste läuft nicht weiter.


    Noch jemand einen heißen Tip für mich?


    LG
    Eniwhite

  • Nachtrag: Die GFX EPROMs auf dem ROM-Board werden nicht adressiert! Und zwar keine einzige Adresse.
    Jetzt habe ich wenigstens mal wieder einen Anhaltspunkt...


    stay tuned...

  • Das D0 vom Z80 aus nicht mit den anderen Komponenten verbunden sein soll, kann ich mir nicht vorstellen.
    Das würde ja heißen, es wird nur ein 7 Bit breiter Datenbus verwendet.
    So etwas habe ich noch bei keiner Spielplatine gesehen.
    Ein 8 Bit breiter Datenbus ist der Standard und wird auch benötigt um alle Informationen transportieren zu können.
    Bei nur 7 Bit könnte man ja nicht alle Speicherzellen der RAMs und ROMs auslesen bzw. schreiben.
    Das wäre aber eine große Speicherplatzverschwendung und damals war Speicherplatz noch richtig teuer.

  • Hey Marcus,
    ja ich habs auch nicht verstanden - jetzt schon. :D
    Das ist nämlich nicht Pin 17 sondern 14 und dann stimmts wieder ;)


    Aber wie gesagt, die GFX-Adressen fehlen alle. Hab auch schon zwei Verdächtige ;)
    Mal schauen ob mir die Zeit noch reicht, bevor unser Besuch kommt. :P


    Ansonsten morgen...

  • So kurzer Zwischenstand:
    Der "Data Bus" kommt sauber auf dem ROM-Board an.
    Nach den ICs 10-13 sind aber fast alle Adressen auf Dauer-Low (nur A13,14 sind Dauer-High).
    Kann es sein, dass #EXTROM1, #EXTROM2, #EXRHR und P fest auf High geknüppelt sind?


    Ich blicks nämlich nicht, warum keiner der ICs Adressierungen generiert.
    [ATTACH=CONFIG]30721[/ATTACH]


    Vielleicht setze ich mich heute Abend noch mal ran...

  • Manchmal sucht man Fehler, die gar keine sind :(


    Wie gesagt, die Adressierung der GFX-Daten findet nicht statt.
    Jetzt habe ich mit dem CPU-Board nochmal experimentiert.
    Wir erinnern uns, einige EPROMs waren mit bootleg Code bestückt, was mich ja damals schon irritierte!


    Wenn ich die EPROMs auf Position IC54 + 55 weglasse, versucht das Board zu booten (sich verändernder Initialisierungs-Screen)
    und ich habe Adressen bei den GFX-EPROMs!!
    [ATTACH=CONFIG]30722[/ATTACH]
    Mit dem Original-Code initialisiert das Board gar nicht erst richtig?
    Wie schon mal angemerkt weiß ich nach wie vor nicht, welcher Code in den EPROM auf Position IC52 gehört!


    Im Moment gehe ich davon aus, dass einfach der CPU-Code nicht ganz passt. Ansonsten wäre das Board nach 5 getauschten RAMs spielbereit.


    Hier mal noch das Monster in ganzer Pracht.
    [ATTACH=CONFIG]30723[/ATTACH]


    So langsam gehen mir die Ideen aus.

  • Möglich, daß da was nicht wirklich paßt.
    Dann stehste ohne originalen Satz im Dunkeln..............
    Und suchst Dich tot nach einem Hardwarefehler, der eigentlich ein SW-Fehler ist
    Gruß
    Winfried

    Vacuum-Fachverkäufer


    Wissen ist der einzige Rohstoff, welcher sich durch Gebrauch vermehrt! :thumbup:


    Aus aktuellem Anlaß weise ich darauf hin, daß Reparaturtips nur unter Beachtung der Regeln im Umgang mit elektrischen Geräten befolgt werden sollten!
    Sollten dort Zweifel bestehen, bitte einen Fachmann zu Rate ziehen!

  • Hey,

    Zitat

    Ich schau mal nach, welches Layout meine Elevator Action Platine hat.
    Falls es passt lese ich das ROM aus und schicke es dir.


    das wäre klasse. Danke, dass du dir die Mühe machst.
    Vielleicht gibt es ja noch Hoffnung.


    LG
    Eniwhite

  • So jetzt blick ichs!
    Laut Handbuch hab ich ja eine "5 Board PCB". Ich habe mich schon die ganze Zeit gefragt, wo das fünfte Board sein soll?
    Aber dazu gleich mehr.
    Bei der "5 Board PCB" kommen auf auf die CPU-PCB 8 EPROMs - also kommt auf Position IC52 kein EPROM drauf.
    [ATTACH=CONFIG]30745[/ATTACH]


    So nun zu der zweiten Frage, wo das fünfte Board ist.
    Dabei muss es sich um das "Security Board" handeln, welches im Cab verbaut ist.
    Ich denk die Funktion des Boards ist allen klar: Kopierschutz!
    Manchmal bildet Lesen ungemein ;)
    [ATTACH=CONFIG]30746[/ATTACH]


    Das wiederum erklärt, warum auf dem Board teilweise Bootleg-Code zu finden war.
    Hier muss wohl jemand versucht haben, das Board zu hacken!
    Ich werde mal im Internet danach suchen. Falls ich nichts finde, ist die Reparatur quasi erfolgreich abgeschlossen,
    kann aber nicht getestet werden ;)