Forum: Projekte & Code ZX81 plus38 Clone


von chris_ (Gast)


Lesenswert?

Meiner Erinnerung nach hatte ich auch Probleme mit dem Adressdekoder.
Wenn das Zeichensatz ROM nicht detektiert wird, wenn darauf zugegriffen 
wird, kann man das feststellen, wenn man die Prozessorpins anfasst und 
sich das Zeichen im Bild ändert. Das Muster, welches man sieht, kann 
noch von den vorigen Zugriffen auf andere Bereiche stammen, deren 
Überreste noch kapazitiv auf den Leitungen hängen.

von Hobby I. (nitro2)


Lesenswert?

Danke Chris ,

inzwischen auch den cat28c256 laufend bekommen .

leider ändert sich nichts im bild .

hoffentlich kann Sascha alle verbindungen der er gemacht hat mit dem 
reverse-clock mal veroffentlichen , dann versuche ich die option auch 
mal .

von Hobby I. (nitro2)


Lesenswert?

@  Sascha I. (s_ittner)


wenn möglich ,

bitte mal die umbau vom clock-signal in text veröffentlichen .

ich weis nicht welche punkte ich isolieren muss


gruss ,

nitro2

von Sascha I. (s_ittner)


Lesenswert?

Ich habe den Takteingang der CPU (PIN 6) invertiert. Die Schaltung dazu 
ist hier gezeigt: 
https://www.mikrocontroller.net/attachment/539815/fix-cpu-clk.png

von Hobby I. (nitro2)


Lesenswert?

möchte gern wissen welche pins du fur dieser modification alle isoliert 
haben , und welche pins miteinander verbunden sind .

denn ich sehe auch verbindungen zum  , U5 und U3 , buchse und U24 ?

leider ist dass photo nicht deutlich genug ( muss mein alter sein ) .

danke

hobby i

: Bearbeitet durch User
von Hobby I. (nitro2)


Lesenswert?

@  Sascha I. (s_ittner)


Hast du nur pin 6 des z80 beidseitig isoliert ( u24 und buchse )  ,

damit dass invertierte signal nur an pin 6 weitergegeben werden kann ?


Hobby I.

von Hobby I. (nitro2)


Angehängte Dateien:

Lesenswert?

die anpassung von Sascha I.  mbz. rom funktioniert tatsächlich ohne 
probleme .
ich verwende ein -10 eprom .
den clone functioniert wieder ,

Danke !!

: Bearbeitet durch User
von chris_ (Gast)


Lesenswert?

Super, Gratulation zum funktionierenden Zx81 Clone :-)

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Gibt es ein Zusammengefasstes Schema mit den Änderungen?

Ich möchte das gerne in ein Altera EPLD zusammenfassen, um die Bauteile 
wieder auf ein Minimum zu reduzieren.
Z80, RAM, ROM, EPLD, & Hühnerfutter,
DANKE

73 55

: Bearbeitet durch User
von Hobby I. (nitro2)


Lesenswert?

chris_ schrieb:
> Super, Gratulation zum funktionierenden Zx81 Clone :-)


ist aber nicht einfach weil mein platine schon komplett bestückt war , 
mann muss ein fassung wieder entfernen un einer der pins isolieren zu 
können
und beim processor hatte ich in ein strich 3 winziger 
"tracks"durchgeschnitten , wass dann wieder repariert werden müsste .

aber alles functioniert , jetzt muss ich noch irgendwo 2 billig keypads 
finden .

von chris_ (Gast)


Lesenswert?

>aber alles functioniert , jetzt muss ich noch irgendwo 2 billig keypads
>finden .

Du meinst die Tastatur? Man kann sie auch selber bauen und das Layout 
drucken. Wenn Du einen Farbdrucker und ein Laminiergerät hast, geht es 
wahrscheinlich auch noch schöner als meine Version in der 
Klarsichthülle:

Beitrag "Re: ZX81 plus38 Clone"

Das "Feeling" beim Tippen ist mit der Version gar nicht so schlecht.

von Ale (Gast)


Lesenswert?

Oder eine mit Cherry Tasten bauen wie ich gemacht habe... nicht alles 
war früher besser :), und der wiz loader mit dem esp32 ist genial

von Hobby I. (nitro2)


Lesenswert?

Da bin ich wieder ;-)

jetzt eine neue phase ,

2 dieser clonen gebaut , mod von Sascha I. verwendet ABER ;

wenn ich  load "  "  typ sturzt den clon völlich ab .

weisst jemandem ursache , und lösung ??????

von Sascha I. (s_ittner)


Lesenswert?

Hobby I. schrieb:
> @  Sascha I. (s_ittner)
>
>
> Hast du nur pin 6 des z80 beidseitig isoliert ( u24 und buchse )  ,
>
> damit dass invertierte signal nur an pin 6 weitergegeben werden kann ?
>
>
> Hobby I.

Ja, genau das ist die Änderung. Sorry für die späte Antwort. Du scheinst 
ja schon erfolgreich gewesen zu sein :-).

von Sascha I. (s_ittner)


Angehängte Dateien:

Lesenswert?

Patrick L. schrieb:
> Gibt es ein Zusammengefasstes Schema mit den Änderungen?

