Siemens 6.610 Reparatur geglückt

  • Hallo FrodeVan!


    Wann machst Du das alles? :anbet:

    Hast Du die gesamten Leiterbahnen nachverfolg/gemessen? :doc:

    Vorallem auf der Bestückungsseite ist das gar nicht so einfach.

    Gibt es da einen Trick?


    Gruß

    Axel

  • Der Trick besteht darin, nicht nur ein gutes Auge, sondern auch ein gutes Multimeter zu haben. Wenn es um Effizienz geht, hilft es auch sehr, ein wenig mit den Chips auf der Platine und den gängigen Praktiken im digitalen Design vertraut zu sein. In diesem Fall bekommt man schnell eine Vorstellung davon, wie die Dinge zusammenpassen, und man muss eigentlich nur noch mit dem Multimeter hinübergehen und schnell alle Punkte überprüfen. Die meiste Zeit wird dann für die restlichen Teile aufgewendet, die vielleicht nicht so offensichtlich sind.


    Im Fall des RAM-Boards habe ich aus Gründen der Geschwindigkeit nicht unbedingt alles hinzugefügt. Der Intel 3242 ist nicht vorhanden, aber die meisten abgeleiteten Signale, die zu ihm gehen, sind gekennzeichnet. Das Gleiche gilt auch für die DRAM-Chips selbst. Darüber hinaus wurde auf den Debug-Anschluss oben und einige passive Komponenten für den Refresh-Timer verzichtet.

  • Gute Nachrichten: ich habe die kompletten Schaltpläne und Beschreibungen für den Floppycontroller gefunden und werde sie in Kürze auch scannen ! Außerdem folgt noch eine Übersicht über alle Brücken und Einstellungen auf sämtlichen Platinen sowie eine sehr knappe Übersicht über alle System- und Hilfsprogramme der 6610 !


    Roland

  • so, es ist geschafft ! Auf der technikum29-Webseite habe ich 3 Dateien hochgeladen:


    Siemens_6610_Technical_Manual_Vol_II_Diskette_Controller_TDV_2114.pdf

    Beschreibt den komplett in TTL aufgebauten Floppycontroller mit eigenem Prozessor (2 mal 74181) - wer sich da durchgearbeitet hat wird die späteren Floppycontroller vom Typ WDC 1771 und folgende zu schätzen wissen :D !!


    Siemens_6610_Technical_Manual_Vol_II_Diskette_Controller_TDV_2114.pdf

    gibt eine schöne knappe Übersicht über Hardware und Software inkl. Speis der 6610


    Siemens_6610_Wartungshandbuch_Teil_2_Einschaltung_Bruecken_und_Einstellungen.pdf

    erklärt alle Jumper und Schalter auf den 6610-Platinen


    Roland

  • Da hast Du wohl recht. Ist besser man muß sich nicht damit beschäftigen.

    Habe da mal kurz reingeschaut.

    Auf jeden Fall geht die Chance gegen Null, wenn man im Reparaturfall diese

    Unterlagen nicht hat.


    Axel

  • Vielen Dank!


    Auch wenn es sich um den Single-Density-Controller handelt, wird es hilfreich sein.


    Wenn es darum geht, den Double-Density-Controller herauszufinden, habe ich begonnen, herauszufinden, wie die Verzweigungsanweisungen funktionieren. Die AM29xx-Serie lässt eine gewisse Komplexität zu, daher verfügt diese über bedingte Aufrufe und Rückgaben, nicht nur über Sprünge. Wie Sie sehen, muss ich noch die Schaltkreise mit den Bedingungen selbst nachzeichnen, von denen es 7 oder 8 gibt. Dann werde ich mich darauf konzentrieren, was die anderen Anweisungen bewirken.


    Nebenbei werde ich ein kleines Tool erstellen, um den Maschinencode in etwas Lesbares zu zerlegen. Es ist immer noch sehr grob, aber es ist ein Anfang.


  • Siemens_6610_Technical_Manual_Vol_II_Diskette_Controller_TDV_2114.pdf

    Beschreibt den komplett in TTL aufgebauten Floppycontroller mit eigenem Prozessor (2 mal 74181)

    Verstehe ich das richtig? Im Manual ist von "Double Frequency" und NRZI die Rede.


    Sieht für mich wie FM-Modulation aus.


    Lassen sich diese Disketten als Standard FM lesen (z.B. mit HxC) ?

  • Ich weiß es nicht mehr genau, aber selbst im Handbuch wird von Double Density gesprochen, alles, was ich gesehen habe, war Single-Density-FM. Wie bereits erwähnt, einseitige Einzeldichte. Nach dem, was ich gelesen habe, beträgt die Anzahl der Spuren jedoch 77 und nicht 73. Vielleicht ermöglicht eine Version des Mikrocodes MFM, oder bedeuten sie nur, dass die Fluxrate doppelt so hoch ist wie die Datenrate?


    Das verwendete Dateisystem ist Intel ISIS-II, implementiert über den XMON/D-Monitor im ROM, und natürlich wird das Betriebssystem dies über die API nutzen, wie sie ist. Auf diese Weise ist es sehr einfach, Inhalte in Bildern dieser Datenträger zu verwalten.


    Dieses Handbuch gilt für den Controller im TDV-2114. Spätere Maschinen, die in Norwegen als TDV-2124 mit XMON/F vermarktet werden, sind dieselben Maschinen, verfügen jedoch über einen Dual-Density-Festplattencontroller und eine aktualisierte ROM-API. Der Diskettencontroller in diesem (den ich gerade analysiere) hat einen anderen Prozessorkern und auch andere Logikabschnitte. Es werden jedoch sowohl FM-Single- und MFM-Double-Density-Discs als auch doppelseitige Discs unterstützt.

  • Ich weiß es nicht mehr genau, aber selbst im Handbuch wird von Double Density gesprochen, alles, was ich gesehen habe, war Single-Density-FM. Wie bereits erwähnt, einseitige Einzeldichte. Nach dem, was ich gelesen habe, beträgt die Anzahl der Spuren jedoch 77 und nicht 73. Vielleicht ermöglicht eine Version des Mikrocodes MFM, oder bedeuten sie nur, dass die Fluxrate doppelt so hoch ist wie die Datenrate?

    Double Frequency != Double Density.

    FM benutzt zwei Frequenzen (*1und *2), MFM deren drei (*1, *1,5 und *2). Die Bitfrequenz ist bei beiden jeweils 500 kHz max. Bei FM geht die Hälfte der Datenrate für den Takt verloren, bei MFM wegen der selbsttaktenden Eigenschaft nicht (Taktbits gibt es nur zwischen Nulldatenbits).


    Die 73 Spuren sind die Nettospuren für die Daten. Physisch sind es 77 Spuren, wobei im IBM-Standard die letzten drei Spuren als Ersatz für defekte Spuren im Datenbereich reserviert sind, und die erste Spur die Systemspur ist. Bleiben 73 Spuren übrig.

  • In letzter Zeit war es hier etwas ruhig, aber ich wollte nur erwähnen, dass ich einige Fortschritte beim Double-Density-Controller mache. Ich habe fast herausgefunden, was alle Anweisungen in der Firmware bewirken, aber es gibt immer noch ein paar lose Enden/Anweisungen, die in den Teilen, die ich herausgefunden habe, scheinbar nichts bewirken. Einige scheinen beispielsweise ALU-Daten aus einem Register zurück in dasselbe Register zu laden. Ich gehe davon aus, dass der Op-Code für diese Anweisungen einen anderen Haken hat, den ich an anderer Stelle in der Schaltung noch nicht gefunden habe.


    Im Moment besteht mein Hauptziel darin, den Befehlssatz und die Busschnittstelle zu dekodieren. Das Diskettenlaufwerk-Schnittstellen-Frontend hat die niedrigste Priorität, da ich hauptsächlich versuche herauszufinden, wie die Firmware die von der CPU-Karte gesendeten Aufrufe verarbeitet.

  • Eines fällt mir auf. Dies wird im Mikrocode nicht verwendet, aber die DMA-Hardware auf der Karte unterstützt einen vollständigen 20-Bit-Adressbus, indem sie einige nicht verwendete Pins am Backplane-Anschluss verwendet. Vielleicht hatten sie irgendwann Pläne, eine 8088-CPU-Karte für die TDV-2100-Serie zu entwickeln?

  • Ich wollte nur erwähnen, dass ich nun die Funktionsweise aller Befehle des Double-Density-Controllers herausgefunden habe. Jetzt muss ich nur noch alle meine Notizen in einer Referenz zu diesem Thema organisieren.


    Einige interessante Details:

    • Spur 0 Kopf 0 ist fest auf einfache Dichte codiert, auch für die Formatierung. Lesen/Schreiben ist in 128-Byte-Sektoren fest codiert.
    • Spur 0 Kopf 1 ist entweder in 128- oder 256-Byte-Sektoren fest codiert.
    • Die Kompensation des reduzierten Schreibstroms beginnt bei Spur-ID 44 (dezimal).
    • Sektorlängen größer als 1024 werden nicht unterstützt.
    • Die Anzahl der Sektoren ist nicht begrenzt/überprüft, aber der Controller erwartet, einen Sektor zu finden, nach dem der Host gefragt hat.
    • Es gibt einen Befehl für die relative Schrittweite, aber die meisten Vorgänge erfordern eine absolute Spurnummer (im Gegensatz zum Single-Density-Controller).
    • Bei der Formatierung werden nur Daten als Eingabe verwendet, nicht die Uhr, mit genau denselben Sonderbytes, die auch die Western Digital FD179x-Serie verwendet.
  • Ich habe vergessen zu erwähnen, aber das ist wahrscheinlich am relevantesten für Roland, da er die gleiche Karte hat: Ich habe dem Dokument auch Jumper-Einstellungen hinzugefügt.


    Der interessanteste Jumper ist derjenige, der eine Grundgeschwindigkeit von 250 kHz für das Magnetsignal auswählt, genau wie bei 5,25-Zoll-Laufwerken mit einfacher/doppelter Dichte.

  • Der interessanteste Jumper ist derjenige, der eine Grundgeschwindigkeit von 250 kHz für das Magnetsignal auswählt, genau wie bei 5,25-Zoll-Laufwerken mit einfacher/doppelter Dichte.

    Standard-8"-Floppys arbeiten mit 500kHz, sowohl bei FM als auch bei MFM. Oder stellt man damit die Datenrate (!= Bitrate) ein? Bei 5,25"-Laufwerken SD/DD (=FM/MFM) sind es tatsächlich 250kHz.

  • Standard-8"-Floppys arbeiten mit 500kHz, sowohl bei FM als auch bei MFM. Oder stellt man damit die Datenrate (!= Bitrate) ein? Bei 5,25"-Laufwerken SD/DD (=FM/MFM) sind es tatsächlich 250kHz.

    Ja. Wie Sie hier sehen können: Wenn Sie die voreingestellte Leiterbahn auf der Platine abschneiden und den Jumper ändern, halbiert sich der Taktquellezum Schreibmodulator im Vergleich zu dem, der normalerweise sowohl im FM- als auch im MFM-Modus vorliegt.


    Allerdings weiß ich nicht, ob der Lesedemodulator mit den mitgelieferten Verkleidungsteilen eingestellt werden kann. Auf jeden Fall ist der Lese-Demodulator eine kleinere separate Platine auf der Rückseite, die mit einem abnehmbaren Stecker verbunden ist und bei Bedarf leicht ausgetauscht werden kann. Die einzige Herausforderung besteht darin, dass eine Klonplatine mit der passenden Grundfrequenz für den Tracking-Oszillator erstellt werden muss.

  • Und hier sind die mehr oder weniger vollständigen Schaltpläne! Dies wurde ebenfalls mit KiCad 6 erstellt.


    Wie bei den RAM-Karten-Schaltplänen wurden nicht alle Pull-up-Widerstände, Leistungssymbole oder Entkopplungskondensatoren eingezeichnet, da der Schwerpunkt darauf lag, die Funktionsweise der Karte herauszufinden. Jedes lose Ende, das nach unten geht, wird mit Masse verbunden, während jedes lose Ende, das nach oben geht, entweder zu einem Pull-up-Widerstand oder direkt zu VCC geht. Die beiden AM2901 wurden ebenfalls nicht eingezeichnet, um Unordnung zu vermeiden, aber alle zu ihnen führenden Signale wurden beschriftet.

  • Um das Schreiben von Software zu vereinfachen, werde ich den TDV-2114/24 zu MAME hinzufügen. Dies kann einige Zeit dauern, da ich bisher nur ein wenig für MAME programmiert habe, aber es scheint eine machbare Aufgabe zu sein. Die meiste Arbeit scheint tatsächlich darin zu bestehen, einen Treiber zu schreiben, der das "Display-Logic" Terminalmodul emuliert.

  • Die Arbeit am Emulator geht stetig voran, ich habe jetzt die vollständige Bildschirmzeichnung sowie die entsprechende Eingabe-ASCII-Datenanalyse im Terminalmodul implementiert. Es bleibt noch viel Arbeit übrig, aber sobald ich Tastatur- und UART-Treiber hinzugefügt habe, werde ich zumindest einen vollständig lauffähigen TDV-2115-Dumb-Terminal-Emulator haben.


    Von da an wird das Hinzufügen von CPU und Speicher sehr einfach sein. Der größte Teil der verbleibenden Arbeit, wenn das Terminalmodul fertig ist, wird mit der Emulation der beiden Diskettencontroller verbunden sein.

    Anbei ist der Testbildschirm, den ich zum Debuggen der Zeichenroutinen verwendet habe, und wie ich ihn jetzt generieren kann.


  • Ich konnte Informationen über die kleine Platine auf der CPU-Platine erhalten, beispielsweise auf der Karte, die Roland hat. Dies verfügt über eine andere Schaltung zum Sperren der Interrupt-Nummer während eines Interrupt-Triggers.


    Der obere Schaltkreis ist die kleine Platine, der untere Schaltkreis stammt aus dem CPU-Board-Handbuch.

    Der einzige Unterschied, den ich dadurch erkennen kann, besteht darin, dass bei der kleinen Platine das INT-Signal bis zum Ende von INTA aktiviert bleibt. Bei der ursprünglichen Implementierung wird INT gelöscht, sobald alle IREQn gelöscht sind.


  • Jetzt konnte ich die ROM-Chips der zusätzlichen CPU-Karte zurücklesen und sie scheint von einem Standard-TDV-2114 (SSSD-Datenträger) mit Kassetten-Tape-Funktionen in der Kernel-API zu stammen. Bei einer Demontage sieht es so aus, als wäre alles, was mit der Band-API zusammenhängt, auf die letzten beiden EPROMs als optionale ROM-Erweiterung beschränkt.


    Die Infozeichenfolge im Monitor besagt, dass es sich um Kernel 960429/59, Revision 5 handelt. Ich kann nur annehmen, dass es sich bei -29 um die Basis-Kernel-ROMs und bei -59 um die Kassetten-Band-Erweiterungs-ROMs handelt, bin mir aber nicht 100 % sicher darüber. Die Markierungsaufkleber waren verschwunden. Andererseits bin ich mir ziemlich sicher, dass dies das „XMON/D, Level 5“ ist, auf das sich der Newsletter vom Oktober 1979 bezieht. Es wäre wahrscheinlich die letzte Version des Kernels vor der Veröffentlichung des TDV-2124 gewesen, und vielleicht sogar die endgültige Version für den TDV-2114, basierend auf dem Produktionsdatum des Boards.

    Ich habe auch ein Display 2-Board von Mattis bekommen, das anscheinend die internationale Schriftart für den einfachen TDV-2115L hat.