ZX81-Kompatibler aus Standardbauteilen: ZX81NU

ZX-Team Forum
Benutzeravatar
Paul
User
Beiträge: 2786
Registriert: 10.03.2010, 12:01
Wohnort: Germanys west end

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von Paul » 03.04.2016, 05:48

When booting a ZXNU it issues a self test.
It shows in the name of the test in the display.
so when your ZXNU sometime hangs in NMI this indicates that it tries to initiate the NMI circuit but this doesn't start.
Please have a look into the schematics and pull the involved ICs and re seat them in their in Sockets.
If this doesn't help please have a closer look at their solder joints.
Please report back if this helps or not.
I would say it's an important issue because FAST/SLOW as well as LOAD/SAVE etc. switch the NMI off and back on. So it should work reliably.
Kind regards Paul
Theoretisch ist zwischen Theorie und Praxis kein Unterschied.
Praktisch allerdings wohl.

Benutzeravatar
Paul
User
Beiträge: 2786
Registriert: 10.03.2010, 12:01
Wohnort: Germanys west end

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von Paul » 03.04.2016, 06:00

rune hat geschrieben:I had used HCT245 IC in IC 7. When I managed to translate the document I realised this was for Memotech keyboards. So I swapped with LS621 and now all keys work.
Now that is weird.
Normally a HCT245 should work without problems when using the keyboard membrane connectors. It's the way the ZX80 handles the keyboard circuit.
The documentation tried to tell that if you use a HCT245 it's normal that a Memotech Keyboard won't work (like on the ZX80).
So alternatively you can use a LS641 (which I also do) so you will be able to use the memotech keyboard (as a well known example of a keyboard with external interface) and all other external Joystick/Keyboard interfaces.
I assume your keyboard plugs into the membrane conectors?
Kind regards
Paul
Theoretisch ist zwischen Theorie und Praxis kein Unterschied.
Praktisch allerdings wohl.

rune
User
Beiträge: 13
Registriert: 02.04.2016, 19:17

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von rune » 03.04.2016, 08:25

The documentation tried to tell that if you use a HCT245 it's normal that a Memotech Keyboard won't work (like on the ZX80).
So alternatively you can use a LS641 (which I also do) so you will be able to use the Memotech keyboard (as a well known example of a keyboard with external interface) and all other external Joystick/Keyboard interfaces.
The dk'Tronics keyboard has mechanical keys and long (30cm+) connecting cables that go into the normal keyboard headers. There are no other components on the keyboard PCB. Maybe this has something to do with it as I am sure I read something about long cables but cannot find where it was now.

There is also the possibility that the original HCT245 was faulty.

The good thing is that the problem is resolved and I'm moving on with the build.

Benutzeravatar
ZX-Heinz
User
Beiträge: 1563
Registriert: 05.12.2011, 14:45

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von ZX-Heinz » 04.04.2016, 10:42

Nun habe ich auch einen 1.April-ZXNU! Funktioniert prächtig. Vielleicht sind damit auch die Probleme weg, die ich einige wenige Male mit der µ-disk beim Speichern hatte, und die Neuformatierung notwendig machten.
Zuletzt geändert von ZX-Heinz am 04.04.2016, 11:55, insgesamt 1-mal geändert.

Benutzeravatar
Paul
User
Beiträge: 2786
Registriert: 10.03.2010, 12:01
Wohnort: Germanys west end

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von Paul » 04.04.2016, 11:26

rune hat geschrieben: The dk'Tronics keyboard has mechanical keys and long (30cm+) connecting cables that go into the normal keyboard headers. There are no other components on the keyboard PCB. Maybe this has something to do with it as I am sure I read something about long cables but cannot find where it was now.
It's on the first page of this thread and advises to use the ls641 which you did.
Perfect.
Theoretisch ist zwischen Theorie und Praxis kein Unterschied.
Praktisch allerdings wohl.

Benutzeravatar
siggi
User
Beiträge: 2418
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von siggi » 04.04.2016, 12:25

Frage an die ZX81NU-Gurus:
was muß ich denn beachten, wenn ich eigene ROM-Images verwenden will?
Mir schwebt vor, den (bei mir ungeliebten) ZX80 durch ASZMIC zu ersetzen. Kann ich da einfach die entsprechende ROM-Page überbügeln?