Weil ich die rev1.6-Platine mechanisch nicht sauber in des ZX81-Gehäuse 
bekommen habe, habe ich das Board mit den Korrekturen mal nachgezeichnet 
(https://github.com/sittner/zx81sharp).

Zusätzlich zu den oben erwähnten Änderungen hat sich noch gezeigt, dass 
die Position des Video-Out Latches falsch war (Geisterlinie am linken 
Bilschirmrand). Das ist jetzt auch korrigiert.

Den aktualisierten Plan findet ihr auch als PDF im Repos.

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Sascha I. schrieb:
> Weil ich die rev1.6-Platine mechanisch nicht sauber in des ZX81-Gehäuse
> bekommen habe, habe ich das Board mit den Korrekturen mal nachgezeichnet
> (https://github.com/sittner/zx81sharp).

Danke für den Link :-)

von Tom T. (tom_t593)


Lesenswert?

Hallo zusammen,

ich habe die Rev 1.6 aufgebaut und bin jetzt recht ratlos.

Ich habe einen weissen Screen und unten links an der Stelle des "K" ist 
ein schwarzes Quadrat ohne Inhalt. Tippe ich etwas auf der Tastatur, 
dann wandert zwar das schwarze Kästchen, aber es werden keine Zeichen 
auf dem Bildschirm dargestellt.

HSYNC und VSYNC passen, NMI wird kontinuierlich erzeugt - mir scheint 
jedoch, die CPU schreibt keine Zeichen ins Schieberegister oder macht 
wirres Zeug?.

Ich habe schon 8K EPROM und 32K EPROM mit 4 x hintereinander 8K ROM 
gebrannt, jedoch als 16K ROM gejumpert ausprobiert - kein Erfolg.

Was mache ich falsch bzw. habe ich übersehen?

Gruß

Thomas

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Frage Führt er den Befehl aus oder kommen nur Blank an?

Mit anderen Worten, liegt der Fehler in der Eingabe oder Ausgabe 
(Bildgenerator)?

: Bearbeitet durch User
von Tom T. (tom_t593)


Lesenswert?

Patrick L. schrieb:
> Frage Führt er den Befehl aus oder kommen nur Blank an?
>
> Mit anderen Worten, liegt der Fehler in der Eingabe oder Ausgabe
> (Bildgenerator)?

Nach einem Tastendruck wandert nur das schwarze Kästchen nach rechts. 
Ich sehe keine Zeichen und weiss nicht, ob irgendein Befehl ausgeführt 
wird.

Seltsamerweise springt der "Cursor" (Kästchen) nicht in die neue Zeile, 
wenn ein RETURN gedrückt wird.

Ich habe nun schon verschiedene ROMs ausprobiert - beim ZX81 
Original-ROM bleibt der ganze Bildschirm dunkel.

Hinzufügen muss ich, das ich einen DELL LCD Monitor mit u.a. Composite 
Eingang nutze. Das denke ich ist aber hier nicht das Problem.

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Tom T. schrieb:
> Seltsamerweise springt der "Cursor" (Kästchen) nicht in die neue Zeile,
> wenn ein RETURN gedrückt wird.

Dan liegt der Fehler offensichtlich bei der Tastatureingabe.
Entweder in der Soft oder beim Eingangsregister(74HCT541).
Entweder wird er von der Software nicht eingelesen ($FF Code) oder der 
IC selber hat ein Timing Problem ich würde mal da suchen(U22)
https://github.com/mahjongg2/ZX81plus38/blob/master/ZX81plus38rev1%2C6.pdf

In der unteren Rechten Ecke vom Schema ;-)

: Bearbeitet durch User
von Tom T. (tom_t593)


Lesenswert?

Patrick L. schrieb:
> Tom T. schrieb:
>> Seltsamerweise springt der "Cursor" (Kästchen) nicht in die neue Zeile,
>> wenn ein RETURN gedrückt wird.
>
> Dan liegt der Fehler offensichtlich bei der Tastatureingabe.
> Entweder in der Soft oder beim Eingangsregister(74HCT541).
> Entweder wird er von der Software nicht eingelesen ($FF Code) oder der
> IC selber hat ein Timing Problem ich würde mal da suchen(U22)
> https://github.com/mahjongg2/ZX81plus38/blob/master/ZX81plus38rev1%2C6.pdf
>
> In der unteren Rechten Ecke vom Schema ;-)

Ok, danke, schau ich mal.

Jedoch habe ich dann noch immer das leere Kästchen als „Cursor“.

von chris_ (Gast)


Lesenswert?

Wenn man auf die Taste drückt und das Zeichen nach rechts springt, liegt 
die Vermutung sehr nahe, dass die Software korrekt funktioniert aber die 
Zeichendarstellung nicht.
Das kann u.a. an der falschen Adressierung des Zeichenroms liegen, oder 
dass das Schieberegister seinen Takt nicht bekommt.

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

chris_ schrieb:
> die Vermutung sehr nahe, dass die Software korrekt funktioniert aber die
> Zeichendarstellung nicht.

Nein dann würde er nach[ENTER]mindestens auf die nächste Zeile Springen 
oder mindestens den Befehl ausführen.
Aber das tut er scheinbar nicht.

Also liegt der Fehler schon in der Eingabe oder der Verarbeitung der 
Eingabe.

von chris_ (Gast)


Lesenswert?

