Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Veranstaltungen / Termine » Der Z80 wird 50 Jahre » Themenansicht

Autor Thread - Seiten: -1-
000
23.07.2026, 16:15 Uhr
ralle



Hier was interessantes zum Z80/U880. https://www.elektronikpraxis.de/kultprozessor-zilog-z80-kehrt-in-open-source-form-zurueck-a-c5c42ee05d9f8a4e8180a33698175311/?cmp=nl-b72b54aa-f829-4686-8051-c733b4701b36&uuid=7AD9971E-3F31-424F-9D5B-6307E88E1EDE
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
23.07.2026, 18:45 Uhr
Enrico
Default Group and Edit


Aber wo willste den kaufen?
--
MFG
Enrico
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
23.07.2026, 19:28 Uhr
candle.dd

Avatar von candle.dd

In der Tat wäre das cool wenn ein Hersteller den im 40-poligen Gehäuse verkaufen würde.
Ich bin mir aber nicht sicher, ob das ohne entsprechende Peripherieschaltkreise, die die höheren Frequenzen vertragen sinnvoll ist. Zumindest solange es für die Retro-Bastler noch ICs gibt. Kommerzielle Anwender greifen eh zu anderen Gehäuseformen oder höher integrierten Systemen.
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
29.07.2026, 19:53 Uhr
Early8Bitz

Avatar von Early8Bitz

Das Open Source Projekt war vor zwei Jahren, als der Z80 abgekündigt wurde, schon im Gespräch.

https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=21915

https://www.theregister.com/on-prem/2024/04/29/open-source-project-seeks-to-clone-classic-z80-chip/908781
--
Gruß
Ralf

Ist ein alter Schaltkreis ein Schaltgreis?
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
31.07.2026, 09:13 Uhr
P.S.



Den Z80 haben viele HL-Hersteller weltweit nachgebaut - nicht nur die DDR in Erfurt. Aber viele davon gibt's nicht mehr, den Hersteller in Erfurt aber schon noch. Nur, dass dort keine U880D mehr produziert werden.
Übrigens waren die Zilog-Leute bald nach der sog. Wende in Erfurt und haben dort die Plagiateure bemeckert. Da die damaligen Nachfolge-Fimen ERMIG/Thesys aber nachweisen konnten, dass es eben nur ein funktioneller Nachbau war, dabei außerden einige Bugs beseitigt werden konnten und sogar die H-Variante produktionsreif ist, mit der Zilog große Probleme hatte, konnte man mit einem Technologie-Austausch die "Nachlizensierung" erreichen.
Wie lange der U880 in Erfurt noch produziert wurde, ist mir leider nicht bekannt.

Das Wissen der Menschheit gehört allen Menschen! -
Wissen ist Macht, wer nur glaubt, der weiß nichts! -
Aber - Unwissenheit schützt vor Strafe nicht! -
Gegen KI und die Ausgrenzung von Unwissenden und
für den Erhalt eigener Intelligenz, sowie ein liberalisiertes
Urheber-, Marken- und Persönlichkeitsrecht!
PS
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
31.07.2026, 11:43 Uhr
Dresdenboy



@P.S.:
Dass die Zilog-Leute von einem funktionalen Nachbau überzeugt werden konnten ist schon ein Erfolg für sich. Denn die Fotos der verschiedenen Dies sind bis auf Belichtungs- und andere mikroskop- oder fotografie-bezogene Unterschiede äußerst deckungsgleich.

Als funktionaler Nachbau (was ich im Sinne von gleiches Signalverhalten verstehe) wäre das so nicht zu erwarten.
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Aktuelle Projekte: GDC-Analysen für Grafikeffekte u. Demo/Game-Framework, universelles BIC-Modul auf Pico-Basis, Packer mit sehr kleinem 6502-Dekompressor
HW: BIC, MSX2+, KC87, KC85/2-4, KCC, LC-80, PC1715, C64, C16, Plus/4, A500, A1200, Mega 65, µCs ...
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
01.08.2026, 09:25 Uhr
P.S.



@Dresdenboy <005>
Zitat: "Denn die Fotos der verschiedenen Dies sind bis auf Belichtungs- und andere mikroskop- oder fotografie-bezogene Unterschiede äußerst deckungsgleich."

Kannst Du das irgendwie belegen? - Bei Richie -> https://www.richis-lab.de/ gibt's weder was zum Z80 noch zum U880D ...

Das Wissen der Menschheit gehört allen Menschen! -
Wissen ist Macht, wer nur glaubt, der weiß nichts! -
Aber - Unwissenheit schützt vor Strafe nicht! -
Gegen KI und die Ausgrenzung von Unwissenden und
für den Erhalt eigener Intelligenz, sowie ein liberalisiertes
Urheber-, Marken- und Persönlichkeitsrecht!
PS
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
01.08.2026, 16:16 Uhr
Klaus



Es gibt z.B. bei Wiki einige hochauflösende Fotos von Z80 / U880 Dies.
Ich bin da kein Experte, aber evtl. erkennen die Profis ja Unterschiede.

Zilog:
https://en.wikipedia.org/wiki/Zilog_Z80
https://en.wikipedia.org/wiki/Zilog_Z80#/media/File:Z80-Z0840004PSC-HD.jpg

MME:
https://de.wikipedia.org/wiki/MME_U880
https://de.wikipedia.org/wiki/MME_U880#/media/Datei:T34vm1-Z80.jpg

Viele Grüße,
Klaus