Und ich wollte das ZX81 durch ein eigenes ZX81-Rom mit Patches hinsichtlich Geschwindigkeit ersetzen. Da LOAD und SAVE dann aber immer noch auf Microdisk und USB funktionieren sollte, muß ich wohl weitere Patches einbauen. Trotz Nachlesen in den Sources des ZX81NU-Roms bin ich mir nicht sicher, an wievielen Stellen ich patchen müßte:
an $131F und $3A8 und $3AB???

Ist das alles oder fehlt da noch was?
Was ich nicht verstanden habe (aus ZXNUROM3.asm): ab $3A8 werden 6 Bytes gepatcht und überschreiben damit den Patch ab $3AB ?!?!?!?

Gruß
Siggi
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Datenkraken bitte nicht füttern!

Benutzeravatar
Paul
User
Beiträge: 2786
Registriert: 10.03.2010, 12:01
Wohnort: Germanys west end

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von Paul » 04.04.2016, 12:36

Das Austauschen des ROM Inhalts reicht aus, es sei denn du möchtest auch den Text im Bootmenu ändern (was Ich als mandatorisch ansehe).
Theoretisch ist zwischen Theorie und Praxis kein Unterschied.
Praktisch allerdings wohl.

Benutzeravatar
siggi
User
Beiträge: 2418
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von siggi » 04.04.2016, 12:54

Hallo Paul
so wie ich Olli verstanden hatte, mußte er ja das ZX81 ROM geringfügig patchen, damit LOAD und SAVE auf seine Treiber umgebogen werden. Diese Patches hatte ich gemeint und die muß ich wohl auch in mein ZX81 ROM übernehmen. Nur: wie?

Gruß
Siggi
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Datenkraken bitte nicht füttern!

Benutzeravatar
Paul
User
Beiträge: 2786
Registriert: 10.03.2010, 12:01
Wohnort: Germanys west end

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von Paul » 04.04.2016, 13:17

Hast du seine Assembler sourcen? Die hat er mal ge"Update"ed.

Wenn ich das korrekt in Erinnerung habe "importiert" er fertige ROM binares und patcht sie dann.
Das würde er mit deinem binary auch machen...
Das ZX80 ROM ist ungepatcht und kann somit gegen das aszmic getauscht werden ohne weiteren Aufwand.
Theoretisch ist zwischen Theorie und Praxis kein Unterschied.
Praktisch allerdings wohl.

Benutzeravatar
siggi
User
Beiträge: 2418
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von siggi » 04.04.2016, 13:56

Das heißt dann aber, daß ich nicht einfach die beiden Rom-Images überbügeln kann (was ich eingentlich tun wollte), sondern ich müßte Ollis Sourcen assemblieren (und dabei die ROM-Images patchen lassen), was ich mir aber ersparen wollte (habe z. B. keinen TASM, sondern ASDIS :wink: )

Gruß
Siggi

Nachtrag: Das letzte Update von Olli (vor einigen Tagen) gab's ja als Binärfile. Die Assembler-Sources sind m. W. deshalb nicht mehr aktueller Stand ...
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Datenkraken bitte nicht füttern!

holmatic
User
Beiträge: 123
Registriert: 13.10.2009, 23:53
Wohnort: Bremen

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von holmatic » 04.04.2016, 21:29

Die Version vom ersten April hat tatsächlich nur die calls für die Wiederherstellung des SLOW mode ergänzt. Ich bastel zwar noch immer mal wieder am NU modus aber der ist außer für das Startmenue wohl nicht von allgemeinen Interesse. Daher hab ich nur den Bugfix zurückportiert.

Das ersetzen der ZX80 durch ASZMIC ist etwas tricky. Für den sauberen Start erfordert es einen passenden Einsprungpunkt. Ideal wäre die Sequenz

Code: Alles auswählen

pop BC
ret
Kann jemand herausfinden, on es die I'm ASZMIC gibt, und wenn ja wo?

rune
User
Beiträge: 13
Registriert: 02.04.2016, 19:17

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von rune » 04.04.2016, 21:52

Hi, I am still having problems with the ZX NU board. It now runs nicely but there is a problem the micro drive and VDrive so I cant save any programs. The vDrive doesnt seem to work at all.

