Hallöchen,
hiermit mache ich hier meine Bastelstube für interessierte Leute auf (blue).
Ich habe mich schon immer für Low-Level Programmierung und auch praktische Implementierung interessiert, aber jetzt habe ich bedingt durch Studium und persönliche Interessen genug Wissen gesammelt, um die Ideen auch zu realisieren.
Generell möchte ich mit Mikroprozessoren/Mikrocontrollern rumspielen und kleine oder größere Computersysteme aufbauen. Aber auch Behilfsprogramme schreiben z.B. zur Simulation, um meine Kenntnisse in OOP Programmierung aufzufrischen (zu viel C in letzter Zeit geschrieben ). Besonders eine Simulation des U830C (oder eine FPGA Implementation) peile ich an. Außerdem endlich mal richtig löten lernen.
Als klassisches erste Projekt baue ich ein Z80 System, aber wenn man schonmal leichten Zugang zu Osttechnik hat, nutze ich natürlich einen originalen UB880D, den in der DDR produzierten und voll zum Z80 kompatiblen Klon. Außer ein paar kleinere Dinge wie Flags fast gleich. Dazu natürlich die passenden aus der DDR stammenden ICs für Seriellen Output, Parallelen Output und Counter Circuit. Für andere Teile des Systems werde ich durchaus neuere Teile benutzen. Ebay nach alten AND Gates oder etc. zu durchsuchen will ich jetzt nicht wirklich. Und alter SRAM oder DRAM hmm ma schauen. Aber schöne Gehäuse haben sie ja.
Timeline für den UB880D:
August 2017: Kleinere Tests mit dem UB880D
September - Dezember 2017: Assembler Programme schreiben
Ab Dezember 2017: Richtig loslegen
Angepeilte Features:
Volles Z80 System mit SIO,PIO,CTC
64K Speicher (oder mehr via Bank Switching "MMU")
Variable Clock bis 2 MHz via Divider
Eingabe/Ausgabe Fähigkeit (z.B. UART)
Minimales OS zum Einladen von Programmen
Wie man sieht, ich habe mir viel vorgenommen. Wie fern ich das alles realisieren werde, keine Ahnung, mal sehen wie ich meine Lebenszeit investiere. Oder ob ich weiter shitposte . Die FuckUp Tools schreiben sich nicht von selber. Würde aber auf jedenfall mal gerne auf einen alten Z80 "moderne" Krypto ausführen und messen wie lange das dauert, vor allem die nicht-optimierte Krypto vs. die optimierten Algorithmen. Wenn man schonmal aus diesem Bereich kommt
Generell, werde ich vorerst Sachen auf ein Breadboard stecken, bevor es auf die Lochrasterplatte geht. Vorher muss ich immerhin alles etwas ausprobieren.
Werde hier in und wieder Updates posten, wer interessiert ist kann sie ja lesen. Inklusive Bilder/Videos/Code. Damit auch jeder meine miserablen Strukturierungsfähigkeiten betrachten kann.
Oder Fragen stellen.
Andere Projekte die in der Pipeline sind für später(e Jahre):
"Eigene" 8-Bit CPU aus AMD AM2901 Klonen
U830Cp Prozessor lauffähig kriegen / Sim / 16-Bit System
Minimales 16-Bit System mit dem 8086 Klon
Es ist besser nicht zu moderieren als falsch zu moderieren
Da ich zeitnah erstmal in Amerika bin, habe ich zurzeit nicht viel Zeit für große Aufbauten. Trotzdem wollte ich ein paar Grundbausteine testen.
Dazu habe ich mir erstmal 3 UB880D bestellt (damit für Ersatz gesorgt ist), sowie die CTC,SIO,PIO und die DMA. Außerdem habe ich zurzeit ein mittel großes Breadboard samt Steckerverbindungen oder flexiblen Steckerkabeln zur Verfügung. Ich habe mich für den Testaufbau für die Kabel entschieden. Sieht zwar bescheiden und unübersichtlich aus aber ist schneller umzubauen und flexibler.
Da jeder Ausgang des UB880D nur eine TTL Last treiben kann, habe ich für erste Tests nur eine LED mit 1k Resistor geschaltet, um den Load relativ gering zu halten.
Um mir nicht um jeden mA Gedanken zu machen, werde ich die Ausgänge der CPU buffern. Die Buffer der 74er Serie (SN74LS244) haben genug Power um dann spätere Logik zu treiben, ohne mir Gedanken über irgendetwas zu machen.
Der erste Aufbau ist ein Funktionscheck. Dazu fungiert der UB880D als übertriebener Zähler. Die Datenleitungen werden auf GND gepullt, der Opcode 0x00 stellt ein NOP dar. Die Addressleitungen werden gebuffert und an LEDs geschaltet. Nach jeder Ausführung (4 Takte pro NOP) wird eine neue inkrementiere Adresse angelegt. Das kann man dann an den LEDs ablesen. Als Stromversorgung und einfache CLK dient ein Arduino. Der RESET Eingang (Aktiv low) kann per Schalter getoggelt werden. Er sollte mindestens 4 Takte aktiv sein, sonst droht undefined behavior.
«Ich verstehe Ihre Frage so: Dass es Menschen gibt, die wünschen, dass ein solches OS als "Retro-OS" bezeichnet wird, ja? Mir ist nicht bekannt, dass solche Absichten bestehen, da HP-UX 9.x einfach ein altes OS ist. Niemand hat die Absicht, ein "Retro-OS" zu bauen.» Xaar, 2014
(05.08.2017 15:29)Xaar schrieb: ANSI-Symbole? Schon auf die USA vorbereiten?
Fritzing kann nur ANSI anscheinend Bin auf dem Mac unterwegs und Fritzing habe ich hier schon seit einiger Zeit drauf. Will aber ne Alternative, weil das Zeichnen damit nicht so intuitiv ist. Dann auch mit IEC Symbolen
Es ist besser nicht zu moderieren als falsch zu moderieren
05.08.2017 16:09
Der Doktor
%0|%0
Beiträge: 7.869
Registriert seit: Dec 2008
Kleines Update:
Heute habe ich wahrscheinlich die letzte große Bestellung für dieses Jahr gemacht...
Darunter 2 mal ein 32k SRAM mit 8-Bit Wortbreite, um somit die 64K RAM zu füllen. Sowie zwei EEPROMS, eine als Backup. Das Gute bei der neueren Variante der EEPROMs ist, dass der Write-Pulse nichtmehr auf 1000 ns begrenzt ist, sondern das Maximum freisteht. Ich kann also entspannt ein kleines Arduino Programm schreiben, welches mir die ROM beschreibt.
Weiterhin sind noch ein Quarzoszillator 2MHz dabei und ein paar Low-Power LEDs, die nur 2mA Strom benötigen. Sehr gut, um meinen Buffer nicht zu überlasten, denn der kann nur 28mA maximal.
Ich werde versuchen noch vorm Wegfliegen ein kleines Testprogramm auf die EEPROM zu schreiben und es tatsächlich auf den UB880D auszuführen.
Auch habe ich heute noch zwei 68x10 geschossen. Damit bin ich jetzt mit jeglicher Art von Prozessoren von 4-Bit bis 32-Bit eingedeckt.
Wenn ich dann mal was angeschlossen habe poste ich mal wieder was.
Es ist besser nicht zu moderieren als falsch zu moderieren
«Ich verstehe Ihre Frage so: Dass es Menschen gibt, die wünschen, dass ein solches OS als "Retro-OS" bezeichnet wird, ja? Mir ist nicht bekannt, dass solche Absichten bestehen, da HP-UX 9.x einfach ein altes OS ist. Niemand hat die Absicht, ein "Retro-OS" zu bauen.» Xaar, 2014
(07.08.2017 14:55)Xaar schrieb: "jegliche Art"? Auch i4004, i4040 und i8008?
Jede Bit Architektur einen
Ich geb kein kleines Vermögen für 4004 aus... Dann musste ein russischer AMD 2901 herhalten. Wobei ist ja nur eine glorifizierte ALU
Außerdem stört mich am 8008 und 8080 die verschiedenen Versorgungsspannungen
Es ist besser nicht zu moderieren als falsch zu moderieren
(07.08.2017 15:32)Der Doktor schrieb: Jede Bit Architektur einen
Ich geb kein kleines Vermögen für 4004 aus... Dann musste ein russischer AMD 2901 herhalten. Wobei ist ja nur eine glorifizierte ALU
Außerdem stört mich am 8008 und 8080 die verschiedenen Versorgungsspannungen
Mit 'nem i4004 (Intel P4004 von 1976, noch nicht mal zarte 41 Jahre alt!) könnte ich dir aushelfen, so isses nicht. Wobei ich da selbst an 'ner Schaltung interessiert wäre Hab' zwar einen "Rechner" mit i4004 hier (im Speziellen ein Kienzle Taxameter 1140-20 von ~1980), aber die Bude krieg' ich mangels Doku bzw. Peripherie (und vermutlich offenbar defektem Netzteil) eh nicht zum laufen...
Und was die Spannungen angeht: Was ist denn an 5P und 9N auszusetzen? Sind doch nette Spannungen - zumal es nicht mal 'ne Masse gibt Und beim 8080 sind's doch auch nur 5P, 5N und 12P - die müssen doch nur in der richtigen Reihenfolge zu- und wieder abgeschalten werden... Dann nimm' halt den 4004 - der braucht ja nur 15P.
PS: Es gibt DEUTLICH bescheidenere Spannungslevel bei ICs: Sehe ich an der U100-Serie an MOS-Logik-ICs aus DDR-Fertigung: Betriebspannungen: -25...28 V und z. T. noch -11,5...13,5 V. Logik-Level: "0" entspricht ~ -9 V, "1" entspricht ~ -1 V. Auf solche Level muss man erstmal kommen....
«Ich verstehe Ihre Frage so: Dass es Menschen gibt, die wünschen, dass ein solches OS als "Retro-OS" bezeichnet wird, ja? Mir ist nicht bekannt, dass solche Absichten bestehen, da HP-UX 9.x einfach ein altes OS ist. Niemand hat die Absicht, ein "Retro-OS" zu bauen.» Xaar, 2014