EDIT: Vielleicht als Ergänzung zu den weltweiten Z80-CPU Nachbauten (kein Anspruch auf Vollständigkeit).
ZILOG, MOSTEK, ROHM, SGS-ATES (später SGS, dann SGS-THOMSON ST Microelectronics), NEC, TOSHIBA, SHARP, GOLDSTAR, NTE (vermutlich MOSTEK Chip), KAWASAKI (erweiterte Z80 CPU mit 33MHz), ...
Dann natürlich aus dem Ostblock FWE, MME (später ERMIC, THESYS ), MMN (Rumänien - MME Chip) und aus der russisch-ukrainisch-belarussischen Ecke (ANGSTREM, ELEKTRONIKA, MICRON, TRANSISTOR, KNIIMP, RODON, KVAZAR, TLS, PLATAN)... wobei da teilweise in den Gehäusen Chips von MME verbaut wurden.

Also in meiner Z80-CPU Sammlung sind schon sehr viele ... fehlen aber noch so einige ;( ... speziell von den vielen letztgenannten Herstellern
Falls da etwas in den Schachteln verstaubt oder jemandem über den Weg läuft, freue ich mich über eine Info. Komplett wird die Sammlung nie, aber vielleicht kommt ab und zu ein weiteres Stück hinzu.

Dieser Beitrag wurde am 01.08.2026 um 16:46 Uhr von Klaus editiert.
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
02.08.2026, 10:05 Uhr
P.S.



@Klaus <007>
Danke für die Hinweise. Wenn man die Wiki-Bilder so nebeneinander stellt, sieht man schon Unterschiede -
Z80 - U880:



Das geht schon damit los, dass das Die vom U880 größer ist als das vom Original-Z80, wobei Erfurt das im Laufe der Zeit auch verkleinert und die Baugruppen-Anordnung optimiert hat. Sonst wären Varianten mit höherer Taktfrequenz einschließlich der H-Variante nicht möglich gewesen.
Wie das bei der CMOS-Variante (U84Cxx) abgelaufen ist, entzieht sich momentan leider meiner Kenntnis.
Endgültige Gewissheit könnte Richi geben, wenn die beiden CPUs vergleichsweise "seziert" werden. Ich werde ihn darum bitten ...

Das Wissen der Menschheit gehört allen Menschen! -
Wissen ist Macht, wer nur glaubt, der weiß nichts! -
Aber - Unwissenheit schützt vor Strafe nicht! -
Gegen KI und die Ausgrenzung von Unwissenden und
für den Erhalt eigener Intelligenz, sowie ein liberalisiertes
Urheber-, Marken- und Persönlichkeitsrecht!
PS

Dieser Beitrag wurde am 02.08.2026 um 10:08 Uhr von P.S. editiert.
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
03.08.2026, 09:16 Uhr
P.S.



Noch eine Ergänzung zu <008>
Richi schreibt mir, dass der U880 bereits bearbeitet ist, aber noch nicht hochgeladen. Beim Z80 sieht es allerdings schlechter aus. Mangels Untersuchungsexemplare ist da noch nichts passiert.

Also - kann jemand aus der RT-Gemeinde Richi da was zur Verfügung stellen?
Besser wären natürlich von jeder Version (incl. A und B) je ein Exemplar, weil das vergleichende Untesuchungen ermöglicht, inwieweit die erhöhte Taktfrequenz das Layout beeinflußt hat.
Auch beim U880 muss es verschiedene Layouts gegeben haben - schon aus der Tatsache heraus, dass in Erfurt die Chipentwickler die Bugs beim Original-Z80 beseitigt hatten. Dann stellt sich aber heraus, dass damit bereits programmierte Software nicht mehr lief und so wiederum der alte Entwurf weiter in der Produktion war. Wie sich das Problem bei den anderen Varianten (A, B und H), bzw. auch bei der CMOS-Variante U84C80 ausgewirkt hat, ist (mir) leider nicht bekannt.

Das Wissen der Menschheit gehört allen Menschen! -
Wissen ist Macht, wer nur glaubt, der weiß nichts! -
Aber - Unwissenheit schützt vor Strafe nicht! -
Gegen KI und die Ausgrenzung von Unwissenden und
für den Erhalt eigener Intelligenz, sowie ein liberalisiertes
Urheber-, Marken- und Persönlichkeitsrecht!
PS

Dieser Beitrag wurde am 03.08.2026 um 09:17 Uhr von P.S. editiert.
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
03.08.2026, 15:47 Uhr
Dresdenboy




Zitat:
P.S. schrieb
@Dresdenboy <005>
Zitat: "Denn die Fotos der verschiedenen Dies sind bis auf Belichtungs- und andere mikroskop- oder fotografie-bezogene Unterschiede äußerst deckungsgleich."

Kannst Du das irgendwie belegen? - Bei Richie -> https://www.richis-lab.de/ gibt's weder was zum Z80 noch zum U880D ...


und

Zitat:
Das geht schon damit los, dass das Die vom U880 größer ist als das vom Original-Z80, wobei Erfurt das im Laufe der Zeit auch verkleinert und die Baugruppen-Anordnung optimiert hat. Sonst wären Varianten mit höherer Taktfrequenz einschließlich der H-Variante nicht möglich gewesen.
Wie das bei der CMOS-Variante (U84Cxx) abgelaufen ist, entzieht sich momentan leider meiner Kenntnis.



Das mit der Größe stimmt. Die Die-Größe kann bei umfassender Logik-Übernahme natürlich auch anders ausfallen, weil die Bond-Pads anders platziert werden. S. Bild unten.

Vor paar Jahren habe ich mich fast wöchentlich mit irgendwelchen Die-Photos v.a. von Intel und AMD beschäftigt. Und da habe ich ein Gefühl dafür entwickelt (was sich dann auch über spätere Aussagen zu den Chips verifizieren ließ), was reine Die-Shrinks, Anpassungen an neue Prozesse (Design Rules, Geometrien), Verbesserungen bzw. Erweiterungen und schließlich komplett neue Entwürfe (z.B. komplett synthetisiert) der gleichen Funktionalität sind.

Die Verbesserungen/Korrekturen im U880 sind vom Umfang her klein genug, um auf einem sonst gleich aufgebautem Chip weniger als 5% zu verändern. Und ich merkte nur an, dass funktionale Gleichheit (auf Register-Transfer-Ebene) zu einem ganz anderen Layout oder zumindest Logikelementanordnungen führen sollte. Wenn aber alle Leitungen genau gleich liegen und Register, ALUs usw. bis auf die Transistoren gleich angeordnet sind bis auf weniger sichtbare Änderungen in dem Maßstab - z.B. zusätzliche Leitungen, ein paar neue Transistoren usw., dann gehe ich schon von einer sehr starken Orientierung am Originaldesign aus. Und da sagt ein (Doppel-Bild) sicher mehr als 1000 Worte, auf Basis der von dir geposteten (öffnen für die Animation):



Zitat:
P.S. schrieb
Auch beim U880 muss es verschiedene Layouts gegeben haben - schon aus der Tatsache heraus, dass in Erfurt die Chipentwickler die Bugs beim Original-Z80 beseitigt hatten. Dann stellt sich aber heraus, dass damit bereits programmierte Software nicht mehr lief und so wiederum der alte Entwurf weiter in der Produktion war. Wie sich das Problem bei den anderen Varianten (A, B und H), bzw. auch bei der CMOS-Variante U84C80 ausgewirkt hat, ist (mir) leider nicht bekannt.


Da meine BICs orginale Z80 enthalten (was ja auch eine Option war) und sich ein Extra-Design zu produzieren wg. anpassbarer Software-Kompatibilität evtl. weniger lohnt, sehe ich das weniger als wahrscheinlich. Aber das können andere hier sicher gut mit Fakten unterfüttern.

Gerade die Sache mit dem Carry-Flag bei OUTI-Befehlen, Resets u.ä. haben eher den Charakter, dass man darauf aufpassen muss, wenn die Fehler dokumentiert sind.

Edit: Es gab ja auch schon einige interessante Threads zu dem Thema, so wie diesen hier: https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=11747

Wenn demnach die Schaltung von westlichen Chips bis auf jedes Gatter analysiert, verstanden, simuliert und mit eigenen Designregeln nachgebaut wurde, ist es dann zwar keine Fotokopie, aber zumindest steckt die normalerweise patentierte Logik z.B. für die 4-bit-ALU im Z80 dann im U880 mit drin.


VG,
Matthias
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Aktuelle Projekte: GDC-Analysen für Grafikeffekte u. Demo/Game-Framework, universelles BIC-Modul auf Pico-Basis, Packer mit sehr kleinem 6502-Dekompressor
HW: BIC, MSX2+, KC87, KC85/2-4, KCC, LC-80, PC1715, C64, C16, Plus/4, A500, A1200, Mega 65, µCs ...

Dieser Beitrag wurde am 04.08.2026 um 09:09 Uhr von Dresdenboy editiert.
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
06.08.2026, 06:02 Uhr
Richi



Dann schalte ich mich hier auch mal mit ein.

Meine zwei U880 habe ich nun hier dokumentiert:

https://www.richis-lab.de/uC18.htm

Die Bildqualität könnte besser sein. Leider funktioniert das Freilegen nicht immer perfekt. Der U880 ist diesbezüglich irgendwie etwas hartnäckiger.

Es scheint sich um eine frühere Revision zu handeln als bei den Bildern, die online schon kursieren.

[Hier haben wir auch wieder die F-Kontakte, die wir schon beim U809 schon gesehen haben.]

Ich habe bisher keinen exakten Vergleich zwischen dem U880 und dem Z80 betrieben, aber nach allem was ich weiß, dürfte es folgendermaßen ausgesehen haben:
Man hat den Z80 analysiert, verstanden und nachgebaut. Die Strukturen zum Großteil zu übernehmen ist dabei nur sinnvoll, vor allem wenn man eine Kompatibilität zum Original erhalten will.
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
06.08.2026, 06:13 Uhr
ralle



Das Problem bei der Z80-Software sind mitunter die Hardware-Bugs im Z80, die beim U880 nicht mehr vorhanden waren. Manche Software funktioniert aus Performance-Gründen mit den Bugs.

Aber wie immer, schöne Bilder von dir.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
06.08.2026, 06:17 Uhr
Richi



Danke!
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
014
06.08.2026, 10:38 Uhr
Klaus



@Richi
Auch von mir Danke für die Arbeit und die Bilder.
Eines der Bilder bei Wiki stammt von dieser Seite…
https://zeptobars.com/en/read/t34vm1-z80-angstrem-mme
Die Seite kennst Du ja vermutlich

Der U880 von MME wurde ja (vermutlich erst nach der Wende) auch in russische Gehäuse gepackt. D.h. es wird eine späte Revision sein (U880/5 oder U880/6).
Man kann die MME Chips in den russischen Z80 Klones auch gut mit slabbis Z80-CPU Tester erkennen. Später gab es wohl auch eigene russische, belarussische, ukrainische Nachbauten der Z80 CPU. Es gibt da Webseiten, wo mehr Infos zu finden sind.

Viele Grüße,
Klaus
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
015
06.08.2026, 10:56 Uhr
Richi



Sehr gerne!

Klar, Zeptobars kenne ich natürlich.

Die riesige Z80-Familie wäre es wert ordentlich dokumentiert zu werden. Leider kommt man an Teile aus der ehemaligen UDSSR oft nur schwer ran. Ich muss aber auch nochmal schauen was ich im Lager habe. Da könnte sich auch noch etwas verstecken.
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
016
06.08.2026, 11:13 Uhr
Klaus



Hallo Richi,


Zitat:
Richi schrieb
Leider kommt man an Teile aus der ehemaligen UDSSR oft nur schwer ran. Ich muss aber auch nochmal schauen was ich im Lager habe. Da könnte sich auch noch etwas verstecken.


Ja… wem sagst Du das. Ich sammle ja schon lange Z80 CPUs und kenne das Problem und habe leider nur immer einen im Bestand. Sonst hätte ich Dir gern welche geschickt.

Eine große Bitte: Bevor Du die evtl. vorhandenen Z80-CPUs „köpfst“ bitte unbedingt bei mir melden.
Vielleicht ist ja etwas dabei, was ich unbedingt noch brauche
Danke.

Viele Grüße,
Klaus

PS: Ich schreibe Dir später mal ein E-Mail mit paar Infos.

Dieser Beitrag wurde am 06.08.2026 um 11:14 Uhr von Klaus editiert.
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
017
07.08.2026, 20:08 Uhr
Bert




Zitat:
ralle schrieb
Das Problem bei der Z80-Software sind mitunter die Hardware-Bugs im Z80, die beim U880 nicht mehr vorhanden waren. Manche Software funktioniert aus Performance-Gründen mit den Bugs.


Das mit den Bugs lese ich immer wieder, aber was Konkretes habe ich noch nicht gefunden.
Ralle, kannst Du mal eine Literaturquelle für die HW-Bugs benennen und welche Fehler das konkret sein sollen?
Und welche Software das ist, die aus Performance-Gründen mit den Bugs läuft?

Was bekannt ist, das es undokumentierte Befehlskombinationen gibt.
Was auch bekannt ist, ist das unterschiedliche Verhalten der Flags 3 und 5 [2].
Außerdem gibt es bei der NMOS-Version ggf. ein Problem, wenn man IFF2 auslesen möchte (LD A,I bzw. LD A,R) [1].
Aber sonst?

[1] http://www.z80.info/z80bugs.htm
[2] https://www.malinov.com/sergeys-blog/z80-type-detection.html
--
Viele Grüße,
Bert
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
018
07.08.2026, 21:00 Uhr
Klaus



Hallo Bert,

ich hatte mal dieses Dokument gefunden, aber weiß nicht ob da mehr Infos drin stehen.

http://www.z80.info/zip/ZilogProductSpecsDatabook129-143.pdf

Leider ist es mit meinem Englisch nicht weit her und die PDF kriege ich ja nicht in den Übersetzer.
Vielleicht kann die hochgelobte KI das ja ins Deutsche übersetzen

Möglicherweise hat ralle ja noch andere Informationen, bzw. kann genauer beschreiben, wo die Bugs sind. Vermutlich hätte Zilog die vermeintlichen Bugs damals bei den NMOS Typen schneller gefixt, wenn die so gravierend waren. Die wurden ja über einige Jahrzehnte produziert.

Viele Grüße,
Klaus
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
019
08.08.2026, 05:58 Uhr
ralle



Dazu wären die Hardware Entwickler von MME zielführend. Jedenfalls der Z80-Test schmiert ab auf der D004 unter ML-Dos.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
020
08.08.2026, 09:46 Uhr
kaiOr

Avatar von kaiOr


Zitat:
Bert schrieb
Was auch bekannt ist, ist das unterschiedliche Verhalten der Flags 3 und 5 [2].


Hallo Bert,

gemäß Zilog-Doku (z.B. https://www.zilog.com/docs/z80/um0080.pdf) gilt bei folgenden Befehlen:
OUTI/OTIR/OUTD/OTDR/INI/INIR/IND/INDR -> Carry unverändert & NF wird gesetzt (Flags 0 und 1)

Beides trifft bei diesen 8 Befehlen nicht immer zu und kann man beliebig nachstellen. Nur der U880 (nicht U84C00DC) hält sich an die Spezifikation -> Bugfix.

Schon denkbar, dass noch mehr Mängel beseitigt wurden.

Gruß,
Kai

Dieser Beitrag wurde am 08.08.2026 um 13:09 Uhr von kaiOr editiert.
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
021
08.08.2026, 10:47 Uhr
P.S.



@ralle <019>
Siehe dazu -> https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=11747 <010>
Dort steht auch einiges zu den Bugs, die die Erfurter rausgefunden hatten und in neueren Revisionen beseitigt haben. Das rief dann die Robotroner auf den Plan, weil damit die "importierte" Software an einigen Stellen Probleme zeigte. Hatte ich schon in <009> berichtet ...
Auch andere DDR-Entwickler haben noch weitere Bugs entdeckt und das mit den Erfurtern diskutiert. Was dabei rausgekommen ist - s.o.

@kaiOr <020>
Der Link https://www.zilog.com/docs/z80/um0080.pdf) funktioniert nicht (mehr ?) - doch, man muss die letzte Klammer weglassen ...
Auf den 332 Seiten dieses Manuals von 2016(!) steht auch was zu den Bugs?

Wie sieht's aus - hat niemand einen Original-Z80 für Richi?

Das Wissen der Menschheit gehört allen Menschen! -
Wissen ist Macht, wer nur glaubt, der weiß nichts! -
Aber - Unwissenheit schützt vor Strafe nicht! -
Gegen KI und die Ausgrenzung von Unwissenden und
für den Erhalt eigener Intelligenz, sowie ein liberalisiertes
Urheber-, Marken- und Persönlichkeitsrecht!
PS

Dieser Beitrag wurde am 08.08.2026 um 11:13 Uhr von P.S. editiert.
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
022
08.08.2026, 10:54 Uhr
Richi



Ich habe mittlerweile einen Zilog Z80 gefunden.
Danke!
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
023
08.08.2026, 12:51 Uhr
HeikoS



Hier steht auch was zu den Bugs:

https://github.com/redcode/Z80/wiki/Bugs

Grüße, Heiko
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
024
08.08.2026, 12:54 Uhr
HeikoS




Zitat:
kaiOr schrieb

Zitat:
Bert schrieb
Was auch bekannt ist, ist das unterschiedliche Verhalten der Flags 3 und 5 [2].


Hallo Bert,

gemäß Zilog-Doku (z.B. https://www.zilog.com/docs/z80/um0080.pdf) gilt bei folgenden Befehlen:
OUTI/OTIR/OUTD/OTDR/INI/INIR/IND/INDR -> Carry unverändert & NF wird gesetzt (Flags 0 und 1)

Beides trifft bei diesen 8 Befehlen nicht immer zu und kann man beliebig nachstellen. Nur der U880 (nicht U84C00DC) hält sich an die Spezifikation -> Bugfix.

Schon denkbar, dass noch mehr Mängel beseitigt wurden.

Gruß,
Kai



Da ist ein Klammer-Zu am Link-Ende zu viel ...

EDIT: Um die Verwirrung komplett zu machen: Die Zilog-Manuals enthalten auch oft Fehler (Bugs ;-), zumindest beim Z8-Manual ist das an einigen Stellen der Fall.

Dieser Beitrag wurde am 08.08.2026 um 12:58 Uhr von HeikoS editiert.
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
025
08.08.2026, 14:22 Uhr
kaiOr

Avatar von kaiOr

@HeikoS: fixed
@P.S.: Nein, da steht nichts zu den Bugs.
Aber findige Programmierer haben den Z80 schon weitestgehend analysiert: http://www.z80.info/zip/z80-documented.pdf
Das genaue (Fehl)-Verhalten von CF & NF bei den Port-IO-Befehlen ist S.16+17 beschrieben.

Das Dokument wäre eine gute Basis zum Trainieren einer KI.
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
026
10.08.2026, 11:19 Uhr
Bert



Super, vielen Dank für die Beiträge.

Also bisher gab es - nach meiner Wahrnehmung - im Original nur einen Bug (Beitrag 015):
https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=11747


Zitat:

Der Fehler im Z80 trat in den Druckern von Sömmerda bei bestimmten Temperaturen auf. Durch Innenmessungen und Simulationen wurde festgestellt, dass ein Zähler (Refresh) nicht statisch ausgelegt war sondern nur dynamisch. Bei höheren Temperaturen und längeren Wartezeiten wurde die Ladung abgeführt und somit der Zählerinhalt verfälscht. Es wurde dann eine statische Rückführung eingebaut und damit war der Fehler behoben.


Das ist natürlich nicht so einfach nachzustellen.
Dafür bräuchte man:
- eine original Z80-CPU (vermutlich sogar in der NMOS-Version)
- eine Klimakammer, um unterschiedliche Temperaturen zu simulieren
- eine variable Taktquelle
- und eine Auswertemimik für die Refreshzählung



Zitat:
ralle schrieb
Das Problem bei der Z80-Software sind mitunter die Hardware-Bugs im Z80, die beim U880 nicht mehr vorhanden waren. Manche Software funktioniert aus Performance-Gründen mit den Bugs.


Die Software in den Druckern von Sömmerda läuft aus Performance-Gründen nur mit den Bugs?
Da fehlt mir trotzdem eine (oder mehrere) Windungen im Gehirn um das zu verstehen...



Zitat:
ralle schrieb
Jedenfalls der Z80-Test schmiert ab auf der D004 unter ML-Dos.


Welcher Z80-Test genau? Hast Du eine Link zur Software?
Ich bin mir relativ sicher, daß es nicht an der CPU sondern den Eigenheiten der D004 liegt...
--
Viele Grüße,
Bert
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
027
10.08.2026, 16:12 Uhr
kaiOr

Avatar von kaiOr


Zitat:
Bert schrieb
Das ist natürlich nicht so einfach nachzustellen.
Dafür bräuchte man:
- eine original Z80-CPU (vermutlich sogar in der NMOS-Version)
- eine Klimakammer, um unterschiedliche Temperaturen zu simulieren
- eine variable Taktquelle
- und eine Auswertemimik für die Refreshzählung

Der statische oder extrem langsame Betrieb vom NMOS-Z80/U880 kann eigentlich nicht gemeint sein, da unzulässig. Aber R++ setzt aus während /WAIT und /BUSRQ und damit vermutlich auch die Auffrischung von R. Im Drucker kommt am ehesten /WAIT in Frage um die Rücknahme irgendwelcher Steuersignale an mech. Laufzeiten zu koppeln.
Und ob R++ (nur 7 Bit inkl. Überlauf) stattgefunden hat oder seltsame Sprünge macht ließe sich leicht prüfen (wenn kein dRAM genutzt wird) wie im Z80-Tester.
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
028
10.08.2026, 22:53 Uhr
Early8Bitz

Avatar von Early8Bitz

Hatte denn der Drucker DRAM's? Wenn das Refresh nicht für DRAM's gebraucht wird,
sollte es ja ziemlich egal sein ob das Refresh Register vorwärts oder rückwärts zählt oder Rösselsprünge macht


Zitat:
P.S. schrieb
Der Fehler im Z80 trat in den Druckern von Sömmerda bei bestimmten Temperaturen auf. Durch Innenmessungen und Simulationen wurde festgestellt, dass ein Zähler (Refresh) nicht statisch ausgelegt war sondern nur dynamisch. Bei höheren Temperaturen und längeren Wartezeiten wurde die Ladung abgeführt und somit der Zählerinhalt verfälscht. Es wurde dann eine statische Rückführung eingebaut und damit war der Fehler behoben.


Wo wurde denn die "Rückführung" eingebaut?
In der Druckerelektronik?
In den verbauten CPU's? Wohl kaum.
In anderen CPU's eines bekannten Halbleiterherstellers?

Die ursprünglich verbauten CPU's (westlichen Ursprungs?) sind aber millionenfach in der Welt eingesetzt worden. Und sicher nicht nur bei klimatisierten 22°C.
Was war beim Sömmerdaer Drucker anders. Man wird nach so vielen Jahren nicht mehr
nachvollziehen können, ob das Problem auch durch Änderung des System- oder Schaltungsdesigns des Druckers hätte beseitigt werden können.
Zwischen Erkennung des Refresh-Problems bis zur Serienreife der "CPU mit Rückführung" war ja eine Menge sozialistische Zeit notwendig, in der sicher die Druckerproduktion in Sömmerda nicht still stand.
--
Gruß
Ralf

Ist ein alter Schaltkreis ein Schaltgreis?
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
029
10.08.2026, 23:01 Uhr
Early8Bitz

Avatar von Early8Bitz

Man muss hier unterscheiden zwischen Bugs der CPU, also Verhalten, welches der Hersteller
verbindlich beschreibt, welches aber so nicht zutrifft; und undokumentierten Eigenschaften,
welche die CPU aufweist, die der Hersteller aber nicht beschreibt oder gar zusichert und wofür
er letzlich dann auch nicht gerade stehen muss.

Schauen wir mal den letzteren Punkt an.
Die Gruppe der undokumentierten Eigenschaften sind im wesentlichen
a) zusätzliche Maschinenbefehle
b) Offizielle Maschinenbefehle, die über weitere Opcodes ausgeführt werden können.
c) Vorhersagbares Verhalten von Flags, die in der Befehlsbeschreibung als "unknown" bezeichnet sind
d) Zugriff auf einzelne interne Zustände (Flagbits 3 und 5)

