ZXmore Fragen und Antworten

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

Re: ZXmore Fragen und Antworten

Beitrag von PokeMon » 22.03.2016, 15:31

Ich habe den gleichen Intenso Nano Stick. Kannst Du ihn neu formatieren am PC ?
Lass das mit dem SAVE mal momentan bis ein Update kommt.
LOAD sollte eigentlich problemlos funktionieren.
Wer seinen Computer ehrt, lebt nicht verkehrt.

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

Re: ZXmore Fragen und Antworten

Beitrag von Joachim » 22.03.2016, 19:29

Formatieren kann ich nicht, weil der Stick garnicht mehr erkannt wird. Ok, ich warte auf das Update.
Viele Grüße!
Joachim


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

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

Re: ZXmore Fragen und Antworten

Beitrag von PokeMon » 22.03.2016, 19:35

Das verstehe ich immer nicht - wie alle Format Probleme auch mit SD Karten.
Einen Stick oder Karte kann man immer formatieren - außer es ist kaputt.
Das muss so ein typisches Microsoft Problem sein.
Einen richtig formatierten Stick ohne defektes Dateisystem brauche ich ja nicht zu formatieren. :roll:
Wer seinen Computer ehrt, lebt nicht verkehrt.

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

Re: ZXmore Fragen und Antworten

Beitrag von siggi » 22.03.2016, 20:09

Windoofs kann bestenfalls formatieren, aber nicht partitionieren.
Wenn also die Partition zerschossen ist, geht mit Windoofs nix mehr.
Andere sind da vielleicht schlauer: stecke doch mal dem Stick in ein anderes Gerät (z. B. Fernseher/Receiver mit USB-Port für Speichermedium zum Aufnehmen von Sendungen).
Die erkennen ihn vielleicht besser und dann dort "formatieren" lassen. Vielleicht wird er danach unter WIndoofs wieder erkannt und muß dann halt noch auf FAT formatiert werden.

Gruß
Siggi

PS: Eine MMC, die für Mefisdos formatiert ist, ist für Windoofs ja auch rätselhaft :D
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Benutzeravatar
bodo
User
Beiträge: 293
Registriert: 14.02.2007, 17:21
Kontaktdaten:

Re: ZXmore Fragen und Antworten

Beitrag von bodo » 22.03.2016, 21:32

Mit einer sogenannten Live-CD eines netten Linux geht da vielleicht auch noch was. Solch ein System bootest du direkt vom optischen Laufwerk, die Festplatte bleibt unangetastet. Mit den Werkzeugen darauf lässt sich auch ein Datenträger beharken, der vom Marktführer ignoriert wird.

Wenn du dabei Hilfe brauchst, melde dich; allerdings bin ich über die kommenden Feiertage unterwegs...
B0D0: Real programmers do it in hex.

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

Re: ZXmore Fragen und Antworten

Beitrag von PokeMon » 22.03.2016, 23:11

Also ich habe ja auch so einen Intenso Nano Stick, das ist offenbar eine China Billigmarke.
http://www.pollin.de/shop/dt/MTAzODgyOT ... _8_GB.html

Nach einigen Recherchen scheint der interne Controller sich aufgehängt zu haben und der Stick muss neu geflasht werden.
Wenn es entsprechende Tools gibt, sind sie wahrscheinlich auf Chinesisch. Was man für 4 EUR halt erwarten kann bei 8 GB.
Also meiner ist auch hin resp. zeigt eine Größe von 0 MB (!).
Das ist schon mal sicher falsch, meine es wären 4 oder 8 GB gewesen.
Er wird aber als USB Gerät und auch als Disk erkannt.

Normalerweise kann man die Formatieren und Partitionieren unter WIN 7 mit diskpart.
Schlägt aber fehl da 0 MB Größe. Man kann weder Partitionieren noch Partitionen löschen.
Achtung - bei Versuchen unbedingt mit select disk die entsprechende Platte zuerst auswählen !!
Die ausgewählte Platte erscheint mit einem * vor dem Namen.
Bildschirmfoto 2016-03-22 um 22.54.28.png
Bildschirmfoto 2016-03-22 um 22.54.28.png (41.75 KiB) 4320 mal betrachtet
Der Screenshot zeigt oben den defekten und unten einen anderen Stick (den ich auch formatieren kann).
Details ist auch nicht sonderlich erhellend:
Bildschirmfoto 2016-03-22 um 23.21.43.png
Bildschirmfoto 2016-03-22 um 23.21.43.png (46.74 KiB) 4319 mal betrachtet
Also m.E. hat die Controller Software im Stick einen Bug und liegt vermutlich gar nicht mal unbedingt an meinem Programm, wobei ich nur den Filesystem Driver von FTDI benutze also da nichts selbst geschrieben habe. Andere Sticks funktionieren einwandfrei. Die aktuelle Version schreibt übrigens die Dateien richtig auf den Stick, allerdings kann man erst nach einem Poweroff (kein Reset !) wieder laden, dann auch die gespeicherten Dateien. Den Bug muss ich suchen.
Wer seinen Computer ehrt, lebt nicht verkehrt.

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