1st strange thing is I press W on the menu screen, SPI Write is displayed the page after page of 01010101010101s.......

In ZX81 mode I can run LOAD "*" and get 128K FREE displayed, but if I try to save using SAVE "*TEST" the mini-display shows SAVE and the system locks.

If I use SAVE "+TEST" it displays a message (V-DR?) and I can break out. Again it does nothing.

Im slowly checking all connections and everything from IC22 is good. Next I'll check back from the vDrive connector.

Any help or hints what to check next would be appreciated.

Dave

Benutzeravatar
Paul
User
Beiträge: 2786
Registriert: 10.03.2010, 12:01
Wohnort: Germanys west end

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von Paul » 04.04.2016, 22:06

What happens if you disconnect the vdrive and only test the microdisk?
Have you initialised the microdisk ?
Did you change the vdrive jumper? It's default is serial, not SPI. The inner two pins must be shorted, not the outer.
Hth paul
Theoretisch ist zwischen Theorie und Praxis kein Unterschied.
Praktisch allerdings wohl.

rune
User
Beiträge: 13
Registriert: 02.04.2016, 19:17

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von rune » 04.04.2016, 22:13

Hello Paul

Yes, I have tried with or without the VDrive. There's no difference. Its almost as if the vDrive wasn't there.

How do you initialise the micro disk? Heinz told me to press W at the initial screen. All those 01010101s makes me think its writing to the screen instead of the disk.

Yes, I did change the jumper on the vDrive. On the inner (correct) position the drive does nothing. I was expecting the LED on the front to flash a bit when a USB Stick was inserted. I tried it on the outer and the drive LED flashes as if its recognised.

I'll keep testing/checking and I'm sure someone will recognise where I'm going wrong.

Thanks,

Dave

Benutzeravatar
siggi
User
Beiträge: 2418
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von siggi » 04.04.2016, 22:22

holmatic hat geschrieben: Das ersetzen der ZX80 durch ASZMIC ist etwas tricky. Für den sauberen Start erfordert es einen passenden Einsprungpunkt. Ideal wäre die Sequenz

Code: Alles auswählen

pop BC
ret
Kann jemand herausfinden, on es die I'm ASZMIC gibt, und wenn ja wo?
Ohgott, da klingt ja so ähnlich wie zeitweilig beim ZXmore: jedes Rom-Image braucht seinen eigenen Einsprungpunkt. Und keiner passt zu den anderen...
Sack Zement: WARUM KANN MAN DENN ROMS NICHT BEI ADRESSE 0 STARTEN LASSEN, SO WIE ES JEDER Z80 SEIT DEM LETZTEN JAHRTAUSEND ERFOLGREICH TUT?
Glaube fast, es ist einfacher, das ZXNU-Rom mit meinem gepatchtem ROM restlos zu überbügeln und MEFISDOS und den USB-Treiber/UFM direkt zu benutzen ...

Gruß
Siggi
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Datenkraken bitte nicht füttern!

Benutzeravatar
siggi
User
Beiträge: 2418
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von siggi » 05.04.2016, 09:16

Das Umschalten auf ein neues ROM könnte doch so einfach sein, wenn man die eigentiche Umschaltung ins Ram verlegt, das nicht umgeschaltet wird. Z. B. auf den Stack, in den Printerpuffer oder einfach auf $4000, weil das Ram dort vom neuen ROM sowieso neu intialisiert wird,
Im ROM müßte zur Umschaltung nur stehen:
- NMI aus
- INT disable
- LD IR,0
- IM 0
- LD BC, ebbes passendes
- JP RAM

und im RAM dann dieser Code, den man vorher da hin kopiert hat:
- in B,(C)
- JP 0

Das war's.

Gruß
Siggi
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Datenkraken bitte nicht füttern!

holmatic
User
Beiträge: 123
Registriert: 13.10.2009, 23:53
Wohnort: Bremen

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von holmatic » 05.04.2016, 22:13

Da hat Siggi natürlich völlig recht, wenn man ein Stückchen RAM zur Verfügung hat braucht man das Konstrukt mit der passenden Adresse nicht. Und für einen einfachen RESET, bei dem ja ohnehin das RAM neu initialisiert wird, sollte das dann kein Problem sein. Ich war da gedanklich noch bei den Treiber-Erweiterungen, bei denen das Zeddy-RAM möglichst unberührt bleiben sollte. Der NU war ja eher als sportliche Herausforderung gedacht, bitte nicht gleich sauer sein...

