Hello, Guest the thread was called1.3k times and contains 81 replays

last post from kinzi at the

C128 reagiert im 80 Zeichen Modus nicht auf Floppy Befehle.

  • Jep. Aber: Türkeil == Plastebomber.

    Ich weiß, deshalb habe ich ja "bzw." geschrieben. :P

  • Wenn da eine Brücke oder ein Defekt im IC vorliegt. müsste der Fehler ja auch in die andere Richtung auftreten.

    Das Dumme ist: Die eingegebenen Befehle werden aus dem Screen-RAM gelesen, in den Eingabepuffer kopiert, von dort wieder gelesen, vom Basic-Interpreter tokenisiert, dann ausgeführt und erst dann finden ggfs. die entsprechenden Laufwerkszugriffe statt. Zu diesem Zeitpunkt ist der VDC schon so lange nicht mehr selektiert, dass es daran eigentlich(tm) nicht liegen kann.

    Gut, eine bessere Idee habe ich auch nicht, aber ich wollte es mal gesagt haben... ;)


    ...und jetzt bitte nicht auf gut Glück mit PLA-Tausch oder ähnlichem anfangen, da entstehen höchstens neue Fehler.


    Bitte mach mal einen Screenshot von solchen Fehlern, nur zur Sicherheit. Vielleicht ist es ja was total unerwartetes, und jemandem fällt darauf etwas auf.


    Außerdem lass bitte mein memtest-Programm laufen (ist in der Reparaturecke angepinnt), und dann noch einmal in der anderen Speicherbank (das Programm zum Starten des C64-Modus in der anderen Bank ist im memtest-Thread verlinkt).


    Sind von dem Fehler nur Laufwerksbefehle betroffen? Wenn ja, welche? (und welche nicht?)

    Bevor mit dem Tauschen von Komponenten angefangen wird, könnte man noch speziell für diesen Zweck geschriebene Testprogramme versuchen, aber um die schreiben zu können, müssen erstmal mehr Informationen her...


    (Beispiel: Mein Hypothese von oben mit dem VDC-RAM hätte man so testen können, dass ein Basic-Programm einen Teststring auf den Bildschirm schreibt und diesen mit INPUT gleich wieder einliest und vergleicht. Wenn dieses Programm auf VIC und VDC unterschiedliche Ergebnisse auswirft, sieht man weiter. Sind die Ergebnisse gleich, ist die Hypothese vom Tisch).

  • Ich glaube das geht einfacher, wenn man 2 oder 3 Zeilen Basic-Listing im 80 Zeichen Bildschirm Eintippt und es dann wieder Listet, muß er korrekt gelistet werden. Wird es fehlerhaft gelistet, dann ist der Fehler im VDC Bereich zu suchen und die PLA ist wahrscheinlic OK..

  • Ich glaube das geht einfacher, wenn man 2 oder 3 Zeilen Basic-Listing im 80 Zeichen Bildschirm Eintippt und es dann wieder Listet, muß er korrekt gelistet werden.

    Nein, das reicht nicht. Nur weil die Zeichen richtig aussehen, sind es nicht die richtigen Bytewerte. Außerdem kann der VDC ja beide Zeichensätze gleichzeitig darstellen, das erlaubt noch mehr Möglichkeiten, die man durch bloßes Hinsehen nicht unterscheiden kann.

  • Hast du zwei Monitore am C128 dran, siehst du also 40 und 80 Zeichen "parallel"?

    Die Frage ist, was auf dem 80-Zeichen-Schirm umgekehrt los ist, wenn du auf dem 40-Zeichen-Schirm was lädst.

    Falls es nur ein einziger Monitor (1901, 1084 o.ä.) ist und Du immer den Modus wechselst: Liegt es vielleicht gar nicht daran, auf welchem Screen die Befehle eingegeben werden, sondern daran, welches Signal der Monitor gerade anzeigt? VIC und VDC laufen ja nicht synchron, vielleicht erzeugt der Monitor elektrische Störungen, die das Laufwerk beeinflussen, und beim Sync auf das VDC-Signal sind diese Störungen stärker?

  • Ich glaube das geht einfacher, wenn man 2 oder 3 Zeilen Basic-Listing im 80 Zeichen Bildschirm Eintippt und es dann wieder Listet, muß er korrekt gelistet werden.

    Nein, das reicht nicht. Nur weil die Zeichen richtig aussehen, sind es nicht die richtigen Bytewerte. Außerdem kann der VDC ja beide Zeichensätze gleichzeitig darstellen, das erlaubt noch mehr Möglichkeiten, die man durch bloßes Hinsehen nicht unterscheiden kann.

    Deswegen soll er sie ja auch Listen, damit falsche Zeichen sichtbar werden.

  • Ich glaube das geht einfacher, wenn man 2 oder 3 Zeilen Basic-Listing im 80 Zeichen Bildschirm Eintippt und es dann wieder Listet, muß er korrekt gelistet werden.

    Nein, das reicht nicht. Nur weil die Zeichen richtig aussehen, sind es nicht die richtigen Bytewerte. Außerdem kann der VDC ja beide Zeichensätze gleichzeitig darstellen, das erlaubt noch mehr Möglichkeiten, die man durch bloßes Hinsehen nicht unterscheiden kann.

    Deswegen soll er sie ja auch Listen, damit falsche Zeichen sichtbar werden.

    *ächz*

    Zeichen können falsch sein, ohne dass das sichtbar ist -> LIST reicht nicht.

    Beispiel:

    Code
    1. 10 print chr$(14)"A"chr$(142)"a"

    Auf dem VIC sieht man zwei unterschiedliche Zeichen -> es sind unterschiedliche Zeichencodes.

    Auf dem VDC sieht man zwei gleiche Zeichen. Es sind aber trotzdem zwei unterschiedliche Zeichencodes.

  • Hast du zwei Monitore am C128 dran, siehst du also 40 und 80 Zeichen "parallel"?

    Die Frage ist, was auf dem 80-Zeichen-Schirm umgekehrt los ist, wenn du auf dem 40-Zeichen-Schirm was lädst.

    Falls es nur ein einziger Monitor (1901, 1084 o.ä.) ist und Du immer den Modus wechselst: Liegt es vielleicht gar nicht daran, auf welchem Screen die Befehle eingegeben werden, sondern daran, welches Signal der Monitor gerade anzeigt? VIC und VDC laufen ja nicht synchron, vielleicht erzeugt der Monitor elektrische Störungen, die das Laufwerk beeinflussen, und beim Sync auf das VDC-Signal sind diese Störungen stärker?

    Ich habe inzwischen diverse Diagnostik Module und Software durchlaufen lassen, alle ohne Ergebnis.

    Somit vermute ich, die Standardkomponenten funktionieren.


    Allerdings wird der VDC ja nie wirklich überprüft. Mein einziger Test war der Durchlauf mit der Oblivion Demo.


    Der VDC RAM ist gesockelt und ich habe die Speicherchips schon gegen neue getauscht. (ohne pos. Ergebnis)

    Da fiel mir ein, der Türkeil wurde doch nie mit 64k ausgeliefert (Ausnahme der CR Version).

    Könnten die nachgerüsteten Sockel den Fehler verursachen? Nachgelötet und mit der Lupe inspiziert habe ich die schon.


    Wie testet man den VDC denn mal wirklich sinnvoll?


    Die Idee mit dem Störsignal vom Monitor ist nett, allerdings hat bei gleicher Konfiguration schon ein 128 funktioniert.


    Vielen Dank übrigens für zahlreichen Anregungen. Schön das die Community hier so aktiv ist. :thumbsup:

  • Könnten die nachgerüsteten Sockel den Fehler verursachen? Nachgelötet und mit der Lupe inspiziert habe ich die schon.


    Nein das nicht, aber es könnte beim Einbau der Sockel bzw. auslöten der 16k Chips der Fehler verursacht worden sein.

  • Bei Fehlern am Sockel wären aber immer zu beobachtende Fehler zu erwarten., nicht nur akkurat beim Laden von Floppy.

  • Hier mal die Screenshots.

    Die Loading Meldung ist kombiniert mit einer dauerhaft leuchtenden roten Floppy LED + Stillstand.

    Der gleiche Befehl kann auch einfach mit der File not found Error Meldung quittiert werden.

    Bei Verwendung von F3 kommen diverse spannende Meldungen die ich nicht interpretieren kann.:S

  • Bei Fehlern am Sockel wären aber immer zu beobachtende Fehler zu erwarten., nicht nur akkurat beim Laden von Floppy.

    Kann ja auch daneben sein z.b. die Spule oder einer der Kondensatoren, der braucht nur einen knacks zu haben.

  • Das dritte Bild - mir dem DIRECTORY - sieht mit eher nach einem RAM-Problem aus.


    Mac Bacon Wird im 80-Zeichen-Modus ein anderer RAM-Bereich verwendet, oder z. B. die Zeropage anders?

    (Das VDC-RAM ist separat, das ist mir klar.)

  • Ich habe inzwischen diverse Diagnostik Module und Software durchlaufen lassen, alle ohne Ergebnis.

    Tut mir leid, aber diese Aussage hilft nicht weiter. Es ist schon vorgekommen, dass jemand meinen "minimalen memtest" fälschlicherweise per RUN gestartet hat und das anschließende READY als "kein Fehler gefunden" interpretiert hat. Und das soll kein Vorwurf an denjenigen sein - shit happens. Aber da das Vorgehen exakt kommuniziert wurde, ist dieser Fehler auch sofort aufgefallen.


    Wenn wir hier einen Fehler suchen, dann sind daher exakte Antworten auf Rückfragen unerlässlich. Daher mal ganz konkret:

    - Hast Du das "minimale memtest" laufen lassen? Wie lange?

    - Hast Du den C64-Modus mal in Bank 1 gestartet und dann dort das "mimimale Memtest" laufen lassen? Wie lange?

    Die Idee mit dem Störsignal vom Monitor ist nett, allerdings hat bei gleicher Konfiguration schon ein 128 funktioniert.

    Das hat nichts zu sagen. Die Störsignal-Hypothese basiert ja auf dem VDC-Timing, und das wird im Rechner generiert. Vielleicht ist in dem einen 128er der 16-MHz-Takt für den VDC ok und in dem anderen nicht. Nur um es nochmal gesagt zu haben: Auch ich finde diese Hypothese sehr an den Haaren herbeigezogen, und bestimmt ist es am Ende was ganz anderes. Aber irgendwann müssen wir ja mal anfangen, Dinge systematisch auszuschließen. Daher: Teste es bitte einfach einmal. Gib auf dem VDC sleep3:directory ein, schalte den Monitor auf den VIC um und sag uns, was passiert.

    Umgekehrt: Funktioniert "directory" auf dem VIC denn wirklich zu 100% zuverlässig?

    Falls ja: Gib auf dem VIC sleep3:directory ein und schalte den Monitor auf den VDC. Was passiert?

    Hier mal die Screenshots.

    Danke.

    Bei Verwendung von F3 kommen diverse spannende Meldungen die ich nicht interpretieren kann.

    Das ist der Anfang der Directory-Ausgabe. Die Verbindung bricht aber schon nach drei oder vier Bytes ab, deswegen kommt da nichts mehr. Die "768" sollte eigentlich auch Null sein: Das Lowbyte Null wurde noch korrekt übertragen, beim Highbyte (eigentlich ebenfalls Null) wurde aber 3 empfangen, und danach war Schluss. Zusammen mit Ladeadresse und Linkpointer heißt das, dass in den Beispielen maximal sechs Byte korrekt übertragen wurden.

    Da die Übertragung startet, kann es also nicht daran liegen, dass die Befehle falsch aus dem VDC-Screen gelesen werden. Das VDC-RAM oder das Auslesen durch die CPU kann somit eigentlich schon nicht mehr das Problem sein.

    Wird im 80-Zeichen-Modus ein anderer RAM-Bereich verwendet, oder z. B. die Zeropage anders?

    Eigentlich(tm) nicht. Der gerade benutzte Screen wird in der Zeropage verwaltet, die Daten des unbenutzten liegen irgendwo bei einer höheren Adresse. Bei ESC-X werden die Bereiche vertauscht. Natürlich sind ein paar Daten anders (Startadresse von Screen und Color/Attribut-RAM, Zeilenlänge, Fenstergröße) oder werden anders benutzt (die "Attribute" beim VIC sind nur vier Farb-Bits, beim VDC wird das ganze Byte benutzt). Aber nichts davon scheint mir den Fehler zu erklären. Und den Screenshots nach zu urteilen, handelt es sich um Timingprobleme auf dem IEC-Bus.

  • Hier mal meine Hausaufgaben:


    Deinen Memtest habe ich für ca. 20 Min. auf beiden Bänken laufen lassen. Ohne Fehler.


    Wenn ich im VDC sleep3:Directory eingebe:


    spricht das LW kurz an und es erscheint READY

    oder das LW spricht nicht an und es erscheint READY

    oder das LW spricht an und (siehe Screenshot)

    auf dem VIC erscheint nichts


    Im VIC eingegeben erscheint brav das Directory, auf dem VDC nichts.


  • Hm, ob da nicht doch einer der 7406er einen Knacks hat. Sieht irgendwie nach Probleme in der ser. Komm. mit der Floppy aus. Kann leider gerade die Pos. (Uxx) nachschauen, bin noch in der Firma am SH...

    Das ist natürlich möglich. Aber wie stelle ich das fest?

    Ich habe noch welche da, wenn sonst keine Lösungen auftauchen werde ich den mal wechseln.


    Pigging hat zumindest nichts gebracht.