ZXmore

ZX-Team Forum
Benutzeravatar
PokeMon
User
Beiträge: 4490
Registriert: 31.08.2011, 23:41

Re: ZXmore

Beitrag von PokeMon » 05.01.2016, 22:15

siggi hat geschrieben:Hallo Karl
habe eben versucht, den NFM-32K auf dem ZXMore laufen zu lassen. Gibt aber nur weißen Bildschirm.
Was ich gemacht habe (in Instanz 1):
IPCONFIG.P geladen und TNFS-Server gemounted (meinen PC): alles erfolgreich.
dann NFM-32K geladen: NFM-32K.BIN:32768
Dann in Instanz 1 gewechselt und
PRINT USR 32768
eingegeben -> NFM startet nicht und weißer Screen
Ich probiere es gerne aus. Sollte das auch ohne TNFS Server laufen ?
Bislang hatte ich mit dem TNFS Server immer keinen Erfolg gehabt, kann aber auch daran liegen dass bei meinen ersten Tests es Kollisionen gab mit I/O Adresse.
Aber kann ich Deinen Worten entnehmen, dass V1.7 auf Deinem ZXmore läuft ? Da waren ja mal generelle Probleme beim Update auf Deinem ZXmore wenn ich mich recht erinnere. Ist die IP Adresse vom TNFS Server fix und ist der über Internet immer erreichbar ? Mit TNFS habe ich bislang noch nichts gemacht. Aber ich teste gerne. Bei Erik läuft ZeddyNet mit IRCANS32.P mittlerweile auch nachdem er die BUSCS Diode entfernt hat auf seiner ZeddyNet Platine.
Wer seinen Computer ehrt, lebt nicht verkehrt.

Benutzeravatar
PokeMon
User
Beiträge: 4490
Registriert: 31.08.2011, 23:41

Re: ZXmore

Beitrag von PokeMon » 05.01.2016, 22:38

tokabln hat geschrieben: Ich hab meine ZeddyNet Karte soweit fertig scheiter aber beim Laden und Ausführen der einzelnen Programme weil ich nicht weiß ab welcher Adresse die zu laden sind bzw. auszuführen sind.
Fragen allgemeiner Art kannst Du ja hier stellen:
http://forum.tlienhard.com/phpBB3/viewt ... 855#p18855

Generell läuft bei mir das Chat Programm.
Wichtig: Instanz 5 oder 6 auswählen, IPCONFIG.P starten, DHCP einschalten (C nutzen wie Configure) und hinterher (wenn IP Adresse da) dann einfach E(xit).
Danach über den Lader entweder IRCTEXT.P laden oder IRCANS32.P (64 Zeichen pro Zeile) und anmelden am Zeddy Server (Z), Name frei wählbar, Passwort leer und Port einfach bestätigen, dann solltest Du drin sein.

Die Fortgeschrittenensachen kommen dann später. :wink:
Wer seinen Computer ehrt, lebt nicht verkehrt.

Benutzeravatar
PokeMon
User
Beiträge: 4490
Registriert: 31.08.2011, 23:41

Re: ZXmore

Beitrag von PokeMon » 06.01.2016, 01:29

siggi hat geschrieben: IPCONFIG.P geladen und TNFS-Server gemounted (meinen PC): alles erfolgreich.
dann NFM-32K geladen: NFM-32K.BIN:32768:1
Dann in Instanz 1 gewechselt und
PRINT USR 32768
führt wieder nur auf weißen Screen

Läuft da über 32K kein M/C?
Doch - im Prinzip ja. Allerdings kein "Videocode".

Ab dem Zeitpunkt wo HALT ausgeführt wird (normalerweise passiert das im ROM) ist die Videoschaltung aktiv. Diese greift explizit auf A15=0 zu weil ja "meine" Videoschaltung nicht an einen Adressbereich geknüpft ist. Weder an A15=1 noch an A15=1 und A14=1. Das funktioniert im Grunde ganz gut weil die meisten Videotreiber bislang im Adressbereich unterhalb von $8000 lagen. Bei dieser Variante wird zwar im Prinzip auf das DFILE zugegriffen, was unterhalb liegt aber der restliche Code aus dem Treiber liegt über $8000. Will bedeuten, dass hier nur die Befehle mit Bit 6 gesetzt ausgeführt werden. Die anderen werden auf NOP gesetzt.

Ich denke, dass ich das Softwaremäßig innerhalb des CPLD lösen kann und werde morgen nochmal gezielter darüber nachdenken.
Im Grunde hat es hier noch nicht mal was mit der Spiegelung (=Begrenzung auf 32k RAM) zu tun sondern das Problem ist der innerhalb der Videoanzeige ausgeführte Code und der Adressbereich $8000+. Zu jeder anderen Zeit, also als USR Programm während des NMI Zyklus, kann man beliebigen Code ausführen aber diesen Fall, dass ein eigener Videotreiber (nicht das HRG File) im Adressbereich mit A15=1 liegt habe ich ganz ehrlich gesagt nicht überdacht.

Ich erinnere mich gerade an die Schwierigkeiten von Bil Herd, der bei der Entwicklung des C64 Nachfolgers immer wieder auf Probleme stieß, weil findige Software Entwickler sich im Laufe der Zeit soviel system- und hardwarebezogene Sachen ausdachten, die die Weiterentwicklung des C64 zum C128 immer wieder vor gravierende Probleme stellte. Um die Kompatibilität herzustellen mussten wahnsinnige Klimmzüge und an vielen Punkten Abstriche gemacht werden, damit "alte" Software noch lief. Wie sich die Zeiten doch immer wiederholen. :roll:
https://www.c64-wiki.de/index.php/Bil_Herd
Wer seinen Computer ehrt, lebt nicht verkehrt.

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

Re: ZXmore

Beitrag von siggi » 06.01.2016, 08:02

Hi Karl
es gibt ja auch noch Programme, die zwischen 8 und 16K laufen und dort ihre Display-Routine haben (z. B. UFM-8K).
Kann das auch Probleme machen?

Und wenn nun beim ZXmore auch Programme über 48K laufen können, könnten sie ihre Display-Routine auch da oben haben.
Falls das ohne Klimmzüge geht, sollte man das ggf. auch berücksichtigen.

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

Benutzeravatar
PokeMon
User
Beiträge: 4490
Registriert: 31.08.2011, 23:41

Re: ZXmore

Beitrag von PokeMon » 06.01.2016, 12:35

Nein - das Problem betrifft nur Programme während der Bildausgabe (also Videotreiber) die auf Adressen mit A15=1 laufen. Dabei ist nicht die Lage des DFILE oder HRG File entscheidend, sondern der Code, der das anzeigt. Unter $8000 gibt es generell keine Probleme. Über $8000 nur wenn dort ein Videotreiber liegt. Hatte ich bislang noch nicht - sieht man mal wie schwer es ist alle Sonderfälle zu berücksichtigen. Ich glaube aber, dass es machbar ist für Text Mode (also der z88dk Treiber) bin hier aber nicht sicher für HRG Treiber >$8000. Mal schauen.
Wer seinen Computer ehrt, lebt nicht verkehrt.

Benutzeravatar
PokeMon
User
Beiträge: 4490
Registriert: 31.08.2011, 23:41

Re: ZXmore

Beitrag von PokeMon » 08.01.2016, 12:05

So das Problem ist nun analysiert. Leider läßt es sich nicht direkt im CPLD beheben. Ich dachte ursprünglich, dass ich das Ende der Interrupt Routine recht einfach ermitteln kann, das ist aber viel schwieriger als gedacht und würde über Taktzyklen und wilde Verknüpfungen vielleicht funktionieren aber auch das CPLD für weitere Erweiterungen dicht machen. Es gibt 2 einfachere Lösungen.

1. Hardwarelösung
Das ist nicht unbedingt einfacher für den Normale ZXmore Anwender aber vielleicht vorübergehend zu empfehlen wer jetzt da weiterkommen möchte mit den Tests und nicht auf die Softwarelösung (nächstes Release) warten möchte. Man benötigt einen Pullup Widerstand zwischen 2k2 und 10k und legt das Signal A15 am CPLD über diesen Widerstand auf +5V. Im Beispiel habe ich das über einen SMD Widerstand mit 3.6V gemacht, funktioniert genauso. Der SMD Widerstand ist einfach quer zum nächsten +V Pin gelötet. Dann trennt man an der CPU die Leitung von A15 auf der Unterseite durch (die geht da nur noch zum CPLD) und lötet wie im Bild 2 Schottkydioden BAT46, BAT42 o.ä. ein und verbindet diesen Pullup Eingang mit je einer Diode mit A15 und A14.
IMG_9001k.JPG
IMG_9001k.JPG (59.97 KiB) 6302 mal betrachtet
Der 1k Widerstand im Bild gehört nicht dazu, das ist noch mein Testmodell. Den Widerstand auf der Oberseite wollte ich nicht auslösen weil ich da schlecht drankam und so habe ich hier einen Widerstand parallel gelötet - das ist hier ohne Bedeutung.

Durch diesen Umbau verliert man auch nicht das Feature, dass man außerhalb einer Videoroutine (also in den NMI Perioden bzw. USR Zeiten) Maschinencode beliebig im Speicher ausführen kann, auch zwischen $C000-$FFFF. Diese Kombination läßt den Videocode Interpreter explizit auf A15+A14 eingeschränkt und so stört es nicht, wenn ein Videotreiber wie der vom z88dk auch über Adresse $8000 liegt solange er unterhalb von $C000 liegt. Anders würde es sowieso nicht gehen mit einem umgebauten ZX81 wenn man keine wilden Massnahmen vornimmt.

2. Softwarelösung
Es ist nicht zwingend notwendig diesen Umbau vorzunehmen weil man das mit einigen wenigen Einschränkungen auch softwareseitig bewerkstelligen kann. Zumindest gilt das für den Video Text Mode. Der ZXmaster kann hier das Display File auch selbst anzeigen, genau genommen hat er das in der ersten Version V0.9 auch schon getan. Damit wird der Videotreiber des geladenen Programms nicht mehr benutzt, das bekommt davon auch nichts mit. Voraussetzung ist hier, dass die Position des Display File in den System Variablen steht (DFILE).

Diese Softwarelösung hat die Einschränkung, dass sie nur funktioniert:
a) bei Spiegelung des RAM, also eingeschränkt auf 32k
- oder -
b) wenn der ZXmaster Videotreiber unterhalb der Adresse $8000 liegt.

Im Fall b) wird also ein freier Speicherbereich von ca. 128 Byte benötigt für diverse Systemtreiber (Video/Keyboard). Bislang habe ich den der Einfachheit halber immer direkt unterhalb der höchsten Speicheradresse gelegt, man könnte es auch direkt unterhalb RAMTOP legen und RAMTOP um 128 Byte reduzieren oder alternativ in dem Konfigurationsprogramm des ZXmaster auch eine freie Adresse spezifizieren, wo diese Treiber liegen können. Wäre also auch möglich alternativ einen Bereich zwischen 8k und 16k für diese Treiber zu nutzen.

Und natürlich kann man das spezifisch nur für eine oder mehrere bestimmte ZX81 Instanz einstellen. Die Konfiguration jeder Instanz kann je nach Anwendungszweck beliebig erfolgen.

Etwas schwierig wird es mit HRG Treibern, die über 32k liegen (also der eigentlich Treiber, nicht das HRG File). Das kann im Prinzip der ZXmaster auch selbst anzeigen anstelle der ZX81 Instanz jedoch müsste man hierzu die Position des HRG File (Adresse) wissen/konfigurieren.
Wer seinen Computer ehrt, lebt nicht verkehrt.

Benutzeravatar
msch
User
Beiträge: 3351
Registriert: 05.02.2013, 15:42
Wohnort: Hessen, Rhein-Main-Gebiet

Re: ZXmore

Beitrag von msch » 08.01.2016, 15:05

Prima, dass es eine vergleichsweise einfache Lösung gibt. Ich würde gerne hierfür den Hardware-Umrüstungsservice in Mahlerts in Anspruch nehmen, also bitte einen Teilesatz für mich reservieren :-)
Schrumpfschläuche für die Diodenanschlüsse bringe ich mit ;-)
manche meinen lechts und rinks kann man nicht velwechsern.
werch ein illtum! (lichtung, Ernst Jandl)

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

Re: ZXmore

Beitrag von siggi » 08.01.2016, 16:51

Hallo Karl
ich würde auch die Hardware-Lösung bevorzugen, denn die SW-Lösung hat m. E. zu viele Nachteile:
Diese Softwarelösung hat die Einschränkung, dass sie nur funktioniert:
a) bei Spiegelung des RAM, also eingeschränkt auf 32k
- oder -
b) wenn der ZXmaster Videotreiber unterhalb der Adresse $8000 liegt.
Heißt a), daß das D-File unterhalb 32K liegen muß? Oder was anderes?
Über 32K wollen ja die meisten M/C laufen lassen, nur sehr wenige (Henning?) wollen da große BASIC-Programme laufen lassen, bei denen D-File dann oberhalb 32K liegen kann. Wären die dann gekniffen?
Wie ist denn der Stand bisher: kann man da den Bereich über 32K wahlfrei (Konfiguration) für M/C bzw. D-FILE (BASIC) benutzen? Würde sich das mit der SW-Lösung ändern?

Und zu b) Unterhalb der Adresse $8000 toben sich schon alle aus (ROM, BASIC-PROGRAMM, USB/MMC-Treiber, ZeddyNet-Systemvariablen), da ist es schon eng genug ...

Gruß
Siggi

PS: Hardware heißt ja so, weil es weniger hart ist, diese zu ändern (im Vergleich zur Software) :mrgreen:
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Benutzeravatar
PokeMon
User
Beiträge: 4490
Registriert: 31.08.2011, 23:41

Re: ZXmore

Beitrag von PokeMon » 08.01.2016, 17:39

Also die Softwarelösung hat jetzt nicht explizit viele Nachteile.
Einschränkung auf 32k heißt einfach, dass die Spiegelung des RAM aktiv ist und insgesamt nicht mehr als 32k zur Verfügung stehen, wo immer man die anfangen läßt, also auf 8k oder auf 16k und geht dann entweder bis 40k oder bis 48k. Dieser Modus setzt A15 im RAM fest auf "1" wodurch eben nur mit A0-A14 adressiert wird. Insofern spielt die Lage der Treiber keine große Rolle. Die Einschränkung ist natürlich maximal 32k.

Die zweite Option benutzt derzeit ein paar wenige Umschalttreiber. Das sind aber nur ganz wenige Bytes, vielleicht kommt das auch mit 64 Bytes oder weniger aus wenn ich das überarbeite, vielleicht kann ich sogar ganz darauf verzichten. Das kann ich momentan aber nicht abschätzen - wenn ich die Treiber verwende funktioniert es jedenfalls, soviel kann ich schon mal sagen.