Re: ZXmore Fragen und Antworten

Beitrag von msch » 23.03.2016, 09:38

Hände weg von diesem Schrott-Stick, bei Amazon gibt es massig schlechte Bewertungen von usern, die Probleme mit Datenverlust oder Defekten haben, s.a.
http://www.amazon.de/product-reviews/B0 ... ewpoints=0
Lest Euch nur mal die 1-Sterne-Bewertunge durch, das reicht schon.
Bei Speichermedien lohnt es sich m.A.n. nicht, billig zu kaufen. Ich kaufe für wichtige Daten nur Markenprodukte, z.B. von Sandisk oder Kingston, das weiss man, was man hat. Und sollte wirklich mal ein Speicher defekt sein, bekommt man bei diesen Herstellern immerhin kostenlosen Ersatz.
manche meinen lechts und rinks kann man nicht velwechsern.
werch ein illtum! (Lichtung, Ernst Jandl)

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

Re: ZXmore Fragen und Antworten

Beitrag von PokeMon » 23.03.2016, 11:22

Ja, das ist sicher kein Qualitätsstick, da hast Du vollkommen recht. Den hatte ich seinerzeit nur mal zum Testen (genau !) mitbestellt und mal ein Vergleich mit verschiedenen Sticks zu haben. Das Problem ist, dass der Flash Speicher bei der Produktion zu einem nicht unerheblichen Teil fehlerhaft ist. Aus den einwandfreien Chips macht man SSDs, aus den nicht so guten macht man USB Sticks. Was auch dafür zu schlecht ist hat wahrscheinlich ein findiger Chinese aufgekauft um davon noch schlechtere Sticks zu bauen. Bevor man es wegschmeisst ... :mrgreen:

Ich muss sagen, dass ich diesen Stick glaube ich nie ernsthaft probiert habe und nur gekauft habe weil er so schön klein ist und billig und ich habe glaube ich damit bislang nur mal die Stromaufnahme gemessen. Die war glaube ich recht gut niedrig. Kein Wunder, wenn nichts drin ist. :wink:
Wer seinen Computer ehrt, lebt nicht verkehrt.

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

Re: ZXmore Fragen und Antworten

Beitrag von Joachim » 25.03.2016, 18:42

Hallo Karl!
Ich habe das Projekt http://forum.tlienhard.com/phpBB3/viewt ... f=2&t=1829 (PS/2-ZX81-Keyboard-Adapter) realisiert. Die Platinen sind gekomen und sind auch ok. Getestet habe ich mit dem ZXmore. Dabei ist mir aufgefallen, dass die Verbindungen von der Adapterplatine zu den KBD- und Keyboard-Adressanschlüssen nicht so sind, wie Daniel (der, von dem das Projekt stammt) das in seiner Beschreibung aufgezeichnet hat. Ich könnte jetzt sicher durchpiepsen, aber die Frage an dich ist leichter ;) : Haben die Keyboard-Anschlüsse, die beim ZXmore vorne rechts herausgeführt sind folgende Belegung von links nach rechts (ZXmore ist so platziert, dass man direkt vor der Tastatur sitzt):
KBD4 KBD3 KBD2 KBD1 KBD0 A11 A10 A12 A9 A13 A8 A14 A15.
Viele Grüße!
Joachim


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

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

Re: ZXmore Fragen und Antworten

Beitrag von msch » 25.03.2016, 19:03

Ich glaube, die Info fehlt im Benutzer-Handbuch des ZXMore. Im Aufbauhandbuch ist nur ein Verweis auf das Benutzer-Handbuch enthalten, dort aber keine Belegung.
manche meinen lechts und rinks kann man nicht velwechsern.
werch ein illtum! (Lichtung, Ernst Jandl)

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

Re: ZXmore Fragen und Antworten

Beitrag von PokeMon » 25.03.2016, 19:27

Joachim hat geschrieben:Hallo Karl!
Ich habe das Projekt http://forum.tlienhard.com/phpBB3/viewt ... f=2&t=1829 (PS/2-ZX81-Keyboard-Adapter) realisiert. Die Platinen sind gekomen und sind auch ok. Getestet habe ich mit dem ZXmore. Dabei ist mir aufgefallen, dass die Verbindungen von der Adapterplatine zu den KBD- und Keyboard-Adressanschlüssen nicht so sind, wie Daniel (der, von dem das Projekt stammt) das in seiner Beschreibung aufgezeichnet hat. Ich könnte jetzt sicher durchpiepsen, aber die Frage an dich ist leichter ;) : Haben die Keyboard-Anschlüsse, die beim ZXmore vorne rechts herausgeführt sind folgende Belegung von links nach rechts (ZXmore ist so platziert, dass man direkt vor der Tastatur sitzt):
KBD4 KBD3 KBD2 KBD1 KBD0 A11 A10 A12 A9 A13 A8 A14 A15.
Ja. Das ist exakt so. Habe ich gerade nochmal geprüft.
Die Belegung findet man zumindest im Schaltplan / Schematic. :wink:

http://forum.tlienhard.com/phpBB3/viewt ... 834#p22877
Bildschirmfoto 2016-03-25 um 19.30.46.png
Bildschirmfoto 2016-03-25 um 19.30.46.png (62.98 KiB) 4252 mal betrachtet
Hast Du einen Schaltplan von dem Keyboard Adapter ?
Funktioniert die Tastatur gar nicht oder falsche Tasten ?
Ich kann leider den EAGLE Schaltplan nicht lesen, vielleicht kann den mal jemand in ein lesbares PDF drucken oder konvertieren.
Wer seinen Computer ehrt, lebt nicht verkehrt.

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

Re: ZXmore Fragen und Antworten

Beitrag von Joachim » 25.03.2016, 19:38

Hallo Karl,
sobald man in einer ZX81-Instanz ist, wird die Tasteneingabe über eine PS/2-Tastatur erkannt. Probleme gibt es mit 6,5 Mhz. Da kommt die Taste 'NL' nur nach längerem Drücken. Die Funktionstasten (F1 und F9) funktionieren nicht. Sollten eigentlich EDIT und GRAPH ersetzen. Kann aber an meiner Tastatur liegen.
Vielen Dank für die schnelle Antwort. Dann hat sich Daniel total vertan. Vielleicht kann er es durch eine andere Matrix sofwaremäßig hinbiegen.
Hier noch der Schaltplan:
TEK-8x8.pdf
(45.92 KiB) 55-mal heruntergeladen
Viele Grüße!
Joachim


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

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

Re: ZXmore Fragen und Antworten

Beitrag von msch » 25.03.2016, 20:44

Das keyboard-Interface ist doch universal - somit sollte durch eine Anpassung des Codes die entsprechden Tastendrücke erzeugbar sein - wenn es grundsätzlich funktioniert. Funktioniert das Interface denn am ZX81?
manche meinen lechts und rinks kann man nicht velwechsern.
werch ein illtum! (Lichtung, Ernst Jandl)

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

Re: ZXmore Fragen und Antworten

Beitrag von Joachim » 26.03.2016, 10:00

Hallo Mathias,
am ZX81 habe ich noch nicht getestet. Den muss ich noch umrüsten. Mache ich über die Feiertage. Umprogrammieren geht sicher. Leider habe ich a) keine bis garkeine Ahnung von C und b) die Sourcen wurden mit CCS C, Version 4, compiliert. Dieser Compiler kostet ca. 50$. Es gibt eine Testversion bis 45 Tage. Ich habe versucht einen anderen Compiler mit MPLAB zu verwenden, das hat aber wegen spezieller Compilerdirektiven nicht geklappt. Könnte man sicher umschreiben, dazu fehlt mir aber das Wissen über C (sollte ich mir jetzt im hohen Alter doch mal zulegen).
Ich kann ja mal die funktionierende Anschlussbelegung hier posten. Vielleicht kann einer von euch ....
Interessant wäre bei dieser Gelegenheit auch die Änderung des Tastaturlayouts von Querty auf Quertz.
(Deine Bestellungen sind vorgemerkt)
Viele Grüße!
Joachim


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

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

Re: ZXmore Fragen und Antworten

Beitrag von PokeMon » 26.03.2016, 11:43

Es ist möglich, dass es mit 6.5 MHz Timing Probleme gibt.
Das ist abhängig von der Verwendung der Dioden.
Ich vermute mal, dass Du 1N4148 o.ä. - also Silizium Dioden - verwendet hast.

Ich würde empfehlen hier Schottky oder Germanium Dioden mit geringer Durchlass Spannung zu verwenden.
Immerhin gehen die Adressleitungen nicht ganz bis auf 0 runter, dazu 0.7V von den Dioden, da bist Du schnell bei der Schaltschwelle von 1.3-1.4 V bei den TTL Chips (74HCT245). Dazu kommt die kapazitive Belastung durch die Länge der Anschlussleitungen, insbesondere noch bei paralleler Führung durch Flachbandkabel (welche Länge ?) und dann die kurze Zeitspanne von etwa 450ns bei 6.5 MHz. Kann sein, dass es dann zu lange dauert, die "Kondensatoren" zu entladen.

Man könnte auch IC16 (74HCT245) mal testweise gegen die HC Version (also ohne T) austauschen. Dann hast Du CMOS Pegel statt TTL. Voraussetzung ist, dass der Adressbus nicht mit High Pegeln bis auf 2.5V runtergeht. Die Schaltschwelle liegt dann statt bei 1.4V bei 2.5V. Die CPU liefert aber TTL Pegel. Im Prinzip hast Du die Wahl zwischen Pest und Cholera. Ich würde aber dazu raten, das Interface nur mit Schottky Dioden (BAT42 oder BAT46) zu realisieren.
Wer seinen Computer ehrt, lebt nicht verkehrt.

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

Re: ZXmore Fragen und Antworten

Beitrag von msch » 26.03.2016, 13:17

Was die Programmierung angeht, das müsste man sich mal ansehen. Ich bin mir sicher, dass man es auch mit anderen Compilern realisieren kann, die code für PIC erzeugen können. Hier
http://www.mikrocontroller.net/articles ... rvergleich
Gib es einen Vergleich. Leider habe ich erst ca. in zwei Wochen Zeit, mir den Code mal genauer anzusehen.
manche meinen lechts und rinks kann man nicht velwechsern.
werch ein illtum! (Lichtung, Ernst Jandl)

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

Re: ZXmore Fragen und Antworten

Beitrag von msch » 26.03.2016, 14:14

Wir sollten das 8x8 kbd interface aber im dortigen thread
http://forum.tlienhard.com/phpBB3/viewt ... 658#p23658
diskutieren, der ZXMore thread ist da nur bedingt geeignet.
manche meinen lechts und rinks kann man nicht velwechsern.
werch ein illtum! (Lichtung, Ernst Jandl)

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

Re: ZXmore Fragen und Antworten

Beitrag von PokeMon » 26.03.2016, 16:24

Kann man so und so sehen.
Immerhin ist es Hardware, die am ZXmore nicht ganz rund läuft.
Und da es um Fragen und Antworten geht, halte ich es hier durchaus für legitim. :wink:
Generelle Sachen mit anderen Rechnern, ja hast Du sicher recht.
Wer seinen Computer ehrt, lebt nicht verkehrt.

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

Re: ZXmore Fragen und Antworten

Beitrag von PokeMon » 02.05.2016, 18:49

Nächste Woche wird es ein Update geben (Release 1.9)
Ich arbeite gerade an dem Multitasking Feature, das ist trickiger als gedacht.
Aber machbar, denke ich.

Automatisches hin und her schalten funktioniert bereits.
Hin und her schalten direkt zwischen 2 Instanzen geht auch.
Problem ist hier allerdings, dass ich zur Zeit nur sauber zwischen 2 Frames umschalten kann.
1 Frame Instanz 1 und 1 Frame Instanz 2.
Dann siehst man aber auch bei beiden Routinen den Bildschirm resp. die überlagern sich.
Sieht nett aus, aber nicht auf Dauer.

Ziel ist es, nur den Bottom Margin auf andere Instanzen zu verteilen und den Top Margin (inklusive VSYNC und Tastaturabfrage) in der aktiven Instanz zu lassen. Das funktioniert auch, aber nur solange kein FAST Mode ins Spiel kommt. Allerdings kommt der öfter als man denkt, zum Beispiel beim Editieren oder Verfassen von Programmen. Mal schaun, ob ich die letzten Meter auch noch schaffe.

Wäre schon ein cooles Feature, wird mit Doppelshift M (multi tasking) ein/ausgeschaltet und erstreckt sich dann über alle aktiven (gestarteten) Instanzen. Dabei hat die aktive Instanz immer 50% und die restlichen teilen sich die anderen 50%.

Ansonsten sind die Display Routinen überarbeitet, erlauben sicheres Zurückschalten nach LOAD und SAVE und wird hoffentlich auch nun mit der VDRIVE Schnittstelle harmonieren. Verzeichniswechsel sollte dann auch klappen. :wink:
Wer seinen Computer ehrt, lebt nicht verkehrt.

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

Re: ZXmore Fragen und Antworten

Beitrag von PokeMon » 27.06.2016, 22:12

So nun gibt es endlich das Release 1.9.

Alle erforderlichen Dateien können hier heruntergeladen werden in einem komfortablen ZIP:
http://www.ginger-electronic.com/Downlo ... terV19.zip

Folgende Änderungen und Features sind hier in Kurzform aufgelistet:

Code: Alles auswählen

## [V1.9] - 2016.06
### Added
[+] multi tasking mode (automatic instant switching with time slice)
[+] added support for vdrive protocol with minimalistic driver
[+] backup of single instances as *.BAK and continue session later (after power-off)
[+] saved single instances maybe continued on any other instance, easy cloning possible
[+] backup and restore of complete ZXmaster including all active instances in tools menu
[+] restore of previously saved backup with pressing NEWLINE during reset or power-up

### Changed
[*] instance switching moved from top margin to bottom margin due to technical reasons

