Formula Too Complex CBM3001 - Ursache?

  • Hallo, ich bin gerade dabei einen 3000er (32k) zu reparieren.

    Nach Austausch eines ROMs läuft er wieder. Man kann Programme von Kassette und Floppy laden.

    Wenn man diese startet, kommt aber immer die Meldung "Formula too Complex" nach einigen Zeilen.

    Bei LIST kommt die Meldung auch nach einigen Zeilen...


    Mein eigener RAM-Test (2001-Test) sagt, das das RAM in Ordnung ist...

    Der testet zwar nur die ersten 8k, aber das sollte ja reichen?

    Einzelne Interpreter Befehle funktionieren.


    Hat Jemand schon mal so einen komischen Fehler gehabt? - Ob das doch am RAM liegen kann?


    Christian

  • Was für Programme lädst Du denn - wie heißen die denn? Sind das Basicprogramme?

    Wenn ja, wäre ein Blick auf die ersten Programmzeilen interessant.


    Ich könnte die Programme auf meinem 3032 testen und sehen, was der damit so treibt.


    Edit: defektes RAM meldet doch eher einen ?OUT OF MEMORY oder?


    @alle CBM-Fachleute: Macht der CBM beim Start eigentlich einen RAM-Test?

  • Der RAM-Test im Kernal findet nicht alle Fehler.

    - Poke mal das Ende des Baisc-Speicherbereichs auf die 8k, die Du getestet hast. Die Variablen werden am oberen Ende des Basic-Speichers abgelegt.

    - Prüft Dein Test auch Zeropage und Stack-Page?

    - Die ROMs nochmal verifiziert?

    - Ganz beliebte Ursache für alles mögliche: Kontaktprobleme in den Sockeln.

  • Hallo, vielen Dank schon mal für die Hilfe.

    Wenn ich im Interpreter I=5 und print I eingegeben habe, kam auch die Meldung!

    Poke geht, aber peek leider nicht -> Meldung!

    Ich hab den Mikromon bei 9000 als Eprom gesteckt und den Speicher mit M getestet - beide 16k-Blöcke OK.

    Dann habe ich noch mal das 2. Basic ROM getauscht - Fehler weg!


    ...also war das eine Basic-ROM teildefekt - es hatte auch im Vergleich im Brenner einen Unterschied.


    Fies war nur das er ohne Fehler gestartet ist, nachdem ich das erste defekte Basic ROM getauscht hatte. Da denkt man natürlich nicht an noch einen ROM-defekt!


    Christian

  • Richtig, das Ergebnis der RAM-Tests legt auch das obere Ende des Baisc-Speichers fest.

    Blöd ist aber, daß das erste kB (unterhalb des Basic-Speichers) nicht getestet wird.

    Und der Test findet wie gesagt nicht alle Fehler.


    Beim CBM-II gibt es übrigens auch einen RAM-Test, dessen Ergebnis wird aber weder angezeigt (xxx BYTES FREE), noch werden bei Speicherfehlern die Zeiger für den Basic- und Variablenspeicher angepasst.

    Bei gefundenen Fehler erfolgt keine Meldung.

  • Richtig, das Ergebnis der RAM-Tests legt auch das obere Ende des Baisc-Speichers fest.

    Einen RAM-Test würde ich das nicht nennen. Es wird nur ermittelt, ob Speicher vorhanden ist, indem byteweise $55 und $AA geschrieben und gelesen wird.

    Damit wird nur der RAM-Ausbau geprüft. Der 3000er hat dynamische RAMs, Refresh-Fehler werden z. B. nicht erkannt, Adressefehler auch nicht.

    Und nach dieser Logik macht es auch keinen Sinn, den Speicher unterhalb $0400 zu testen, weil der ja immer vorhanden sein muss.