3R Computers TC100 AVATAR

  • Ich habe "damals" beim Z80 das dem RAM vorgelagerte BOOT-EPROM durch einen I/O Zugriff (Lesend oder Schreibend war egal!) abgeschaltet und damit kam das RAM zum Vorschein (in welches sich das EPROM vorher 1:1 hineinkopiert hatte)

  • Guten Tag

    NIXDAS


    Vorab sorry, wenn ich falsch liege, da ich selbst solch ein System noch nie besaß, sondern mir auch nur auch euren Bruchstücke, Beiträgen mir ungefähr ein Bild machen kann,


    Kann es sein, das die Buffer Batterie noch fehlt für die RTC


    mikemcbike

    Zeigte zuletzt ein Bild, Bezeichnet als RTC,


    Wenn man kurz in dein Bios reinschaut, sieht man schon die Möglichkeiten

    Z. B auch Selftest,

    Dort wird auch eine Winchester Disk erwähnt


    Anbei ein paar Screens was ich meine

  • Die Buffer Batterie fehlt in der Tat.

    Diese Batterie versorgt vermutlich nur den Uhrenbaustein MM58174AN,der sich in der Nähe der Batterie befindet.

    Der MM58174AN besitzt kein CMOS RAM, in dem sich der Avatar Konfigurationsdaten merken könnte.


    Ich habe nun den Baustein identifiziert, in dem vermutlich die Konfigurationsdaten gespeichert werden.

    Es handelt sich um den X2210D. Das ist ein NOVRAM, 64x4Bytes.

    Es ist der Baustein oben links im angehängten Bild.


    Bei Stromausfall werden die Daten des RAMs in einem EEPROM dauerhaft gespeichert.

    Nach dem erneuten Einschalten können diese Daten wieder zurück ins RAM geholt werden.

    Diese Daten habe ich durch meine Aktion leider zerstört.

    Vielleicht erkennt das BIOS den SASI-Controller und die Festplatte wieder, sobald ich diese angeschlossen habe

    und den Terminal-Setup Button erneut gedrückt habe.


    Zunächst werde ich aber versuchen, das disassemblierte BIOS besser zu verstehen.


  • Um das BIOS des Avatar weiter zu entschlüsseln, benötige ich unbedingt die I/O-Adressen

    der Peripheriebausteine auf dem Motherboard.

    Die I/O-Adressen, welche das BIOS benutzt, habe ich aus dem Disassembler-Listing entnommen.

    Aber zu welchem Peripherie-Baustein gehören die?

    In dem Fall bewährt sich ein TLA714 Logik State Analyzer mit Z80 Adaption.


    Viele Adressen habe ich nun zuordnen können, einige nicht.

    Die I/O-Adressen der PIOs auf dem Submodul kenne ich z.B. nicht.

    Ich musste es entfernen, weil es den Z80-Sockel überdeckt.


    Interessant, während der Messungen habe ich zufällig entdeckt, daß es einen

    Quasi DMA Verkehr gibt, nachdem ein I/O-Befehl an die Adresse 14H ausgegeben wird.

    Irgendeine Logik aktiviert BUSREQ#. Der Z80 aktiviert BUSAK#. Dann werden Daten übertragen.

    Das passiert immer im POST, wenn der Speicher des 8088 getestet wird.



  • kleiner Fehler:

    U6 04 bis 07

    U2 08 bis 0b

    U43 00 bis 03

    :)


    Ach und U7 hängt mit großer Wahrscheinlichkeit an I/O Pins, weil für den Z80 Bus zu langsam

  • Ich habe die Liste der I/O-Adressen aktualisiert.


    Der Inhalt des NOVRAM ist durch ein Checksum-Nibble auf Adresse 0C0H gesichert.

    Addiert wird der Inhalt der Zellen 0C1H - 0FFH und die Checksum dann Modulo2 gebildet und in 0C0H gespeichert.

    Das BIOS prüft die Checksum ganz vorn im Selbsttest und löscht das gesamte NOVRAM, wenn die Checksum nicht stimmt.


    Auf dem Motherboard gibt es ein 74LS259 8 Bit Addressable Latch. Es wird über die I/O-Adressen 40H - 4FH angesteuert.

    Z80-A0 ist am D-Eingang angeschlossen. Z80-(A3-A1) sind an A2:A0 des 74LS259 angeschlossen.

    Eine EIN- oder Ausgabe auf eine gerade Adresse löscht den adressierten Ausgang und eine EIN- oder Ausgabe auf eine

    ungerade Adresse setzt den adressierten Ausgang.

    Ich könnte mir vorstellen, dass die Ausgänge des 74LS259 die STORE- und RECALL-Eingänge des NOVRAM ansteuern.

    Dann hätte ich durch Lesen einer der Adressen im Bereich von 40 - 4FH den Inhalt des NOVRAM zerstören können.


    Einmal editiert, zuletzt von NIXDAS ()

  • Jetzt habe ich herausgefunden unter welchen I/O-Adressen der MM58174AN RTC-Baustein angesprochen werden kann.


    Der MM58174AN RTC-Baustein belegt die I/O- Adressen 20H - 2FH.

    Bei jedem Zugriff wird der WAIT#-Eingang des Z80 für etwa 750 nsec aktiviert.

  • Im BIOS habe ich inzwischen die Routine gefunden, welche den Boot-Sektor von der Winchester-Disk einliest.

    Die Routine sendet dazu verschiedene Parameter an den SASI-Controller.

    Die Parameter sind abhängig von zwei Einträgen im NOVRAM.

    Um nun zurück zu schließen, welche Parameter ich im NOVRAM für meine RODIME R202 10MB Winchester-Disk speichern

    müsste und um von der Winchester Disk zu booten, muss ich herausfinden, was die Parameter bedeuten.

    Zu diesem Zweck muss ich wissen, was das BIOS bewirkt, wenn es verschiedene Bits des SASI-Interfaces kontrolliert bzw. abfragt.


    Um weiter zu kommen, habe ich den Schaltplan des SASI Submoduls ausgeklingelt.

    Ich hänge den Schaltplan mal hier an, übernehme aber keine Gewähr für die Vollständigkeit und Korrektheit.


    Auf dem SASI-Module befindet sich ein Parallel-Interface mit einem weiteren Z80-PIO.

    Dieser PIO sollte unter den Adressen 0BCH-0BFH ansprechbar sein.

    Das Parallel-Interface habe ich bei dem Schaltplan nicht berücksichtigt.

  • Im BIOS habe ich die Routine gefunden, welche das SASI-CMD - ASSIGN DISK PARAMETERS an den OMTI 20L

    SASI-to-ST506 Controller ausgibt.

    Aus dieser Routine konnte ich auf die Tabellen schliessen, in denen die Parameter (Number of Cylinders,

    Number of Heads, Sectors per Track) gespeichert sind.

    Aus den Tabellen und durch den Vergleich der Daten der RODIME Winchester Disks RO202, RO203 und RO203

    konnte ich schließen, welche Einträge ich für meine RO202 Winchester-Disk im NOVRAM ablegen muß.

    NOVRAM Adresse 0DDH entscheidet, ob nur eine Floppy oder o zusätzlich eine Winchester Disk eingebaut ist.

    NOVRAM Addr. 0DDH = 0 -> Nur Floppy Disk

    0DDH = 1H - FH - Floppy Disk und Winchester Disk

    NOVRAM Addr. 0E2H: Number of Cylinders, Number of Heads

    NOVRAM Addr. 0E3H: Number of Sectors per Track, Parameter XX


    Parameter XX wird aus der Tabelle ausgelesen und im RAM gespeichert.

    Parameter XX wird später vom BIOS nicht wieder verwendet.

    Für meine RODIME 202 Winchester-Disk müsste ich folgende Werte im NOVRAM speichern.

    NOVRAM Addr. 0DDH: 1H

    NOVRAM Addr. 0E2H: 2H

    NOVRAM Addr. 0E3H: 2H


    Jetzt stellt sich die nächste Frage: Wie bekomme ich die erforderlichen Werte ins NOVRAM.

    Zu dem Zweck muss ich noch einige Messungen auf dem Motherboard vornehmen.




  • Ich habe die I/O-Adressen gefunden, mit welchen das X2210 NOVRAM kontrolliert wird.


    I/O-Adresse 18H lädt den Inhalt des XC2210- EEPROMs ins RAM.

    Das passiert bei jedem Einschalten.

    I/O-Adresse 1CH lädt den Inhalt des XC2210-RAMs ins EEPROM.

    Das passiert nur, wenn sich ein Parameter geändert hat,

    z.B. wenn man mit dem Druck auf den TERMINAL-SETUP-Button die Baudrate anpasst.


  • Die Winchester Disk muss wieder enabled werden und die passenden Parameter müssen im NOVRAM eingetragen werden.

    Am Ende ist es einfacher als ich erwartet habe.

    Ich kann mich in die Terminal Setup-Routine des BIOS einklinken.

    Bevor die Terminal-Daten wie Baudrate etc. vom RAM zurück ins EEPROM des NOVRAM geschrieben werden,

    schreibe ich die Harddisk-Parameter und setze das Bit zum enablen der Winchester Diisk.

    Dann rufe ich die BIOS-Routine, welche die neue Checksum bildet und den Inhalt des RAMs

    ins EEPROM schreibt auf, bevor ich zurück ins BIOS springe.


    Im Anhang findet sich eine Beschreibung der Änderungen.


    Zunächst wird das BIOS gepatched.

    Dann schalte ich den Avatar ein.

    Ich lasse ihn bis zu dem Punkt laufen, wo er zur Eingabe von Return zum Booten von der Floppy auffordert.

    Jetzt drücke ich den Terminal-Setup-Button links unten an der Rückseite des Avatar.

    Auf dem Bildschirm ändert sich zunächst nichts.

    Ich gebe über das Terminal ganz langsam 1 2 3 (ohne Leerzeichen) ein.

    Der Avatar meldet sich wie gewohnt mit seiner BIOS-Meldung,

    testet sein RAM und bietet jetzt wieder die Eingabe von RETURN zum Booten

    von Winchester Disk an.

    Das ist schon mal geschafft.


  • Ich war auch recht überrascht, daß sich das BIOS des Avatar TC110 Setup-Daten im nichtflüchtigen Speicher merkt.


    Hier eine Korrektur zu meinem zuvor geposteten Patch.

    Der Rücksprung aus der Patch-Routine erfolgt auf Adresse M014E, nicht auf M0107.


    Ich hänge mal eine gepatchte Version des Avatar BIOS ver. 2.01 an.


  • Beim Einbau des OMTI 20L SASI-Controllers fällt plötzlich etwas herunter.

    Es ist das Trimm-Poti R4. Das sitzt ganz nah am Rand der Platine und ist beim Einschieben

    des Controllers in die Führungsschiene abgeschert worden.

    Früher aufgenommene Bilder zeigen, daß es schon vor dem Einbau schief auf der Platine saß,

    wobei wahrscheinlich bereits Anschlüsse abgebrochen waren.

    Ich habe die Anschlüsse mit flexiblem Draht verlängert und das Poti hinter dem dicken weißen 24-poligen

    Bauteil festgeklebt, dessen Zweck ich gern kennen würde.




  • Der OMTI 20L SASI-Controller ist nach der Änderung hoffentlich lauffähig.


    Ich wage es und baue auch die 10 MB Winchester Disk wieder ins Gehäuse des Avatar.


    Nach dem Einschalten ist die Geräuschkulisse nicht viel anders als vor dem dem Einbau der Harddisk.

    Für einige Sekunden ist ein leisen Klicken zu hören, so wie man es manchmal hören kann, wenn

    ein überlastetes Netzteil abschaltet.

    Dann läuft die Rodime RO-202 mit lautem Getöse los und kommt langsam auf Touren.

    Nach ca. 30 Sekunden wird die Platte leiser und die Laufgeräusche entsprechen den Erwartungen,

    die man mit einer full-height MFM-Platte verbindet.

    Durch die Frontplatte der RO-202 leuchtet eine rote LED. Das muss die Power-LED sein.

    Wenn die Platte einen Fehler während des Selbst-Tests entdeckt hätte, würde sie einen 4-Bit Error Code

    über eine zweite rote LED morsen.


    Ich drücke die RETURN Taste, um von der Winchester Disk zu booten.

    Das Terminal macht eine neue Zeile, sonst passiert nichts.

    Ich warte weitere 30 Sekunden, aber nichts passiert.

    Schaaaade, ich hatte sehr gehofft mindestens das DISKOPS.COM Utility auf der Festplatte zu finden!


    Enttäuscht schalte ich den Rechner aus und wieder ein.

    Die Harddisk läuft sofort an und produziert normale Laufgeräusche.

    Leider wiederholt sich das Spiel. Der Rechner hängt, sobald ich die Winchester Disk als Boot-Medium auswähle.

    Von Floppy kann ich weiterhin booten.

    Leider kann ich nicht tracen, wo der Z80 in dem Moment kreist.

    Das SASI-Modul überdeckt den Z80 Sockel, so daß ich keinen Meßadapter aufsetzen kann.


    Jetzt wäre es an der Zeit, daß Fritz sein Glück mit dem MFM-Emulator versucht.

    Wir werden noch einen Termin für einen Besuch finden.


    Am Wochenende werde ich mal ein paar Signale am SASI-Interface aufzeichnen, um zu sehen,

    ob der Z80 mit dem SASI-Controller spricht.

    • Offizieller Beitrag

    Am Wochenende werde ich mal ein paar Signale am SASI-Interface aufzeichnen, um zu sehen,

    ob der Z80 mit dem SASI-Controller spricht.

    Vielleicht hilft dir dies:

    SCSI Adapter fuer Tektronix Logic Analyzer

  • Du kannst die Platte und den Controller auch mal extern aufbauen, das ist nichts anderes als SCSI, müsste also auch mit längerem Kabel funktionieren. Du kannst das SASI-Plattengespann auch mal an einem PC am SCSI-Controller anschließen und mal gucken was da so geht.

    1ST1

  • "...dicken weißen 24-poligen Bauteil festgeklebt, dessen Zweck ich gern kennen würde." --> Steht doch eh drauf: OMTI 131 ROM. Da steckt wohl die eigentliche Intelligenz des Controllers (sein Programm zum Zusammenspiel Rechner und SASI Bus/Platte) drin. Die OMTI 131 Version für Avatar kenne ich leider nicht, aber vielleicht hilft die generische bzw. PC Controller Doku auch (http://www.bitsavers.org/pdf/s…C_Bus_Interface_Jun85.pdf, http://www.bitsavers.org/pdf/sms/OMTI_5x00.pdf)? Es gab hier auch schon mal einen ähnlichen Thread, da ist auch ein interessantes Dokument verlinkt (RE: Santa Clara Systems, externe Festplatte).

  • Das "dicke weisse Ding" ist mit großer Sicherheit ein Dickfilmmodul (Keramik-"Leiterplatte" mit aufgedruckten Widerständen, Kondensatoren und ggf. gebondeten Halbleitern).

    Der Aufkleber hat damit nichts zu tun, er ist wohl dort drauf geklebt, weil dies die einzige passende Fläche ist :)

  • Gestern war ein Tag ohne alte Computerangesagt, Motorrad-Tour mit den ehemaligen Arbeitskollegen in den Teutoburger Wald,

    Einkehr beim Malepartus bei Lienen und auf der Rückfahrt noch Motorräder bestaunen an der Brocker Mühle.


    Das dicke weiße Bauteil würde ich auch als Dickschicht-Modul ansehen, in dem Präzisionsbauelemente wie Widerstände

    und Kondensatoren integriert sind. Interessant wäre es, die Schaltung des OMTI 20L zu haben.

    Die Schaltung der Rodime RO202 Festplatte ist im Manual enthalten, das im Netz zu finden ist.


    Die Informationen zu SASI habe ich herunter geladen soweit ich sie noch nicht hatte.


    Der SCSI Adaper für den Tektronix TLA wäre interessant zumal ich einen Tektronix TLA-714 Logic-Analyzer besitze.


    Zunächst will ich mir das SASI-Interface aber einmal analog ansehen.

    Es passiert etwas am SASI, aber mit ein paar Ozilloskop-Probes kann ich nicht wirklich beurteilen, was passiert.


    Ich will zunächst einmal einen 50-poligen Adapter basteln, an dem ich alle Signale des SASI-Bus abgreifen kann.


    Ich hänge hier mal ein Bild des SASI/Parallel Moduls ohne die Schaumstoff-Abdeckung an.

    Der Schaumstoff verdeckt die Steckverbindung zum Motherboard, die durch die SASI-Platine hindurch geführt worden

    ist und theoretisch ermöglichen würde, noch ein weiteres Modul huckepack aufzustecken.


    • Offizieller Beitrag

    Ich will zunächst einmal einen 50-poligen Adapter basteln, an dem ich alle Signale des SASI-Bus abgreifen kann.

    So einen hat Kuhrator schon gemacht.


    Wenn er keine Platinen mehr hat, kannste meinen geliehen haben.

  • Zunächst will ich mir das SASI-Interface aber einmal analog ansehen.

    Es passiert etwas am SASI, aber mit ein paar Ozilloskop-Probes kann ich nicht wirklich beurteilen, was passiert.


    Ich will zunächst einmal einen 50-poligen Adapter basteln, an dem ich alle Signale des SASI-Bus abgreifen kann.

    Mich erstaunt das, dass du das machen willst. Ich weiß jetzt nicht, wie oft ich die Information hier in diesen Thread schon reingekippt habe, aber es wird entweder nicht gelesen, oder mir wird nicht geglaubt.


    SASI ist gleich SCSI-1. Pinbelegung gleich, Befehlssatz gleich. Timing gleich. Busphasen gleich. Alles bestens dokumentiert, zu SCSI gibt es dicke fette Bücher, wo auch diese Umbenennung erwähnt wird. Das einzige was sein kann, dass sich so frühe MFM/RLL-zu-SASI/SCSI-Adapter wie der hier, oder auch der Adaptec ACB-4000 (der in den ATARI-Festplatten SH204, SH205, Megaflile 20, 30, 60 mehr oder weniger sichtbar (dort mit einer SCSI-zu-ACSI-Logik), bei einer Bus-Abfrage nach Geräten etwas seltsam meldet (Leerer Gerätenamen). Den originalen Adaptec ACB-4000 (aus der SH-204) hatte ich vor Jahren aber schon mal an einem SCSI-Controller für PCs (Adaptec AHA-1541) dran, um aus PC-Sicht eine Atari-Platte zu inspizieren, was grundsätzlich funktionierte, und Linux erkannte sogar das Partitionsschema usw.


    SASI (Shugart Assosiation System Interface) wurde schlicht zu SCSI (Small Computer System Interface) umbenannt, und später durch diverse Hersteller benutzt und erweitert, lebt heute noch in Spuren in SAS, SATA, Fibrechannel und iSCSI weiter.


    Hier übrigens ein Foto von dem Adaptec ACB-4000: http://www.atari-computermuseum.de/st_peri.htm



    Diese SASI/SCSI-zu MFM/RLL-Controller von Seagate und Adaptec gehören zu den ältesten SCSI-Peripheriegeräten überhaupt.


    Siehe auch hier: Wie Programme vom PC auf Atari Mega ST bringen

    1ST1

    2 Mal editiert, zuletzt von 1ST1 ()