C64 Assy 250469 R4: Wenig RAM und instabil


  • faddie
  • 1590 Aufrufe 88 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • C64 Assy 250469 R4: Wenig RAM und instabil

    Moin,
    ich hab diese Assy auch nach 2 Jahren noch nicht aufgegeben und starte einen erneuten Rettungsversuch :)
    Erstmal das obligatorische:

    1. 250469 R4
    2. Auspuff² Streifenfix
    3. Beides, Netzteil ist okay. 5.01V und 9,07
    4. nein
    5. ständig
    6. sämtliche (!) Custom Chips sind getauscht und okay. Nichts wird übermäßig heiß. RAM ist auch okay, wirklich ;)
    7. Ja
    8. Ja


    Das Fehlerbild ist etwas konfus:
    RAM Problem: Entweder gibt es einen Out of Memory Error oder ich habe zu wenig Basic Bytes frei
    selten: 756 Bytes
    häufig: 2094
    selten: 38911 Volle Punktzahl :)

    Mit dem Final Cartridge habe ich immer 38911 Bytes frei, sobald ich den Basic Modus starte. Gorf und Wizard of Wor laufen auch beide ganz gut.
    Je länger das Board läuft, desto stabiler läuft es auch.

    Check64 Ergebnisse.
    Board kalt: stürzt ab, nach ein paar Resets geht es.
    Board warm:
    Immer: RAM Test 1 Bad, U11 und U12 bad
    Häufig zusätzlich 23, 24 Bad
    selten zusätzlich: 9 10 21 22 23 24 bad
    seltenst: nur 11 und 12 bad

    Als nächstes habe ich die Oszi Messungen nach Gerrits Anleitung vorgenommen. Und beim RAM ist mir was aufgefallen: CAS am RAM sieht irgendwie nicht gut aus. Das Signal bleibt manchmal zu lange high - auch nicht immer, aber doch häufig.



    Am VIC sieht es noch ganz normal aus (sofern ich das beurteilen kann).


    Habt ihr eine Idee, ob das was mit meinem Problem zu tun hat oder ob ich sonst irgendwas sinnvoll messen kann?

    Vielen Dank schon mal!
    Bilder
    • phi0_cas_ram.png

      11,26 kB, 1.110×481, 0 mal angesehen
    • phi0_ras_ram.png

      11,73 kB, 1.110×481, 0 mal angesehen
    • phi0_ras_vic.png

      11,02 kB, 1.110×481, 0 mal angesehen
  • faddie schrieb:

    6. sämtliche (!) Custom Chips sind getauscht und okay. Nichts wird übermäßig heiß. RAM ist auch okay, wirklich
    Das 64-polige "Super-PLA" auch?
    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten."
    (Quelle unbekannt)

    "Lege dich nie mit einem Idioten an! Er zieht dich auf sein Niveau hinunter und schlägt dich dann mit seiner Erfahrung!"
    (Volksmund)
  • kinzi schrieb:

    faddie schrieb:

    6. sämtliche (!) Custom Chips sind getauscht und okay. Nichts wird übermäßig heiß. RAM ist auch okay, wirklich
    Das 64-polige "Super-PLA" auch?

    Jepp, das auch. Steckt in einem sehr schönen Sockel, den mir Freak damals geschenkt hat

    Aber als kleiner Nachtrag: mit dem 64PSU habe ich auf dem CIA nur 4,76 Volt und das Board startet ausschließlich mit einem Out of Memory Error.
    Nur mit dem grauen Klotz habe ich 5.02 Volt.

    Das 64PSU läuft aber sonst prima mit allen anderen 64ern, die ich hier habe.
  • faddie schrieb:

    Aber als kleiner Nachtrag: mit dem 64PSU habe ich auf dem CIA nur 4,76 Volt und das Board startet ausschließlich mit einem Out of Memory Error.

    Nur mit dem grauen Klotz habe ich 5.02 Volt.

    Das 64PSU läuft aber sonst prima mit allen anderen 64ern, die ich hier habe.
    Wo, an welcher Stelle genau, hast du die Spannungen gemessen? Was hast du am 64PSU für eine Zuleitung (Querschnitt)?

    OK, gelesen, am CIA. Was misst du am Expansionport bzw. am Eingang?
    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten."
    (Quelle unbekannt)

    "Lege dich nie mit einem Idioten an! Er zieht dich auf sein Niveau hinunter und schlägt dich dann mit seiner Erfahrung!"
    (Volksmund)
  • Am Expansion Port sind es auch 5,02 V mit Klotz und 4,76 V mit 64PSU

    Aus dem Klotz-Netzteil kommen 5,1 V, aus dem 64PSU ohnehin nur 4,97V ( jeweils am Stecker gemessen). Den Querschnitt kenne ich beim 64PSU allerdings nicht, aber im Grunde reicht es mir, wenn die Kiste mit dem Klotz funktionieren würde ;)

    Jedenfalls ist Spannungsabfall ist bei 64PSU höher und ich könnte jetzt orakeln, dass da irgendein Bauteil mehr Leistung einfordert, als es sollte. Ich bin aber völlig ratlos, was das sein könnte.

    @Gerrit Schade und beruhigend gleichzeitig :)

    edit: Gerade das 64PSU an einem anderen 64er getestet - auch "nur" 4,76 V am Expansionport und da läuft alles.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von faddie ()

  • faddie schrieb:

    Jedenfalls ist Spannungsabfall ist bei 64PSU höher und ich könnte jetzt orakeln, dass da irgendein Bauteil mehr Leistung einfordert, als es sollte. Ich bin aber völlig ratlos, was das sein könnte.
    Genau darauf wollte ich hinaus. ;)

    faddie schrieb:

    edit: Gerade das 64PSU an einem anderen 64er getestet - auch "nur" 4,76 V am Expansionport und da läuft alles.
    OK, dann ist der Querschnitt der Zuleitung offensichtlich ungenügend am 64PSU. Die 4,76 V sind schon sehr an der Grasnarbe (TTL: 4,75 .. 5,25 V), das wäre ein separater "Fall", den man anschauen müsste. Nimm besser mal den Klotz, damit du definitiv im grünen Bereich bist. Der "?OUT OF MEMORY ERROR" hat in diesem Fall ziemlich sicher hierin seinen Grund.

    Gut, bei der 250469 bleibt nicht mehr viel, was kaputt sein könnte ...

    faddie schrieb:

    Mit dem Final Cartridge habe ich immer 38911 Bytes frei, sobald ich den Basic Modus starte.
    Das muss nichts heißen, das überspringt eventuell den RAM-Test.

    Wenn das RAM wirklich OK ist, dann schau mal, ob R/W in Ordnung ist. Da gibt es einen Pull-Up auf dieser Leitung, RP5 Pin 3, eventuell ist dieser kaputt, sodass es beim Schreiben ins RAM zu Problemen kommt. Wir hatten hier vor einiger Zeit mal eine Platine, die ein seltsames Verhalten genau wegen so eines Pull-Ups hatte.

    Was anderes fällt mir im Moment nicht ein.
    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten."
    (Quelle unbekannt)

    "Lege dich nie mit einem Idioten an! Er zieht dich auf sein Niveau hinunter und schlägt dich dann mit seiner Erfahrung!"
    (Volksmund)
  • kinzi schrieb:

    Wenn das RAM wirklich OK ist, dann schau mal, ob R/W in Ordnung ist. Da gibt es einen Pull-Up auf dieser Leitung, RP5 Pin 3, eventuell ist dieser kaputt, sodass es beim Schreiben ins RAM zu Problemen kommt. Wir hatten hier vor einiger Zeit mal eine Platine, die ein seltsames Verhalten genau wegen so eines Pull-Ups hatte.
    Pin 3 (von oben gezählt) sieht ganz lebendig aus:


    Hier der Vergleich zur CPU


    Bei Gerrits Oszi Bildern ist der Abstand zwischen Ph0 und R/W nicht so hoch.
    Hier ist RW 4,94 V und phi0 3,38V. Oder mein Oszi ist zu günstig ;)

    Edit: Der RAM läuft in einem Reloaded-Board bestens - und der RAM aus dem Reloaded Board bringt in diesem Board auch keinen Unterschied. Deshalb müsste der wirklich gut sein.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von faddie ()

  • faddie schrieb:

    Hier ist RW 4,94 V und phi0 3,38V. Oder mein Oszi ist zu günstig
    Das passt schon, PHI0 kommt vom VIC, der ist NMOS/HMOS und bekommt deshalb keinen so hohen Pegel hin. R/W scheinst du hinter der PLA gemessen zu haben und die ist CMOS, deshalb ein Pegel von fast 5V. Passt aber beides, als HIGH wird es schon mit deutlich weniger Spannung erkannt.
  • Ich hab hier noch ein paar Instabilitäten zur allgemeinen Verwirrung ;)

    Basic 10 Print 20 Goto Gedöhns läuft prima.

    Tapecart: Schreibt noch Found "Tapenamen", dann wird das Bild blau und bleibt so.

    Tape vom U1541II: Tap Files stürzen ab und ich lande im Basic ohne Cursor. Dafür aber mit 1-2 Zeichen im Bild.

    Cyberpunx Retro Replay (und andere Freezer Module)
    Basic wird angezeigt, danach blinkt der Cursor 1-2x und dann wird erst das Menü angezeigt. Das ist bei anderen 64ern sofort da.

    Easyflash-Emulation: geht gar nicht.

    edit: Und noch einer: Floppy Load und List gehen, ab "run" hängt er dann.
    edit2: Das Check64 im Dead Test Modus ist auch komisch. Da bleibt das Bild bestimmt 30 Sekunden schwarz, bis was passiert. Und wenn dann die Tests laufen, ist angeblich alles okay - selbst der RAM 8|

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von faddie ()

  • faddie schrieb:

    Das Check64 im Dead Test Modus ist auch komisch. Da bleibt das Bild bestimmt 30 Sekunden schwarz, bis was passiert.
    Das ist normal.

    faddie schrieb:

    Und wenn dann die Tests laufen, ist angeblich alles okay - selbst der RAM
    Auch das ist normal. Dead Test kann nur die untersten 4 kB RAM testen. Du hattest aber was von "mal 785 Bytes frei" und "mal 2094 Bytes frei" oder so ähnlich geschrieben. Der BASIC-Anfang ist bei Adresse 2048, zusammen mit "x BYTRES FREE" gibt das irgendwas einmal mit 2800 und zum Anderen mit über 4096 (= über der 4 kB-Grenze).

    Wahrscheinlich, wenn du 10 x probierst, meckert Dead Test auch irgendwann mal.

    Was sagt der "Ultimax RAM Tester" von GI Joe, der beim Check64 noch mit dabei ist? Der prüft das RAM (mit MacBacons RAM-Test) in einer Endlosschleife. Den würde ich mal laufen lassen.
    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten."
    (Quelle unbekannt)

    "Lege dich nie mit einem Idioten an! Er zieht dich auf sein Niveau hinunter und schlägt dich dann mit seiner Erfahrung!"
    (Volksmund)
  • kinzi schrieb:


    Was sagt der "Ultimax RAM Tester" von GI Joe, der beim Check64 noch mit dabei ist? Der prüft das RAM (mit MacBacons RAM-Test) in einer Endlosschleife. Den würde ich mal laufen lassen.
    Ultimax RAM Tester? Ich hab nur "Dead Test"," C64 Diag", "1541 Diag" und "C128 DIAG". Oder gibt's da eine geheime Dip Kombi :) ?
    Aber an sich ist der RAM auch okay, nur die Art und Weise, wie das Board ihn benutzen möchte ist es nicht :)

    Wäre da vielleicht noch ein Timing Problem, dass der RAM vielleicht irgendwie zu spät initialisiert wird oder so? Ich finde es zumindest interessant, dass das Board 2 Sekunden braucht, um einen Freezer zu laden.
  • faddie schrieb:

    Basic 10 Print 20 Goto Gedöhns läuft prima.
    Evtl. kann man den Fehler damit weiter einschränken. Wenn die Einschaltmeldung "X bytes free" sagt, heißt das, dass bei Adresse 2049+X der Speichertest versagt hat. Einmal 0 reinpoken und dann per PEEK-Endlosschleife nachsehen, welche Bits da kippen, könnte interessant sein: Passt das zu den angeblichen RAM-Defekten der Testmodule?
    Anschließend natürlich mit dem Wert 255 wiederholen.
    Yes, I'm the guy responsible for the ACME cross assembler
  • Ich weiß nicht, ob ich das richtig verstanden habe:
    Ich habe zum Beispiel gerade 2094 Bytes free.

    Also habe ich folgendes geschrieben.
    10 POKE 4143, 0
    20 PRINT PEEK(4143);
    30 GOTO 30

    Da bleibt die Null unverändert. Auch bei 4144 oder 5000.
    Ich kann auch den beliebige Adressen oberhalb des vergeigten RAM Tests ansprechen - das klappt auch alles: mit 0 und anderen Zahlen.

    edit: Halt stop, doch nicht.
    Wenn ich an 4143 eine 64 poke, kommt manchmal eine 0 dabei raus. Ich würde sagen, so zu ca. 30%
    Aus einer 32 ist gerade noch ein 128 geworden.

    und jetzt ist bei anstelle der 0 eine 32 gekommen. Nach relativ vielen durchläufen, ist die 0 jetzt wieder fest.

    Und wie gesagt, der RAM ist zum einen neu und zum anderen läuft er im Reloaded Board.

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von faddie ()

  • faddie schrieb:

    30 GOTO 30
    Da kann sich die Anzeige auch nicht ändern ... GOTO 20 ist dein Freund. ;)

    [EDIT]

    faddie schrieb:

    Ultimax RAM Tester? Ich hab nur "Dead Test"," C64 Diag", "1541 Diag" und "C128 DIAG". Oder gibt's da eine geheime Dip Kombi ?
    Dann hast du noch das alte EPROM ... es gibt ein neueres, in welchem das "1541 Diag" durch den "Ultimax RAM Tester" ersetzt wurde.

    faddie schrieb:

    Aber an sich ist der RAM auch okay, nur die Art und Weise, wie das Board ihn benutzen möchte ist es nicht
    Wie auch immer, man muss irgendwie auf ein Muster kommen, das auf den Fehler hinweist. Und das geht nur mit vielen "Messpunkten" - also Test-Software laufen lassen.

    faddie schrieb:

    Wäre da vielleicht noch ein Timing Problem, dass der RAM vielleicht irgendwie zu spät initialisiert wird oder so? Ich finde es zumindest interessant, dass das Board 2 Sekunden braucht, um einen Freezer zu laden.
    Wie meinst du das? Wa sgenau braucht zwei Sekunden? Der Freezer sollte doch beim Tastendruck da sein - ist da eine Wartezeit?

    Denkbar wäre eventuell auch ein Problem mit U3 (74LS08), der macht das ROM-Chipselect und fummelt an AEC und RDY der CPU herum.

    [/EDIT]
    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten."
    (Quelle unbekannt)

    "Lege dich nie mit einem Idioten an! Er zieht dich auf sein Niveau hinunter und schlägt dich dann mit seiner Erfahrung!"
    (Volksmund)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von kinzi ()

  • kinzi schrieb:

    faddie schrieb:

    30 GOTO 30
    Da kann sich die Anzeige auch nicht ändern ... GOTO 20 ist dein Freund. ;)
    Argh, ich hab mich vertippt. Ich meinte eigentlich GOTO 20 *hust* :drunk:

    Folgendes passiert jedenfalls z.B. bei 64: einmal gepoked und in Endlosschleife ausgelesen
    Im Endeffekt lande ich immer bei 0.
    64,64,32,32,32,32,32,32,64,32,32,32,32,64,32,64,32,32,32,0,0,0,0,0,0,0..... 0
  • Jetzt erweitere das Programm mal noch um ein paar Adressen mehr.

    10 POKE 4143, 255 : POKE 4144, 255 : POKE 4145 , 255 (usw.)
    20 PRINT PEEK(4143) ; PEEK (4144) ; ; PEEK (41445 ; (usw.)
    30 GOTO 20

    Du kannst das gerne auch mit weit höheren versuchen.

    [EDIT]

    ADAC schrieb:

    Ziemlich klarer Fall: du vermutlich ein Ram-Problem.
    Das verneint er aber kategorisch. ;) Ich hätte da auch jede Menge Geld darauf verwettet.

    [/EDIT]
    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten."
    (Quelle unbekannt)

    "Lege dich nie mit einem Idioten an! Er zieht dich auf sein Niveau hinunter und schlägt dich dann mit seiner Erfahrung!"
    (Volksmund)
  • faddie schrieb:

    Wenn ich an 4143 eine 64 poke, kommt manchmal eine 0 dabei raus. Ich würde sagen, so zu ca. 30%
    Aus einer 32 ist gerade noch ein 128 geworden.

    und jetzt ist bei anstelle der 0 eine 32 gekommen.

    faddie schrieb:

    Folgendes passiert jedenfalls z.B. bei 64: einmal gepoked und in Endlosschleife ausgelesen
    Im Endeffekt lande ich immer bei 0.
    64,64,32,32,32,32,32,32,64,32,32,32,32,64,32,64,32,32,32,0,0,0,0,0,0,0..... 0
    Die Fehler wären dann immer in den oberen drei Bits. Auch wenn die RAMs in Ordnung sind, wäre jetzt interessant, ob die Fehler in die unteren Bits wandern, wenn man die beiden RAMs vertauscht.
    Allerdings ist im Wert 64 nur ein Bit gesetzt, bitte mach den Test deshalb nur mit den POKE-Werten Null (alle Bits gelöscht) und 255 (alle Bits gesetzt). Jede Wertigkeit einzeln testen zu wollen, generiert im Augenblick zu viele Daten - das kann man später noch machen, falls es denn nötig erscheint.
    Yes, I'm the guy responsible for the ACME cross assembler
  • Ich werde gleich nochmal den RAM tauschen und mich notfalls schämen ;)

    In der Zwischenzeit fällt beim erweiterten Programm der Wert von 4143 irgendwann dauerhaft auf 95. An den anderen Adressen bleiben die Werte konstant.


    Edit: RAMs getauscht :
    TMS4464-12NL (die waren beim Reloaded Board dabei)
    und NEC 4146C-10 (NOS von Ebay)

    Beide laufen im Reloaded Board und beide laufen nicht mit meinem Sorgenkind. Aber, ich habe ein RAM Problem - bloß liegt es nicht am RAM ;)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von faddie ()