### Fixed
[-] frame synchronisation between instance switching (smooth switching)
[-] video timing precised
[-] ZX81 FAST mode display A15 fix with new CPLD (rev. 06.2016)

Die Realisierung war aufwändiger als gedacht und für die Implementierung des Multitasking Mode habe ich 3 Anläufe resp. 3 unterschiedliche Realisierungsansätze verfolgt. Die gute Nachricht ist, es funktioniert allerdings mit ein paar Einschränkungen, siehe weiter unten. Der Multitasking Mode erfordert keine Konfiguration, funktioniert aber nur wenn mindestens 2 Instanzen aktiv sind. Eingeschaltet wird er dann mit DS-M (Doppelshift-M) und auch ausgeschaltet. Die Vordergrundinstanz bekommt dabei Display und Tastatureingaben, die Hintergrundinstanz(en) wird einfach nur ausgeführt. Während des sog. top margin (oberer Bildbereich) wird die Vordergrundinstanz ausgeführt, während des bottom margin (unterer Bildbereich) die Hintergrundinstanz. So bekommt jede 50% Rechenzeit. Bei 6.5 MHz entspricht das noch der normalen Geschwindigkeit, also wie 100% Rechenzeit bei 3.25 MHz.

Sofern mehrere Hintergrundinstanzen aktiv sind, teilen diese sich die 50% Rechenzeit (der Vordergrundtask bleibt bei 50%) und jeweils pro Frame in einem Round-robin-Verfahren gewechselt. Bei 2 Hintergrundinstanzen bekommt jede 25%, bei 3 Instanzen 16.5% usw. Interessant ist das vermutlich eher wenn man einen Job im Hintergrund laufen läßt, der recht lange läuft. Eine aufwändige Grafikberechnung oder Primzahlensuche oder anderen Matheaufgaben von Jens. :mrgreen: Man kann im Vordergrund bequem weiterarbeiten, spielen oder programmieren.


Einschränkungen:

1) PAL Videomodus
Da die Realisierung sehr timingkritisch ist, gibt es im NTSC Mode mit wesentlich kürzeren Rechenzeiten pro Frame deutliche Stabilitätsprobleme. Der PAL Video Modus ist da deutlich zuverlässiger. Ich habe hier mit verschiedenen Standardanwendungen getestet, BASIC und Assemblerprogramm und HRG (das "Swatosch" HRG) sowie auch einigen Sonderprogramm wie dem 1kchess.p, die sehr zuverlässig funktionieren. Probleme kann es insbesondere mit den 1k Programmen von dr.beep geben oder ähnlich akrobatisch ambitionierten Byte-Spar-Programme mit eigenen Videotreibern und extensiven NMI ein/ausschalten arbeiten.

2) RAM mirror
Das ist erklärungsbedürftig und kann Probleme beheben, die bei häufigem NMI ein/ausschalten vorkommen. Härtetest war hier ein nettes Programm a la

Code: Alles auswählen

10 SLOW
20 PRINT "X";
30 FAST
40 RUN
Das auf einer Instanz im Hintergrund und ein anderes Programm wie CLCKFREQ.p im Vordergrund oder umgekehrt. Schwierigkeiten macht hier der erweiterte M1 NOT Modus, der beim ZXmore über den gesamten Adressbereich erlaubt ist um z.B. Maschinenprogramme auch im Bereich $C000-$FFFF laufen lassen zu können. Hier wird die A15 Leitung vom RAM automatisch auf low gesetzt wenn der Video Mode erkannt wird. Erkannt wird er, sobald ein INT ACK auftritt oder ein HALT Befehl. Jetzt ist es so, dass im SLOW Mode eigentlich immer ein HALT auftritt als Bildsynchronisierung mit dem letzten NMI.

Im FAST Mode fehlt diese Synchronisierung und das Bild wird komplett per Software erzeugt. Auch dabei gibt es ein HALT, aber ggf. erst am Ende der (leeren) Videozeile. Das ist zu spät, so dass ggf. Code im Bereich >32k als Bildschirm ausgeführt wird. Das ließ sich ausbügeln durch ein CPLD Update, in Version 06/2016 ist das behoben. Ein Workaround ist es ggf. RAM mirror einzuschalten und den Speicher auf 32k zu beschränken (8k-40k oder 16k-48k). Möglicherweise ist das früher nicht aufgefallen, möglicherweise passiert das auch nur im Multitasking Mode weil hier das Bild vom ZXmaster erzeugt wird. Genau kann ich das auch nicht sagen. Als angenehmer Nebeneffekt erscheint nun auch beim klassischen LOAD Aufruf wieder das bekannte Streifenmuster weil auch hier der Video Modus erkannt wird. Ich musste noch eine weitere Bedingung einführen, dass auch das Abschalten des NMI Generators als Video Modus einschalten erkannt wird.

3) Text display
Um den Multitasking Mode überhaupt realisieren zu können, musste ich hier auf eigene Bildschirmtreiber setzen und das hat zur Folge, dass im Multitasking Modus nur Text aber keine Grafik (HRG) dargestellt werden kann. Es funktionieren aber HRG Programme im Multitasking Modus (zumindest das HRG16k.p), nur sieht man beim Umschalten nicht, wie weit die Grafik ist. Hier muss man ggf. den Multitasking Mode kurz ausschalten (DS-M) und danach wieder einschalten. Das Editieren von Programmen ist hierbei übrigens unschädlich, weil hier kurz der FAST Mode aktiviert wird und anschließend wieder der SLOW Mode. Während des FAST Mode ist auch der ZXmaster nicht aktiv und dann kann die Instanz im DFILE schalten und walten wie sie will.

4) Framecounter (FRAMES)
Der FRAMES Counter wird weitergezählt im Multitasking Modus, allerdings spiegelt er nicht mehr die tatsächlich abgelaufenen Frames wieder. Er wird bei jedem Durchlauf erhöht wenn die Instanz gerade aktiv ist. Sofern sie nur 1x aktiv ist (also neben der Vordergrundinstanz nur eine Hintergrundinstanz läuft) paßt das mit dem FRAMES Counter und auch in Bezug auf die doppelte Taktfrequenz (6.5 MHz vs. 50% Rechenzeit) - sofern mehr Instanzen aktiv sind, wird der FRAMES Counter nur noch 25 mal pro Sekunde erhöht, weil die Instanz sich die Rechenzeit mit einer weiteren Hintergrundinstanz teilen muss und nur noch halb so oft dran ist. Zeitmessungen über FRAMES stimmen dann nicht mehr.
Wer seinen Computer ehrt, lebt nicht verkehrt.

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

Re: ZXmore Fragen und Antworten

Beitrag von PokeMon » 27.06.2016, 23:21

Die VDRIVE Schnittstelle wurde implementiert und müsste sich eigentlich so verhalten, wie es den Beschreibungen von siggi und der Interpretation des Quellcodes entnommen werden konnte, wenn auch nur mit einem Teilfunktionsumfang. Um das zu nutzen, muss man den im ZIP bereitgestellten Treiber ZXMVDRIV.ROM wahlweise ins RAM oder Flash ROM auf Adresse 8192 laden. Der Driver ist an und für sich auf beliebige Adressen ausführbar (relocatable), derzeit erwartet der ZXmaster allerdings nur auf Adresse 8192. Hier werden dann noch weitere Konfigurationsoptionen notwendig und das kommt dann in einem Folgerelease.

Derzeit ist der Driver immer aktiv. Das hat eine Einschränkung, dass auf Adresse $2016 (8214 dezimal) kein Befehl beginnen sollte. Die Wahrscheinlichkeit, dass es hier zur Kollision kommt, halte ich für gering weil genau in dem Moment die NMI Phase zu Ende sein muss, aber nicht gänzlich ausgeschlossen. Sollte das stören, kann ich eine gepatchte Version zur Verfügung stellen. Nur für den Fall des Falles. Es wird halt dann auf Adresse $2018 (8216 dezimal) weitergemacht nach der Bildausgabe/VSync.

Implementiert ist aktuell nur:

8192 (BASIC Kommandozeile)
8195 (BASIC Programm)
8198 (Maschinenprogramm USR)

mit den Befehlen

"L DATEI.P"
"S DATEI.P"
"L TREIBER.BIN,32768"
"S MEMORY.DAT,32768,16384"

Vielleicht kann siggi mal prüfen, ob die Schnittstelle generell richtig implementiert ist. Es fehlt hier natürlich noch Verzeichnis auslesen und Verzeichnis wechseln - das kommt mit dem nächsten Release. Sicherlich kommt noch mindestens eine Version im Sommer (2.1), im günstigen Fall auch schon ein Prerelease mit CP/M.
Wer seinen Computer ehrt, lebt nicht verkehrt.

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

Re: ZXmore Fragen und Antworten

Beitrag von PokeMon » 27.06.2016, 23:35

Recht nützlich dürfte sich das Feature erweisen, eine komplette Instanz zu speichern mit dem gesamtem Speicherinhalt (also nicht nur das Programm sondern z.B. 56k von 8192-65535) und den Kontextinformationen. Dadurch kann das Programm an selbst Stelle fortgesetzt werden, an der es unterbrochen wurde und das ist nützlich wenn man aufwändig Speicherbereiche konfiguriert hat, eine Debuggersession unterbrechen möchte oder auch ein laufendes Spiel. Es ist nämlich nicht nötig, das Programm zu unterbrechen. Gespeichert wird mit DS-S und bei Dateiendung .BAK wird automatisch die komplette Instanz gespeichert.

Auf diesem Weg läßt sich später eine Instanz wieder laden und auch sauber von einer Instanz in eine andere übertragen. Die Register (Konfigurationslatches) werden dabei automatisch angepaßt. Wenn eine .BAK Datei geladen wird, wird diese als Instanz interpretiert und das RAM von 8192-65535 entsprechend wiederhergestellt, der Stack und das Programm exakt dort fortgesetzt wo es beim NMI unterbrochen wurde. Man kann damit auch Instanzen einfach klonen.

Daneben gibt es noch einen System Backup oder Restore, bei dem der gesamte Speicher (mit allen aktiven Instanzen) in einer zentralen Datei gespeichert wird (ZXMASTER.BAK) und nach einem Neustart wieder geladen werden. Backup und Restore sind explizite Menüpunkte im Tools Menü des ZXmaster. Außerdem kann ein Restore bequem durch Drücken der NEWLINE Taste während eines Reset oder Power-On sozusagen automatisch erfolgen.

Generell kann Backup und Restore nur im FAST Mode funktionieren. Für die Dauer (ca. 2 Sekunden) hat man dann kein Bild, wenn man ein komplettes System mit 7 Instanzen speichern will, kann das auch 15 Sekunden oder mehr dauern auch abhängig von der Geschwindigkeit der USB Sticks. Laden geht etwa doppelt so schnell gegenüber dem Speichern.

Ich habe heute auch noch mit diversen USB Sticks getestet. Generell sollte man möglichst einen schnellen Stick verwenden. Gut funktioniert bei mir Verbatim, Kingston oder Platinum (ist auch Kingston drin). Schwierigkeiten habe ich mit sehr langsamen Sticks wie Spaceloop by CnMemory oder einem Philips Stick. Beide kennzeichnen sich auch durch eine LED, die beim Speichern blinkt. Offenbar soll das User davon abhalten, die Sticks zu früh vom Computer zu trennen weil sie nämlich grottenlangsam sind. Also Sticks mit bunten LEDs sollte man ggf. vermeiden.

Ich werde mal in einer Folgeversion prüfen, ob man da noch was machen kann. Im Moment hatte ich keine Musse hier zu tief ins Detail zu gehen.
Ich denke, dass die Backupmöglichkeiten gerade für Entwickler recht wertvoll und zeitsparend sind.
Wer seinen Computer ehrt, lebt nicht verkehrt.

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

Re: ZXmore Fragen und Antworten

Beitrag von siggi » 29.06.2016, 16:49

PokeMon hat geschrieben:Die VDRIVE Schnittstelle wurde implementiert und müsste sich eigentlich so verhalten, wie es den Beschreibungen von siggi und der Interpretation des Quellcodes entnommen werden konnte, ...
Hallo Karl
ich habe mir mal den Treiber-Source angesehen. Mindestens ein Fehler ist drin, der aber erst bei der nächsten Version auffällt :D

Code: Alles auswählen

format zx81 as 'rom'
;LISTON
				// driver code for using vdrive software with ZXmaster
				// usually loaded at 8192 ($2000) but relocatable code for any address
vdrive:
	XOR	A		// entry point for command line usage (default entry point 8192)
	JR	.basic
	XOR	A		// entry point for BASIC program usage (default entry point 8195)
	JR	.basicp
	NOP			// version coding of vdrive driver code (version 0)
	LD	A,$FE		// entry point for assembly program usage (default entry point 8198)
.basicp:
	INC	A		// coded entry point in A, 0=command line, 1=basic program, -1=assembly program
.basic:
Der Einsprung bei 8198 erfolgt da, wo im Source das "NOP" steht (das die Versionsnummer sein soll), nicht da, wo der Kommentar steht (default entry point 8198). Derzeit passiert da nichts (weil NOP ausgeführt wird), bei nächsten Versionen kracht's dann irgendwann mal ...

Der Driver ist an und für sich auf beliebige Adressen ausführbar (relocatable),
.... was schon mal sehr gut ist, denn ich lade den Treiber (und UFM) immer da hin, wo er im Moment nicht stört. So läuft er (bisher) mal bei 8K, bei 32K, bei 40K oder 16514 (immmer da, wo er keinen Platz belegt, den man gerade Laden/Speichern will).

