Z80 Explorer von BALTAZAR STUDIOS (Goran Devic)

OP #7805123
Lesenswert?

Hallo,

gerade in den Weiten des Internets entdeckt:

"Z80 Explorer is a Zilog Z80 netlist-level simulator capable of running Z80 machine code and also an educational tool with features that help reverse engineer and understand this chip better."

https://baltazarstudios.com/z80explorer/

https://github.com/gdevic/Z80Explorer

Einen Link auf www.mikrocontroller.net konnte ich nicht finden. Daher als neuer Beitrag für die, die es evtl. interessiert.

#7805169
Lesenswert?

Möchte man wirklich noch Assembler lernen von einem Prozessor, der nicht einmal mehr produziert wird. Wenn Assembler, dann für eine CPU, auf dem man das auch noch nativ laufen lassen kann. Mit Arm, X64 oder Risc-V kann man eventuell etwas anfangen. Aber doch nicht mit einem so verkorksten Design aus den 70er.

Ich habe 1982 mit Z80 Assembler angefangen. Würde aber heute jedem davon abraten. Auch für Education ist das CPU Design einfach zu speziell und unlogisch.

OP #7805176
Lesenswert?

Es geht ja hpts. darum den Z80 intern zu verstehen und weniger darum Z80 Assembler zu lernen. Klar ist das eher etwas für Leute, die sich für die Historie der Computer interessieren. Ich finde gewisse Dinge versteht man besser, wenn man weiß wo sie herkommen. Das gilt auch für andere Felder, z.B. Mathe.

#7805351
Lesenswert?

Der kleine Gottfried Wilhelm Leibniz hat auch mit dem kleinen 1x1 angefangen. Wer z.B. die Speicherbelegung usw. des Z80 begriffen hat, wird auch in zukünftigen CPUs einige Grundlagen wiederfinden. Allerdings werden sich nur wenige die Mühe machen jeden Schritt im Assembler zu programmieren, obwohl es da einige Tricks gab, um die Rechengeschwindigkeit zu optimieren. Nicht jeder Befehl reagiert gleich schnell.

Ich ziehe heute noch den Hut vor einigen Programmierern, die in zehn Sekunden jeden beliebigen Artikel aus der Lagerverwaltung aufrufen konnten. Anders gesagt, nicht jeder, der einen teuren Fotoapparat hat, macht schöne Bilder. Eine CPU heute mit 8 Kernen ersetzt noch nicht den Kopf.

#7805369
Lesenswert?

Niklas G. schrieb:

angefangen, und jetzt auch amd64...

Ja stimme ich zu. Interessant an dem Z80-Link ganz oben sind ein paar Impulsdiagramme zum Verständnis wann was passierte und wann automatisch ein Wait dazwischen anfällt bei zeitkritischen Geschichten. Ob natürlich die Simulation jeden Z80 1:1 mit allen Fehlern darstellt, werde nie prüfen. Die Zeit ist vorbei.

#7805531
Lesenswert?

Peter (pittyj) 05.01.2025 14:06

Wenn Assembler, dann für eine CPU, auf dem man das auch noch nativ laufen lassen kann. Mit Arm, X64 oder Risc-V kann man eventuell etwas anfangen. Aber doch nicht mit einem so verkorksten Design aus den 70er.

Wow, den Z80 als verkorkstes Design zu bezeichnen zeugt wirklich von maximaler Ahnungslosigkeit, was die Randbedingungen der Technologie der damaligen Zeit anbelangt. Dunington Kruger lässt grüßen.

https://de.wikipedia.org/wiki/Zilog_Z80 :
"Der Z80 überflügelte rasch den 8080 und wurde der bisher am weitesten verbreitete 8-Bit-Hauptprozessor (central processing unit, CPU). Wenn man die absolute Größe des Marktes einbezieht, dann ist er der seither erfolgreichste Hauptprozessor überhaupt."

Persönliche Seite #7805566
Lesenswert?

Michael B. schrieb:

Ich wüsste Niemanden.

Na wenn der laberkopp keinen kennt kann es natürlich keinen geben.

Michael B. schrieb:

x86, ja, aber 386 ist ja nochmal ein kompletter layer

Hä? x86 ist ein Oberbegriff für den 8086 und alles was davon abstammt. i386 (=80386) stammt davon ab. Wie kann man die ganze Familie x86 - also alles vom 8086 bis zum AMD64 - kennen aber den i386 nicht?!

Persönliche Seite #7805610
Lesenswert?

Michael B. schrieb:

Ja, ich hätte für Trottel wie dich 1 Buchstaben mehr spendieren sollen und 8086 schreiben sollen.

Also ich Trottel hatte kein Problem damit direkt den i386 Assembler zu lernen. Selbst in meiner Kleinstadt-Bibliothek gab es Bücher mit i386-Assembler auf Deutsch(!). Kann also nicht allzu exotisch sein, die standen da sicher nicht weil das nie jemand lesen würde.

Michael B. schrieb:

Du gehörst sicher auch, nach dem du 'if' und 'while' erlernt hast, zu den Leuten die in der Bewerbung 'Kenntnisse in C++' angeben.

Immerhin habe ich die Kapazität "EAX" hinzuschreiben.

Gast #7805704
Lesenswert?

@Niklas G. @ Laberkopp Nun beruhigt euch mal wieder, wir haben jetzt alle eure Positionen gesehen und es ist klar, ihr werden auf keinen gemeinsamen Nenner kommen. Wir wollen ja nicht, das es hier gleich wieder eskaliert und die Löschmods aus ihrem Tiefschlaf aufwachen

#7805778
Lesenswert?

Christoph M. schrieb:

Peter (pittyj) 05.01.2025 14:06

Wenn Assembler, dann für eine CPU, auf dem man das auch noch nativ laufen lassen kann. Mit Arm, X64 oder Risc-V kann man eventuell etwas anfangen. Aber doch nicht mit einem so verkorksten Design aus den 70er.

Wow, den Z80 als verkorkstes Design zu bezeichnen zeugt wirklich von maximaler Ahnungslosigkeit, was die Randbedingungen der Technologie der damaligen Zeit anbelangt. Dunington Kruger lässt grüßen.

Ich habe diverse Assembler zu der Zeit gehabt. Der Motorola 68000, das war ein super Prozessor. Universale Daten und Adress-Register, und nicht ein wirrer Haufen Spezialregister wie beim Z80. Mit dem 68000 hat Assembler Spass gemacht. Noch schöner war der VAX-Assembler. Ähnlich 68000, aber alle Adressierungsarten bei allen Befehlen, und nicht nur bei Hin und Weg vom Register. Der 6502 war auch nicht doll. Aber ein paar Jahre später (M68K, eingeführt 1979) gab es richtig gute Prozessoren. Warum man einem Anfänger ein Z80 vorsetzen möchte, mit allen seinen unlogischen Eigenarten, und nicht einen orthogonalen 68000, das kann ich nicht verstehen. Sorry, aber ich habe zu der Zeit viel Assembler programmiert, und lasse mich nicht Ahnungslosigkeit vorwerfen. Und ich habe sogar immer noch den Rodney Zaks im Bücherschrank, neben dem K&R.

#7805818
Lesenswert?

Sorry, aber ich habe zu der Zeit viel Assembler programmiert, und lasse mich nicht Ahnungslosigkeit vorwerfen. Und ich habe sogar immer noch den Rodney Zaks im Bücherschrank, neben dem K&R.

Damals war Siliziumfläche extrem kostbar und die Entwicklungszyklen extrem schnell:

Z80:
Transistor-Count: 8500 Launched: 1976

68000 CPU:
Transistor-Count: 68000 Launched: 1979

Ausserdem war der 68000 eine 32 Bit CPU, viel teurer und der Hardwareaufwand viel größer und damit teurer und für viele Geräte nicht rentabel.

Aber doch nicht mit einem so verkorksten Design aus den 70er.

Eine auf die heutige Zeit passende ähnliche Argumentationsweise wäre "Aber nicht mit einem so verkorksten Design der Sprache C aus den 70gern, sondern mit mit einer modernen Programmiersprache wie Python" .. => anderer Aufwand, andere Liga, andere Anwendung.

#7805843
Lesenswert?

Christoph M. schrieb:

Ausserdem war der 68000 eine 32 Bit CPU, viel teurer und der Hardwareaufwand viel größer und damit teurer und für viele Geräte nicht rentabel.

Was die Industrie nicht daran gehindert hat, sie in Laserdruckern, Modems, Oszis, HF-Messsystemen, ... zu verbauen. Gluecklicherweise!

Eine auf die heutige Zeit passende ähnliche Argumentationsweise wäre "Aber nicht mit einem so verkorksten Design der Sprache C aus den 70gern, sondern mit mit einer modernen Programmiersprache wie Python" .. => anderer Aufwand, andere Liga, andere Anwendung.

Eine Sprache die Syntax missbraucht um Semantik auszudruecken. "Modern" mag man ja noch gelten lassen, aber schoen ist doch noch etwas anderes.

OP #7805852
Lesenswert?

Christoph M. schrieb:

Z80: Transistor-Count: 8500 Launched: 1976

Vielleicht ist das ein Grund warum es für den Z80 einen Netlist-Simulator mit Visualisierung gibt und für Pentium oder amd64 eher weniger. Die ganz oben verlinkte Seite verweist als Referenz auf http://visual6502.org/ Da gibt es vergleichbare Simulatoren für ARM1 http://visual6502.org/sim/varm/armgl.html 6502 http://visual6502.org/JSSim/index.html 6800 http://visual6502.org/JSSim/expert-6800.html Wahrscheinlich sind für amd64 gar nicht alle erforderlichen Informationen frei verfügbar, um so einen Simulator zu schreiben - vom um Größenordnungen höheren Aufwand ganz abgesehen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren