Dienstag, 3. Mai 2011

Ein Schritt Richtung CP/M

Ich habe mich entschieden, CP/M auf meinem Z80-Rechner zum Laufen zu bringen. CP/M ist ein altes Betriebssystem (quasi der "Vater" von MS-DOS), welches hauptsächlich auf den guten alten 8-Bit-Systemen zum Einsatz kam. Dazu sind zwei weitere Dinge nötig: Am Beginn des Adressraumes muss RAM sein, und ich benötige einen Massenspeicher. Das erste Problem ist gelöst, mit einer einfachen Schaltungserweiterung lässt sich nun der ROM deaktivieren. Die kleine Platine, die eigentlich nur ein Oder-Gatter und ein Transistor enthält, lässt sich auf den 3er-Pinheader auf die Platine aufstecken, es sind glücklicherweise keine Änderungen auf der Main-Platine nötig:



Massenspeicher ist etwas aufwändiger: Ich hatte vor, SD-Karten als Massenspeicher zu verwenden. Nur irgendwie will meine dazu gebastelte Platine nicht funktionieren, die SD-Karte antwortet einfach nicht. Daher habe ich das jetzt (verzweifelt) aufgegeben und möchte mir nun eine IDE-Schnittstelle basteln. Diese ist erstaunlich simpel! Der Charme der IDE-Schnittstelle besteht nicht nur darin, Festplatten an mein System anzubinden, sondern auch darin, CompactFlash-Karten nutzen zu können. Über einen einfachen Adapter lässt sich CF an IDE anschließen! Und es gibt wiederum einen CF-zu-SD-Karten-Adapter, so dass mir theoretisch auch SD-Karten zur Verfügung stünden.

Es gibt dabei zwei Schwierigkeiten zu überwinden: Der ATA/IDE-Datenbus ist 16-Bit breit (im Gegensatz zum 8-Bit Z80) und Daten werden von der IDE-Schnittstelle bei steigender Flanke der /RD bzw. /WR-Signale "gesampelt", was zu Timingproblemen führt.

Glücklicherweise gibt es ein paar Projekte im Netz, von denen ich mir was abgucken kann. Jetzt muss ich mich nur noch entscheiden, ob ich die Platine auf Lochraster aufbaue oder wieder fertigen lasse. Das Problem mit den Lochraster-Platinen ist, dass ich einfach keine wirklich gute Methode habe, solche Platinen selber zu bauen. Und mit Kupferlackdraht gibt es auch häufig Probleme wie schlechte Lötstellen, angeschmorter Lack usw.

1 Kommentar:

  1. geiles projekt. bin auch diese tag grad dabei mich intensiv mit der Z80 auseinanderzusetzen.
    hab mir nun mal in der bucht ne Z80 und etwas ram gekauft, als buffer fuer die adress / data switching hab ich mich fuer die 74HC541 entschieden und eine 74HC574 um 8 LED's anzusteuern. eine eprom hab ich noch nicht integriert. es geht mir vorgaengig darum mal mit einem minimal system den Z80 anzusteuern und daten ins RAM zu legen und wieder auszulesen. kann ich ja mit 8 tastern in einzelschritten eingeben. danach werd ich ein eprom integrieren und ein uart. verstehe noch weniger als du, verfolge aber diesen blog mal. scheint intressant zu werden

    gruss aus england
    randy

    AntwortenLöschen