Wenn ich z. B. neue UFM-Versionen teste und den USB-Stick zum Datenaustausch nutzte, liegt der bisherige Treiber (und bisheriger UFM) bei 32K. Dann lade ich den neuen UFM (oderTreiber) rein (z. B. als P-File bei 16514 oder den M/C auf 40K). Dann teste ich den neuen UFM/Treiber auf 40K. Wenn Bug drin ist, wird mit dem auf 32K dann die nächste Testversion nach 40K oder 16514 geladen (usw.)
derzeit erwartet der ZXmaster allerdings nur auf Adresse 8192. Hier werden dann noch weitere Konfigurationsoptionen notwendig und das kommt dann in einem Folgerelease.
Wenn es langfristig erforderlich bleibt, daß der ZXMASTER "wissen" muss, wo der Treiber gerade liegt (per neuen "Konfigurationsoptionen"), ist die bisherige Flexibilität vorbei, da ich dann Laufadresse des Treibers mit der eingestellen Konfiguration in Einklang halten muss. Ich muß dann also umkonfigurieren oder in verschiedenen Instanzen passende Konfigurationen bereithalten. Die bisherige Vorgehensweise wie zuvor geschrieben, geht dann nicht mehr :(
Derzeit ist der Driver immer aktiv. Das hat eine Einschränkung, dass auf Adresse $2016 (8214 dezimal) kein Befehl beginnen sollte.
Auf der Adresse liegt bei mir auch immer wieder gerne ASDIS, manchmal auch andere M/C-Routinen (TOOKIT64K, QBASIC), dann wieder der USB-Treiber oder mehr oder weniger zufällige Daten aus der ZeddyNet/TNFS-Kommunikation oder aus HIRES-Bildchen.
Kommt da Ärger auf uns zu? Muß da langfristig auch hin- und her konfiguriert werden?

Wie erkennt denn der ZXMASTER, wenn er sich in den Treiber "einmischen" und die Kontrolle übernehmen muß? Triggert er auf Opcode-Fetch auf dieser Adresse?
Wenn ja, könnte man die ZXMASTER-Aufrufe des Treibers vielleicht so machen: er ruft per "CALL ebbes" eine fixe Adresse "ebbes" im ROM auf, die ungefährlich ist (RET? Oder Endlos-Loop? Oder HALT?) und die nie vom ROM "ausgeführt" wird (im Zeichengernerator oder in einer Datentabelle). Dann könnte der ZXMASTER auf diese Adresse triggern und das CALL könnte von jeder Stelle aus erfolgen. Über Register könnte man dann noch Parameter für den "OS-Call" mitgeben ....
Oder so ähnlich ...

Gruß
Siggi

Edit Nachtrag:
Der UFM ruft den Treiber im FAST-Mode auf! Deshalb würde

Code: Alles auswählen

JR	$FE		// endless loop till command is processed from ZXmaster
wirklich zum Endless Loop führen, denn es kommt kein NMI!
Wenn der Treiber bestimmte Umgebungsbedingungen benötigt (aktiver NMI), muß er diese selbst herstellen! Ein aufrufendes Programm "weiß" das ja nicht ....
Und es wäre schön, wenn der Treiber die veränderten Umgebungsbedingungen möchlichst restauriert vor dem Rücksprung. Oder zumindest die Systemvariablen entsprechend setzt, wie nun der Status ist (SLOW oder FAST oder ...), damit es später nicht kracht ...
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

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

Re: ZXmore Fragen und Antworten

Beitrag von siggi » 04.07.2016, 09:07

************************* Beitrag zu Update auf 1.9 umgebettet aus dem Info/Updates-Thread *********************************

Ich habe den Update von 1.8 nach 1.9 probiert (aus Instanz 1): habe erstmal Instanz 7 aktualisiert -> geht nicht. Dann habe ich Instanz 5 aktualisiert -> geht nicht. Instanz 5 habe ich mehrfach probiert, ging aber nie. Von Instanz 0 habe ich deshalb mal die Finger gelassen ...

Beim Power-ON habe ich die SHIFT-Taste gedrückt. Aber es ist nicht erkennbar, ob sie erkannt wurde (keine Änderung der Ausgabe des Master V1.8 ). Ist das so korrekt?

Hat sonst noch jemand ein Update (erfolgreich) durchgeführt?

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

Benutzeravatar
Jungsi
User
Beiträge: 618
Registriert: 05.10.2012, 13:53
Wohnort: Simbach am Inn
Kontaktdaten:

Re: ZXmore Fragen und Antworten

Beitrag von Jungsi » 04.07.2016, 21:14

Bei mir hat es funktioniert - Instanz 0. Ich dachte auch erst es ist was "kaputt". :-)
Nach dem Update hab ich das Reset gemacht und SHIFT gedrückt und hatte ein rotes LED.
Nachdem ich den ZXmore komplett vom Strom genommen und wieder eingeschaltet habe, hat er sich mit 1.9 gemeldet.

Das mit dem Vdrive hab ich noch nicht verstanden :-)
Man kann das ins RAM "einblenden":
1. in Instanz 0 -> T(Tools) -> Load Data
2. ZXMVDRIV.ROM:8192:1 (Für Instanz 1)
3. in Instanz 1 wechseln
4. LOAD USR 8192;"L TEST.P" (Laden des Programms Test.P)
Ist das so ungefähr richtig oder hab ich mich komplette "blamiert"? :-)
Vieles rund um Sinclair und andere Retro-Computer:
http://www.jungsi.de

Antworten