>von Patrick L. (Firma: S-C-I DATA GbR) (pali64)
>18.02.2022 07:58

>chris_ schrieb:
>> die Vermutung sehr nahe, dass die Software korrekt funktioniert aber die
>> Zeichendarstellung nicht.

>Nein dann würde er nach[ENTER]mindestens auf die nächste Zeile Springen
>oder mindestens den Befehl ausführen.
>Aber das tut er scheinbar nicht.

>Also liegt der Fehler schon in der Eingabe oder der Verarbeitung der
>Eingabe.

Der ZX81 springt nie in die nächste Zeile, weil er nur eine Zeile hat:

Außerdem hängt das Verhalten von der Eingabe ab: Wenn man z.B. "10 Goto" 
tippt und die Zieladresse weglässt, bleibt die alte Zeile mit 
Fehlermeldung stehen.

Du kannst das direkt hier ausprobieren:
https://www.zx81stuff.org.uk/zx81/jtyone.html

von Dirk S. (fusebit)


Lesenswert?

Ein
10 PRINT "Hallo"
20 GOTO 10
RUN 10

könnte es klären :-)
Das sollte sich ja noch "blind" eintippen lassen.

: Bearbeitet durch User
von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Dirk S. schrieb:
> Ein
> 10 PRINT "Hallo"
> 20 GOTO 10
> RUN 10
>
> könnte es klären :-)
> Das sollte sich ja noch "blind" eintippen lassen.

Gute Idee +1

: Bearbeitet durch User
von Tom T. (tom_t593)


Lesenswert?

Hallo zusammen,

danke für die Tips :)

Jedoch muss der Cursor nach einem RETURN doch nach links springen - was 
er nicht macht.

Was mich wundert - wie kann die REV 1.6 bei Usern funktionieren, wenn 
Sascha in seinem "Fix" so viel ändern musste, um ihn zum Laufen zu 
bekommen...

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Tom T. schrieb:
> Was mich wundert - wie kann die REV 1.6 bei Usern funktionieren, wenn
> Sascha in seinem "Fix" so viel ändern musste, um ihn zum Laufen zu
> bekommen..

Tja da bleibt die Frage, Laufen oder Hinken?

Ne ich denke dass die einfach Stillschweigend dran gebastelt haben biss 
es Lief.
Sascha hat einfach "Berichtet", dass die anderen auch was davon haben.
Ich binn ja auch dabei das ganze in ein FPGA zu packen, aber habe auch 
Probleme wo ich noch nicht weis ist es HW oder SW ;-)

Kann aber leider nur wenig zeit dafür aufwenden, weil ich ja im 
Arbeitsprozess bin ;-)

von Asdf Q. (Gast)


Lesenswert?

Dirk S. schrieb:

> Das sollte sich ja noch "blind" eintippen lassen.

Dazu muss man aber den ZX81 kennen :-)

Nicht etwa "1" "0" "P" "R" "I" ...  drücken, sondern "1" "0" "p" 
"shift-p" "shift-h" "a" usw. Und nach dem Drücken von "NEW LINE" bleibt 
der Cursor entweder da wo er war (dann haben wir einen Eingabefehler, 
also "shift-0" bis die Zeile leer ist und neu anfangen), oder die 
eingetippte Zeile springt an den oberen Rand des Bildschirms und die 
untere Zeile ist wieder leer.

von Tom T. (tom_t593)


Lesenswert?