Benutzeravatar
siggi
User
Beiträge: 2418
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von siggi » 08.04.2016, 09:52

Hi Olli
ich hätte noch ein "Feature request", falls Du mal wieder ein neues NU-Rom machst: es wäre schön, wenn man mit dem "eingebauten" USB-/Microdisk-Treiber auch M/C laden/sichern könnte, nicht nur BASIC-Files. Daß er also beim LOAD/SAVE-Kommando nach einem Trennzeichen "," und/oder " " eine (vorzugsweise dezimale) Adresse (plus Längenangabe beim SAVE) akzeptiert, so wie es auch Toms Treiber (und Nachfahren) tun. Also sowas wie
LOAD "*mcprog, 32768" oder SAVE "+mcprog 32768 8192"

Hintergrund: da der Rambereich 8-16K ziemlich umkämpft ist (ZeddyNet-Systemvariablen, USB-Treiber, ..) wollte ich ein kleines MC schreiben, das den Speicherbereich 8-16K mit dem "Hintergrund"-Speicher (in der 2 Ram-Bank ab 32K) vertauscht, sodaß man schnell zwischen USB-Treiber und ZeddyNet-Variablen hin- und her"schalten" könnte, ohne ein geladenes Basic-Programm zu zerstören. Deshalb wollte ich "mit Bordmitteln" des NU dieses M/C an eine freie Stelle im Ram laden und ausführen (weil in diesem Zustand Toms USB-Treiber nicht zur Verfügung steht).

Gruß
Siggi
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Datenkraken bitte nicht füttern!

Benutzeravatar
siggi
User
Beiträge: 2418
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von siggi » 10.04.2016, 19:22

siggi hat geschrieben: Hintergrund: da der Rambereich 8-16K ziemlich umkämpft ist (ZeddyNet-Systemvariablen, USB-Treiber, ..) wollte ich ein kleines MC schreiben, das den Speicherbereich 8-16K mit dem "Hintergrund"-Speicher (in der 2 Ram-Bank ab 32K) vertauscht, sodaß man schnell zwischen USB-Treiber und ZeddyNet-Variablen hin- und her"schalten" könnte, ohne ein geladenes Basic-Programm zu zerstören. Deshalb wollte ich "mit Bordmitteln" des NU dieses M/C an eine freie Stelle im Ram laden und ausführen (weil in diesem Zustand Toms USB-Treiber nicht zur Verfügung steht).
Sodele, hier ist das Progrämmchen, das flux den Speicherinhalt des Ramblocks 8-16K mit dem Shadow-Ramblock des NU auf Adresse 32-40K austauscht. Der M/C ist in der ersten Zeile ab 16514 abgelegt, kann aber an jede andere Stelle verschoben werden und auch dort ablaufen.

Vorgehensweise:
Den Ram-Block 8-16K mit dem Programm/Datenblock seiner Wahl befüllen und benutzen (z. B. USB-Treiber oder ZeddyNet-Variablen oder Hires-Bilder oder 64K-Toolkit).

Wenn dann später dieser Ramblock wieder benötigt wird, aber sein aktueller Inhalt nicht verloren gehen soll, weil man ihn später wieder braucht (ZeddyNet-Variablen!), dann das MEXCHANG (Memory EXCHANGe) starten: damit wird der Inhalt der Shadowrams (32-40K) mit dem Inhalt des Rams 8-16K ausgetauscht. Nun kann der Ram-Bereich 8-16K für anderes benutzt werden.

Wenn man den alten Zustand wieder herstellen will, dann MEXCHANG nochmal starten. So kann man immer zwischen den Ram-Inhalten 8-16 und Shadow-Ram 32-40K hin- und herschalten. Der Inhalt des "normalen" Rams bei 32-40K bleibt dabei unverändert.

Hier das Programm (incl. ASDIS-Source):
MEXCHANG.P
(1.16 KiB) 82-mal heruntergeladen
Und hier das Listing:
mexchang.jpg
mexchang.jpg (49.76 KiB) 5370 mal betrachtet
Viel Spass
Siggi