Aber es spricht jetzt auch nicht so viel gegen diese HW-Modifikation (wer es möchte) und in Mahlerts kann ich die Geräte gerne umbauen. Überhaupt wird das vermutlich nur Power-User betreffen, die die System bis zum Anschlag ausreizen wollen.
Heißt a), daß das D-File unterhalb 32K liegen muß? Oder was anderes?
Über 32K wollen ja die meisten M/C laufen lassen, nur sehr wenige (Henning?) wollen da große BASIC-Programme laufen lassen, bei denen D-File dann oberhalb 32K liegen kann. Wären die dann gekniffen?
Wenn das DFILE über 32k liegt, funktioniert es nur mit der Einschränkung von 32k RAM (Spiegelung). Das wird m.E. nur wenig Programme betreffen, in der Tat wohl BASIC Programme >16k.

Generell gibt es keine spezielle Konfiguration was dann aktuell im RAM läuft. Das ist im Grunde egal mit Einschränkung eines Videotreibers was aber nun schon eher als System Driver zu sehen ist und keine klassische M/C (Anwendungs-)Programmierung.

Folgende Optionen kann man konfigurieren beim RAM:
a) Größe, genauer gesagt die Startadresse des RAM in 4k Schritten (darunter ist automatisch ROM)
b) Spiegelung ja/nein - ja=Begrenzung auf maximal 32k RAM (eigentlich mal ursprünglich für große BASIC Programme gedacht)
c) Umkehrung von RAM und ROM (RAM unten und ROM oben) - sinnvoll aus meiner Sicht nur für den CP/M Betrieb
Wer seinen Computer ehrt, lebt nicht verkehrt.

Benutzeravatar
schombi
User
Beiträge: 2117
Registriert: 05.09.2012, 09:45
Wohnort: Kreis KA

Re: ZXmore

Beitrag von schombi » 08.01.2016, 19:24

Wahnsinn, was Ihr alles rausfindet und fixt. Da erstarre ich als Nichtelektroniker in totaler Erfurcht.

Ich nehme meinem ZXmore auf jeden Fall auch nach Mahlerts mit.

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

Re: ZXmore

Beitrag von siggi » 08.01.2016, 22:42

PokeMon hat geschrieben:Also die Softwarelösung hat jetzt nicht explizit viele Nachteile.
Einschränkung auf 32k heißt einfach, dass die Spiegelung des RAM aktiv ist und insgesamt nicht mehr als 32k zur Verfügung stehen, wo immer man die anfangen läßt, also auf 8k oder auf 16k und geht dann entweder bis 40k oder bis 48k. Dieser Modus setzt A15 im RAM fest auf "1" wodurch eben nur mit A0-A14 adressiert wird. Insofern spielt die Lage der Treiber keine große Rolle. Die Einschränkung ist natürlich maximal 32k.
Auf einem System, das im ZX81-Modus 56K könnte, ist das eine herbe Einschränkung und man ist genauso weit wie mit ZxPand, wo "dicke" Programme (ZeddyNet: NFM-32K und ZF-32K, ebenso UFM-32K) nicht sinnvoll verwendet werden können (sinnvoll nur ab 40K Ram). Damit wäre das aktuelle Problem gelöst, da man sowieso keine Programme verwenden kann, bei denen das Problem auftritt :wink:
2. Softwarelösung
Es ist nicht zwingend notwendig diesen Umbau vorzunehmen weil man das mit einigen wenigen Einschränkungen auch softwareseitig bewerkstelligen kann. Zumindest gilt das für den Video Text Mode. Der ZXmaster kann hier das Display File auch selbst anzeigen, genau genommen hat er das in der ersten Version V0.9 auch schon getan. Damit wird der Videotreiber des geladenen Programms nicht mehr benutzt, das bekommt davon auch nichts mit. Voraussetzung ist hier, dass die Position des Display File in den System Variablen steht (DFILE).
Wenn jedem Programm sein Video-Treiber "geklaut" wird, haben wir den Stand "Sinclair 1981" eingefroren. Und Gimmicks wie Wilf's NOVA (Text-Display mit 34 Zeichen/Zeile und 0-29 Zeilen/Bildschirm, D-File irgendwo und variabel)
http://www.user.dccnet.com/wrigter/inde ... va2005.htm
würden nicht mehr laufen. Und was wäre mit Dr. Beep's 1K Hires-Progrämmchen?

Da finde ich die Hardware-Lösung 1000 mal besser ...

Gruß
Siggi

PS: gingen auch Ge-Dioden? Die habe ich in der Bastelkiste ...
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

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

Re: ZXmore

Beitrag von siggi » 08.01.2016, 23:07

PokeMon hat geschrieben: c) Umkehrung von RAM und ROM (RAM unten und ROM oben) - sinnvoll aus meiner Sicht nur für den CP/M Betrieb
Aus meiner Sicht auch für den ZX81-Betrieb ;-)
Gehe ich recht in der Annahme, daß man da auch 64K Ram (0K ROM oben) machen könnte?
Sowas kann ich auf meinem Merker-Zeddy machen:
http://forum.tlienhard.com/phpBB3/viewt ... eddy#p1488

Ich boote aus dem ZX81-ROM, lade dann ein für MEFISDOS gepatchtes ROM ins RAM der "Language-Karte" und mit einem POKE wird die dann bei 0K eingeblendet und ersetzt damit das ROM. Gleichzeitig wird der Ram-Bereich 0-8K schreibgeschützt, damit sich das ZX81-BASIC das eigene "Rom" nicht zerpoken kann (die ersten 5 Bytes). Und so rennt der Merker dann mit 64K Ram und ich kann MEFISDOS komfortabel benutzen :D

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

Benutzeravatar
PokeMon
User
Beiträge: 4490
Registriert: 31.08.2011, 23:41

Re: ZXmore

Beitrag von PokeMon » 09.01.2016, 00:27

siggi hat geschrieben: Wenn jedem Programm sein Video-Treiber "geklaut" wird, haben wir den Stand "Sinclair 1981" eingefroren. Und Gimmicks wie Wilf's NOVA (Text-Display mit 34 Zeichen/Zeile und 0-29 Zeilen/Bildschirm, D-File irgendwo und variabel)
http://www.user.dccnet.com/wrigter/inde ... va2005.htm
würden nicht mehr laufen. Und was wäre mit Dr. Beep's 1K Hires-Progrämmchen?
Siggi, Du musst bitte in Instanzen denken. Es geht doch beides nur nicht in der gleichen Instanz. Du kannst doch Instanz 1 so konfigurieren, dass der Bildschirmtreiber "geklaut" wird und Instanz 2 so dass er nicht geklaut wird. Insofern hast Du doch beides auf einem Rechner verfügbar. Das ist doch der Vorteil von Software, dass es variabel ist und man nicht ständig den Lötkolben schwenken muss wenn man was ändern will. :wink:

Wenn man weiß, was man in der Instanz machen will kann man sie wunschgemäß konfigurieren. 7 Instanzen = 7 unterschiedliche Konfigurationen (wenn man das will).

Und ja - es gehen auch Germanium Dioden. Die Durchflusspannung sollte halt möglichst klein sein, Silizium Dioden würde ich vermeiden obwohl es damit vermutlich auch funktionieren würde aber nicht 100%ig sicher.
Wer seinen Computer ehrt, lebt nicht verkehrt.

Benutzeravatar
PokeMon
User
Beiträge: 4490
Registriert: 31.08.2011, 23:41

Re: ZXmore

Beitrag von PokeMon » 09.01.2016, 00:34

siggi hat geschrieben:Ich boote aus dem ZX81-ROM, lade dann ein für MEFISDOS gepatchtes ROM ins RAM der "Language-Karte" und mit einem POKE wird die dann bei 0K eingeblendet und ersetzt damit das ROM. Gleichzeitig wird der Ram-Bereich 0-8K schreibgeschützt, damit sich das ZX81-BASIC das eigene "Rom" nicht zerpoken kann (die ersten 5 Bytes). Und so rennt der Merker dann mit 64K Ram und ich kann MEFISDOS komfortabel benutzen :D
Das geht aus meiner Sicht viel einfacher. Du kannst doch das MEFISDOS ROM direkt in eine Instanz (z.B. 3 oder 4) programmieren mit dem Flash Programmer und dann 56k RAM aktivieren. Dann wird MEFISDOS direkt beim ersten Anwählen der Instanz gestartet ohne dass man da was hin und herkopieren muss. Es gibt einen Schreibschutz für das ROM, das ist ein Bit in einem der CTRL Register und ist per Default aktiviert und der Flash Programmer schaltet das für die Dauer der Programmierung kurz frei. Kann man auch dauerhaft machen.

64k RAM ist machbar, man kann 4-64k ROM einstellen und beim Vertauschen von RAM und ROM hat man im Zweifel statt 64k ROM 64k RAM und 0k ROM. Gehen tut das aber das MeFISDOS kann man aus meiner Sicht einfacher haben. :wink:

PS: Das MEFISDOS ROM kannst Du jetzt schon programmieren, wenn Du das File auf den USB Stick kopierst und mit dem neuen Loader in das Flash einer Instanz programmierst. Geht auch nichts kaputt, kannst danach ja auch wieder selbst ZX81 programmieren. Es gibt bislang eine einzige Änderung im ZX81 ROM, das ist im mitgelieferten ZX81MORE.ASM beschrieben. Das ist der Zähler für den NMI Tester, der bei 6.5 MHz etwas länger zählen muss.
Wer seinen Computer ehrt, lebt nicht verkehrt.

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

Re: ZXmore

Beitrag von siggi » 09.01.2016, 09:20

Upps, das Posting hatte ich übersehen ..
PokeMon hat geschrieben:
siggi hat geschrieben:Hallo Karl
habe eben versucht, den NFM-32K auf dem ZXMore laufen zu lassen. Gibt aber nur weißen Bildschirm.
Was ich gemacht habe (in Instanz 1):
IPCONFIG.P geladen und TNFS-Server gemounted (meinen PC): alles erfolgreich.
dann NFM-32K geladen: NFM-32K.BIN:32768
Dann in Instanz 1 gewechselt und
PRINT USR 32768
eingegeben -> NFM startet nicht und weißer Screen
Ich probiere es gerne aus. Sollte das auch ohne TNFS Server laufen ?
Wenn kein TNFS-Server gemounted ist, läuft NFM in den Treiber rein und gibt Hinweis, daß ein Server gemountet werden muß. Das geht auch ohne Server ...
Bislang hatte ich mit dem TNFS Server immer keinen Erfolg gehabt, kann aber auch daran liegen dass bei meinen ersten Tests es Kollisionen gab mit I/O Adresse.
Du kannst auch einen eigenen Inhouse laufen lassen:
http://spectrum.alioth.net/doc/index.php/TNFS_server
Auf jeden Fall müssen Firewalls UDP-Pakete für Port 16384 durchlassen.
Aber kann ich Deinen Worten entnehmen, dass V1.7 auf Deinem ZXmore läuft ? Da waren ja mal generelle Probleme beim Update auf Deinem ZXmore wenn ich mich recht erinnere.
Nachdem Joachim das Flash auf seinem Brenner programmiert hat, lief er dann auch bei mir.
Ist die IP Adresse vom TNFS Server fix und ist der über Internet immer erreichbar?
Ja.

Und dann gleich noch mehr:
PokeMon hat geschrieben:
siggi hat geschrieben: Wenn jedem Programm sein Video-Treiber "geklaut" wird, haben wir den Stand "Sinclair 1981" eingefroren. Und Gimmicks wie Wilf's NOVA (Text-Display mit 34 Zeichen/Zeile und 0-29 Zeilen/Bildschirm, D-File irgendwo und variabel)
http://www.user.dccnet.com/wrigter/inde ... va2005.htm
würden nicht mehr laufen. Und was wäre mit Dr. Beep's 1K Hires-Progrämmchen?
Siggi, Du musst bitte in Instanzen denken.
Ach so, ich dachte, das wäre dann einheitlich für alles, genauso wie die Dioden-Lösung ...
PokeMon hat geschrieben:
siggi hat geschrieben:Ich boote aus dem ZX81-ROM, lade dann ein für MEFISDOS gepatchtes ROM ins RAM der "Language-Karte" und mit einem POKE wird die dann bei 0K eingeblendet und ersetzt damit das ROM. Gleichzeitig wird der Ram-Bereich 0-8K schreibgeschützt, damit sich das ZX81-BASIC das eigene "Rom" nicht zerpoken kann (die ersten 5 Bytes). Und so rennt der Merker dann mit 64K Ram und ich kann MEFISDOS komfortabel benutzen :D
Das geht aus meiner Sicht viel einfacher. Du kannst doch das MEFISDOS ROM direkt in eine Instanz (z.B. 3 oder 4) programmieren mit dem Flash Programmer und dann 56k RAM aktivieren. Dann wird MEFISDOS direkt beim ersten Anwählen der Instanz gestartet ohne dass man da was hin und herkopieren muss.
Auf bisherigen Systemen ist ein RAM bei 0K sehr hilfreich, weil man da einen ROM-Patch erstmal im RAM ausprobieren kann bevor man ein ROM "brennt" und sich im Fehlerfalle sein System zerschießt.
Im Merker-Zeddy ist das auch die finale Lösung, weil ich da kein (EEP)ROM auf Adresse 0 habe, da muß es immer das RAM sein.
Mit ZXMore und seinen vielen Instanzen hat man da sicher mehr Möglichkeiten, ein zerschossenes ROM einer Instanz zu reparieren. Da mag eine Rom-Patch-Entwicklung dann anders ablaufen.

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

Benutzeravatar
PokeMon
User
Beiträge: 4490
Registriert: 31.08.2011, 23:41

Re: ZXmore

Beitrag von PokeMon » 09.01.2016, 14:29

siggi hat geschrieben: Ach so, ich dachte, das wäre dann einheitlich für alles, genauso wie die Dioden-Lösung ...
Ja, manchmal hat Software auch Vorteile gegenüber Hardware - man kann die Konfiguration schneller ändern. :wink:

Was MEFISDOS betrifft - das Programmieren als ROM in eine Instanz ist wahrscheinlich die beste Lösung zumal das ROM vermutlich bereits fertig ausgetestet ist.
Wenn Du weiter daran arbeiten möchtest, wäre das auch in das RAM ladbar und durch einen Neustart dann auch wieder einfacher wiederherzustellen (automatisch bestimmte Module beim Start einer Instanz laden zu lassen) - allerdings gibt es für das RAM keinen individuellen Schreibschutz. Das wäre auch etwas unbequem aus meiner Sicht aber die Funktion ist auch nicht vorhanden. Da sollte man eventuell überlegen bestimmte Befehle nicht zu benutzen oder dann auch gleich die Stelle im ROM zu patchen wo die 5 Bytes entsorgt werden. Zumindest vorübergehend. Ohne mich jetzt wahnsinnig mit dem Detail befasst zu haben, ist aber glaube ich eine Stelle im ROM.
Wer seinen Computer ehrt, lebt nicht verkehrt.

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

Re: ZXmore

Beitrag von siggi » 11.01.2016, 13:00

Bei mit hat die Hardware-Lösung leider nicht geklappt: der ZXMore bootet normal und ich kann durch die Instanzen wechseln, aber Laden kann ich nichts mehr
Es wird Version 00.08008 angezeigt, anscheinend nach Timeout, wenn ich direkt nach Power-ON in Instanz 0 laden will.
Bei DS-L aus Instanz 1 kommt Version 00.08000

Ich habe ja aber noch den Kondensator dran, weil ich noch den alten CPLD-Inhalt habe.
So sieht's aus mit Ge-Dioden und 10 kOhm zu +5V:
P1100155_800x600.JPG
P1100155_800x600.JPG (126.6 KiB) 6162 mal betrachtet
Sind vielleicht die GE-Dioden zu lahm (m. W. sind Schottky-Dioden ja recht flott)? Habe die aber auch oft in meinen Zeddies verbaut und keine Probleme gehabt.

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

Benutzeravatar
PokeMon
User
Beiträge: 4490
Registriert: 31.08.2011, 23:41

Re: ZXmore

Beitrag von PokeMon » 11.01.2016, 15:26

Siggi, ich glaube Du hast den Bohrer etwas zu großzügig angesetzt und hier 2 Leiterbahnen aufgetrennt, A15 und die Nachbarleiterbahn D3' die zum USB Controller geht.
Dem fehlt jetzt ein Bit. :wink:

Die Leiterbahn ist im Bild zweifarbig (hell/dunblau bzw. rot/blau) markiert. Am einfachsten kannst Du die abgetrennte Durchkontaktierung mit einer dünnen Litze wieder mit IC5 (74HCT245) Pin 3 verbinden.
Dateianhänge
ZXmoreD3.jpg
ZXmoreD3.jpg (169.15 KiB) 6148 mal betrachtet
Wer seinen Computer ehrt, lebt nicht verkehrt.

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

Re: ZXmore

Beitrag von siggi » 11.01.2016, 16:12

Jupp, genau das wars. Mit zusätzlichem Drähtchen konnte ich alles laden und NFM-32K rennt auch ab 32K (Instanz 1). Konnte auch auf den Test-TNFS-Server abspeichern, ZeddyNet geht also auch. Habe aber den Widerstand in der Clock-Leitung entfernt ("jeder Widerstand ist zwecklos" ;-) ), denn meine neueste ZeddyNet-Karte ist beim IRC-Chat recht schnell ausgestiegen, als der noch drin war.

Danke und Gruß
Siggi

Nachtrag: IRC-ANSI.P (also das mit HIRES-Bild ab 48K) läuft aber nicht: nur HIRES-Pixelsalat ...
Zuletzt geändert von siggi am 11.01.2016, 16:34, insgesamt 1-mal geändert.
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

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

Re: ZXmore

Beitrag von ZX-Heinz » 11.01.2016, 16:18

PokeMon hat geschrieben:Siggi, ich glaube Du hast den Bohrer etwas zu großzügig angesetzt und hier 2 Leiterbahnen aufgetrennt, A15 und die Nachbarleiterbahn D3' die zum USB Controller geht.
Das ist der Fluch der lackierten boards :mrgreen: , ich kann darauf nie die Leiterbahnen zuverlässig verfolgen. Aber das hatte Ingoi ja schon mal angesprochen.

Benutzeravatar
PokeMon
User
Beiträge: 4490
Registriert: 31.08.2011, 23:41

Re: ZXmore

Beitrag von PokeMon » 11.01.2016, 17:48

siggi hat geschrieben: Nachtrag: IRC-ANSI.P (also das mit HIRES-Bild ab 48K) läuft aber nicht: nur HIRES-Pixelsalat ...
Ja dazu brauchst Du auch ein Update des CPLD. Hatte ich mal angesprochen. Aber mir ist klar, dass man auch mal den Überblick verlieren kann, passiert mir auch immer wieder mal. ;-)

Das mit Instanz 6 kann ich nicht nachvollziehen.
Nach dem Einschalten wird sie sowieso mit 3.25 MHz gestartet in der Version 1.7 (wie auch Instanz 5) und ich kann ganz normal tippen und wenn ich auf 6.5 MHz umstelle dann darf ich die Tasten nur gaaaaaanz kurz drücken ummmmmmm nnnniiichhttt solche komischen Texte zu schreiben. Also eigentlich genau andersrum. Eingaben verloren sind bei mir keine. Kann es sein, dass Du nach dem Starten DS-P drückst und damit erst auf die schnelle Frequenz umschaltest ? Die Taste hat ja einen Toggle Mode.
Wer seinen Computer ehrt, lebt nicht verkehrt.

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

Re: ZXmore

Beitrag von siggi » 11.01.2016, 17:52