Beispiele:
a) Shift Left Logical Befehlsgruppe CB 30...CB 37
8-Bit-Zugriff auf obere und untere Hälfte von IX und IY
b) NEG: Offizieller Opcode ED 44, aber auch ED 4C, ED 54, ED 64 und weitere
RETN: Offizieller Opcode ED 45, aber auch ED 55, ED 65, ED 6D und weitere
c) Parity/Overflow-Flag bei OUTI/OTIR/OUTD/OTDR:
Offiziell "unknown", real "The parity of ((((HL) + L) & 7) xor B)"
d) Spieglung der Bits 3 und 5 von A bei bestimmten Operationen ins Flagregister
Spieglung der Bits 3 und 5 des internen W-Registers (bzw. Bits 11 und 13 von MEMPTR)

Eine Frage ist, hat Zilog bei der Entwicklung der Z80-CPU von diesen Dingen gewusst,
sie evtl. sogar bewusst designed, oder sind es "Abfallprodukte" des Befehlsdecoders?
Die Opcodes werden statisch in einem PLA decodiert. Dieses wäre evtl. wesentlich
komplexer und möglicherweise langsamer geworden, wenn man alle nicht in der Befehlsbeschreibung
verbindlich dokumentierten Befehle oder Dopplungen hätte ausschließen müssen.

