Simple 8085 Computer

  • Auf Anregung von ThoralfAsmussen,

    hab ich mich heute mal mit KiCad dran gesetzt eine Simple 8085 Platine zu entwerfen, nur Prozessor, EPROM, RAM, RS232 (Max232), IO mit 8255 (nicht 8155). Schaltplan ist soweit fertig, ich bitte die Experte mal drüber zu schaun, ob das so gehen kann. Adressdekodierung nur mit 74LS00, ok GAL wäre auch denkbar, aber es soll einfach und nachbausicher sein. Wer was besseres will kann ja eine MFA-CPU Platine nehmen.

    Ziel beim Layout wäre evtl. einstige Platine zum selber löten. Mit dem Layout hab ich aktuell noch nicht angefangen. Mag sein, dass ich "Pinbelegungen" aus Layoutgründen noch ändern werde, speziell bei den IO-Ports. Wie gesagt es soll keine Profi Platine werden.

    Ich bin leiter mit KiCad noch nicht so fit.

    Hab mir gestern das "neue" KiCad V5.1.8-1 installiert, zuvor hatte ich V5.0 oder so.
    Die neue Version fühlt sich "leichtgängiger" an.


    Hier das exportierte Layout, als Bild:

    Für Kritik und Vorschläge wäre ich dankbar.
    Aber bitte nicht das ganze Konzept auf den Kopf stellen.


    mfG. Klaus Loy

  • Ich würde heute ein EEprom nehmen anstatt Eprom. Also 28C256.

    Rx,Tx,Gnd noch auf eine 3-pol Stiftleiste. Dann kann mal alternativ direkt einen USB Seriell Adapter verwenden.

    Einseitige Platine hat heute wirklich nur für Selbstätzer und Bohrer noch irgendeine Bedeutung.

    Ich behaupte 99,9x% geben das heute in eine Fertigung nach CN.


    LG Peter

    github.com/petersieg

  • Schreit eigentlich geradezu nach einem Extra-Thread ...


    Ich verstehe ja z.B. schon nicht, was dieser erste Chip macht, der da anscheinend Daten in Adressen umwandelt ( oder andersherum ). Und was einem das Teilbild ganz recht unten sagen möchte.

    Immerhin mit links unten kann ich was anfangen ... ;) Die Variante mit diesem JumperSwitch zum Leitungstauschen ist sehr witzig.

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  • ... ist da jemand, der mein Posting ab #27 in einen extra Thread umhängen kann ?

    Also ich möchte tatsächlich mal wieder versuchen eine Platine zu ätzen.

    Aber dann diese vielen Löcher ...


    @PeterSieg,
    3 Polige Pin Leiste ist eine sehr gute Idee, dann kann der Max unbestückt bleiben.

    28C256 gute Idee, sollte ich alternativ mit vorsehen.
    Schaut euch bitte mal meine primitive Adressdekodiereung an, ob das so gehen könnte.

    Schreit eigentlich geradezu nach einem Extra-Thread ...


    Ich verstehe ja z.B. schon nicht, was dieser erste Chip macht, der da anscheinend Daten in Adressen umwandelt ( oder andersherum ). Und was einem das Teilbild ganz recht unten sagen möchte.

    Immerhin mit links unten kann ich was anfangen ... ;) Die Variante mit diesem JumperSwitch zum Leitungstauschen ist sehr witzig.

    Vermutlich meinst du die vier NAND Gatter, die sollen die "Adress Dekodierung" machen, d.h. EPROM aktivieret bei Adr 0000...7FFF, RAM aktiviert bei Adr 8000...FFFF, der 8255 PIO Chip aktiviert bei allen IO-Adressen :( ich wollte Gatter und ICs sparen.


    Und das Zeug rechts unten, sind der Stromanschluss und ein zweiter 5V Anschluss, für z.B. meinen geliebten Logikprüft. Und dann halt noch die beiden Spannungspins des 74LS00 ICs, das wird in KiCad so dargestellt.


    mfG. Klaus Loy

  • Hallo Leute, das KiCad macht mich noch wahnsinnig.
    Ich kämpfe grad mit den Spannungs Netzen, der ERC meckert ständig im Kreis herum.
    Gibts da was spezielles zu beachten ?
    Aber jetzt werd ich erstmal den Google noch fragen.


    Ich glaub ich hab die Spur gefunden, Stichwort PWR_FLAG an die Netz dran, dann muss es gehen.


    mfG. Klaus Loy

  • Jetzt hab ich es gefunden, ich wusste es von früher.
    Aber ich einfach das Symbol nicht gefunden.
    Es ist bei den diversen Power Symbolen mitten in der Liste.
    pasted-from-clipboard.png

    Ok, jetzt funktioniert der ERC :)


    nfG. Klaus Loy

  • Ich würde heute ein EEprom nehmen anstatt Eprom. Also 28C256.

    also mir wäre es recht, wenn du einfach neben den Eprom-Sockel 2 Jumper machst, dann kann sich jeder selbst aussuchen, ob man ein Eprom oder EEprom nimmt - der 28C256 ist nämlich nicht pingleich zum 27C256 - da muss man ein bischen was ändern

    ..wenn du da ein Schaltbild brauchst, dann würde ich das nochmal raussuchen

    ist aber kein Hexenwerk - einfach 2 je 3polige Jumper - dann kann man entweder rechts - oder links mit Mitte verbinden - dann hat man die Wahl


    ganz super wäre, wenn du für deine Platine gleich irgendeine Art von Erweiterungsanschluss vorsiehst - entweder wie beim NDR-NKC auf eine Stiftleiste - oder wie beim RC2014 auf 2 Stiftleisten - oder meinetwegen auch wie beim Z1013 - oder MFA eine PG-Leiste

    ..damit sind dann beliebige Erweiterungen möglich

    und wenn du dich gleich an die jeweiligen vorgegebenen Pin-Standards hälst, dann kann man deine CPU-Karte sogar direkt in einen Klein-Computer rein stecken

    wär doch super?

    ich bin signifikant genug:razz:

    • Offizieller Beitrag

    Für Kritik und Vorschläge wäre ich dankbar.

    Pin 10 an Port A, B und C soll wahrscheinlich an GND.

    Beim Potential von HOLD bin ich mir nicht sicher. Ist nicht als active low gekennzeichnet, waere also staendig aktiv.


    Das Signal (gruene Linie) D0 hat am 8085 undLS573 keinen Namen. Kann nur die Darstellung sein, aber besser mal nachschauen.


    Viel Erfolg

  • jaja, so einfach scheint es auf den ersten Blick nicht zu sein.

    Ich hab grad mal 27256, 27F256 und 28C256 raus gesuch, sieher Bild:

    Ich wusste garnicht, das beim Flash, der A14/WE# alternativ verwendet wird.
    Mal schaun wie man das Jumpern könnte, bzw. über Lötbrücken machen kann.

    Die Frage was ist besser, Flash oder EEPROM, ERPOM werde ich als Klassiker sowieso vorsehen.
    Am besten wäre wenn man alle drei verwenden könnte.

    Man soll aber nicht vergessen, dass das ganze Board eigentlich nur eine Spielerei ist.


    Oder doch gleich einen Raspberry mit Emulator :)


    Bitte um Vorschläge.


    mfG. Klaus Loy

  • Jetzt hab ich zu dem FLASH, bzw. EEPROM eine Frage:
    Könnte man die "in System", d.h. zur Laufzeit umprogrammieren, bzw. Teile oder Blöcke darauf ändern.
    Ok, die entsprechende Programmierfunktion müsste dann vermutlich im RAM laufen.
    Oder muss dazu das "System" erhebliche Waitstates fahren ?

    mfg. Klaus Loy

  • hallo Diddl, ich bin auch ein 6809 Fan.

    was hast du für einen Singleboard Computer ?


    Ich werde morgen meinen Neuerwerb 6809er vorstellen in "Mein neues Etwas".

    Es ist ei Thomson MO5.


    mfg. Klaus Loy

    • Offizieller Beitrag

    Ich hab grad mal 27256, 27F256 und 28C256 raus gesuch, sieher Bild:

    Das 27F256 kommt mir sehr spanisch vor. Hab ich noch nie gesehen.

    Vpp hiesse ja, es ist eine extra Programmierspannung notwendig.

    Wo hast du das gefunden? Datasheet, Hersteller?


    27256 alternativ 28256 kannst bei meiner MFA-Z180 abschauen.


    Nachtrag:

    Das 27F256 Datasheet, das ich gefunden habe, ist von Intel von 1988.

    Und braucht 12,5V Programmierspannung.

    Ich denke, das lässt du lieber weg.


    Aktuelle Flashes fangen meistens mit 29 an und werden sektorweise programmiert.

  • Ein 27512 ist ein 64k Eprom. Kein EEprom. Ist das Evtl. ein Tippfehler gewesen?


    Peter

    Es ist definitiv ein EEPROM.

    Mein TL866 hat es schon zig Mal gelöscht und neu beschrieben.




    hallo Diddl, ich bin auch ein 6809 Fan.

    was hast du für einen Singleboard Computer ?

    Es ist ein Board von Wichit Sirichote. :)


    Motorola 6809 Microprocessor Kit



    Ich werde morgen meinen Neuerwerb 6809er vorstellen in "Mein neues Etwas".

    Es ist ei Thomson MO5.


    Cool, ich mag die Thomson.


    Ich habe drei Stück, T07 und T08 und T08D

  • https://www.alldatasheet.com/d…CROELECTRONICS/27512.html


    Ich kenn' 27512 auch primär als EPROM. Ist das größte mit dem man EPROM Banken an +4 und C64 (?) einfach aufbauen kann.


    https://www.futurlec.com/Memory/27C256-200.shtml

    https://www.futurlec.com/Memory/28C256.shtml

    ... schöne Seite für sowas.

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

    3 Mal editiert, zuletzt von ThoralfAsmussen ()

    • Offizieller Beitrag

    Ein 27512 ist ein 64k Eprom. Kein EEprom. Ist das Evtl. ein Tippfehler gewesen?


    Peter

    Es ist definitiv ein EEPROM.

    Mein TL866 hat es schon zig Mal gelöscht und neu beschrieben.

    Das würde mich aber auch interessieren.

    27C512 (das EPROM) hat alle Pins belegt, so das kein WE für ein 28C512 möglich ist.

    Würde mich interessieren wie man dann ein 27512 gelöscht/beschrieben kriegt.


    Kannst du bitte mal eine genaue Bezeichnung angeben, ggf. mit Datasheet?

  • leider erst morgen.

    ich hab einfache drei datasheets geholt und bilder verglichen. Exakte Typen hab ich grad nicht im Zugrif.

  • Bezieht sich auf #1 & #3(-> erster Satz):

    Mein Vorschlag wäre, das RAM auf z.B. 64k zu erweitern, wobei sich die unteren 32k mit dem ROM überlappen - will heißen, das ROM ist lesbar, das RAM (erst einmal nur...) beschreibbar. So kann man aus dem ROM(-Monitor) booten, ein ev. CPM2.2 aus dem ROM in die oberen 32k kopieren, das ROM abschalten und dann das CPM oder was auch immer starten. Die dann vollständigen 64k RAM ergeben dann das gesamte System und es kann losgehen. Als RAM-Baustein könnte man den AS6C1008 (128kx8) nehmen. Ist dann weiterhin nur ein IC, aber eben mit viel mehr RAM.


    AS6C1008.pdf


    Cheers

    Kurt

    • Offizieller Beitrag

    leider erst morgen.

    ich hab einfache drei datasheets geholt und bilder verglichen. Exakte Typen hab ich grad nicht im Zugrif.

    s. meinen Nachtrag in Post #15

    • Offizieller Beitrag

    Ich bin überrascht. Ziemlich unueblich ein EEPROM mit der gleichen Bezeichnung wie ein typisches EPROM.

    Aber du brauchst 12V/14V zum Programmieren /Löschen, aber das spricht nicht gegen EEPROM.

  • finde ich prima.



    Aber dann gleich 128kb RAM verwendbar machen.

    Dann läuft auch CPM 3

  • Das "Ur"-CPM3 ist von DRI für einen 8080 compiliert. Lediglich Sachen wie ZPM3, Z3plus, NZCOM, ZSDOS etc. wurde exkl. für den Z80 programmiert, sonst hätte man die Platzvorgaben von DRI für CCP & BDOS nicht einhalten können. Ein kleiner Hoffnungsschimmer besteht, aber auf lange Sicht steht man sicherlich doch vor dem "Z...". Das Z-System ist schlichtweg ein riesiger Schritt nach vorn, vergleichbar mit dem von CPM2.2 nach CPM3.1.

  • Das "Ur"-CPM3 ist von DRI für einen 8080 compiliert. Lediglich Sachen wie ZPM3, Z3plus, NZCOM, ZSDOS etc. wurde exkl. für den Z80 programmiert, sonst hätte man die Platzvorgaben von DRI für CCP & BDOS nicht einhalten können. Ein kleiner Hoffnungsschimmer besteht, aber auf lange Sicht steht man sicherlich doch vor dem "Z...". Das Z-System ist schlichtweg ein riesiger Schritt nach vorn, vergleichbar mit dem von CPM2.2 nach CPM3.1.

    Wobei Z3PLUS für CP/M+ gebaut ist und bei normalerweise gebanktem CP/M+ (CP/M 3) ist für CCP und BDOS genug Platz vorhanden.


    ZPM8080 ist eine 8080 Übersetzung von ZCPR2 durch Richard Conn


    http://oldcomputers-ddns.org/p…om/cpm/zcpr2/zcpr8080.doc


    http://oldcomputers-ddns.org/p…ut_creek_cdrom/cpm/zcpr2/


    .

    Mit freundlichen Grüßen


    fritz

  • Also erstmal die Info zu meinen Datenblättern, die ich spontan rausgesucht hatte für die Anschlussbilder:

    1. 27256, das war ein ST M27256

    2. 17F256 war von Intel, 1988

    3. AT28C256 von Atmel

    Die Idee mit 64kB /128kB RAM ist prinzipiell gut, aber bitte nicht für dieses Projekt, es heißt "Simple_8085"
    Ich hatte diese Idee auch, aber dann wirds kompliziert mit der Adressdekodierung, dann brauch man direkt schon ein GAL, das muss dann wieder programmiert werden, ...
    Außerdem CP/M auf 8085 geht, macht aber nicht so sehr viel Sinn, da nimmt man dann doch besser einen Z80.

    Außerdem für höhere Ansprüche gibt es ja das MFA Projekt, bzw. die wunderschönen MFA-Platinen aus dem Forum.


    ... weiter nach der kurzen Pause

  • Sehe ich auch so - aber:

    Die Anschlussleiste und Belegung vom MFA zu übernehmen, sodass man das auch in ein MFA 19“ Gehäuse als CPU mit RAM und ROM einstecken kann und dann die I/O Einschübe nutzen kann, hätte etwas.

    Dann sollte man auch MAT32k als ROM nutzen können.


    Und parallel kann man das auch alleine mit MAT32k oder einem anderen Monitorprogramm nutzen.


    LG Peter

    github.com/petersieg