Ich komme leider nicht weiter :(

Auch den Clock-Phasen "Patch" habe ich umgebaut - ändert nichts.

Ich nutze ein 27C256-200 EPROM und ein 62256-100 RAM. Ich habe auch 
schnellere RAM/ROM versucht - kein Unterschied.

Welche RAM/ROM Kombi verwendet ihr und welches ROM-Image?

: Bearbeitet durch User
von Asdf Q. (Gast)


Lesenswert?

Tom T. schrieb:

> Ich nutze ein 27C256-200 EPROM und ein 62256-100 RAM.

Ein altes RAM, oder etwas aus moderner chinesischer Produktion? Falls 
letzteres, dann steck mal testweise einen alten Chip aus den '80ern 
rein.

von Tom T. (tom_t593)


Lesenswert?

Soul E. schrieb:
> Tom T. schrieb:
>
>> Ich nutze ein 27C256-200 EPROM und ein 62256-100 RAM.
>
> Ein altes RAM, oder etwas aus moderner chinesischer Produktion? Falls
> letzteres, dann steck mal testweise einen alten Chip aus den '80ern
> rein.

Markenware, fast so alt wie ich :D :D - also locker 80er Jahre.

Welches ROM Image nutzt du?

von Dirk S. (fusebit)


Angehängte Dateien:

Lesenswert?

Mit dieser Kombination funktioniert es bei mir (Rev. 1.4 Platine auf 1.6 
gepatched)

von Thomas Schilling (Gast)


Lesenswert?

Soul E. schrieb:
> Die Freunde des Türstoppers haben übrigens auch ein eigenes Forum:
> https://forum.tlienhard.com/phpBB3/viewforum.php?f=2&f=2

Jetzt hab ich mir vor Lachen fast in die Hose gemacht, genial.
Also diese Version mit DIL müßte eigentlich ohne die Modifikation gehen.
Ich habe den ZX-81plus35 mit PSG von Mahjongg gebaut und verschiedene 
Monitore ausprobiert bis ich ein Bild bekam.

von tommi (Gast)


Angehängte Dateien:

Lesenswert?

You are definetely right Martin.
I wrote the PSG asm for reading SD with SPI (bit banging) via AY chip
and it does work. I use the ROM 2000h - 4000h for the program. After
programming the EEprom it is started with RAND USR 8200.
Basically it was necessary to use the memory above 32k to show the FAT
content with the possibility to choose the desired file to be loaded.

von rallik (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

ich hab mir den ZX81+38 Rev 1.6 gebaut.

leider bekomme ich kein ordentlichen Bild zustande.


Der Takt sieht gut aus.

Habe ein  OT-Eprom mit 32kB = 4xZX81-ROM gebrannt.

Speicher ist auch 32kB..

Die Adresssignale zeigen Aktivität und sehen in Ordnung aus.

Die Datenleitungen sehen aber eher bescheiden aus! Woran kann das 
liegen?

Muß ich noch irgendwelche Jumper setzten?

Leider sind die Jumper nicht wirklich gut beschrieben, ich habe 
zumindest nichts gefunden.

Danke

von Apollo M. (Firma: @home) (majortom)


Lesenswert?

rallik schrieb:
> Die Datenleitungen sehen aber eher bescheiden aus! Woran kann das
> liegen?

Die sehen eher ganz normal aus, weil die Data Port lines nur gültig zu 
den entspr. RD/WR Timing sein müssen. Du musst also parallel die RD/WR 
Signale mit anzeigen um das sicher beurteilen zu können.

Zu undefininierten Zeiten sind die Data Port Lines (wie auch die Address 
Lines) im floating Zustand und das sieht dann genau so aus, wie gezeigt.

von Burkhard T. (mikro-tiger)


Lesenswert?

@tom_t593 - hast Du schon eine Lösung gefunden?
Bei meinem Zusammenbau habe ich exakt das gleiche Problem: schwarzes 
Quadrat statt eines Grafikzeichens und das bewegt sich bei der 
Tastatureingabe. Statt der jeweiligen Zeichen (Zahl, Buchstabe pp.) wird 
als nur dieser kleine schwarze Klotz angezeigt :(
Ich habe auch fast den Verdacht, dass es am ROM oder einer falschen 
Adressierung liegt. In welchen Speicherbereich muss das ZX81-ROM geladen 
werden? Ab Adresse 0 oder 4000? Muss der Bereich bis 4000 frei bleiben 
oder muss das ROM in alle Bereiche kopiert werden?
Die Invertierung an Pin 6 der CPU (der Vorschlag von @s-ittner) hat 
leider auch nichts gebracht ...

von martin de jong (Gast)


Lesenswert?

probiere mal fur U21 ein 74HC04 oder 74HCU04 zu benutzen
Ein 74HC14 is eigentlich nicht nutzbar fur ein xtal generator

Ich werde ein neues BOM fur zx81+38 revision 1.6 aufloaden.

von Andreas Rückert (Gast)


Lesenswert?

Im forum64 gibt es auch einen Thread zum Thema, wo einige Fehler 
gefunden wurden:

https://www.forum64.de/index.php?thread/126399-first-run-zx81-38-replika-l%C3%A4uft-nicht/&postID=1851371#post1851371

von Burkhard T. (mikro-tiger)


Lesenswert?

Hallo,
hatte schon gar nicht mehr mit einer Antwort gerechnet ...
Mit dem 74HC04 habe ich den gleichen Effekt (Cursor ohne Zeichen, also 
nur ein schwarzes Quadrat).
Der "forum64"-Thread endet leider auch mit genau der gleichen 
Fehlerbeschreibung, ohne das dafür eine Lösung zu erkennen ist.
Ich werde am Wochenende mal versuchen die Widerstandswerte R20, R29 und 
Kondensator C7 zu ändern ...

von Andreas Rückert (Gast)


Lesenswert?

Aber dort wurde der Fehler doch durch den gedrehten Takt behoben. 
Manfred hat so ja seine 5 zx81 ans Laufen bekommen.

von Burkhard T. (mikro-tiger)


Lesenswert?

Andreas, Du hast recht - ich bin beim "rumklicken" auf diesem Thread 
gelandet:
https://www.forum64.de/index.php?thread/120295-zx81-38-und-tastaturma%C3%9Fe/&pageNo=4
Den "gedrehten Takt" hatte ich bereits versucht - ich werde aber alles 
nochmal genau nachprüfen. Allerdings hat mich das Board bisher dermaßen 
frustriert, dass es mich schon etwas Überwindung kostet hier wieder Zeit 
zu investieren ...
Ich habe gerade ein ZX81NU-Board kurz vor der Fertigstellung (warte noch 
auf den Quarz) und lasse mich überraschen, wie das Teil funktionieren 
wird.

von Tom T. (tom_t593)


Lesenswert?

Burkhard T. schrieb:
> Ich habe gerade ein ZX81NU-Board kurz vor der Fertigstellung (warte noch
> auf den Quarz) und lasse mich überraschen, wie das Teil funktionieren
> wird.

Das ZX81NU Board funktioniert auf Anhieb. Unbedingt jedoch darauf 
achten, das die jeweiligen IC den erforderlichen Logik-Typen 
entsprechen!!

von Burkhard T. (mikro-tiger)


Lesenswert?

Habe mittlerweile auch noch einmal alle Verbindungen der 
Inverterschaltung am ZX81+38 überprüft. Das Ergebnis ist nur, dass das 
Cursorquadrat jetzt eher einem Rechteck entspricht. Ich habe deshalb 
beschlossen, mich nicht weiter mit dem ZX81+38 zu beschäftigen :(

Gerade kam der Quarz und der PIC-IC vom chinesischen "ali" - eingelötet 
und das ZX81NU Board meldet nach dem Einschalten sofort 32KB ROM und 
80KB RAM !! Selbst das LED-Display (zeigt ZXNU an) hatte ich verbaut. Da 
hat sich die Bastelzeit tatsächlich gelohnt! :)

: Bearbeitet durch User
von chris_ (Gast)


Lesenswert?

>Ich habe deshalb beschlossen, mich nicht weiter mit dem ZX81+38 zu beschäftigen 
:(

Ja, das Projekt ist ziemlich herausfordernd. Abgesehen von den bekannten 
Fehlern der Vorgängerversion (die in diesem Thread auch dokumentiert 
sind), war bei mir das größte Problem unterschiedlicher Logiktypen. Ich 
hatte die Bauteile von einem Freund bekommen und nicht bemerkt, dass es 
verschiedene Logikfamilien waren (HC und LS passen nicht zusammen).
Nach langer hier im Thread dokumentierter Arbeit lief es dann aber.
Auch eine Fehlerquelle kann die Addressdekodierung sein. Bei mir sind 
die 8K ROM Bereiche dupliziert.

von Burkhard T. (mikro-tiger)


Angehängte Dateien:

Lesenswert?

chris_ Du hast meinen Nerv getroffen: Herausforderungen sind genau das, 
was ich suche. Habe alle IC's aus den Fassungen gezogen (eigentlich nur 
um diese zu retten, bevor das Board in die "Tonne" kommt) und da sah ich 
etwas seltsames: der Kontakt für PIN 2 der IC-Fassung U12 ragte aus der 
Fassung heraus! Irgendwie muss der Kontakt beim Einlöten irgendwie 
"verrutscht" sein. Dadurch war der "Federdruck" für Pin2 beim Einsetzen 
des IC nicht gegeben. Die Fassung also nochmal nachgelötet und den 
Kontakt dabei hineingedrückt. Danach alle IC wieder eingesetzt - das 
wird doch wohl nicht der Fehler gewesen sein?
Also Monitor angeschlossen und USB-Power ON --- Cursor zeigt nun in 
aller Deutlichkeit das vertraute K !!! Tja, manche Herausforderungen 
sind wirklich sehr speziell ...
- Das Bild von der defekten Fassung ist leider doppelt - ich wollte das 
eine durch das andere ersetzen, da die Bezeichnung falsch war :(

[Mod: Doppeltes Bild gelöscht]

: Bearbeitet durch Moderator
von Andreas Rückert (Gast)


Lesenswert?

Super! Der kleine zx81 ist doch aller Mühen wert!!!

von chris_ (Gast)


Lesenswert?

>Also Monitor angeschlossen und USB-Power ON --- Cursor zeigt nun in
>aller Deutlichkeit das vertraute K !!! Tja, manche Herausforderungen
>sind wirklich sehr speziell ...

Herzlichen Glückwunsch zum funktionierenden Zx81 Clone :-)
Was die Fassungen anbelangt: Aus diesem Grund verwende ich seit Jahren 
nur noch Fassungen mit 'gedrehten' Pins.

von Martin D. (mahjongg)


Lesenswert?

Ich möchte berichten, dass ich kürzlich Version 1.7 meines 
ZX81+38-Designs auf GitHub hochgeladen habe.
Die Änderungen gegenüber Revision 1.6 sind minimal, aber die wichtigste 
Änderung in der Praxis ist der Austausch von U21, dem für den 
Quarzoszillator verwendeten Inverter, davor war ein 74HC14 vorgesehen, 
das war leider ein blöder Fehler, da es sich um einen 
Schmitt-Trigger-Inverter handelt also irgendwie der schlechteste 
Inverter, den man für einen Quarzoszillator wählen kann! Stattdessen ist 
es viel besser, sich für einen normalen 74HC04 oder noch besser für den 
ungepufferten 74HCU04 zu entscheiden. Ich habe auch den 
Rückkopplungswiderstand, der den Wechselrichter zwingt, sich wie ein 
linearer Wechselrichter zu verhalten, von 2M2 auf 1M gesenkt.
Weitere kleinere Änderungen sind, dass ich den ROM-Speicherplatz (für 
das ROM reservierter Adressraum) von 8 KB auf 16 KB erhöht habe, um das 
ROM von einem 8-KB-ROM auf ein 16-KB-ROM zu erweitern, dies für die 
zukünftige Option, Firmware für a Zukünftiges Erweiterungsboard mit 
einem AY-3-8912 PSG-Board (ZONX81-kompatibel) mit einer 
SD-Kartenschnittstelle, die über den GPIO-Port des PSG-Chips gesteuert 
wird. Mit der Firmware können Sie dann einfach aus einem Bildschirmmenü 
aus bis zu 26 verschiedenen .ROM-Dateien diejenige auswählen, die viel 
schneller geladen wird als über eine Kassette (bis zu 10-mal schneller). 
Auf diesem Board fange ich mal schnell an, eine Version für meinen 
älteren ZX-81 Klon, den ZX81+35 ist schon fertig.
Abschließend habe ich den Stecker für die 5 Datenleitungen der Tastatur 
um 180 Grad gedreht, da sich die Ausrichtung dieses Steckers als falsch 
herausstellte. jetzt ist das Tastaturinterface für die originale 
Tastaturfolie eines ZX-81 geeignet (eine passende Tastaturplatine kommt 
später).
Lesen Sie mehr darüber auf meinen Seiten in www.revspace.nl und im 
Offtopic-Bereich des Raspberry PI-Forums. Über Revision 1.6 höre ich von 
verschiedenen Seiten, dass mein ZX81+38 (abgesehen vom Quarzoszillator) 
damit zufriedenstellend arbeitet.
Ich habe jetzt meine eigene Kopie davon gebaut (mit IC-Sockeln) und 
jetzt, da ich den Kristallsozillator zum Laufen gebracht habe, werde ich 
das Board bald bauen und testen.
Also habe ich in der Zwischenzeit die Gerber-/Bohrdateien auf GitHub 
hochgeladen, sowie eine Tabelle der neuesten (Rev 1.7) BOM (Stückliste) 
mit mehr Quellen, wo diese Teile gekauft werden können, als nur bei 
Farnell. Und endlich habe ich eine korrigierte Bauzeichnung 
veröffentlicht, um den Bau zu erleichtern.

Mit freundlichen Grüßen, Martin de Jong (alias Mahjongg), der Designer 
des ZX81+38.

von Martin D. (mahjongg)


Lesenswert?

Ich versuche, mich beim anderen Forum "forum64" zu registrieren, um 
Kommentare im Thread "First Run ZX81+38 Replika läuft nicht" zu 
beurteilen, aber leider schlägt die Registrierung fehl. Auf die 
Sicherheitsfrage, wer den 6502 erfunden hat, antworte ich "Chuck 
Peddle", aber diese Antwort wird als ungültig zurückgewiesen.
Ich erhalte auch keine Registrierungs-E-Mail.
Vielleicht verstehe ich nicht richtig.

Ich denke nicht, dass das Invertieren der CPU-Uhr wirklich notwendig 
ist, und verstehe nicht, warum die Audioanschlüsse falsch verdrahtet 
sein sollten. Genau aus diesem Grund möchte ich meinen ZX81+38 selbst 
umbauen, damit ich meine eigenen Messungen und Schlüsse ziehen kann.

Leider leide ich immer noch unter "long covid"-Phänomenen, dies und die 
Schließung meines Makerspace Revspace.nl wegen covid erklärt, warum ich 
dies nach fast zwei Jahren immer noch nicht konnte.
Hoffentlich habe ich bald mein eigenes Exemplar.

Wenn wirklich weitere Verbesserungen notwendig sind, werde ich sie 
sicherlich implementieren, ich habe einen echten ZX-81, um die 
mechanischen Einstellungen zu überprüfen und mit einer echten 
ZX-81-Tastatur zu testen. Eine korrigierte Tastaturplatine ist noch in 
Planung.

von chris_ (Gast)


Lesenswert?

Meiner Ansicht nach wäre es sehr gut, wenn man für den diesen Zx81 Clone 
ein Inbetriebnahme ROM hätte, mit dem man die Schaltung schrittweise in 
Betrieb nehmen kann.
Das große Problem ist, dass die Grafikausgabe des Zx81 den Prozessor 
sehr stark einbindet und man nie weis, welche Komponente den Fehler hat.

von Burkhard T. (mikro-tiger)


Lesenswert?

Hallo Martin,
habe bei meiner Platine die "Invertierung" zurückgenommen und damit 
funktioniert sie genauso. Bei mir war es also nur der Pin von der 
IC-Fassung, der die Zeichen nicht darstellen ließ. Ich habe den 74HC04 
und den 1M Widerstand übernommen.

von Martin D. (mahjongg)


Lesenswert?

Burkhard T. schrieb:
> Hallo Martin,
> habe bei meiner Platine die "Invertierung" zurückgenommen und damit
> funktioniert sie genauso. Bei mir war es also nur der Pin von der
> IC-Fassung, der die Zeichen nicht darstellen ließ. Ich habe den 74HC04
> und den 1M Widerstand übernommen.

danke, aber heist das das die invertieren (des clock signal) wirklich 
nicht nötig ist?
es scheint mir zu dass einige der C64 forum damit Probleme hatten.
wenn es wirklich ein Besserung ist bin ich gerne bereit zie über zu 
nehmen, aber nicht wenn es sich nur über ein Missverständnis handelt.

Martin.

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Martin D. schrieb:
> wenn es wirklich ein Besserung ist bin ich gerne bereit zie über zu
> nehmen,

Wen mann die Signale der Daten und Selektleitungen, mit dem 
Logicanalyser anschaut, macht das Invertieren tatsächlich etwas aus, die 
zeitkritische Konstante, zwischen den "Stabielzustand der Signale" bis 
zur Übernahme wird etwas grösser, somit kann das Invertieren tatsächlich 
als "Verbesserung zur Stabilität" angesehen werden...

73 55

von Martin D. (mahjongg)


Lesenswert?

well I just finished and uploaded to GitHub a new BOM (rev 1.8) where I 
replaced all logic with 74HC logic, and all sockets to dual wipe 
sockets.
I checked if all logic I used was available in 74HCxx and DIP, and 
listed all of the order numbers in the BOM.

: Bearbeitet durch User
von Martin D. (mahjongg)


Lesenswert?

I finished the schematic and layout of revision 1.8 yesterday, and after 
some checking I will upload them to GitHub.

This version has all logic consolidated to 74HCxx logic, and uses U18A 
to invert the CPU (and expansion port) clock signal, relative to the two 
other inputs for the non-inverted 3.25M clock.
The extra traces needed to route to and from U18A were difficult to add, 
but I managed it.
I also moved U13 (74HC00) so that it no so close to another IC.

I also want to check the position of the non-plated holes, and whether 
the audio connectors are correctly wired (which I think they are but 
will check anyway) and after that I will upload both schematics and 
gerber/drill files to GitHub, so if there are any other issues anyone 
has, now is the time to speak out!

also I will change the component placement drawing by removing all 
references to logic families from the drawing.

von Martin D. (mahjongg)


Lesenswert?

I checked, with calliper and ruler and the original case and PCB, the 
position of all the 3mm screw holes in the PCB of the ZX81+38, and made 
some corrections. I also moved the USB connector slightly "up" (towards 
the back) so hopefully you can insert the relatively small USB-B 
connector into the PCB without needing to cut away plastic.

von Martin D. (mahjongg)


Angehängte Dateien:

Lesenswert?

I am happy to report that I finally have my copy of my ZX81+38 clone 
working.
My copy is based on the revision 1.6 PCB
I had to do the following to get a revision 1.6 working (patch it to 
nearly the level of revision 1.8):

1) Change the clock driver from an 74HC14 to a 74HC04
2) Change all logic from a mix of 74LSxx and 74HCxx logic to all 74HCxx 
logic
3) do the CPU clock inverter patch with half of U18, see the white wires 
in the picture above. Note wired without cutting any traces, by bending 
out pins of U18, and the Z80, one problem is the the expansion port 
clock signal is not inverted.
4) probably need to swap the orientation of the 5-pin keyboard data 
connector, meaning swapping the dupont wires. I still have to puzzle out 
which prototype keyboard pins I need to connect to which, not only for 
the swapped data wires, but some address wires could be swapped too, and 
my prototype keyboard (built for the ZX81+35) also has reset and LED 
connections.

