Reparatur robotron 8086 Clone (EC1834) - 8253 Fehler

  • Es gibt Elektroniker die schwören darauf defekte D-RAM-ICs dadurch zu ermitteln, dass ein funktionstüchtiger RAM nacheinander über alle eingelötete RAM-ICs geklemmt wird. Das habe ich aber selbst noch nicht ausprobiert - klingt aber, als ob es einen Versuch wert ist.


    Matthias

  • Ich glaube eher nicht dran. Wenn da ein defekter Ausgang das Signal mit geringem Widerstand gegen Masse zieht, kann der andere das vermutlich nicht auf H Pegel bringen.


    Ich bin in der komfortablen Lage, das jetzt mit Software zu diagnostizieren können. Prinzipiell....


    ....gerade mal gesucht und c't ramtest gefunden. Das könnte evtl. auch laufen. Mal probieren...

  • bricht leider mit runtime error ab... Eine ältere Version finde ich nicht.


    Entweder selber was programmieren, oder auf der Hardwareseite suchen...

    Letzteres is Momentan einfacher. Was programmieren, hieße Assembler. Da habe ich nie mehr als Hello World gemacht. Früher oder später kommt das aber noch.

  • Irgendwie sieht das nicht korrekt aus...

    Ein RAS Signal müsste doch dann Aktiv sein, wenn das CASL aktiviert wird?


    Die unteren 8 Bit sind vom DS8287 D3 (D0-D7)


  • Die ersten Test-Routinen für den Speichertest habe ich am laufen.

    Man muss sich an Assembler erst gewöhnen...

  • Nicht zwingend, falls es mehrere Bänke gibt, kann durchaus CAS kommen ohne RAS, weil eben diese Bank nicht selektiert ist.

  • Nicht zwingend, falls es mehrere Bänke gibt, kann durchaus CAS kommen ohne RAS, weil eben diese Bank nicht selektiert ist.

    Prinzipiell richtig, aber oben werden alle Bänke (RAS0, RAS2, RAS4) gleichzeitig aktiviert und CAS erst einen Zyklus später - ohne RAS und da kommt auch das Chip Select für den 8287.


    Man könnte den Eindruck gewinnen, dass die Verzögerung des RAS Signals nicht passt.


    Das Problem ist, dass ich die Schaltung nicht ganz durchschaue...


    Hier mal die zusammengefügten Scans des Schaltplans....

    EC1834_RAM_Schaltplan.pdf

  • Moin,


    vielleicht hat hier jemand Erfahrung mit 8086 Assembler...


    Mein Testprogramm funktioniert (theoretisch) in der DOS-Box.

    Praktisch nicht auf dem EC1834.


    Beim Test wird der Code einfach nicht ausgeführt.

    Die prozedur wird aufgerufen, der erste Text wird ausgegeben und dann springt die Routine zurück in das Hauptprogramm.


    Der vollständige Code ist hier zu sehen:

    GitHub - mgoegel/ec1834_ramtest: EC1834 RAM extension board test tool
    EC1834 RAM extension board test tool. Contribute to mgoegel/ec1834_ramtest development by creating an account on GitHub.
    github.com


    Mein Code zeigt noch den Text "msg_test1_1" an. Die Zeile

    Code
    call OUTPUT_HEX_DIGIT4     ; <--------- WIRD NIE ERREICHT

    wird nicht aufgerufen.



    Ich weiß, der Code ist alles andere als schön.

    Verbesserungen nehme ich gerne an... :)


    Ursprung ist die Testroutine vom BIOS. Die arbeitet mit dem DS Register, da ich das aber öfter zur Ausgabe benötige, habe ich das ES Register genommen.

    Wie gesagt - in der DOS Box funktioniert der Code so.


    Gruß

    Mario

  • Da ich gerade mit dem Code nicht weiter kam, habe ich die Karte mit dem defekten RAM IC zur Vergleichsmessung ran genommen.


    Das bestätigt erst Mal das, das RAS+CAS normal gleichzeitig aktiv sein sollte.

    Das gibt mir Hinweise, wenn ich das weiter ausgewertet habe. Bei dieser Karte wäre mein Tool ganz hilfreich, den defekten zu bestimmen... ;)


  • Beim Vergleich kann ich sehen, das RAS kurz deaktiviert wird und dann wieder aktiviert wird. Der Punkt fehlt oben.

    Da scheint evtl. ein Flip Flop oder dessen Takt nicht zu schalten.

  • In meinem Code liegt das Problem irgendwo bei der Ausgabe der aktuellen Adresse.

    Ohne das wird der Code ausgeführt und der Rechner wird mit Parity Error abgeschossen. Das kann man abschalten.


    Ich muss nun nur noch einen Weg finden, die Ausgabe hin zu bekommen.

  • Mittlerweile bekam ich eine Diagnose Software für den RAM (nicht nur für RAM) des EC1834.

    Bin gespannt, wie die läuft. Dann könnte ich die eine Platine vielleicht direkt reparieren, wenn ich weiß, welcher IC defekt ist.


    Bei der anderen mache ich erst mal den Schaltplan fertig. Dann lässt sich das leichter analysieren.


    Ich frage mich, warum die Software nirgendwo auf den üblichen Plattformen abgelegt oder überhaupt nirgends benannt wurde.

    Das Copyright von '89 (DDR) dürfte vermutlich eher nicht mehr das Problem sein...

  • Die nächste Platine ist repariert. :)


    Auf der heutigen waren 2 ICs (D28, D35 = RAS0, CASL: D1 + Parity E) defekt.

    Ausgetauscht und im RAM Test danach alle Tests bestanden.


    Bleibt noch eine Erweiterungsplatine.

    Dort wurden quasi alle Adressen als Defekt markiert. Da ist auf jeden Fall was in der Ansteuerung defekt.


    Vielleicht schaffe ich morgen den Schaltplan noch, aber mein Männerschnupfen fordert vermutlich langsam seinen Tribut. Muss erst Mal kürzer treten.

    Ein Glück, dass ich gestern entschieden habe, nicht nach Hannover ins Büro zu fahren... In mehrfacher Hinsicht... ;)


    Mario

  • RAMBUG.EXE & Die Karte nach der Reparatur



  • Mein Schaltplan der RAM Karte ist leider immer noch nicht komplett fertig digitalisiert, aber ich habe den Drang, die 2. Karte zu reparieren.

    Da das RASx Signal nicht passend triggert, habe ich nochmal nachgeschaut und im Plan auf D15 Ein FlipFlop in dem Bereich entdeckt, der den 8205 für das RAS steuert.


    Ich habe das zwar bereits im RCT geprüft, aber das muss nichts heißen. Da will ich nochmal schauen. Im Sockel ist das ja eine Minuten-Sache... :)

  • Unerwartet aber der DS8205 auf D22 ist komplett Stumm....


    hier RAS0-1 - RAS0 geht nur Zeitweise aktiv, weil der Ausgang permanent auf H ist und die NAND Gatter entsprechend Schalten. Nur nicht im rechten Moment...




    Jetzt fliegt er raus, in 45 Minuten weiß ich mehr... ;)

  • Krass... Etwas weniger als 45 Minuten später bootet er mit 640KB.... :sabber:



    Zur Beruhigung aller... Jetzt habe ich noch einen defekten Floppycontroller hier.


    Und dann ist da noch der HD Controller, wo ich noch keine Ahnung habe, was der macht...

    Ach ja - die Monochrom Karte ist ja auch noch da.


    Hab da noch ein paar Sachen in petto... ;)

  • Jupp, hab die Bilder oben gerade noch nachgeschoben... :)

  • Es ist zum Mäusemelken...


    Heute war ich mutig und habe die anderen Platinen Testweise angeschlossen.

    Die Monochromkarte funktionierte, allerdings bootete der Rechner nicht mit XT-IDE. Also Floppy dran.

    Damit war booten möglich.


    Als nächstes wurde ich noch mutiger und installierte den HD Controller + HDD.


    Die Festplatte brachte beim einschalten nur Klackgeräusche - die scheint nicht ausparken zu können. Da gibt es vielleicht noch Möglichkeiten....


    Die habe ich schnell wieder abgeklemmt. Den HDD Controller konnte ich so nicht testen.

    Wieder zurückgebaut, nun bootet er nicht mehr von meiner XT-IDE und wollte auch das Floppy nicht mehr erkennen.


    Umgebaut auf das andere Board - da bootet XT-IDE aber Floppy wollte auch nicht - bis ich merkte, dass ich den Molex Stecker in das falsche Laufwerk gesteckt hatte... [facepalm]


    Ok, also XT-IDE & Floppy ok.


    Wieder das andere Board dran - XT-IDE ist nicht, aber Floppy.


    Auf jeden Fall habe ich wieder was kaputt gemacht. Verstehe noch nicht, warum er von Floppy bootet, aber nicht von der XT-IDE.

  • Ja, aber die Karte ist wieder raus. Das BIOS kommt, er findet die Flashkarten. Bootet nur nicht mehr...

  • Ich glaube, das hat irgendwas mit der Port-Adressierung zu tun.

    IO Ports selbst gehen grundsätzlich. VGA/Floppy funktioniert.


    Aber VGA/Floppy sind weitestgehend DMA/Memory Zugriffe - wie das XT-IDE BIOS. Ja ich weiß, auch die benutzen Port IO.


    Aber auch das XT-IDE BIOS kann die Flashkarten auslesen. D.h. das funktioniert.


    Mein Gefühl sagt mir, dass vielleicht ein Treiber (DS8286) in eine Richtung versagt. Vielleicht der für ungerade Ports oder so... Muss eine Messung an der XT-IDE machen und schauen, ob die restlichen Signale da sind. Wenn ja, dann die Treiber prüfen.

  • Also ein DS8286 kann es nicht sein...

    Die XT-IDE liefert ja eh nur auf D0-7 Daten und der 1834 kann ohne weiteres nicht mit 16 Bit Zugriffen umgehen, deswegen muss die XT-IDE auch im Compatible Mode laufen.


    Ich habe jetzt den LA Trace auf der XT-IDE Byte für Byte verglichen, bis der Bootvorgang auf dem 3. Board beginnt.

    Das sieht erst mal alles gut aus. Aber irgendwann fehlt einfach der IOR, wo der Bootvorgang anfängt. Das wird eine harte Nuß...


    Die Kingstvis Software ist da leider nicht hilfreich, was das Triggern angeht...

    Vielleicht hole ich mir doch ein Hantek 4032L... Hab das vorhin hier im Forum erst gesehen. Das scheint etwas mehr zu können.

    Das große HP1651A nützt mir noch nichts, wenn ich nicht genau weiß, worauf ich triggern muß, außer die Lese/Schreibzugriffe.

  • Die Quellcodes anzuschauen - wenn man die hat - ist ganz oft eine geniale Idee...


    Ich musste beim XT-IDE BIOS gar nicht weit lesen, bis ich einen Geistesblitz hatte:


    Zum Test der Karten habe ich an den DIP Switches am Board gedreht - die Doku ist furchtbar, weil die nicht ganz eindeutig, vor allem mit dem Wissen, dass die manchmal falsch herum eingebaut sind.


    Jedenfalls verglich ich nun die DIP Switches der Boards und stellte das zweite nun gleich, wie beim anderen ein und es bootete wieder von CF Karte! :D


    Was habe ich entdeckt?

    Es gibt im XT-IDE eine Konfiguration, die Variablen im BIOS RAM Bereich setzt.

    Diese werden aber auch von den DIP Switches beeinflusst.


    Anscheinend überschreibt das BIOS diese Variablen, wenn mehr als 2 Floppies in den DIP Switches konfiguriert sind!


    Dann scheitert das BIOS mit Error 1h, weil es die Einträge nicht findet. Die Ports hingegen funktionieren tadellos!


    Man, was für ein Ding - und wieder etwas schlauer geworden.

  • Mittlerweile bin ich nun an schon an dem zugehörigen FDC.

    Dort war ein russischer NAND in der Takterzeugung defekt, den mein TL866 wieder nicht als defekt deklariert hat.

    Wieder nicht schnell genug...


    Der war immerhin fix getauscht.

    Nun habe ich 8MHz Takt am 8272, da sollten aber nur 4MHz sein.

    D.h. da stimmt irgendwas mit der Taktreduzierung nicht. Puzzle geht weiter.


    Leider ist die Scan-Qualität der Schaltpläne richtig mies. Die muss ich digital überarbeiten. Man sucht sich sonst einen Wolf.

  • Also mit dem Floppy weiter...


    Mit provisorisch (Lageplan temporär mit farbigem Stift beschriftet ) neuen Plänen mal wieder in die Werkstatt...


    Weitere Messungen ergaben, dass die 4MHz an A22 auch anliegen, dass der DL074 nicht schaltet liegt an dem DL175, der die Frequenzumsteuerung schalten soll.


    Vergleiche mit der funktionierenden Platinen ergaben, dass der A13.2 einfach nicht auf H Pegel gehen sollte, was er tut.


    Meine Güte, wie hat sich der Einkauf im polnischen Onlineshop letztes Jahr gelohnt. Bis jetzt habe ich alles da...


    .....


    Oh man... Das erste mal, dass ich die Durchkontaktierung bei einem IC mit eliminiert habe, zumindest auf der Oberseite.



    Der wollte nicht raus... Im Nachhinein hätte ich ihn mit dem Seitenschneider erledigen sollen.


    Und das schlimmste. A12 und A13 sind in anderer Richtung eingelötet.

    Ich sehe jetzt erst, dass da einige um 180° gedreht sind.

    Damit ist die Messung natürlich auch sinnlos - auch wenn ich da unterschiedle Ergebnisse zur anderen Platine hatte.


    Zum Glück betrifft es nur eine Leiterbahn, wo der Via keine Verbindung mehr hat...

    ......


    Und wann man viel misst....


    ok, jetzt richtig herum gemessen. Der Reset Eingang floatet.

    Der Reset kommt von einem NAND (A23, rechts neben dem neuen NAND), dass am Bus-Reset hängt.

    Wenn ich nur 5V auf das Mainboard gebe, dürfte da nichts passieren...


    Pöhser Pursche...



    Morgen dann den nächsten Auslöten. Hoffentlich ohne weitere Schäden....

  • Verdammtes Ding. Jetzt sind saubere 4MHz am FDC, aber er will immer noch nicht...

    Das Teil ist Knochenhart mit mir...

  • ok, Messung ergab Probleme an weiteren Gattern. IOR/IOW kam Anfangs mal, dann aber nicht mehr.


    Man, was muss das Teil durch gemacht haben... Der Keller in Bayern war wohl feuchter, als gedacht... ;)


    Also weiter Stück für Stück prüfen. Den nächsten finde ich sicher.... :wegmuss:;)