Hello, Guest the thread was called5.1k times and contains 121 replays

last post from bigby at the

First Run ZX81+38 Replika läuft nicht

  • Hat mir keine Ruhe gelassen und ich hab die o.g. ICs nochmal aus dem Sockel genommen und die Lötstellen überprüft.

    Dann ein anderes 74HC574 (U4) und 74HC125 (U6) von der Lieferung eingesetzt. Aber gleiches Ergebnis, die Zeichen werden nicht korrekt dargestellt.


    Hab mir jetzt bei Kessler-Elektronik die korrekten ICs bestellt 74HCT574 und 74LS125, so wie sie im Schaltplan und BOM vorgesehen sind.

    Hoffe das löst dann das Problem mit der Zeichenauswahl.


    Übrigens kann ich jetzt auch im Bastelkeller am Commodore 1702-Monitor arbeiten. Allerdings nur mit schwarzem Bild. Das weiße ist dort unbrauchbar.

    Brauche zum Testen also nicht mehr jedesmal mit Platine, Netzteil und Chinchkabel zum Samsung-TFT hochrennen und dann wieder runter, was mit der Zeit nervt.

  • Hier die Signale von U7B


    Pin 13 nHSync konnte ich nicht vernünftig vom Oszi abfotografieren, weil das Bild zu langsam aufgebaut wird (Timebase bei 5ms).

    Es waren 3 oder 4 50 Hz Nadelimpulse dargestellt


    Pin 12 VSync


    Dann die Ausgänge: Links Pin11 Row0, Mitte Pin 10 Row1 und Rechts Pin 9 Row2


    Sieht vernünftig aus, denke ich. Weis aber nicht genau, ob das so richtig ist :nixwiss:

  • Sehr seltsam. Und z.B. am EPROM U5 liegen die auch an den Pins 10, 9, 8 an? Wenn ja, passt da irgendwas mit dem Timing der Signale und U9 nicht, weil U9 dann anscheinend die Daten zur falschen Zeit übernimmt (also ganz so im Trüben gefischt - ich kenne mich mit dem ZX so gut wie gar nicht aus, hatte aber gerade zufällig davon gelesen).


    Hochauflösendes gutes Bild von der Lötseite?

  • Ansonsten hätte ich noch einen Gedanken: Mir scheinen die verschiedenen Logik-Familien (LS,HC,HCT) in diesem Projekt recht bunt gemischt und auch nicht immer nachvollziehbar. Ich habe mich da nicht exakt an die BOM gehalten und hatte möglicher Weise Glück... :nixwiss:

    Das war mein erster Gedanke, als ich grad die Bilder sah!


    74HCxxx aber dazu ne NMOS-CPU, das sind schon interessante Kombinationen.


    Würd mal alles auf LS oder wenigstens HCT umstellen, Ersteres braucht mehr Strom, logisch, aber wäre das, was eigentlich dazu gehört...

    Einzig am Quarz, da könnte man mal mit HC experimentieren, aber noch besser wäre ein fertiger, gekapselter Quarz-Oszillator oder einer der heutigen programmierbaren XCOs, dann ist an der Baustelle schon mal alles stabil und man kann weiter suchen.



    Was das durchlaufende Bild anbelangt: alte S/W-TVs hatten einen recht großen Fang-Bereich, insb. die kleinen, transportablen, die kein "heißes" Chassis hatten, sondern schon in den 1970ern auch an 12V DC liefen.. Mit so einem müsste sich das Bild fangen lassen, wenn es schon mal so weit sichtbar ist, wie beschrieben. Der schwarze Punkt ist übrigens wirklich Alles, was so ein ZX81 an Einschaltmeldung erzeugt (ist eigentlich ein revers dargestelltes "R" für Ready).



    Wems tröstet: Der Oszillator war beim originalen ZX81 schon damals eine Katastrophe und Grund für unzählige gefrustete Stunden mit nicht funktionierenden Bausätzen.


    Das war ein -zweckentfremdeter- Keramik-Resonator mit 6.5 MHz, also vermutlich für nen Tonhilfsträger im TV gedacht und machte zusammen mit den ebenso ominösen ZTX313 Transistoren so ziemlich alles, aber keinen stabilen Takt...


    PS: ich wäre als ZX81 auch beleidigt, wenn ich ne LILA pcb verpasst bekomme, ZX81 hatte nach alter Väter Sitte verzinnte PCB OHNE Lötstopp-Lack!

  • Die "Mischbestückung" hatte mich auch gestört - ich glaube kaum, dass das original war beim ZX-8x?


    [EDIT]


    Definitiv nicht beim ZX-80 - alles LS-Bestückung, siehe https://www.myprius.co.za/ZX80.htm

    Beim ZX81 war der Krempel ja dann in der ULA. Ich würde raten, dass diese - auf Basis Planungsstand 1979 - auch in NMOS gefertigt war, nicht in CMOS.


    [/EDIT]


    Ich habe deshalb fast alles in LS aufgebaut. Der Oszillator funktioniert damit natürlich nicht, den müsste man umdimensionieren/umbauen, daher hatte ich dort einen HCT (siehe anderen Thread) verwendet.


    Mich hatte das Projekt vor allem fasziniert, weil man bis auf die CPU keinerlei "Spezialbausteine" braucht.

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


    Edited 2 times, last by kinzi ().

  • Es scheint, der Clone-Erfinder hat(te) auch Probleme mit dem Oszillator:


    https://revspace.nl/ZX81plus38_simple_to_build_ZX-81_clone (Abschnitt 35)


    Ich denke, da wird in nächster Zeit ein Update kommen (Rev. 1.7).

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • Würd mal alles auf LS oder wenigstens HCT umstellen

    Die "Mischbestückung" hatte mich auch gestört - ich glaube kaum, dass das original war beim ZX-8x?

    Ich hab jetzt erst mal die ICs bestellt, damit es so bestücken kann, wie vom Entwickler vorgesehen. Dort und bei bigby lief es ja so auch.

    Mal sehen bis wann Kessler liefert... dann wissen wir mehr...


    Hab übrigens einen interessanten Artikel aus microcontroller.net dazu gefunden. Bezieht sinch zwar auf die Vorvorversion 1.4, aber erklärt die Funktionsweise gut.

    Zum Thema HCT vs HC steht dort:

    Zitat:

    Code
    1. > (...) Ich frage
    2. > mich auch warum HC bauteile anstatt HCT, die HCT sind genau so schnell
    3. > and stromsparend.
    4. Statt HCT kannst Du auch HC nehmen, wenn die gerade herumliegen. Aber nur an Stellen wo die Eingänge von HC oder HCT getrieben werden. HC-Eingänge funktionieren nicht an NMOS-Ausgängen (Z80, EPROM ohne "C" im Namen) und theoretisch nicht (praktisch aber oft) an TTL-Ausgängen (74, 74LS).
    5. HC braucht >3,3 V als High und <1,6 V als Low. LS und HCT brauchen >2,4 V als High und <0,8V als Low.



    Es scheint, der Clone-Erfinder hat(te) auch Probleme mit dem Oszillator:

    Ja, die hatte ich Anfangs auch, aber inzwischen läuft der Oszillator bei mir stabil und ich bekomme ja auch ein Bild.

    Trotzdem sollte das verbessert werden, da stimme ich zu.


    Hochauflösendes gutes Bild von der Lötseite?

    Bestückt, Oben und Unten:


    Unbestückt, Oben und Unten:

  • Vielleicht mal anders rum denken und die Z80 CPU durch eine C-MOS-Variante ersetzen, gibt es ja sogar noch neu und in der regulären Distribution.

    Von China-Ware würde ich da abraten, da bekommt man höchstwahrscheinlich wieder NMOS aber umetikettiert...


    manfred.moser : Schreib mir ne PN wenn Du eine C-MOS CPU brauchst, ich kann Dir eine getestete zusenden!


    Meine berufliche Erfahrung mit dem Ersatz von 74LS durch C-MOS kann man auf den Punkt bringen: HCT geht, wenns nicht zu schnell wird oder es Treiberbausteine sind (wie z.B. 74ls24x). Diese, oder wenns generell sehr schnell sein soll: 74ACT.


    OT: Aber selbst die 74ACT haben noch nicht ganz die Treiberleistung, welche sich mit 74ALS und nicht die Geschwindigkeit, die sich mit 74F erzeugen liess, d.h. speziellere Varianten als 74LS lassen sich meist NICHT ersetzen, zumindest nicht ohne die Schaltung konkret durch zu rechnen und gegebenenfalls auch zu verändern.


    74HC sind generell kritisch zu sehen, man muss sich dann die Schaltung im Detail ansehen, der Unterschied zw. HC und HCT liegt auf der Eingangsseite, also den akzeptierten Pegeln, die Ausgänge verhalten sich ziemlich gleich. Daher auch mein Tipp oben, den HC im Oszillator zu lassen, denn dort ist der Eingang ja nur die Rückkopplung mit sich selbst, aber der Ausgang zählt...


    Von TI gibt es zu den Logikfamilien und ihrer überschneidenden Kompatibilität mehrere nette Applikationsschriften, angefangen bei der seinerzeitigen Designer-Bibel, dem TTL-Katalog von TI, aber auch Einzelschriften wie die hier:


    https://www.ti.com/lit/sg/sdyu…01ab.pdf?ts=1653817681736


    https://www.ti.com/lit/an/scla…a011.pdf?ts=1653817783756


    Obiges sind natürlich alles Infos, die sich an Entwickler richten, d.h. etwas schwerere Kost.


    Auf Deutsch und gut zusammengefasst hab ich das hier mal gefunden und seitdem

    immer mal wieder (vermutlich auch schon hier im Forum) geteilt:


    74_IC_LOGIK.pdf

  • Ja, das ist bekannt und das "predige" ich hier auch immer wieder - keine HCs in reinen TTL-Schaltungen. Dafür sind extra HCT entwickelt worden. Diesen Aufwand hätte man sich unter Garantie erspart, wenn HC problemlos im TTL-Umfeld laufen würden.


    Ausnahmen gibt es, z. B. beim Oszillator - die Variante mit einem Gatter (aka. Pierce-Oszillator) funktioniert nicht mit LS, dort muss man eine Variante mit zwei Gattern aufbauen.


    HC hat überdies keine fixen Schwellen, sondern die Schwellen für H und L sind fixe Prozentwerte der Versorgungsspannung. In Wirklichkeit sind die 74HCxxxx nichts anderes als umgelabelte CMOS 4xxx-Bausteine, wie man an den Typen wie 74HC4040 erkennt. Die 74HCxx mit xx = selbe Typennummer wie bei TTL (z. B. 74HC14) haben dann halt noch das gleiche Pinout wie die Originalbausteine, sind aber intern immer noch CMOS-4xxx-ICs.

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • Ich verstehe jetzt nicht ganz, wieso auf einmal das Thema HC/HCT und Takterzeugung so ganz allgemein aufkommt, obwohl das Board grundsätzlich funktioniert und nur die Zeichenerzeugung gestört ist. Da wäre es doch völliger Unsinn, nochmal von ganz Vorne anzufangen oder großflächig Zeugs zu tauschen. Wenn dann würde ich erstmal nur die Bausteine im Videoteil ersetzen, angefangen mit U9.

  • Ich verstehe jetzt nicht ganz, wieso auf einmal das Thema HC/HCT und Takterzeugung so ganz allgemein aufkommt, obwohl das Board grundsätzlich funktioniert und nur die Zeichenerzeugung gestört ist. Da wäre es doch völliger Unsinn, nochmal von ganz Vorne anzufangen oder großflächig Zeugs zu tauschen. Wenn dann würde ich erstmal nur die Bausteine im Videoteil ersetzen, angefangen mit U9.

    Deshalb:

    Mir scheinen die verschiedenen Logik-Familien (LS,HC,HCT) in diesem Projekt recht bunt gemischt und auch nicht immer nachvollziehbar. Ich habe mich da nicht exakt an die BOM gehalten und hatte möglicher Weise Glück... :nixwiss:

    Muss noch erwähnen, dass ich mich nicht komplett an die Vorgaben in der BOM gehalten habe.

    1. Für die beiden 74HCT541 hab ich 74HC541 benutzt

    2. Für das 74HCT574 hab ich ein 74HC574 benutzt und

    3. Für das 74LS165 hab ich ein 74HC165 benutzt

    Mag sein, dass das beim gegenständlichen Character-Set-Problem gerade keine Rolle spielt. Ich erlaube mir das trotzdem zu erwähnen. Der Thread heißt ja auch nicht "Problem mit der Charactererzeugung".

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • obwohl das Board grundsätzlich funktioniert und nur die Zeichenerzeugung gestört ist.

    Da beim ZX81 die CPU fast die gesamte Arbeitslast trägt, kann man aktuell nur sagen, dass die CPU -hinsichtlich- idle-Schleife aka Videoerzeugung momentan nicht aussteigt.


    Das aufs ganze Board zu erweitern fällt angesichts der Tatsache, dass man ja weder was Sinnvolles sieht, noch was Sinnvolles eingeben und ausführen kann schon etwas gewagt.


    Da der Barcode-ähnliche Aufbau der gestörten Charaktererzeugung darüber hinaus darauf hindeutet, dass ein je Zeile zu erhöhender Offset-Counter nicht läuft, stellt sich natürlich die Frage, ob das nicht schlicht an der Verwendung der falschen Logikfamilie liegen könnte, oder möglicherweise auch an einem noch unerkannten Defekt der wohl aus China bezogenen Bausteine.


    OT: Der TL866 testet nicht sonderlich intensiv oder gar vollständig, d.h. gibt es eher "false good" Ergebnisse als denn "false bad". Die Tests laufen zudem bei sehr moderaten Frequenzen und eine Überprüfung der Ausgabepegel auf Einhaltung der familienspez. Grenzen erfolgt ebenso wenig. Daher ist der Test zwar ein Indiz, aber keinesfalls der Beweis, dass das DuT-IC noch funktioniert.



    Meine Vorgehensweise wäre, das Board zunächst mit komplett 74LS STABIL zum Laufen zu bringen, sogar das EPROM würde ich erstmal als 2764 oder 27128, also in NMOS einsetzen, allein die Oszillatorschaltung entweder so belassen (also 74HC), oder aber über Funktionsgenerator oder fertigen Quarzgenerator einspeisen.


    Dann kann man schrittweise auf HCT wechseln und auch EPROM und CPU dann in CMOS verwenden (der Z80 in CMOS hat ja glücklicherweise weniger Kompatibilitätsprobleme wie der 65C02 in Bezug auf den NMOS 6502). HC wäre erst dann möglich, wenn wirklich SÄMTLICHE Komponenten auf CMOS umgestellt sind, wobei das SRAM und EPROM aber auch eher ein HCT-Verhalten zeigen, um kompatibel zu NMOS an sich zu sein.


    Die Frage ist daher, warum man HC -jenseits von der Oszillatorschaltung, die von den symmetrischen Schaltschwellen profitiert- überhaupt einsetzen sollte, sofern man nicht mit niedrigerer Versorgungsspannung arbeiten will oder in der Peripherie die volle CMOS-Kompatibilität braucht.

  • In Posting #18 steht doch, dass das Gerät auf Eingaben reagiert.


    Das mit dem Offset-Counter hatten wir auch schon in Posting #20, und nachgemessen scheint das zu funktionieren.


    Deswegen mein Verdacht, dass U9 nicht richtig triggert. Es kann auch sein, dass die Ausgangssignale von U4 nicht die richtigen Levels haben. Mehr als die beiden würde ich jedenfalls nicht direkt tauschen, es sei denn, man steht auf diese komische Art der "Fehlerbehebung", wie sie Windows-Benutzer gerne machen ("ich habe an allen Hebeln gleichzeitig rumgemacht, und danach ging es, also waren alle Hebel falsch"). Das Problem bei dem Ansatz ist auch, dass man so halt nix lernt.

  • Deswegen mein Verdacht, dass U9 nicht richtig triggert. Es kann auch sein, dass die Ausgangssignale von U4 nicht die richtigen Levels haben.

    Dass diese beiden bei manfred.moser HC Bausteine sind, während auf meiner (funktionierenden) Platine hier LS bzw. HCT ICs stecken, passt immerhin zu der Hypothese.

  • So, hab den verregneten Nachmittag genutzt um eine zweite Platine aufzubauen.:hammer:


    Links der zweite ZX81, rechts der bisherige


    Detailaufnahme von #2


    Natürlich hab ich auch bei #2 die falschen HC-Versionen von U4 (74HC574 statt 74HCT574), U6 (74HC125 statt 74LS125) und U9 (74HC165 statt 74LS165) drin.

    Da hatte ich vom Chinamann ja je 10 Stück erhalten (Mindestbestellmenge...)

    Die richtigenIC-Versionen sind bei Kessler bestellt.


    Postiv:

    Der ZX81 #2 lief auf Anhieb, so dass ein Bild mit Cursor erschien. Der Oszillator startete also auf Anhieb mit der korrekten Frequenz.

    Hier auf dem Commodore Monitor 1702 mit schwarzem Bild (weiß funktioniert auf diesem Monitor auch mit ZX81 #2 nicht).


    Negativ:

    Wieder ein Zeichenproblem, diesmal aber etwas anders.

    Es ist wieder kein Zeichen erkennbar, diesmal aber ist der Cursor stets nur ein Quadrat (sollte eigentlich nach dem Booten ein "K" sein)

    Auf Eingaben von der Tastatur reagiert der Cursor und bewegt sich dann nach rechts, aber es erscheinen keine Zeichen, auch kein korrumpierten.

    Hier nach Eingabe von "Print" (also nach ZX81-Manier die Taste "P" gedrückt). Das Quadrat wanderte 6 Zeichen nach rechts.

    Eigentlich sollte da jetzt "Print " stehen... :roll:


    Wollte ausschließen dass weitere Lötfehler auf Platine #1 zu dem Zeichenproblem führten.

    Das ist es scheinbar nicht, denn auf zwei verschiedenen Platinen ist es sehr unwahrscheinlich, dass derselbe Lötfehler passiert.


    Das 27C256 mit 4xROM-Abbild und das 27W512 mit 8xROM-Abbild hab ich mal zwischen #1 und #2 getauscht.

    Beide Platinen zeigen weiterhin denselben Fehler wie vorher (also #1 weiter die korrumpierten Zeichen und #2 das Quadrat)


    Mal sehen, was geschieht, wenn ich die korrekten IC-Versionen von Kessler erhalte...

  • Das Problem bei dem Ansatz ist auch, dass man so halt nix lernt.


    Um da was zu lernen, müsste man mit deutlich mehr Messtechnik anrücken und auch den Schaltplan mal ordentlich aufdröseln und mit den Original-Plänen von Sinclair vergleichen.


    Letztlich ist so ein "ULA-freier" ZX81 ein aufgebohrter ZX80 (die Auf- /Umrüstung wurde auch von Sinclair seinerzeit angeboten!) mit Slow-Mode.

    Und sowohl im ZX80 als auch im ZX81 gab es genau NULL C-MOS Bausteine. (Zur ULA gibt es z.b. auf archive.org auch Unterlagen, aber das führt jetzt zu weit)


    Da der Oszillator bei dem Retro-Projekt aber derart "umgestaltet" wurde, dass er nur noch mit C-MOS prinzipiell funktionieren kann, bleibt nur eine Mischbestückung.


    manfred.moser : Danke für die hochauflösenden Bilder. Wie ich dort grad gesehen hab, ist die von Dir verwendete CPU ja bereits C-MOS und ne schnelle 8MHz-Variante dazu noch. (Z84C0008PEC). Insofern stellt sich natürlich die Frage, ob nicht vielleicht das auch zum Fehler beiträgt.


    Originalgetreu wäre rein LS und NMOS, wobei man beim Oszillator eben entweder auf ne andere Lösung umbauen müsste oder dort die HC(T) beibehalten.


    Wenns damit läuft, könnte man versuchen, mit Hilfe der C-MOS-CPU und modernerem RAM und EPROM komplett auf C-MOS zu gehen. Um solch subtile Timing-Fehler zu finden, kommt man aber um digitales Speicheroszi und/oder Logic-Analyzer nicht drum rum. Zudem jede Menge an Hilfssockeln oder Snap-On-Abgriffen für die Signale.


    Als Hobby-Projekt würde ich es dabei belassen auf das zu gehen, was bekannt lauffähig ist: NMOS und LS.

    "Lernen" wird man bei dem Layout-Chaos beim debuggen nämlich nur eins: "wer misst misst Mist".