Note that with my EEPROM a winbond W27C512 no jumperchanges were needed, 
just eight copies of the ZX81 filling the ROM. This ROM is FAST with 
45nS access time, but still needed the clock inverter patch.

See the picture of first power up with the first three corrections, but 
without a keyboard, I used a DuPoint wire between the "address" and 
"data" wire connectors to "press" some random keys to see if the clone 
was "alive", and that worked, as you can see above:

I want to thank everybody who helped!

I now have also published the KiCad files, for the world and the future 
of the ZX-81 may this help keeping the ZX-81 alive forever!

: Bearbeitet durch User
von Alex P. (ra_p)


Lesenswert?

Hey Martin, I glad you got it working in the End. I may do this clock 
inversion thing, but my ZX81+38 worked quite well, loading programs and 
playing with the keyboard never was a problem and did not produce any 
resets... I may have been very lucky by my random choice of TTL chips 
:), even a 'HC14 worked as oscillator, ali express chips, probably all 
repainted anyways.
Ale

: Bearbeitet durch User
von Martin D. (mahjongg)


Lesenswert?

Well, it has been a long time since my last post, but I have been busy 
with my ZX81+38 clone.
My latest (and hopefully now permanent) version is revision 1.9, and 
actually the only fix from revision 1.8 worth mentioning is that I added 
pulldown resistors on the bases of all the transistors in the joystick 
to keyboard presses logic. And a change in the current limiting resistor 
for the base current of these transistors now the joystick works 
"einwandfrei" LOL. Oh, and did I mention the reversal of the keyboard 
data connector?