Wenn Zilog von Anfang an von diesen Eigenschaften gewusst hat (Spekulation!), warum wurden
die dann nicht Bestandteil der Befehlsbeschreibung?

a) Gerade die zusätzlichen Opcodes bieten ja eine Menge Potential zur Optimierung
von Programmcode, sei es, die Programmgröße zu reduzieren oder die Performance der Programme zu erhöhen.
Ich könnte mir vorstellen, dass sich Zilog für Weiterentwicklungen der Z80-CPU diese
Opcodes frei halten wollte für neue/zusätzliche Befehle oder dass bei möglicherweise vorgesehenen
Optimierungen des Befehlsdecoders (zu der es nicht kam), diese undokumentierten Befehle unter
den Tisch gefallen wären. Und keiner hätte Zilog dafür zur Rechenschaft ziehen können.

Beim Z180 erzeugen alle nicht dokumentierten Z80-Befehle einen Trap. Z80-Software, die diese Befehle
beinhaltet, wird auf einem Z180 zum Absturz führen.

b) Die Existenz mehrerer Opcodes, die den gleichen Befehl ausführen, hat eher akademischen Character,
da die CPU dadurch ja nicht mehr leistet, besser oder schneller wird. Würde mann diese Dopplungen
in den offiziellen Befehlssatz aufnehmen, brächte man die Assembler-Bauer in Bedrängnis, denn
die Mnemonic "NEG" kann nun mal entweder nur zu "ED 44" oder nur zu "ED 4C" oder nur zu "ED 54" usw.
übersetzt werden. Keiner hätte einen Vorteil davon, zwischen mehreren "NEG"s zu wählen.
Ein Teil der ED-Opcodes, die Z80-Befehle doppeln, sind z.B. beim Z180 durch andere Befehle belegt (MULT).

