C128 Anzeigeproblem

Es gibt 49 Antworten in diesem Thema, welches 5.569 mal aufgerufen wurde. Der letzte Beitrag (13. November 2022 um 11:41) ist von Loeter.

  • Es muss jedenfalls etwas "sehr nahe am VIC" sein, da das Diag ja sauber läuft. Da fielen mir noch der 74LS373 ein, der A0...A7 für das Color-RAM und Char-ROM zur Verfügung stellt. Ansonsten die MMU, die dem VIC das RAM unterschiebt. Da ich keine Lust habe selbst "rauszuzählen", was gesockelt ist und schon getauscht wurde, ist das möglicherweise eine obsolete Information.

  • Ich würde zunächst hier einmal überprüfen.

    Sitzt der IC schief drin? :search:

    Auf dem zweiten Bild hat schon mal jemand *rumgebraten*! :search: :loet

    Sieht tatsächlich schief aus, ist aber nur das Licht. In der Realität ist der richtig drin. Zum rumbraten: ja das war ich, die ersten zwei RAM-ICs sind ausgelötet und mit Sockel wieder eingelötet.

  • Also u14 und u15 sind unschuldig (gerade gemessen und gesockel) u29 habe ich ja vorher schon getestet. Kann es ein, dass ein Fehler im Mainboard-Layout Bild ist (oder ich habe eine andere Rev). Im Layout Bild ist pin 11 von u29 nicht verbunden. Im Schaltplan und auf meinem Board liegt da aber das AEC drauf.

  • Vielen Dank schon mal für die vielen Nachrichten!

    Zwischenstand: ich habe jetzt das AEC-Signal vom VIC-II über das ganze Board verfolgt. Es kommt überall an wo es hin soll. Alle ICs die irgendwas damit direkt zu tun haben, habe ich gesuckelt und getestet (alles ok). Ich b behaupte jetzt einfach mal das AEC ist nicht das Problem. Die Idee mit den "Klemmenden" Adress-Bits klingt mir noch nachvollziehbar. Ich kann den Speicherbereich, der angezeigt wird auch schon etwas einschränken. Offenbar liegt er in den unteren 64kb, denn das C64 Diag produziert den gleichen Effekt wie das 128-diag. Der Dead-Test 781220 scheint hingegen in den Speicher nicht zu schreiben. Hat jemand einen guten Einfall, wo ich weitersuchen könnte? Ich habe schon mal die Adressleitungen des VIC-II auf Kurzschlüsse geprüft, negativ. Es liegt auch keine Leitung auf VCC oder GND.

    Gruß, Jens

  • Hat jemand einen guten Einfall, wo ich weitersuchen könnte?

    Konsequent alle RAMs sockeln & tauschen.

    Als Letztes werde ich vermutlich das auch machen, allerdings erschient mir ein defekter DRAM im Moment als nicht sehr wahrscheinlich. Immerhin läuft der Ram-Test ja ohne Fehler durch.

  • Hat jemand einen guten Einfall, wo ich weitersuchen könnte?

    Konsequent alle RAMs sockeln & tauschen.

    Als Letztes werde ich vermutlich das auch machen, allerdings erschient mir ein defekter DRAM im Moment als nicht sehr wahrscheinlich. Immerhin läuft der Ram-Test ja ohne Fehler durch.

    Ich glaube nicht an VIC-Bereich-Probleme wie kinzi ... ich glaube hier eher an ein teildefektes, sterbendes RAM-IC, das den Bildschirmmüll verursacht.

    Bitte auch mal die RAM-Durchkontaktierungen durchmessen ... halbkalte Lötstelle irgendwo?

  • Hat jemand einen guten Einfall, wo ich weitersuchen könnte?

    Konsequent alle RAMs sockeln & tauschen.

    Als Letztes werde ich vermutlich das auch machen, allerdings erschient mir ein defekter DRAM im Moment als nicht sehr wahrscheinlich. Immerhin läuft der Ram-Test ja ohne Fehler durch.

    Du hast die anderen IC's wie KERNAL und so doch bereits getestet in einem anderen C128?

  • Was sind U14 und U15? Ich kenne die Bauteilnummern nicht auswendig.

    Entweder bitte einen Schaltplanausschnitt dazuposten, oder die betreffende IC-Bezeichnung (z. B. 74LS257).

    Man merkt, daß du es mit dem C128 nicht so hast. Das Banking wird nicht vom 74LS257 angesteuert, sondern vom 74LS36 auf U9, und dieser direkt von der MMU, bzw. wenn Ram angesteuert wird (egal welche Bank) von der PLA.

    Bitte nicht so viel rumlöten, damit kannst du mehr kaputt machen als helfen. Falls es ein Ram ist brauchst du nur die Bänke tauschen, d.h. die Widerstände einseitig auslöten und vertauscht verbinden.

    Helfen könnte zu wissen, welcher Speicherbereich angesprochen bzw. angezeigt wird.

    Starte im 40 Zeichen Modus, geh mit ESC X in den 80 Zeichen Modus. Dann in den Monitor mit "MONITOR" oder über F8. Mit "M00400" wird dir der 40 Zeichen Bildschirm angezeigt in Hexadedimal und Klarzeichen auf der rechten Seite. Wird der Startbildschiirm angezeigt, besser gesagt der Inhalt der Rams, dann arbeitet der C128 korrekt bis auf die Anzeige. Falls die falsche Speicherbank vom VIC angesprochen wird, dann gib "M10400" ein, das ist die gleiche Adresse auf der anderen Bank.

    Die angezeigte Adresse kann man so auch finden. Die Hex Zahlen ändern und am 40 Zeichen Schirm die Änderung sichten. In 400er schritten in Hex schreibweise ändern bis die Änderung angezeigt wird. Also 0 4 8 C 0 .... Die 1000er Stellen mir 0 1 2 3 4 5 6 7 8 9 A B C D E F.

    Danach kann man ganz gezielt nach dem Fehler suchen, angefangen am besten mit den Leiterbahnen.

    Wem es beim Bit zählen schwindelig wird, der hat zuviel davon.

    Alt werden ist schön, das Altern nicht.

  • Der Dead-Test 781220 scheint hingegen in den Speicher nicht zu schreiben.

    Der Dead Test sieht nur die ersten 4 kB RAM. Wenn sich dort durch den Speichertest nichts ändert, spricht das für meine Theorie. Der VIC sieht dann in einen Speicherbereich, der "offen" ist (kein RAM). Folglich wäre es ein irgendein Adressierungsproblem auf VIC-Seite.

    allerdings erschient mir ein defekter DRAM im Moment als nicht sehr wahrscheinlich.

    Das ist auch Blödsinn. Dann müsste der Speichertest Fehler bringen. Da der 80Z-Mode offenbar einwandfrei funktioniert, kann es nicht an den RAMs liegen.

    Man merkt, daß du es mit dem C128 nicht so hast.

    Gegen dich bin ich natürlich nur ein kleines Licht, das stimmt. Daher darfst du gerne hier übernehmen. Es sind ja schon zwei Vollprofis hier, da braucht es mich Amateur nicht auch noch.

    Das Banking wird nicht vom 74LS257 angesteuert, sondern vom 74LS36 auf U9, und dieser direkt von der MMU, bzw. wenn Ram angesteuert wird (egal welche Bank) von der PLA.

    Wo habe ich was von "Banking" geschrieben? Ich rede vom DRAM-Multiplexing (MA0..MA7), du "Spezialist".

    [edit]

    Korrektur. VMA0..7.

    [/edit]

    JHKrueger

    Ich überlass dich mal den beiden Koryphäen hier, weil "ich hab's nicht so mit dem C128". Zusammenfassend: Der Fehler liegt zu 99% darin, wie der VIC das RAM anspricht und damit in der Logik, denn das RAM funktioniert von CPU-Seite aus ja offenbar einwandfrei und im 80Z-Modus auch (der VDC hat eigenes RAM). Das kann man mit einfacher Logik erkennen.

    /EOT

  • Guten Morgen,

    hier mal das erste Bild, ich denke mal das heißt der Speicher ist ok nur de VIC "sieht" den falschen Speicher. Ich versuche dann mal im Speicher umzuschreiben bis ich was sehe.

    Edit: Um alle Zweifel auszuschließen habe ich den C128 mal im 80Z-Modus gestartet, dann gewechselt, ein paar Ziffern eingetippt und wieder zurück. Sieht genau so aus, wie ich es erwartet hätte (Bild 2).

    Gruß, Jens

  • Update: ich habe den Speicherbereich gefunden auf den der VIC schaut. Er startet bei C400. Wenn ich von Hand die Daten vom 0400 nach C400 transferiere sieht alles gut aus

    Bleibt nur noch die Frage zu klären: Wie passiert das?

    Gruß, Jens

  • Bleibt nur noch die Frage zu klären: Wie passiert das?

    Wie schon an früherer Stelle im Thread vermutet: Falsche VIC-Bank. Die wird über eine der CIAs ausgewählt und ist im Schaltplan als VA14/VA15 zu finden. Wenn die CIA ok ist wäre der nächste Fehlerkandidat der 74LS257 auf U26 (IIRC), aber den hast du ja schon getauscht?

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Programm teste ich nachher mal, was würde denn eine solche "falsche VIC-Bank" hervorrufen, also wie kann das passieren?

    Hast Du das Testprogramm inzwischen ausprobiert? Wenn der VIC wirklich den Bereich ab $c400 anzeigt, haben beide Leitungen (VA14 und VA15) den falschen Pegel. Das bedeutet auch, dass man im 64er-Modus nicht einmal den richtigen Zeichensatz sehen würde, Du musst LOAD und RUN für das Programm also blind eingeben.

    Yes, I'm the guy responsible for the Bitte melde dich an, um diesen Link zu sehen. cross assembler. And some Bitte melde dich an, um diesen Link zu sehen..

  • Das bedeutet auch, dass man im 64er-Modus nicht einmal den richtigen Zeichensatz sehen würde,

    Guter Punkt, das grenzt den Fehler noch weiter ein: /VA14 entscheidet über die Einblendung des Zeichensatzes in der aktuell ausgewählten Bank und auf den Fotos des Testmoduls sind die Zeichen korrekt. /VA14 muss also korrekt bei der PLA ankommen, aber da laut dem Umkopier-Test der Bildschirm bei $c400 liegt sind sowohl VA14 als auch VA15 auf 1. Das klingt nach Problemen bei U63 oder zwei Leiterbahnen mit /VA14 und /VA15 oder VA14 und VA15.

    Funktioniert die Reset-Taste des Rechners noch?

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.