Nachtrag:
Ach ja, falls jemand nachfragen sollte: selbsterklärende Programme brauchen natürlich keine Kommentare :wink:
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Datenkraken bitte nicht füttern!

rune
User
Beiträge: 13
Registriert: 02.04.2016, 19:17

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von rune » 15.04.2016, 19:58

Hi, I have now got my ZX81 NU working with the micro drive and vDrive. After checking countless connections I decided to double check the chip I was sent and it was wrong. Instead of sending me a 25LC1024 I was sent a 24LC1025. The seller did show the correct chip but I never spotted the other code when ordering.

Although the vDrive seems to be working perfectly, I do get a different menu screen from Heinz. My screen shows the following over 4 lines....

DEVICE DETECTED TP
NO UPGRADE
D:\>
D:\>

Also, I have made a reset switch on a 20cm lead. If its connected, most times the PCB will stick on NMI? or TP0A. When it does boot, the screen is corrupted in ZX81 mode. Its easy to get around as I'll put the reset onto the 9V input.

Does anyone have any ideas on the above?

The inverse screen is very impressive. Nice and sharp and a joy to use.

I'm very impressed with this build.

Benutzeravatar
ZX-Heinz
User
Beiträge: 1563
Registriert: 05.12.2011, 14:45

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von ZX-Heinz » 15.04.2016, 22:39

rune hat geschrieben: DEVICE DETECTED TP
NO UPGRADE
D:\>
D:\>
My message is

DEVICE DETECTED P2
NO UPGRADE
D:\>
D:\>

and since this message is sent directly by the Vdrive, you will have a more recent firmware on your Vdr than me. I bought my Vdr three years ago.

rune
User
Beiträge: 13
Registriert: 02.04.2016, 19:17

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von rune » 15.04.2016, 23:01

Ooops, mine also says P2. Its been a long week.

Just a couple more little problems to sort and I will be 100% complete.

Benutzeravatar
siggi
User
Beiträge: 2418
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von siggi » 18.04.2016, 22:03

Joachim hat geschrieben:Vielen Dank, Siggi!
Da habe ich schon wieder was zum Tüfteln.
Hallo Joachim
mehr zum Tüfteln:
ich denke gerade darüber nach, die internen SPI-Schnittstellen des NU für eine MMC-Karte unter MEFISDOS zu benutzen.
Z. B.
- Microdisk (die bei mir schon oft überbügelt werden mußte): IC durch Lochrasterplatine im IC-Sockel ersetzen und SPI-Signale dort abgreifen und zu (Joachims) MMC-Platinchen führen
- Mefisdos-PIO-MMC-Treiber auf Ollis SPI-Interface anpassen
- Mefisdos (64K Version) ins Ram bei 8K laden oder gleich die Paging-Logik so zu ändern, daß Mefisdos bei 8-16 K im E(E)Prom liegen kann

Mal sehen, wann ich dazu komme (wenn keiner schneller ist :wink: )

Siggi
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Datenkraken bitte nicht füttern!

Benutzeravatar
Paul
User
Beiträge: 2786
Registriert: 10.03.2010, 12:01
Wohnort: Germanys west end

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von Paul » 18.04.2016, 22:17

Hallo Siggi
Genau darauf habe ich gehofft!
Am liebsten wäre uns wenn beim NU das Load und Save wie gehabt auf Vdrive bleibt und ein Treiber dann den Zugriff auf mefisdos ermöglicht. Denn genau dies möchten wir im BAMM implementieren.
Somit hätte deine Entwicklung (falls es uns gestattet wird) doppelten Nutzen!
Dann hätte es sich schon gelohnt beim BAMM erstmal den ZX81NU zu implementieren.
Liebe Grüße Paul
Theoretisch ist zwischen Theorie und Praxis kein Unterschied.
Praktisch allerdings wohl.

Benutzeravatar
Joachim
User
Beiträge: 1013
Registriert: 06.11.2004, 20:21

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von Joachim » 20.04.2016, 17:13

Hallo Siggi,
das wäre echt der Hammer. Dann hätte man ständig Zugriff auf den gesamten persönlichen Programmbestand :) Egal ob auf ZX81NU oder BAMM.
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Antworten