c) In obigen Beispiel zu c) sieht man, dass das Parity-Flag zwar determiniert gesetzt wird, man erkennt
aber auch, dass bei Verschiebung des Datenfeldes, welches mit OUTI/OTIR/OUTD/OTDR ausgegeben wird,
auf eine andere Speicheradresse (z.B. bei Programmänderung) das Ergebnis der Flagbeeinflussung
ein anderes sein wird, weil die Lage des Datenfeldes (Register L) mit in das Ergebnis eingeht.
Ein Programmierer könnte also das Parity-Flag in seinem Programm nicht vorraussagen und nutzbringend
auswerten, da er normalerweise nicht weiß, wo das Ausgabedatenfeld vom Compiler/Assembler/Linker
im Speicher platziert wird. "unknown" ist da schon die bessere Wahl in der Befehlsbeschreibung als obige Formel.

d) Auch die Spiegelung von Bits bestimmter Register in die Flagbits 3 und 5 ist eher akademischer Natur,
da sich daraus keine Vorteile bei der Entwicklung realer Programme ableiten lassen. Auf Bit 3 und 5
von A hat man ohnehin Zugriff, und die beiden Bits aus W bzw. MEMPTR erlauben bestenfalls Forensikern,
ein wenig ins Innere der CPU zu schauen.

