![]()
Kannst ihn gleich zerlegt lassen, solange die anderen RAMs, deren Name nicht genannt werden darf noch drinnen sind. ![]()
![]()
Kannst ihn gleich zerlegt lassen, solange die anderen RAMs, deren Name nicht genannt werden darf noch drinnen sind. ![]()
Der Schaltplan ist derin Freund ...
Bitte melde dich an, um diesen Link zu sehen.
Der Deadtest sagt gar nichts, weil er aktuell nur blinkt für die RAM Probleme.
Ah ja, wer lesen kann ... ![]()
Gut, bis jemand anderer eine andere Theorie hat ( Parser
vielleicht?), behaupte ich mal, das RAM (zumindest) im Stack-Bereich ist fritte.
Was für ein Zufall, es sind µT-RAMs ... gleich kommen wieder die µT-Fan-Boys ... ![]()
Das ist die RESET-Routine des C64:
*** RESET
.,FCE2 A2 FF LDX #$FF Wert für Stapelzeiger
.,FCE4 78 SEI Interrupt setzen
.,FCE5 9A TXS Stapelzeiger initialisieren
.,FCE6 D8 CLD Dezimalflag zurücksetzen
.,FCE7 20 02 FD JSR $FD02 prüft auf ROM in $8000
.,FCEA D0 03 BNE $FCEF kein Autostart-Modul ?
.,FCEC 6C 00 80 JMP ($8000) Sprung auf Modul-Start
.,FCEF 8E 16 D0 STX $D016 Videocontroller Steuerreg. 2
.,FCF2 20 A3 FD JSR $FDA3 Interrupt vorbereiten
.,FCF5 20 50 FD JSR $FD50 Arbeitsspeicher initialisieren
.,FCF8 20 15 FD JSR $FD15 Hardware und I/O Vekt. setzen
.,FCFB 20 5B FF JSR $FF5B Video-Reset
.,FCFE 58 CLI
.,FCFF 6C 00 A0 JMP ($A000) zum BASIC Kaltstart
*** prüft auf ROM in $8000
.,FD02 A2 05 LDX #$05 Zeiger setzen
.,FD04 BD 0F FD LDA $FD0F,X Wert aus Tabelle holen und
.,FD07 DD 03 80 CMP $8003,X ab $8000 vergleichen (CBM80)
.,FD0A D0 03 BNE $FD0F verzweige wenn ungleich
.,FD0C CA DEX Zeiger vermindern
.,FD0D D0 F5 BNE $FD04 weiter wenn nicht 5 Bytes
.,FD0F 60 RTS Rücksprung
*** ROM-Modul Identifizierung
.:FD10 C3 C2 CD 38 30 'CBM80’
Alles anzeigen
Als fünfter Befehl, noch vor der Modul-Erkennung, wird ein JSR bei noch ungeprüftem(!) RAM abgesetzt, welcher die Rücksprungadresse auf den Stack (= RAM!) legt. Also sowohl mit gestecktem Modul, als auch ohne.
Wenn also das RAM, in dem der Stack liegt, irgendwie kaputt ist, erfolgt der Rücksprung (RTS) bei FD0F irgendwohin, z. B. irgendwo ins BASIC oder was weiß ich.
In diesem Falle aus durch möglich, dass das Verhalten mit und ohne Modul gleich ist.
Was genau gibt der Dead Test für einen Fehler aus? Er müsste ZEROPAGE bzw. jedenfalls STACK eigentlich als BAD markieren.
Was mir merkwürdig erscheint ist, dass bei eingestecktem Diag folgendes Bild kommt:
Wenn das RAM so kaputt ist, dass das Diag nicht gestartet werden kann ... ![]()
Einschaltmeldung kommt keine, mit und/oder ohne Diag?
Was für ein Einschaltbild kommt ohne Diag?