Zunächst einmal vielen Dank für die ganze Hilfe, das ist hier ja wirklich überwältigend.
Das Board ist inzwischen ausgebaut, dazu später mehr.
Zu den Fragen:
Wenn man Return nur alleine ab frisch "gebootetem" Rechner drückt, springt der Cursor lediglich in die nächste Zeile ohne im TIM zu landen. Das kann man auch wiederholen - also ohne Eingabe kein TIM auch bei wiederholtem Return.
Erst wenn man etwas eingibt und dann Return drückt springt er in den TIM.
Probiert habe ich alles Mögliche:
NEW
10 PRINT "TEST"
10
?
LIST
?2*5 (direktes Rechnen)
um ein paar Beispiele zu nennen, es scheint aber egal zu sein - auch Unsinn (<- wo ja eigentlich ein Syntax Error kommen sollte) führt zum TIM.
Solange man noch nicht Return gedrückt hat, kann man in der Zeile noch hin und her navigieren und etwa Änderungen mit INST/DEL machen.
Nach dem er in den TIM gesprungen ist landet er immer ausnahmslos bei $C4D3, der Interruptvector steht immer auf $E62E
Der Akkumulator (AC) ist praktisch immer 00.
Das X-Register ist meistens 03 (hängt aber ein bisschen davon ab, was man vor dem Return eingegeben hat).
Das Y-Register ist immer 05.
SR nimmt meist 32 oder 72 an.
Mit X kann man den TIM auch immer verlassen und landet wieder am Basic-Prompt.
Nun kann man das Spiel mit beliebiger Eingabe + Return wiederholen, dabei kann man beobachten dass der Stackpointer von mal zu mal runterzählt z.B. F8, F6, F4 etc..
Mit Multimeter und Oszi habe ich die Spannungen geprüft.
Sieht aber alles sehr gut aus:
Die 5V Leitungen hatten beide ca. 5,04V, die anderen waren 11,86V (statt 12V) und -5,1V (statt -5,0V), die 9V unreguliert habe ich nicht getestet bzw. vergessen.
Am Oszi konnte man auch keinerlei Brumm oder Restwelligkeit erkennen.
Dennoch, sollte der CBM wieder gehen, würde ich auch wenigstens ein paar der Netzteil-Elkos wechseln. 40 Jahre alte Elkos sind irgendwie doch nicht so das Wahre...
Interessehalber habe ich den Tastkopf auch an div. Pins der ROMs gehalten.
Die Pegel liegen auf normalen TTL-Niveau ("zappeln" zw. 0V und ca. 4,5V).
Dann habe ich noch etwas weiter die ROMs auf ihren Inhalt untersucht.
WJakobus hatte weiter oben dankenswerterweise auf eine Seite mit Schaltplan-Doku hingewiesen, dort findet man ein ganzes Sammelsurium an Doku u.a. auch verschiedene ROM-Dateien.
Von den ROM-Dateien habe ich mir einige heruntergeladen, in einen HEX-Editor geladen und im TIM mit dem tatsächlich vorhandenen wenigstens Abschnittsweise verglichen. Das war gar nicht so einfach, weil es eine für mich verwirrende Anzahl von ROM-Versionen gibt. Teils sind die dann auch pro ROM-Chip auf 2 Dateien aufgesplitet.
http://www.zimmers.net/anonftp…/computers/pet/index.html
Ab besten scheinen die "rom-3-xxxx.bin" mit BASIC 3 zu passen. Zunächst dachte ich ich wäre bei BASIC 2 richtig, aber bei den ROMs für $DXXX, $EXXX und $FXXX fand ich unter BASIC 2 zu wenig Übereinstimmung. Der Bereich $CXXX könnte aber auch BASIC 2 sein.
Ich habe immer ca. die ersten 16 Byte und die letzten 16 Byte mit der jeweiligen ROM-Datei verglichen, dazu auch noch ein paar Abschnitte mitten drin - vorzugsweise solche bei denen sich mehrere Adressleitungen auf einmal ändern also etwa §D3F0 - §D40F.
Vom $CXXX ROM habe ich auch noch besonders den Bereich um die ominösen $C4D3 untersucht, sowie um den Interruptvector $E62E.
Fand dort aber keine Abweichung zw. ROM-Dateien und TIM. Zumindest habe ich stets eine ROM-Datei gefunden die auf meinen ROM-inhalt passt. Jedenfalls kann man sicher ausschliessen, dass die ROMs in den falschen Sockeln stecken. Auf einem, dem $FXXX, kann man als einzigen noch die Teilenr. lesen, die mit der Parts-Liste aus der Doku übereinstimmt.
D.h. eine Besonderheit ist mir aufgefallen: In allen $C000 ROM-Dateien ist das 3. Byte immer 57 im Rechner ist es aber 47, obwohl der Rest sonst zu passen scheint.
Dann zum RAM:
Mit dem Monitor habe ich versucht in verschiedene Bereich zu schreiben bzw. wieder auszulesen. Was im grossen und ganzen auch geklappt hatte - musste erst mal rausfinden wie man mit dem TIM schreibt und welche Bereiche dazu in Frage kommen.
Aber der Hinweis von ThoralfAsmussen war vermutlich goldrichtig. In dem Bereich $0200 - $0280 gab es ca. in der Mitte ein paar Zellen die sich nicht beschreiben lassen (wobei ich mir nicht sicher bin ob das nicht auch mit dem laufenden TIM interagiert). Die ersten ca. 16 Byte ab $0200 ändern sich mit der Eingabe vor dem Return (lange Zeileneingaben habe ich nicht getätigt). Der Rest weist ein mehr oder weniger durchgehendes Muster auf, welches in der Mitte vom Bereich irgendwie gebrochen ist. Habe leider keine Screenshots dazu und Board ist gerade draussen...
Das Board sieht von unten geradezu sauber aus. Aber man erkennt, dass hier und dort ein paar Lötstellen nachgelötet worden sind.
Von den 4116 RAM-Chips sind 2 vollständig nachgelötet worden - aber vermutlich nicht gewechselt worden. Die Löstellen sehen einigermassen okay aus, aber bei den nachgelöteten RAMs sind ein paar kleinere Lötzinnspritzer auszumachen. Werde jetzt als nächstes die Platine mit einer starken Lupe auf kalte Lötstellen, Zinn-Brücken und Haarrisse untersuchen. Ggf. etwas nachlöten. Und natürlich reinigen.