Fazit:
Außer der Nutzung nicht dokumentierter Befehle (außerhalb von Anwendungen der kritischen Infrastruktur)
ist die Beschäftigung mit den undokumentierten Eigenschaften der CPU was für technisch Interessierte,
bringt aber sonst keinen Nutzen im produktiven Umfeld.
--
Gruß
Ralf

Ist ein alter Schaltkreis ein Schaltgreis?
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
030
12.08.2026, 08:49 Uhr
Klaus



Hallo,

danke für die interessanten Ausführungen.
Genau, wie Ralf auch schreibt, sollte man solche undokumentierten Befehle ja eigentlich nicht unbedingt verwenden. In irgendeinem Programm hatte ich aber mal einen genutzt (hab leider vergessen, was und wo), ohne dass es zu Problemen kam.

Irgendwie habe ich das mit der „CPU mit Rückführung“ nicht verstanden.
Ist die „Rückführung“ dann im U880 eingebaut, oder was ist damit gemeint?
Oder betrifft das speziell nur die Drucker, die ein Temperaturproblem haben, welches dem Refresh der originalen Zilog Z80 CPU zugordnet wird?

Ralle hat ja noch ein Z80-Testprogramm für D004 unter ML-DOS erwähnt. Hab selbst kein D004, aber vielleicht kann das ralle ja mal bei sich nachstellen bzw. anderen Experten zur Verfügung stellen um zu ergründen, ob es an der CPU oder an der Software liegt.