I finally ordered 10 pieces of the ZX81+38 revision 1.9 PCB and ten 
pieces of the keyboard PCB. But I still have not built up even one of 
the PCB's, I am still hesitating to order components from reichelt, 
although I fixed my version of the BOM, so that for reichelt I could 
find out the total price of all components, and came out at about 40 
euro.
I had planned to order 5 sets of all components, but as for all good 
plans, something came alone and stopped it! :-(

Partly its the fact that my long-covid limited my energy and 
"wanderlust" so I have only seen my maker space a few times, and another 
factor was that the "national computer games museum" in my hometown of 
zoetermeer, where I'm a volunteer, wanted a simple way to load their 
spectrum 48K each morning with a game. So on my advise they ordered a 
TZXDuino which I built up and programmed, that worked fine, but after 
some time I offered the idea that I could create a "TZXDuino" that would 
fit INSIDE of the spectrum, which was received with much glee, as the 
person that had to bring the TZXDuino each morning load a game, wait for 
the game to be loaded, and then remove the TZXDuino found that task a 
bit "cumbersome".

So I went ahead and designed my "TZXDuino pico" PCB, and it worked (I 
did find out that I had inadvertently mixed up the side the sd-card went 
in, but that was fixable, and has also been fixed on my GitHub project 
for it) but that was the beginning of a long tract of tribulations,
initially I only had one external button, the "start" button, other 
buttons I had from the museum that looked the same were off the normally 
closed type, and unusable. After new year (2023) I added a "next button" 
and added more games, only some of them did not work. long story why, 
but has to do with windows not automatically unpacking .ZIP files.....

In any case I still only have my patched revision 1.6 board, and didn't 
have a lot of urge ("drang") to order parts and build up revision 1.9. 
Sorry for that, I know some want to buy a kit from me.....

Anyway, I have not been very busy with my ZX81+38 design, except for 
soldering the buttons to one keyboard PCB, but lately some action has 
begon, as there was someone who made a video (or two video's now) about 
"how you can build a ZX-81 in 1922", and also there is now an article on 
HACKADAY about it. 
https://hackaday.com/2022/11/10/building-a-sinclair-zx81-in-2022-with-all-new-parts/#comment-6584307

Also I was asked why Wilf Rigter's WRX16 highresolution driver doesn't 
work on my clone. specifically a ZX81+38 builder asked why 
ZX-TERMINAL*80 doesn't work (which uses WRX16 to get 80 column text).
So I did some internet flat footing (investigating) found Wilf's 
original software release from 1986 and much more, and my conclusion is 
that WRX16 needs a Z80 that supports 8-bit refresh, (and a patched 16K 
adapter) but more importantly it needs 8K of ram extra on $2000 to 
$2FFF, and the latter is not something my ZX81+38 can support, yes it 
can configure 8K RAM there but that ram is mirrored in the 16K working 
RAM, so writing graphic data in the extra 8K ram (as the WRX16 software 
does) will also overwrite program data, Not much I can easily do about 
that. or can someone figure out how to do that? I sure cannot :-)
All this is written about on the GitHub page in the issues section.

I also tried to contact Wilf Rigter but my initial e-mail address was no 
longer working and another a later address (at dccnet.com ) did not 
bounce, but Wilf has not replied (yet).

Does anyone know what happened to the greater ZX-81 hobbyists ever?
is he still alive?
I owe much to wilf rigters designs.

I never spoke or mailed with him, but I want to thank him for his work, 
and ask if he supports my conclusion.

: Bearbeitet durch User
von Martin K. (Gast)


Lesenswert?

Hinweise für V1.6:

Ich hatte einen nicht funktionierenden plus38 Clone V 1.6 bei ebay 
gekauft und ihn folgendermaßen zum Laufen bekommen:

Als erstes hatte ich alle LS-Typen nachbestellt als HC Typen und einzeln 
ausgetauscht, um zu schauen ob eines der Signale nicht richtig 
durchkommt. (Das Signal für das Schieberegister sieht zum Beispiel sehr 
komisch aus und hat nur etwa 10ns lange Pulse, weil die Schaltung davor 
rückgekoppelt arbeitet und sich das Signal daher selbst zurücksetzt).

Folgende ICs mussten HC sein:
74LS165 -> 74HC165 (sonst scharzes Quadrat)
74LS08 -> 74HC08 (sonst Invertierfehler)

Dann war noch das Problem mit dem Flimmern der Darstellung in 
Abhängigkeit von Statischen Aufladungen. Das konnte ich Beseitigen 
durch:

2.2K Pull-Up für A14

Ich vermute, dass die Dekodierung für RAM/ROM nicht ganz korrekt ist, 
weil ja immer ein CS aktiv ist, sobald entweder mREQ oder mRFSH auf Low 
geht. Bei mRFSH wird aber anscheinend A14 hochohmig und muss deshalb auf 
5V gezogen werden damit die Dekodierung noch funktioniert.

Ansonsten habe ich noch keine Patches gemacht, also weder das 
Invertieren des CPU Takts noch den Austausch der anderen LS Chips gegen 
HC. Auch den Schmitttrigger für die Takterzeugung ist noch aktiv.

Der Zx81 Clone funktioniert nun stablil bei mir.

von Martin K. (Gast)


Lesenswert?

Ich habe noch eine Ergänzung zu meinen Hinweisen für Revision V1.6:

Es ist tatsächlich so, dass A13, A14 und A15 einen Pullup-Up benötigen 
um den Clone stabil zum Laufen zu bringen (also nicht nur A14).

Nach der Anpassung kann man die Platine mit den Fingern auf der Platine 
fast überall berühren (außer dem Taktgeber), ohne dass der Z80 abstürzt 
(was nicht einmal beim Original ZX81 ging).

Ich habe keine Bestätigung in der Spezifikation des Z80 für meine These 
gefunden, dass A8-A15 Tristate gehen während der Ausführung eines 
Refresh, aber es sieht ganz danach aus.

von Thomas (Firma: Exotek) (tomascent)


Angehängte Dateien:

Lesenswert?

Hi, this is Thomas
The time is passing and I started back with ZX-81 projects from 
MartinDeJongg.
Martin, I made your ZX-81V38 new, see attached picture and it works with 
no problems, so you made a great job.
We can continue if you want to know changes or something about the PSG.
Greetings
Thomas

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.