Forum: Mikrocontroller und Digitale Elektronik Z80 Explorer von BALTAZAR STUDIOS (Goran Devic)


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Alexander S. (alesi)


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.

von Peter (pittyj)


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.

von Alexander S. (alesi)


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.

von Lu (oszi45)


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.

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Lu schrieb:
> Wer z.B. die Speicherbelegung usw. des Z80 begriffen hat, wird auch in
> zukünftigen CPUs einige Grundlagen wiederfinden.

Generationen von Programmierern haben problemlos mit dem i386 Assembler 
angefangen, und jetzt auch amd64...

von Lu (oszi45)


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.

von Christoph M. (mchris)


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."

von Martin H. (horo)


Lesenswert?

Lu schrieb:
> Ob natürlich
> die Simulation jeden Z80 1:1 mit allen Fehlern darstellt, werde nie
> prüfen.

Wer es dennoch möchte, kann dazu meinen Z80-Dongle nehmen.

https://github.com/Ho-Ro/Z80_dongle

von Michael B. (laberkopp)


Lesenswert?

Niklas G. schrieb:
> Generationen von Programmierern haben problemlos mit dem i386 Assembler
> angefangen

Ich wüsste Niemanden.

Vermutlich haben die nach gescheitertem Start den Beruf gewechselt.

x86, ja, aber 386 ist ja nochmal ein kompletter layer den man kaum 
versteht ohne den drunterliegenden verstanden zu haben.

von Niklas G. (erlkoenig) Benutzerseite


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?!

von Michael B. (laberkopp)


Lesenswert?

Niklas G. schrieb:
> x86 ist ein Oberbegriff für den 8086

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

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

von Niklas G. (erlkoenig) Benutzerseite


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.

von Gregor J. (Firma: Jasinski) (gregor_jasinski)


Lesenswert?

Den Z80 mit Fäkalien zu übergießen hilft sicherlich niemandem – sollen 
sich die Leute mit CPUs aller Art beschäftigen, ist bestimmt besser als 
z.B. jedes Wochendende sinnlos Gehirnzellen mit Alkohol zu vernichten 
oder generell dummes Zeug zu Hause oder auch draußen zu machen.

: Bearbeitet durch User
von Geli⚡ (Gast)


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

von Peter (pittyj)


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.

von Christoph M. (mchris)


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.

von Motopick (motopick)


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.

von Alexander S. (alesi)


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.

von Christoph M. (mchris)


Lesenswert?

Anfang der 90ger Jahre kamen die PIC-MCUs mit ihrem extrem kryptischen 
Befehlssatz, obwohl es da schon über 10 Jahren die 68000er mit ihrem 
sehr homogenen Befehls- und Registersatz gab.
Der Grund: andere Liga, andere Kosten, anderer Aufwand, andere 
Anwendung.

von H. H. (hhinz)


Lesenswert?

Christoph M. schrieb:
> Anfang der 90ger Jahre kamen die PIC-MCUs

Die stammen aus der Mitte der '70er.


> mit ihrem extrem kryptischen
> Befehlssatz,

Was soll daran kryptisch sein?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.