Viele Grüße,
Klaus

Dieser Beitrag wurde am 12.08.2026 um 08:50 Uhr von Klaus editiert.
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
031
12.08.2026, 10:28 Uhr
Dresdenboy



@Ralf:
Danke für die vielen Details. Ich erfahre gern möglichst viel über solche Besonderheiten. Das ist beim 6502 ja ähnlich. Und es gibt auch diverse Nutzer von den undokumentierten Opcodes, solange das Vorhandensein und ein stabiles Verhalten gegeben sind.

Das waren da meist auch Programmierer aus der Demoszene, die für ihre Effekte mit exaktem Zeitverhalten und idealerweise möglichst wenig Zyklen auf solche Befehle zurückgriffen, um dann z.B. in den 63 oder 23 Zyklen einer Bild-Rasterzeile einen Registerwert zu beeinflussen. Auch kann es beim Ziel, möglichst kleinen Code zu schreiben, hilfreich sein.

Beim Z80 kenne ich v.a. die SLL-Nutzung, sonst aber noch nichts anderes im Detail. Ich kann nochmal fragen.

Selbst hatte ich mal ein ähnliches Thema bei einer kleinen LZW-Dekompressionsroutine (was z.B. für GIF und TIFF Bilder genutzt wird) für x86 mit einer Hauptverarbeitungsschleife in 28 Bytes. Dort nutzte ich IMUL für eine Stack-Adressen-Berechnung und auch einen Test. Die Endebedingung hing je nach Variante aber davon ab, ob der konkrete x86-Prozessor bei IMUL undokumentiert das Zero Flag setzt oder nicht, was sich zum Beispiel beim Pentium 4 gegenüber älteren Modellen unterschied. Da bekam ich sogar noch Bestätigung von einem auch in der Demoszene aktiven Antivirus-Entwickler u. Malware-Experten (Symantec, MS) mit scheinbar Intel NDA-Informationen. Hier konnte der Hersteller natürlich ohne feste ISA Dokumentation frei neu entscheiden.

Code: https://github.com/4lpha0ne/TinyLZW/blob/main/asm/tinylzw.nasm

Ein paar Details zu dem Verhalten findet man hier (DOSBox-Forum): https://www.vogons.org/viewtopic.php?t=46211

