micro-dev.de Alles zum Mikrocontroller im Netz. Arduino, Raspberry Pi und Co.
Ein Atmega328 steuert einen Z80-Computer - Druckversion

+- micro-dev.de Alles zum Mikrocontroller im Netz. Arduino, Raspberry Pi und Co. (https://micro-dev.de)
+-- Forum: Retro-Board (https://micro-dev.de/forumdisplay.php?fid=39)
+--- Forum: Z80 (https://micro-dev.de/forumdisplay.php?fid=40)
+--- Thema: Ein Atmega328 steuert einen Z80-Computer (/showthread.php?tid=227)

Seiten: 1 2 3 4 5 6 7 8 9 10 11 12


Ein Atmega328 steuert einen Z80-Computer - Titanes - 05.03.2020

Hi Uni,

da hast du dir ja schon einiges vorgenommen. Ich werde mich demnächst wieder an meine 7- Segment-Uhr begeben.

Gruß

Titanes

Gesendet von meinem Redmi Note 7 mit Tapatalk


RE: Ein Atmega328 steuert einen Z80-Computer - Unilein - 26.04.2020

Hallo zusammen,

man hat ja zur Zeit doch recht viel Freizeit oder zumindest einen leicht geänderten Tagesablauf. Und deshalb hatte ich jetzt auch Zeit und Lust, hier mal kurz weiter zu machen. Ich hatte ja mal ein Konzept einer IDE-Schnittstelle umgesetzt und war kläglich gescheitert. Daraufhin hatte ich das Vorhaben zunächst beiseite gelegt.

In den letzten Tagen habe ich mal wieder auf den Schaltplan geschaut und angefangen, das Konzept auf dem Breadboard zu stecken. Da aber die Anzahl der Kabel ziemlich groß und die Komplexität der Verkabelung ziemlich komplex ist, kam ich immer wieder durcheinander. Also habe ich mein Breadboard wieder beiseite gestellt und andere Dinge gemacht. Heute habe ich mir dann meinen Schaltplan von damals einfach ausgedruckt und mich damit auf meine Terrrasse gesetzt.

Und siehe da: ein sehr grober Fehler. Ein IC (74HCT574) komplett verkehrt herum im Schaltplan. Das habe ich natürlich im Schaltplan gleich mal korrigiert. Danach konnte ich es nicht lassen und habe gleich mal Platinen bei JLCPCB bestellt. Bin gespannt, ob das Ding dann jetzt funktioniert.

Gruß
Uni


RE: Ein Atmega328 steuert einen Z80-Computer - Unilein - 13.06.2020

Hallo zusammen,

der letzte Bericht ist ja schon wieder ein Weilchen her. Also heute mal ein Udate.

Die bestellten Platinen kamen, trotz Corona, recht schnell. Wie immer in einer prima Qualität. Natürlich habe ich die erforderlichen Lötarbeiten noch am Tag der Lieferung durchgeführt :-). Testen konnte ich das zunächst aber nicht, da das passende Programm neu geschrieben werden musste. Ich habe dazu das Programm von dieser Seite: http://www.cosam.org/projects/z80/ata.html portiert. Das Programm bietet die nötigen Routinen um die Hardware anzusprechen. Das Hardware stammt auch von der genannten Seite. Beides habe ich an meine Hardware angepasst.

Die ersten Versuche mit der Hard- und Software sind natürlich gescheitert. Danach hatte ich dann zunächst die Lust verloren. Stattdessen habe ich mich mal wieder um meinen Garten und um das undichte Dach meines Geräteschuppens gekümmert  Big Grin .

Nach dieser kurzen Schaffenspause habe ich wirklich lange Zeit mit der Signalverfolgung auf der Platine verbracht. Unter Anderem hatte einen Testaufbau auf dem Breadboard. Die Platine hatte ich dort aufgesteckt und dann die nötigen Signale mit Tastern und LED's versehen. Dabei konnte ich feststellen, dass viele Signale icht stabil waren oder auch vollkommen unlogisch. Weitere Messarbeiten ergaben dann einen fehlenden Massekontakt an einem der Flip-Flops. Das war dann schnell mit einer kleinen Drahtbrücke korrigiert.

Danach natürlich wieder unzählige Tests mit den Programmen. Und siehe da: Nach unzähligen Versuchen war es möglich, den Sektor 0 (Bootsektor) der angeschlossenen CF-Karte auszulesen.  Idea  Big Grin. Leider funktioniert das noch nicht immer. Bei vielen Versuchen kommt es zu Timeouts oder fehlerhaften Daten. Da ist also mal wieder das Timing ein Problem. Da aber alle IC's gesockelt sind, kann ich da sicher mit anderen Versionen der IC's noch etwas anpassen. Wichtig ist mir erst einmal, dass die Hardware grundsätzlich funktioniert. Cool

Weitere Infos folgen, wenn sie denn vorliegen. Da ich aber jetzt Urlaub habe, kann das schon bald der Fall sein Big Grin

Gruß
Uni


Ein Atmega328 steuert einen Z80-Computer - Unilein - 13.06.2020

Hallo zusammen,

ich habe mal noch ein Bild vom Auslesevorgang von Sektor 0 auf dem Z0Ardu gemacht. Das ist sozusagen ein "Live-Bild" :-)

Zuvor habe ich mit HxD (ein Hex-Editor) den Sektor 0 der CF Karte manipuliert. Ich habe die Betriebssystem-ID von MSDOS5.0 auf Z80ARDU geändert. Das kann man auf dem Bild auch erkennen.

Gruß
Uni

[Bild: e2a0dc773caf26651047ca0e72e9b047.jpg]


Ein Atmega328 steuert einen Z80-Computer - Titanes - 23.06.2020

Hi Uni,

hast du jetzt also ein MSDOS undercover auf dem Z80?
Bist du schon dazu gekommen, die ICs anzupassen? Meine MCs sind schon lange da. Hab aber momentan wenig Zeit für meine Projekte.

Gruß

Titanes


RE: Ein Atmega328 steuert einen Z80-Computer - Unilein - 24.06.2020

Hallo Titanes,

nee, ich habe noch keine Tests mit anderen IC's gemacht. Von den Flipflops (74HCT574) habe ich auch gar keine andere Versionen da. Inverter (7404) habe ich. Das könnte ich testen. Und vom 2-zu-4 Dekoder (74HCT139) habe ich bestimmt noch eine LS-Version. Oder-gatter (74HCT32) habe ich wohl auch keine LS-Versionen da.

Die HCT-Versionen sind prinzipiell etwas schneller. Könnte ein Problem sein... Allerdings wundert es mich, dass ich Sektor 0 meistens problemlos lesen kann, andere Sektoren bereiten jedoch Probleme. Aber OK... Erst einmal ein wenig probieren.

Ich setze als "Festplatte" momentan einen CF-Adapter ein. Dort könnte das Problem natürlich auch stecken.Ich muss gelgentlich mal eine andere Karte probieren. Oder eine echte Festplatte... Da muss ich aber vermutlich zunächst eine meiner alten Festplatten umpartitionieren. Die Kleinste, die ich habe, hat 160 GB. Das geht mit FAT16 nicht. Da ist 8 GB, glaube ich, das maximum. Oder auch nur 2 GB. Wobei 2 GB für einen Rechner mit 64 Kilobyte Speicher schon mehr als ausreichend sein dürfte Big Grin

Gruß
Uni


RE: Ein Atmega328 steuert einen Z80-Computer - Unilein - 30.06.2020

Tach zusammen!

So, ich habe mal ein paar IC's getauscht. In meinem IC-Lager hatte ich noch 74LS32 und 74HC139 herum liegen. Ich habe die entsprechenden HCT-Typen entfernt und durch die genannten ersetzt. Für die 74HCT574 habe ich aktuell keinen alternativen Typ vorrätig. Da ist also jeweils die HCT-Variante im Einsatz.

Die HC-Typen sind CMOS-IC's. Diese haben eine andere Schaltschwelle. Eigentlich sollte man TTL und CMOS nicht unbedingt mischen, aber in diesem Fall funktioniert es. Die HC-Varianten sind eigentlich genauso schnell wie die HCT-Varianten.

Nach dem Tausch habe ich ein wenig getestet. Es ist eine minimale Verbesserung erkennbar. Sektor 0 wird nun recht zuverlässig gelesen. Andere Sektoren lesen (oder schreiben) funktioniert weiterhin nicht. Es könnte sich natürlich um einen Fehler in den verwendeten Routinen handeln. Das muss ich aber noch analysieren. Dodgy

Gruß
Uni