Beiträge von Der Doktor


    Problem für mich is ja jedesmal wenn ich die Architektur wechsle, das ansteuern. Ne Z80 is ja keine 68k genauso wenig wie Risc-AVR wobei ich stark vermute das nen AVR am einfachsten ist da ich direkt in C loslegen kann. B2

    Solange es einen C-Compiler gibt, kann man eigentlich fast immer direkt loslegen.
    Für den Z80 gibt es den Z 88 DK oder den SDCC

    Mein Setup läuft schon mit C Code. Habe einen kleinen Algorithmus implementiert und kompiliert. Musste meine Clock aber von 14 Hz auf 700 Hz hochdrehen, um nicht 1 Jahr warten zu müssen :trollface:

    Aber für AVR ist es aufjedenfall weniger Frickelarbeit, weil Tools sehr einfach sind.


    Naja son Buffer is ja auch schon größer alsn ATTiny, würd wohl ulkig aussehen.

    Ich werd mal schauen wohin die Reise mich führt.

    Werd aber natütlich berichten!

    Ich denke eine LED an son Pin ist okay... wird schon nicht abrauchen. Hab genug Bilder gesehen wo es ohne gemacht wird :fresse:

    Ich will mir ja jetzt ne Lötstation zulegen, weil es auf den Breadboard natürlich nicht so weitergehen kann. Dann will ich mir kleine Boards erstellen, also eine Board nur für die CPU, eins für die Memory und so weiter, und die zusammenstecken.

    Außerdem überlege ich gerade, was ich danach machen will.
    Tendiere zurzeit dazu ein voll ausgestattetes Z8000 System zu bauen.
    Hole mir gerade schon alle Teile dazu zusammen.


    Ich nehm das jetzt mal unkommentiert auf, danke!

    Besonders die Erklärung fürn Buffer.. is ja logisch, quasi wie ein Relais-Ersatz, womit ich dann x-beliebige Spannungen/Ströme schalten kann, mit einen kleinen Schalter.

    Glaub brauch noch nen Übersetzungsbuch Elektriker -> Elektroniker oder sowas :D

    Ich werd aber erstmal mit dem ATTiny jetzt tüddeln, wär schade drum, wenn ich mir das ganze coole Zeugs hol und das in der Ecke versauert weil ich zu Dumm dafür bin. Son ATTiny kann man immernoch zwecksentfremden mit fertig-Tutorials für irgendwas. (Hab schon LED-Steuerung gelesen)

    Auch wenns ne andere Liga is bzgl AVR-C und Maschinencode.

    Kannst mich ja mal auf dem laufenden halten oder anschreiben oder hier reinschreiben, bei Problemen oder etc. . Ich denke mit 10 Euro kann man das nichts falsch machen. Das gute beim ATTiny ist ja auch, dass er ein Microcontroller ist und moderne Microcontroller haben sowieso schon alles eingebaut. RAM, Flashspeicher und etc. . Dann brauchst du dafür schonmal keine externen Chips.

    Ja so Buffer sind echt praktisch. In meiner Schaltung benutze ich normale 74xx Buffer und kann damit 48mA beschalten anstatt nur 1,8mA. Das reicht locker für viele ICs. Ich denke mal ein echter Elektroniker würde dir immer noch einen reinwürgen, weil du/ich mit dem Buffer ne LED betreibst, weil die dafür eigentlich nicht gemacht sind (sollen nur weitere Chips antreiben). Aber wenn es funktioniert :fresse:

    Habe mich jetzt nicht mit dem ATTiny beschäftigt, aber mit dem Z80 kann man eigentlich nichts falsch machen. Der wird bis heute hergestellt, und lässt sich auch bis zu gewissen Grenzen quälen.

    Was ich am Z80 gut finde ist erstmal, dass er einen getrennten Datenbus und Adressbus hat. Der 8085 ist teilweise gemultiplext und benutzt die Pins für Adresse und Daten. Beim Z80 musst du dir da keine Gedanken machen. Du hast 16 Pins für die Adresse (65KB) und 8 Pins nur für die Daten. Der Z80 nimmt jede Taktrate an. Ob Stillstand, 1 Hz, 14 Hz oder das Maximum (je nach Modell 2,4,8,20, habe auch schon von Overclocking gelesen).
    Meine Schaltung oben sieht recht kompliziert aus, aber ist sie eigentlich nicht. Die Kabel liegen nur wegen dem Breadboard sehr chaotisch.
    Einen simplen Z80 kannst du z.B. mit einem Arduino kickstarten, dann musst du dir erstmal keine Gedanken um eine Clock machen. Einfach Pin X auf High schalten, delay um 1 Sekunde, dann wieder runter schalten. Fertig ist die 1 Hz Clock.
    Die Interruptpins kann man ignorieren, bleiben noch ein paar Pins um die Memory anzusteuern.

    Ein Z80 braucht ab gewissen Schaltgrößen Buffer. Man sollte generell eigentlich immer Buffer/Driver nehmen. Das ist kein Hexenwerk, sondern verstärkt nur dein Signal. Denn so eine CPU kann nicht unendlich viel Strom schalten. Deswegen packt man da einen Buffer zwischen. Sonst geht er dir am Arsch.

    Heute ist auch vieles einfacher. Moderne EEPROMs timen sich selbst. Du könntest die in der Theorie per Hand beschreiben, indem du Stecker rein und rausziehst. Und SRAM ist billig. Lass erstmal die Hände weg vom DRAM. LS-TTL Chips sind extrem billig. Ein Z80 kann einen TTL Chip versorgen oder 4 LS-TTL Chips. Da kann man sich wenn man will die Buffer sparen.

    Ich werde demnächst auch mal einen Schaltplan hochladen.

    Für meine Schaltung habe ich benutzt:
    1x UB880/Z80
    1x EEPROM AT28C64B
    1x CYPRESS SRAM 32K
    1x AND LS-TTL
    1x OR LS-TTL
    6x Octal Buffer/Driver LS-TTL

    Sehr gut erklärt wird die ganze Thematik hier (auch gut erklärt, warum man Buffer braucht):
    https://www.modmypi.com/download/BuildYourOwnZ80.pdf

    Sonst kannst du auch versuchen, mal einen eigenen Arduino zu löten. Soll auch nicht so kompliziert sein.



    Okay, ich war ungeduldig.

    Hab mir jetzt nen 3er Set von ATTiny85 samt Sockel bestellt + Mini-Programmer extra für die Teile. 10 Euro komplett, kann man ja erstmal nix falsch machen.

    Ja damit kann man bestimmt nichts falsch machen. Am besten als erstes direkt versuchen, ein Programm zu schreiben, was eine LED blinken lässt. Man kann die LED da bestimmt direkt dran machen, würde aber einen Driver dazwischenschalten.

    Der Z80 ist jetzt endlich am laufen...

    Über die letzten zwei Wochen habe ich einen 555 Timer installiert, der mit unglaublichen 14 Hz den Z80 antreibt. Also ist der Z80 jetzt unabhängig und braucht keinen Arduino mehr zum starten.
    Hinter den Adressbuffern habe ich die EEPROM (zurzeit nur 8k, später 32k) und den 32k SRAM installiert. Das Memory Layout ist also 50:50.

    Weil die Pins an den ICs leider nicht so angeordnet sind, dass ich schöne Schaltungen bauen kann, gehen die Steckbrücken jetzt quasi kreuz und quer. Eigentlich wollte ich alles farbkodieren, aber mit den vorgefertigten Steckbrücken geht das schwer. Dazu bräuchte ich ne Kabelrolle, wo ich mir die richtigen Längen abschneiden kann. Aber ich blicke da tatsächlich noch durch.
    Das größte Chaos herrscht über der EEPROM, weil die Leitungen A0 bis A4 auch irgendwie zum SRAM müssen. Und Leitungen A8-A12 zur EEPROM. Die ungenutzten Eingänge vom Adressbuffer habe ich auch genutzt um die Read und Write Enable Line zu puffern.
    Der Datenbus besteht aus flexiblen Kabeln, die die Daten auf die andere Seite übertragen.

    Dort habe ich einen Datenbuffer aufgebaut, der immer nur eine Richtung durchlässt, je nachdem ob ein Read oder Write durchgeführt werden soll.

    Um direkt alle Teile des Systems zu testen habe ich ein kleines Program geschrieben, was erstmal 32 NOPs ausführt und dann HL mit 0x8000 (erste RAM Adresse) lädt und dann den Wert 42 dort speichert. Danach wird auf die Zelle zugegriffen und der Wert im Akkumulator gespeichert. Anschließend wird der Wert über die OUT Anweisung an eine I/O Adresse geschickt und danach gehalten.

    Um den Wert abzufangen hängt der Arduino an der IOREQ Line und wartet auf die I/O Anweisung, dann greift er die Daten ab und schickt sie über Serial an meinen Computer. Quasi eine sehr primitive Parallel/Serial.

    Spoiler anzeigen


    Das nächste Ziel ist es, das ganze jetzt auf eine Prototyp Platine zu löten. Dann kann ich auch eine eigene UART anschließen usw. . Aber zuerst steht noch ein Vortrag an, wo ich das Setup gerne nutzen würde um einen kryptographischen Angriff zu demonstrieren. Dazu schreibe ich am Wochenende das Programm.

    Externer Inhalt youtu.be
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Immernoch mein Lieblingslied über einen Schul-Amoklauf