Hallo Karl
vergiß die komische Timing-Sache (habe Beitrag gelöscht). Hatte da auf dem Stick im ZXmore eine andere IRC-Chat-Test-Version drauf. Mit normalem IRC-Chat gibt's keine komischen Sachen ...

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

Benutzeravatar
PokeMon
User
Beiträge: 4490
Registriert: 31.08.2011, 23:41

Re: ZXmore

Beitrag von PokeMon » 11.01.2016, 17:54

siggi hat geschrieben:
PokeMon hat geschrieben:So - ZeddyNet läuft mit dem ZXmore sowohl im Text als auch im Grafikmode (IRCANSI32.P).
Mit dem IRCANSI.P (für 48k) gibt es ein kleines Problem, aber ich denke für die meisten tut es die 32k Version.
Hier geht der Speicher dann von $2000-$9FFF.
Nunja, wer nicht mehr als 32K Speicher hat, für den muß es wohl reichen ,,
Die 48K-Variante ist für mich optimal zur Entwicklung: im Bereich 16-32K liegt IRC in alter oder neuer Variante. Von 32-48K liegt NFM-32K, mit dem ich die frisch auf dem PC compilierte Variante über TNFS auf den Zeddy in Bereich 16-32K laden kann.
Wenn ich das frisch compilierte/geladene Programm starte, nutzt es den Speicher über 48K, den man auf "normalen" Zeddies ja nur für Daten (hier Bildschirmdaten) nutzen kann, für sein Bild und haut mir den auf 32-48K geladenen NFM-32K nicht kaputt. So kann ich mit dem nicht-zerhauten NFM-32K schnell ein neues Programm nach 16-32K laden und die bessere Version testen. Besser geht's nicht :mrgreen:
(vermutlich siggi) braucht er ein geändertes CPLD.
Gibt es jetzt für jeden User ein indivduelles CPLD?
Gruß
Siggi
Wer seinen Computer ehrt, lebt nicht verkehrt.

bokje
User
Beiträge: 65
Registriert: 02.05.2015, 15:38

Re: ZXmore

Beitrag von bokje » 11.01.2016, 19:59

Bei mir hat die Hardware-Lösung geklappt - vielen Dank :D

Eine Wahrnehmung: Programme können proben ob Chroma vorhanden ist:

http://www.fruitcake.plus.com/Sinclair/ ... tation.htm

Code: Alles auswählen

org 16514
ld bc,0x7fef
in a,(c)
ld b,0
ld c,a
ret
Bei mir gibt das z.B. 0 in Instanz 1 statt 255.
Dateianhänge
chroma.p
(943 Bytes) 119-mal heruntergeladen

wizzer
User
Beiträge: 40
Registriert: 15.08.2015, 18:19

Re: ZXmore

Beitrag von wizzer » 12.01.2016, 03:14

Ich werde diesen Hardware-Mod bei meinem ZXMore nicht vornehmen. Bin generell kein Freund von schlecht reversiblen Umbauten (also Durchtrennen von Leiterbahnen), wenn das nicht zwingend notwendig ist, und mir tatsächlich so ein optisch ansprechendes Gerät, wie der ZXMore, da etwas zu schade für ist.
Meine Prämisse für den ZXMore ist eh eher, mit dem Oszi versuchen nachzuempfinden, was Karl sich da ausgedacht hat, später die verschiedenen OS auf der Hardware auszutesten und eigentlich, was nettes für meine GPIO-Karte zu programmieren und evtl. eigene Erweiterungskarten zu machen. Eine Notwendigkeit für Speicher >32K sehe ich da bei mir zur Zeit nicht.

Deswegen habe ich mich auch entschieden, noch etwas zu warten, bis der CPLD auf einen neuen Stand gebracht wird, weil ich erst mal abwarten möchte, "wo die Reise hingeht" (Also postrelease Spectrum & CP/M). Kann leider auch nicht nach Mahlerts kommen. Hab allerdings grad etwas bedenken, dass der ZXMore langsam in viele unterschiedliche Hardware-"Versionen" kommt, was später bei Updates und CPLD-Versionen schwierig wird. Also wenn es sinnvoll ist, dass möglichst alle ZXMore auf dem gleichen Stand sind, mache ich den Hardware-Mod natürlich auch.

Mein zweites "Problem" ist, dass meine GPIO-Karte leider nicht so einfach an den ZXMore passt, weil die Anschlüsse hinten im Weg sind. Zumindest, wenn die "Kerbe" auf dem Board und auf der Karte an gleicher Stelle sind. Dann schauen die Bauteile der GPIO-Platine allerdings nach unten, was mir auch komisch vorkommt. Wollte da auch noch mal Leiterbahnen auf der GPIO nachvollziehen und gucken, in welcher Richtung die Karte plausible Verbindungen hat.
Wenn der Gedanke mit der "Kerbe" stimmt, wollte ich mir demnächst eine "Verlängerung" bauen. Passende Stecker für das Mainboard habe ich, nur wenn ich eine Prototyp-Platine benutze, hab ich ja nur auf einer Seite Kupfer und müsste auf der anderen Seite stark improvisieren. Hat da jemand ne bessere Lösung?

Antworten