Hallo Besucher, der Thread wurde 3,7k mal aufgerufen und enthält 39 Antworten

letzter Beitrag von Gikauf am

C128 hat seltsamen Fehler - zu Hilfe! :-)

  • Hallo zusammen,


    nachdem ich auf dieses Forum aufmerksam geworden bin, will ich gleich mal die Gelegenheit nutzen und habe meinen ollen 128er wieder hervorgekramt. Der hat nämlich seltsame Allüren, die ich nicht richtig deuten kann.


    Der Reihe nach: Das Gerät habe ich vor Jahren mal als Restposten neu gekauft, der Fehler bestand aber schon von Anfang an. Der Rechner ist wenig gelaufen (na klar - wegen des Fehlers) und stand in den letzten 8 Jahren hauptsächlich in der Gegend rum. Er befindet sich im Originalzustand, Modifizierungen habe ich keine vorgenommen.


    Nun zum Problem. Das ist gar nicht so leicht zu beschreiben. Nach dem Einschalten ist zunächst alles in Ordnung. Ich beziehe mich im Folgenden hauptsächlich auf den C64-Modus; ich kann dort problemlos Befehle eingeben, kleine Programme schreiben und laufen lassen... Alles gut. Lade ich aber z.B. ein Spiel, wird's Glückssache: Einige (gerade mal willkürlich getestet: Wizball) laufen ohne Probleme, andere legen seltsames Verhalten an den Tag, und zwar immer dann, wenn es ans Zählen geht. Dies sieht man im Screenshot vom Rambo-Intro, wo die Highscore-Einträge von 060000 runtergezählt werden: Statt 059000 steht dann da 05x000, wobei das x ein krudes Zeichen ist. Irgendwann weiter unten geht es dann mit 059000 weiter, dann mit 058000 usw., bis das Spiel ab 049000 wieder von vorn anfängt. Mein Verdacht also: Der Rechner zählt nicht korrekt.


    Konsequenterweise laufen einige Spiele und Anwendungen dann auch gar nicht. Ich habe aber bei sonstigen Fehlern keine Systematik ausmachen können. Generell ist die Grafik in Ordnung, Sound kommt auch korrekt. Wie gesagt, viele Programme (vor allem Intros und Demos) laufen ohne jede Macke.


    Am aufgeschraubten Gerät wird kein Chip übermäßig heiß; ich habe gemäß der FAQ ferner versucht, eine Modell- oder Versionsbezeichnung zu finden, aber außer dem fetten "C128" in der Mitte der Platine bin ich nicht recht fündig geworden. Einzig in der unteren rechten Ecke ist ein Aufdruck (vgl. Screenshot).


    Kann mir jemand weiterhelfen, bzw. was kann ich tun, um das Gerät systematisch zu testen und so der Fehlerquelle auf die Spur zu kommen? Ich bin technisch nicht ganz unbeleckt, habe auch ein Messgerät zur Verfügung, würde jedoch von größeren Lötaktionen lieber die Finger lassen. Wenn jemand den 128er mal "live" ansehen will (gegen Bezahlung natürlich), schicke ich das Teil auch gerne durch die Gegend. :-)


    Besten Dank und viele Grüße
    Gunnar

  • Wenn jemand den 128er mal "live" ansehen will (gegen Bezahlung natürlich)


    Du glaubst doch nicht ernsthaft, daß Dir jemand Geld dafür gibt, Deinen 128er ansehen zu dürfen, oder? Sooo selten ist der auch nicht!











    :LOL Nee, Spaß, habe schon verstanden, was Du meinst! :D :biglach:

  • Hmh. Ich bin kein 128 Experte, also bezieht sich alles auf den C64-Modus. Aber ein RAM-Test drängt sich geradezu auf bei dem von Dir beschriebenen Phänomen. Ob ein AR da hilft oder ob es 128-spezifische Diagnose-Software gibt, k.A., sorry, da müssen die 128-Freaks helfen.


    Andere Möglichkeit: Character-ROM. Kannst Du alle Zeichen eingeben?


    Was man noch versuchen könnte: RAMs/ROMs festdrücken - wenn ICs gesockelt.


    Ach ja: Reparaturhilfe wird dir sicher jemand für lau bzw. Materialkosten anbieten, wenn du die Maschine mal auf ein Treffen in deiner Nähe mitbringst.


    EDIT: Was gefunden für Dich und Dein AR: http://www.csdb.dk/release/?id=93727 Hilft Dir natürlich nur, wenn Du die Möglichkeit hast, zwischen PC und C64/128 Daten zu transferieren.

  • Hi Guschu, Willkommen hier im Forum.


    Zu deinem Problem, tritt das Problem nur auf im C64 Modus? nur bei Basic Programme oder auch Maschinensprache? kannst du alle Zeichen darstellen? Hast du was am Joyport angeschlossen?


    Die Fragen klingen Merkwürdig, haben aber ihren Sinn. Es gibt nur ein Bauteil das der C128 nur im C64 Modus benutzt, das ist das 64er Rom. Bei dir ist es ein Eprom, da könnte es zu einem Bitfehler gekommen sein, das würde heißen daß das Problem nur im 64er Modus und nur mit Basic auftritt.

  • Moin moin und danke für eure Hilfe!


    Alles, was an der Kiste gesockelt ist, habe ich schon einmal leicht wieder fest(er) gedrückt, das brachte allerdings keine Änderung.


    Sonderzeichen kann ich im Basic-Modus alle ganz normal eingeben.


    Wenn ich den Joystick abziehe, ergibt sich keine Änderung.


    Ich konnte das Problem im Basic noch nicht nachstellen, weder im 128er noch im 64er Modus. Habe gestern mal ein kleines Basic-Programm gestartet, das einfach hochzählt und die Zahlen ausgibt (i = i+i, der Klassiker halt), das hat der Rechner ganz brav durchgeführt. Bislang ist mir das Phänomen immer nur in Spielen aufgefallen, und da immer im Zusammenhang mit einem Counter, dem Score-Zähler oder sonstigem in dieser Richtung.


    Beim weiteren Herumprobieren fiel mir jetzt auf: Am besten zum Demonstration eigenen sich die Giana Sisters. :-) Während des Spiels wird der Highscrore permanent durcheinandergewürfelt und zählt scheinbar zufällig "wirr"; ebenso der Timout-Countdown, der nach keinem erkennbaren Muster "countet". Es kommt daher vor, dass man einen Level startet und sofort darauf stirbt - wegen "Timeout". Dabei fängt der Zähler dort in der Ecke oft bei "03" an, springt dann auf 9x (wobei x wieder ein "mülliges" Zeichen ist), danach ist es Glückssache, was kommt.

  • Ich hab mal ein Video erstellt. Keine tolle Qualität, aber man erkennt glaube ich, was er macht. Zu sehen ist der Timer in "Giana Sisters", der entgegen meiner ersten Beobachtung offenbar doch irgendeiner unerkannten Logik zu folgen scheint. So zählt er (x entspricht dabei einem undefinierbaren Zeichen):


    0x - 05 - 0x - 07 - 00 - 99 - 92 - 9x - 94 - 9x - 96 - 9x - 98 - 91 - 9x - 93 - 9x - 95 - 9x - 97 - 90 - 89 - 82 - 8x - 84 - 8x - 86 - 8x - 88 - 81 - 8x - 83 - 8x - 85 - 87 - 80 - 79 - 72 - 7x - 74 - 7x - 76...


    Das Muster wiederholt sich also offenbar schon konsequent. Deuten kann ich den Fehler aber leider trotzdem nicht. :-(


    Video gibt's hier: http://www.computerschuster.de/c128.avi (17,3 MB)

  • Zitat

    EDIT: Was gefunden für Dich und Dein AR: http://www.csdb.dk/release/?id=93727 Hilft Dir natürlich nur, wenn Du die Möglichkeit hast, zwischen PC und C64/128 Daten zu transferieren.

    Danke, hab ich grad mal ausprobiert, aber leider macht mich das Programm nicht viel schlauer. :D Im ersten Bild wird angezeigt, dass das RAM von C64 und AR OK sei, und wenn ich dann noch einmal Space drücke, stürzt der Rechner ab. Nur weiss ich jetzt leider nicht, ob das ein Fehler ist oder daran liegt, dass das Tool für den 64er geschrieben wurde oder aber schlicht daran, dass das Programm buggy ist (wie der Autor selbst im Startbildschirm schreibt)...? :huh:


    Aber immerhin habe ich gerade zum ersten Mal seit 20 Jahren wieder eine Diskette in der 1571 formatiert, das war auch schon eine Erfahrung. 8o Was man nicht so alles an einstmals alltäglichen Handgriffen vergisst... ;(

  • Tach!
    Ich bin zwar jetzt nicht der 128er-Experte (eigentlich bin ich überhaupt kein Experte :D) aber es scheint ein Problem mit der internen Uhr vorzuliegen. Da meines Wissens nach noch über keine batteriegestützte Uhr verfügt, kann es evtl. nur an dem dafür zuständigen ROM/IC liegen.
    Welches das geanu ist, soll dir mal ein Experte verraten :D

  • komisch dass noch niemandem aufgefallen ist, dass der 128er komplett mit Eproms ausgestattet ist, also kein normales C128-Rom drin. Es muss sich auch um 32K-Eproms handeln, weil's weniger sind als normal. Den Hinweis auf Bit-Kipper kann ich aber so nicht unterstützen, denn ich vermute was ganz simples: Ein Kontaktproblem am VIC. Ich denke, die CPU ist in Ordnung, aber der 40-Zeichen-Videochip in dem Metallkasten auf dem Board hat ein Kontaktproblem.


    Öffne mal den Kasten, der rechte Chip von den beiden ist der Videochip, der für den 40-Zeichen Mode (und damit auch für den C64-Mode) verantwortlich ist. Wenn Du den aus seinem Sockel hebelst, könnte es sein, dass Du da einen verbogenen Pin findest.


    Jens

  • Mit der Uhr gibt es kein Problem, aber villeicht beim auslesen der Uhr. Tausch doch mal die beiden Cias miteinander, das sind die 6526 auf U1 und U2, der U1 ist in der Nähe vom Joy-Port, der U2 beim User-Port. Und schau dabei auch gleich ob die Pins in Ortnung sind.


    Mein Ursprünglicher Verdacht ist durch das Video zerstört, das war daß da mit dem D-Flag was nicht stimmt.

  • Ja, das Video deutet irgendwie darauf hin, dass irgendwas BCD-mäßiges nicht passt. Wenn Giana Sisters tatsächlich eine CIA als Zeit-Quelle benutzt, dann passt der Verdacht aber wieder (und dann hat Gabe Logan auch wieder nicht sooo unrecht), denn die T.O.D.-Register der CIA sind BCD.


    Müsste man aber mit nem simplen Basic-Programm herausfinden können, das die T.O.D.-Register ausliest und anzeigt. Ich tipp mal flott was zusammen...


    Jens

  • denn ich vermute was ganz simples: Ein Kontaktproblem am VIC. Ich denke, die CPU ist in Ordnung, aber der 40-Zeichen-Videochip in dem Metallkasten auf dem Board hat ein Kontaktproblem.


    Das würde die Grafikfehler schon erklären, aber nicht warum z.B. ein Timeoutcounter wild macht.
    Ich vermute Speicherfehler.


    Evtl mal mit nem simplen Ramtest beginnen: RAMTEST
    und dann weitersehen.

  • Wenn dieses Programm hier was anderes als einstellige Zahlen auswirft, ist eine der CIAs defekt oder hat ein Kontaktproblem:

    Ich tippe darauf, dass es in dem defekten C128 irgendwo eine 2-stellige Zahl ausgibt.


    Jens


    edit: Hinweis zum Abtippen: Das inverse Herzchen ist ein Steuerzeichen. Sobald Du das Anführungszeichen eingetippt hast, ist der Editor in einem anderen Modus (was er Dir aber nicht gerade deutlich sagt), nämlich im Modus "zeichne Steuerzeichen auf" anstelle von "führe Steuerungen sofort aus". Beim nächsten Anführungszeichen (oder Druck auf Return) ist der Modus wieder "direkt". Also das inverse Herzchen ist shift-CLR/HOME und bedeutet "Bildschirm löschen".


    Das inverse S bedeutet nur "home" ist ist die CLR/HOME-Taste ohne irgendwas Anderes gedrückt.

  • Das Programm funktioniert nur im C64-Modus - keine Ahnung was es im C128-Mode macht. Wenn sich nichts bewegt, also die Zahlen nicht dauerhaft aktualisiert werden, ist es schlecht.


    Du siehst zwei Zahlenkolonnen, links für die CIA in der Nähe der Joystickports, rechts für die CIA in der Nähe vom Userport. Die Kolonnen kannst Du besser trennen, wenn Du in Zeile 30 noch ein zweites Komma ans Ende setzt.


    Du darfst nichts am Programm verändern - es ist besonders wichtig, dass die Schleife von 11 bis 8 herunterzählt. Wenn Du die Zählrichtung umdrehst, werden die Zahlen nicht mehr automatisch aktualisiert (das ist ein Feature der CIA-Chips, wäre zu lang den Grund hier zu erklären).


    Wenn Du das alles geprüft hast, aber sich trotzdem die Zahlen nicht verändern, dann ist wahrscheinlich die TICK-Erzeugung in Deinem C128 defekt. Die ist recht simpel aufgebaut mit Z-Diode und Widerstand - sowas kann man schon fast mit Hausmitteln reparieren. Da aber in Giana Sisters der Zähler "etwas" macht (auch im Sekundentakt), ist das unwahrscheinlich. Bitte schau' nochmal, ob da nicht doch irgendwo ein Vertipper, der falsche Mode oder eine zu gut gemeinte Vereinfachung beim Abtippen drin war.


    Jens