Viele Grüße,
Matthias
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Aktuelle Projekte: GDC-Analysen für Grafikeffekte u. Demo/Game-Framework, universelles BIC-Modul auf Pico-Basis, Packer mit sehr kleinem 6502-Dekompressor
HW: BIC, MSX2+, KC87, KC85/2-4, KCC, LC-80, PC1715, C64, C16, Plus/4, A500, A1200, Mega 65, µCs ...

Dieser Beitrag wurde am 12.08.2026 um 11:01 Uhr von Dresdenboy editiert.
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
032
12.08.2026, 11:48 Uhr
ralle



Das Testprogramm ist auch auf der JKC-Emulatorseite hinterlegt, als Zip.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
033
12.08.2026, 12:26 Uhr
Bert



@ralle: Du meinst ZEXDOC bzw. ZEXALL?
https://mdfs.net/Software/Z80/Exerciser/
bzw.
http://www.jens-mueller.org/jkcemu/zextest.html
--
Viele Grüße,
Bert

Dieser Beitrag wurde am 12.08.2026 um 12:26 Uhr von Bert editiert.
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
034
12.08.2026, 13:29 Uhr
Klaus



Ja Bert, ich denke mal das meint ralle...

Danke ralle, habe dieses ZEXALL bzw. ZEXDOC mal heruntergeladen und in mein NANOS geworfen.
Mit fix mal testen ist da nix…. Keine Ahnung, wie lange der Gesamttest dauert, aber nach ca. 1 Stunde sieht es ungefähr so aus. Aktuell steckt dort allerdings eine Zilog CPU drin.
Einen Absturz hatte ich bei den ersten, von den vielen Tests, noch nicht… habe aber erst mal abgebrochen… wird mir zu warm in der Bastelbude.



Hab es auch mal in JKCEMU (NANOS) probiert…. Läuft.



Ich weiß nicht, wie der von ralle erwähnte Absturz im D004 unter ML-DOS aussieht.

Fakt ist… man muss viel Zeit einplanen … schon allein bis das erste … OK erscheint

Viele Grüße,
Klaus

PS: Mal sehen, wie es heute am späten Abend aussieht. Evtl. lasse ich das dann mal am NANOS mit einer U880 länger laufen.

EDIT:
Hier noch ein Link.... am besten den Google-Übersetzer bemühen.
https://jeffavery.ca/computers/macintosh_z80exerciser.html
Da sind noch paar Infos zu den Programmen und ... ein Durchlauf soll (je nach Taktfrequenz) wohl mehr als 4 1/2 Stunden dauern....

Dieser Beitrag wurde am 12.08.2026 um 13:36 Uhr von Klaus editiert.
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
035
12.08.2026, 16:03 Uhr
Early8Bitz

Avatar von Early8Bitz


Zitat:
Klaus schrieb
Irgendwie habe ich das mit der „CPU mit Rückführung“ nicht verstanden.
Ist die „Rückführung“ dann im U880 eingebaut, oder was ist damit gemeint?
Oder betrifft das speziell nur die Drucker, die ein Temperaturproblem haben, welches dem Refresh der originalen Zilog Z80 CPU zugordnet wird?


Etwas wirklich Konkretes kann man aus dem Beitrag von P. S. dazu nicht entnehmen.
Ob die statische Rückführung zur Behebung des Ladungsverlustes im Refreshzähler
nun in der Druckerschaltung implementiert war oder in einer korrigierten CPU-Version
bleibt unklar. Ich habe da bei meiner Antwort in <028> etwas orakelt.
Auch ob es sich nur um ein spezielles Druckermodell (das ja dann möglicherweise auch bekannt sein sollte) handelt, oder um verschiedene (P. S. spricht von Druckern in der Mehrzahl),
bleibt offen. Das ist der Stoff, aus dem Mythen entstehen.
--
Gruß
Ralf

Ist ein alter Schaltkreis ein Schaltgreis?

Dieser Beitrag wurde am 12.08.2026 um 16:05 Uhr von Early8Bitz editiert.
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
036
12.08.2026, 16:17 Uhr
Early8Bitz

Avatar von Early8Bitz


Zitat:
Dresdenboy schrieb
Beim Z80 kenne ich v.a. die SLL-Nutzung, sonst aber noch nichts anderes im Detail. Ich kann nochmal fragen.


Das in <025> verlinkte Dokument ist da ganz informativ.

Die Nutzung von IX und IY als jeweils zwei 8-Bit Register ist noch ganz nützlich,
wenn man sich im undokumentierten Bereich bewegen will. Kann bei Routinen mit
vielen Variablen eine Menge Ladebefehle sparen.
--
Gruß
Ralf

Ist ein alter Schaltkreis ein Schaltgreis?
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
037
12.08.2026, 18:02 Uhr
Bert




Zitat:
Klaus schrieb
Ich weiß nicht, wie der von ralle erwähnte Absturz im D004 unter ML-DOS aussieht.


Jd, das wüßte ich auch gern.


Zitat:

Fakt ist… man muss viel Zeit einplanen … schon allein bis das erste … OK erscheint
... ein Durchlauf soll (je nach Taktfrequenz) wohl mehr als 4 1/2 Stunden dauern....



Ja, das kann ich bestätigen. Ich weiß gar nicht mehr auf welchem System ich das vor Jahren mal getestet hatte, aber vier Stunden kommt locker hin.
--
Viele Grüße,
Bert
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Veranstaltungen / Termine ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek