CBM 8032 RAM Fehler: 15390 Bytes Free trotz erfolgreichem RAM Test

  • Hallo Leute,


    hab hier einen 8032er der RAM Probleme hatte. Hab einen einfachen BASIC Test gemacht und siehe da, UA4 war defekt. Das hab ich dann gewechselt und der anschliessende RAM Test verlief erfolgreich. Aber leider wird trotzdem in der Einschaltmeldung nur 15390 Bytes Free angezeigt, un zwar bei jedem Einschalten.


    Auch ein erweiterter RAM Test verlief erfolgreich, und das Gerät scheint komplett in Ordnung zu sein. Programmer laufen.


    Hat jemand eine Idee,was das sein könnte?

    • Offizieller Beitrag

    Ein RAM-Fehler in der oberen Bank.

    Was da beim Reset läuft ist nicht wirklich ein RAM-Test, sondern eine RAM-Zählung.

    Es wird einfach geprüft, bis zu welcher Speicherstelle RAM gefunden wird.

    Wenn alles OK ist, werden 32KB gefunden. 1025 Bytes stehen davon nicht für BASIC zur Verfügung, das wird also bei der Angabe des BASIC-Speichers nicht mitgezählt.

    Die höchste funktionierende Speicherstelle ist bei 15390+1025=16415 Bytes.

    Die Speicherbänke haben jeweils 16384 Bytes, somit ist der Fehler in der 32. Stelle der oberen Speicherbank zu suchen.

    Die HEX-Adresse ist $4020, die kann man einfach im TIM-Monitor überprüfen.


    Monitor starten: sys 1024

    Speicher anzeigen lassen: .m 4020 4028

    Mit dem Cursor die erste angezeigte Speicherstelle anfahren und auf FF ändern, bestätigen mit Return.

    Inhalt erneut anzeigen lassen.

    Inhalt auf 00 ändern und wieder anzeigen lassen.

    Die Ergebnisse geben Aufschluß darüber, welcher RAM-Chip defekt ist.

    Mehrmals wiederholen, bei verschiedenen Ergebnissen diese auch berücksichtigen.

  • Danke für die Antwort. Was der 8032 macht, was mir in etwa klar, nur wundert es mich, daß bei Beschreiben von den Speicherzellen durch POKE alles OK ist (255 und 0) aber im TIM wurde der Fehler jetzt offensichtlich:


    $4020 geht beim Beschreiben von FF wieder auf BF zurück, bei 00 ist es in Ordnung.


    Dann scheint da das MSB zu klemmen, also dann UA4 im oberen 16k Bereich. Richtig? Aber genau das hab ich jetzt schon mehrmals gewechselt.

  • So, alles wieder gut. Lieber erst mal genau nachdenken, bevor man das Forum bemüht!


    Trotzdem wundert es mich, daß der Poke Test den Fehler nicht aufgezeigt hat.


    Ausserdem ist mir aufgefallen, daß bei der Machine schon einige der original TMM RAM Chips durch Euro Technique ET 4116 ersetzt wurden, die aber auch schon wieder hinüber sind. Mal sehen,ob die Siemens halten.

  • Trotzdem wundert es mich, daß der Poke Test den Fehler nicht aufgezeigt hat.


    Was hast du genau getestet?

    Nur zweimal POKE?


    POKE prüft nicht nach dem schreiben.


    Es braucht daher jeweils zwei POKE und zwei PEEK


    I = 8*4096

    POKE I,255

    IF PEEK (I) <> 255 THEN PRINT "Fehler Adresse " I

    POKE I,0

    IF PEEK (I) <> 0 THEN PRINT "Fehler Adresse " I

  • Ja klar, so ähnlich das hab ich gemacht, und dazu auch noch andere Muster.


    Was ich meinte, ist daß der Basic Test keinen Fehler gezeigt hat, der TIM Test aber schon. Naja, läuft ja weider.

  • Vielleicht ein Fehler im Programm. Das kommt schon mal vor. ;)

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Schaue mal unter folgenden Post nach, dort hatte ich schon einmal in den folgenden Beiträgen versucht zu erklären, daß Speicherfehler teilweise erst nach einiger Zeit auftreten. Jede Speicherzelle ist ein Kondensator. Bei ausreichendem Leckstrom entlädt der sich erst später. Daher ist es besser, den gesamten Speicher erst zu befüllen (z.B. mit Pseudo-Zufallszahlen) und danach auszulesen und auf Korrektheit zu prüfen.

    Vielleicht würde es auch ausreichen, zwischen dem POKE und PEEK eine Zeit lang zu warten. Im TIM hast Du das sicherlich zwangsweise getan.