ZXmore

ZX-Team Forum
Benutzeravatar
tokabln
User
Beiträge: 774
Registriert: 10.11.2013, 00:24
Wohnort: D, Berlin (Mariendorf)

Re: ZXmore

Beitrag von tokabln » 12.02.2016, 20:06

Asche auf mein Haupt... ich meinte den ZX80Core :oops:

Bei all den Namen kommt man aber auch durcheinander :mrgreen:
image.jpeg
image.jpeg (138.1 KiB) 3046 mal betrachtet
Lieben Gruß Torsten
BMZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500, Amiga 1200, Atari Portfolio, HP200LX, IBM PC 5155, TP755c, T41, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e

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

Re: ZXmore

Beitrag von msch » 13.02.2016, 10:46

Torsten, es gibt 90 Grad Cinch-Adapter. Damit sollte es gehen. Wenn Du keinen hast, sende ich Dir einen zu, ich habe einige davon.
image.jpeg
image.jpeg (18.24 KiB) 3026 mal betrachtet
manche meinen lechts und rinks kann man nicht velwechsern.
werch ein illtum! (Lichtung, Ernst Jandl)

Benutzeravatar
tokabln
User
Beiträge: 774
Registriert: 10.11.2013, 00:24
Wohnort: D, Berlin (Mariendorf)

Re: ZXmore

Beitrag von tokabln » 13.02.2016, 12:46

Hallo Mathias,

ah... das ist sicher keine schlechte Lösung und ja... davon würde ich Dir glatt einen oder zwei abnehmen.
Musst nur sagen was Du dafür haben möchtest.
Vielen lieben Dank.
Lieben Gruß Torsten
BMZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500, Amiga 1200, Atari Portfolio, HP200LX, IBM PC 5155, TP755c, T41, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e

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

Re: ZXmore

Beitrag von msch » 13.02.2016, 13:33

nix - gehen am Montag in die Post.
manche meinen lechts und rinks kann man nicht velwechsern.
werch ein illtum! (Lichtung, Ernst Jandl)

Benutzeravatar
Grautier
User
Beiträge: 302
Registriert: 18.11.2013, 18:44
Wohnort: Mühldorf

Re: ZXmore

Beitrag von Grautier » 13.02.2016, 13:56

Man sollte vielleicht nach der Seite 19 auch noch die Seite 20 des Threads lesen... :oops:
Ich war jetzt extra immer Keller um ein Beweisfoto zu machen, dass es beim ZX80Core nicht geht und Torsten vielleicht den meint... nun lese ich, dass ich umsonst ein Foto gemacht hab. :lol:
FB - 1.jpg
FB - 1.jpg (99.2 KiB) 3005 mal betrachtet

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

Re: ZXmore

Beitrag von schombi » 13.02.2016, 14:55

Sobald ich den Portextender habe, teste ich nochmal mit dem ZON-X Interface und berichte dann. Das Teil ist halt extra gross.

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

Re: ZXmore

Beitrag von msch » 13.02.2016, 17:41

Ich habe auch noch das (auch mit normalem nicht gewinkeltem Cinch am anderen Ende):
image.jpeg
image.jpeg (128.89 KiB) 2981 mal betrachtet
Die Bautiefe ist nochmal geringer.
manche meinen lechts und rinks kann man nicht velwechsern.
werch ein illtum! (Lichtung, Ernst Jandl)

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

Re: ZXmore

Beitrag von PokeMon » 13.02.2016, 18:00

Mit dem Original ZON-X wird auch das vermutlich nicht passen. Das sitzt dann ganz eng an der Platine. :wink:

Bild
Wer seinen Computer ehrt, lebt nicht verkehrt.

Benutzeravatar
siggi
User
Beiträge: 1702
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, Ranstadt-Dauernheim
Kontaktdaten:

Re: ZXmore

Beitrag von siggi » 14.02.2016, 10:31

Da dieser Tread ja etwas unübersichtlich geworden ist und viele Themen parallel diskutiert werden, habe ich glatt ein paar Beiträge übersehen, auf die ich nun zusammen antworten will:
PokeMon hat geschrieben: Ich implementiere im Moment mal nur die erste Variante, Aufruf im Kommandomodus.
Was heißt "Fehlermeldungen im Klartext" ?
Wie werden die ausgegeben ? Direkt in den Bildschirm geschrieben ?
Ja, es werden erklärende Texte auf den Bildschirm geschrieben. Die Texte sind ja im Listing drin erkennbar.
Unklar ist mir auch noch, wie der Rücksprung nach dem Laden ins BASIC erfolgt. Ich habe hier meine eigene Methode, interessieren würde es mich dennoch.
Diese Frage hatte ich zuvor schon beantwortet:
siggi hat geschrieben: Der Treiber hat am Anfang eine "Sprungtabelle": Einsprung z. 8192,8195,8198
Je nach Einsprung verhält er sich anders: mal kehrt der Treiber mit "RET" zum aufrufenden MC-Programm (z. B. UFM) zurück, mal durch "RST 08; FF" ohne Fehler ins aufrufende BASIC-Programm zurück.
siggi hat geschrieben: Ein Fehler wird wie in C durch "ERRNO" gemeldet (<>0 = FEHLER). Dazu wird die Systemvariable SEED (16434) mißbraucht.
Die Länge eines geladenen Files wird in COORDS (16438/9) abgelegt.

Zahlen (Adressen, Längen) sind dezimal mit variabler Länge (waren anfänglich mal 4-stellig und HEX).

Das DIR-Kommando "D" schreibt den Bildschirm zeilenweise mit Dateinamen im aktuellen Directory voll. Wenn der nicht reicht
wird "<CR>" in die letzte Zeile geschrieben und auf die Enter-Taste gewartet. Dann wird Bildschirm gelöscht und weitergeschrieben. Mit "A" (oder "6") kann man die Dir-Ausgabe da aber auch abbrechen.
Das ist wieder unklar. Wenn ein Fehler im Klartext ausgegeben werden soll, ist die Variable sicher nicht nötig, oder ?
Wahrscheinlich nur für die MC Version ?
Nein, natürlich auch für die BASIC-Programm-Version!
Die Ausgabe des Fehlercode in der Systemvariablen wäre nicht notwendig, wenn im Kommandomodus eine Klartext-Fehlermeldung kommt (außer vielleicht zum Debuggen). Der Einfachheit halber gibt man sie immer mit aus, dann erspart man sich an dieser Stelle eine Fallunterscheidung.
Da die Länge des Strings verfügbar ist, braucht es das unschöne Abschluss '"' eigentlich nicht. Siehe unten.
Das ist schon seit Toms Ur-Version des Treibers so. Da ich später nur neue Features in den Treiber eingebaut habe, habe ich daran nie was geändert. Aber die Folge ist nun, daß UFM ein '"' hinten an den Kommandostring dranhängt, damit der Treiber zufrieden ist.

Gruß
Siggi

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

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

Re: ZXmore

Beitrag von PokeMon » 14.02.2016, 11:38

Danke für die Infos.
Es werden aber nur Fehlercodes übermittelt und ein String in den Bildschirm geschrieben, aber kein zusätzlicher Fehlertext in einer Springvariable oder so ?

Ansonsten ist das ja ein alter Thread, es gibt ja auch noch den Q & A Thread zum ZXmore und den Infos & Updates um eben etwas mehr Übersichtlichkeit zu schaffen bzw. wichtige Informationen für folgende Generationen übersichtlich zu erhalten. :mrgreen:
Wer seinen Computer ehrt, lebt nicht verkehrt.

Benutzeravatar
siggi
User
Beiträge: 1702
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, Ranstadt-Dauernheim
Kontaktdaten:

Re: ZXmore

Beitrag von siggi » 14.02.2016, 11:42

Nein, bei M/C und Basic-Programm gibt's nur den Fehlercode. Aus dem Kontext des Aufrufs ist ja meist klar, was schief ging ...

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

Benutzeravatar
siggi
User
Beiträge: 1702
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, Ranstadt-Dauernheim
Kontaktdaten:

Re: ZXmore

Beitrag von siggi » 14.02.2016, 12:43

Ach ja: den USB-Treiber gibt's auch für die Speicherbereiche 32K, 40K und 16514
Zugehörigen UFM bringt man dann im gleichen 8K Block unter.
Diese werden benutzt, wenn man aus Speicherbereiche schreiben will, die benutzt sind.
Ich benutzte meist UFM-32K (mit Treiber auf 32768) da ich damit BASIC-Programme nach 16K und Binärdaten nach 8K laden kann.
Die Version mit Treiber auf 16514 ist für BASIC-Programme sinnvoll, die den Treiber benutzen dann den Treiber mit an Bord haben und sich nicht darauf verlassen müssen, daß der Treiber anderswo schon geladen ist.

Gruß
Siggi
PS: siehe auch http://forum.tlienhard.com/phpBB3/viewt ... +32K#p4098
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

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

Re: ZXmore

Beitrag von PokeMon » 15.02.2016, 00:28

siggi hat geschrieben: Der Treiber hat am Anfang eine "Sprungtabelle": Einsprung z. 8192,8195,8198
Je nach Einsprung verhält er sich anders: mal kehrt der Treiber mit "RET" zum aufrufenden MC-Programm (z. B. UFM) zurück, mal durch "RST 08; FF" ohne Fehler ins aufrufende BASIC-Programm zurück.

Edit: Nachtrag zu Einsprungadressen:
8192: für Aufruf im Kommandomodus, Fehlermeldungen in Klartext
8195: für Aufruf aus BASIC-Programm, keine Klartext-Fehlermeldungen, Errorcode in Systemvariablen
8198: für Aufruf aus MC (C), keine Klartext-Fehlermeldungen, Errorcode in Systemvariablen
Wird der Treiber auf anderen Adressen assembliert, gilt das entsprechend.
Im Kontext mit UFM ist erster Einsprung durch JUMP zu UFM ersetzt. Bei 8201 liegt dann der urspüngliche Einsprung.
Ich bin gerade jetzt bei der finalen Implementierung mit Fehlercodes, Einsprungadressen usw.
Allerdings habe ich ein Problem mit der doppeldeutigen Einsprungadresse 8192.
Hier hast Du mal Kommandomodus und mal UFM.

Damit habe ich ein eher konzeptionelles Problem.
Ich wollte hier eine Schnittstelle zur Verfügung stellen die analog zum VDRIVE arbeitet.
Mit der engen Verknüpfung von Schnittstelle und UFM in einem Programm ist das so nicht möglich.
Warum habt Ihr nicht Treiber und UFM als getrennte Programme ?

Mein Hauptproblem ist hier insbesondere die Kompilierung mit absoluten Adressen oder Variablen.
Mein Driver Code ist ohne Probleme portierbar - das gilt aber nicht für das UFM.
Das auf verschiedenen Adressen zu verwalten mit verschiedenen Versionen ist verdammt aufwendig.

Ich weiß auch nicht. ob es so wahnsinnig viel Sinn macht UFM zu unterstützen, wenn der ZXmore hier einen eigenen interaktiv bedienbaren Filemanager hat der zudem überhaupt keine Ressourcen in der jeweiligen Instanz kostet. Ich hatte bislang verstanden, dass UFM die VDRIVE Schnittstelle nutzt aber nicht Bestandteil des Treibers ist. Es ist eine Sache eine Programmschnittstelle zu integrieren zum Laden und Speichern und Dateien. Irgendwie sind das 2 völlig getrennte Programme (Treiber und Benutzeroberfläche) die hier verschmolzen wurden.

Ich bitte mal ganz allgemein um Meinungen dazu.

Das Konzept mit unterschiedlichen Versionen für unterschiedliche Adressbereiche finde ich irgendwie recht aufwändig. So wahnsinnig hoch ist der Aufwand für relozierbaren Code m.E. nicht, man kann hier ggf. mit Sprungtabellen und Indexregistern arbeiten, zumindest das IY Register steht ja im z88dk zur Verfügung. Das ist ein wenig Mehraufwand bei der Entwicklung, hat aber den Vorteil dass das Programm anschließend auf nahezu jeder Adresse laufen kann und nicht nur immer an irgendwelchen fixen 8k oder 16k Boundaries.

Das wäre eigentlich der Job des z88dk hier relozierbaren Code zu produzieren, ggf. in Abhängigkeit von Flags.
Wer seinen Computer ehrt, lebt nicht verkehrt.

Benutzeravatar
siggi
User
Beiträge: 1702
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, Ranstadt-Dauernheim
Kontaktdaten:

Re: ZXmore

Beitrag von siggi » 15.02.2016, 10:10

Hi Karl
eigentlich sind Treiber und UFM unabhängige Programme, die einfach nebeneinander existieren:
z. B. Treiber auf 8192 und UFM 3000 Bytes dahinter: 11892
Oder Treiber auf 32K und UFM auf 11892.
So kann man beide getrennt nutzen, wenn UFM die Einsprungadresse in den Treiber kennt.

Für Leute wie mich, die primär den UFM benutzen (und sich die "krumme" Adresse von UFM nicht merken wollen und das Vertippen beim USR-Aufruf nicht riskieren wollen), habe ich mir den ersten Einstrung in den Treiber auf "jmp 11892" umgebogen, damit UFM direkt startet (über USR 8192). Gibt man beim Aufruf ein Treiber-Komando mit, wird dies direkt an den Treiber gegeben. So verhält sich UFM im Kommandomodus (ohne Parameter-Übergabe wie UFM), im Programmmodus (BASIC oder MC mit Parameterübergabe) wie der Treiber alleine.
Da ich dann Treiber und UFM in einem 8K-Datenblock habe, habe ich den komplett abgespeichert und lade ihn auch komplett. Dies dient rein dem Komfort, beide Programme sind immer noch alleine lauffähig.
Aber das ist vielleicht nur eine Spezialanwendung, die nicht jeder will????

UFM könnte man auch in C relozierbaren Code machen. Habe ich einmal gemacht, aber das frisst halt zusätzlich Speicher für Reloziertabellen, die man sich oft nicht leisten will (statt dessen eher mehr Features haben will) und die man sich ersparen kann, wenn man sich festlegt. Was nützt ein Programm, das heute da und morgen dort liegt und dessen Einsprungadresse man sich nicht merken kann/will?

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

Benutzeravatar
siggi
User
Beiträge: 1702
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, Ranstadt-Dauernheim
Kontaktdaten:

Re: ZXmore

Beitrag von siggi » 15.02.2016, 18:52

Upps, ich habe noch was Wichtiges vergessen. Bei der M/C-Schnittstelle wird das Kommando nicht wie beim Basic über BASIC-Strings übergeben, sondern vom UFM in den Druckerpuffer geschrieben (mit abschließendem "). Im Code des UFM sieht das so aus:

Code: Alles auswählen

void exec(char * cmd, char del_screen)
{
    char * prbuf_ptr = PRBUF;
    while (*cmd)
        *(prbuf_ptr++) = ascii_zx(*(cmd++));
    *prbuf_ptr = 11; /* terminating " */
    if (del_screen)
    {
        cls();
    }
#asm
    call restore81
    ld HL,(_driver_addr)
    ld BC,6
    add HL,BC
    call l_dcal
#endasm
    zx_fast(); /* if program without or corrupted D-file has been loaded */
}
PRBUF ist der Printer-Buffer:

Code: Alles auswählen

unsigned char PRBUF[33] @ 16444;
Gruß
Siggi
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

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

Re: ZXmore

Beitrag von PokeMon » 15.02.2016, 19:34

Gut - habe ich das dann richtig verstanden, dass ich nur die Basis Kommandos implementieren muss und UFM dann explizit diese Funktionen/Parameter nutzt ?
Das war mir jetzt so nicht klar und hatte auch keine Lust mir den kompletten Treiber reinzuziehen. :wink:

Code: Alles auswählen

          8199     DIR    "D"
          81A4     CHDIR  "D VERZ"
          81B4     DIR X  "D,<NUM>"
          81C5     MKDIR  "V VERZ"
          81D5     RMDIR  "K VERZ"
          81E5     LOAD   "L DATEI.P"
          81F8     BLOAD  "L DATEI.B,<ADR>
          8211     SAVE   "S DATEI.P"
          8224     BSAVE  "S DATEI.B,<ADR><LEN>"
          8243     ERASE  "E DATEI.P"
          8256     RENAME "R NAME NAME"
Ist es daher richtig, dass der UFM auch ein "L DATEINAME" schickt, wenn eine Datei geladen werden soll und benutzt er dafür ggf. eine der Einsprungadresse 8192/8195/8198 ? Der UFM133 Quellcode den Du mir geschickt hattest, läuft auf 32k und dort ist der erste Eintrag UFM. Das fand ich verwirrend, daher meine Nachfrage.

Also ich implementiere jetzt diese Variante:
8192: für Aufruf im Kommandomodus, Fehlermeldungen in Klartext
8195: für Aufruf aus BASIC-Programm, keine Klartext-Fehlermeldungen, Errorcode in Systemvariablen
8198: für Aufruf aus MC (C), keine Klartext-Fehlermeldungen, Errorcode in Systemvariablen
Wobei der Treiber an und für sich relozierbar ist, also an jede beliebige Adresse geladen werden kann. Derzeitig hat der Treiber 20 Byte Länge wobei ich noch ein paar Anpassungen machen muss. Ich denke aber größer als 64 Byte wird er sicher nicht.

Ein Hauptgrund warum ich UFM als Applikation nicht wirklich nutzen kann, ist dass er auf ZX81 fixiert ist, die LOAD/SAVE Schnittstelle im ZXmore aber eben verschiedene Systeme abdecken soll und wird (ZX81,ZX80,ZX Spectrum, CP/M).

Ist das eine vollständige Liste der Fehlertexte ?

Code: Alles auswählen

          82B0TXA  0112
          82B2     ungueltiger befehl
          82C4TXB  0216
          82C6     ungueltiger dir-befehl
          82DCTXC  0317
          82DE     file/dir nicht gefunden
          82F5TXD  040B
          82F7     device voll
          8302TXE  0513
          8304     file/dir noch offen
          8317TXF  060A
          8319     ladefehler
          8323TXG  0716
          8325     device nicht vorhanden
          833BTXH  0805
          833d     break
          8342TXI  090E
          8344     dir nicht leer
          8352TXX  00000000000000000000
          835C     00000000000000000000
          8366     00000000000000000000
          8370     0000
Dabei wird ein 16 Bit Fehlercode übernommen, der dem Fehlertyp entspricht (8 bit) und der Länge des Fehlermeldungstextes.
Was wird hier in der Praxis ausgewertet ? Reicht der Fehlercode 00 - 09 ?
Gibt es einen Fehlercode 00 bzw. Text wenn keine Fehler aufgetreten ist ?
OK, READY oder sowas ?
Wer seinen Computer ehrt, lebt nicht verkehrt.

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

Re: ZXmore

Beitrag von PokeMon » 15.02.2016, 19:36

Gibt es eigentlich einen Append Modus beim Schreiben/Öffnen von Dateien ?
Sowas ist eigentlich hilfreich bei Logfiles oder auch Screenshots o.ä. wo neue Daten einfach am Ende angefügt werden. 8)
Und gibt es Warnhinweise wenn vorhandene Daten/Dateien überschrieben werden wie z.B. bei SAVE ?
Wer seinen Computer ehrt, lebt nicht verkehrt.

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

Re: ZXmore

Beitrag von PokeMon » 15.02.2016, 20:40

Hast Du nochmal ein Beispiel für einen Aufruf in einem BASIC Programm ?
Hast Du glaube ich schon mal geschrieben aber ich habe Deine Antwort wohl verbummelt. :mrgreen:
Wer seinen Computer ehrt, lebt nicht verkehrt.

Benutzeravatar
siggi
User
Beiträge: 1702
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, Ranstadt-Dauernheim
Kontaktdaten:

Re: ZXmore

Beitrag von siggi » 15.02.2016, 21:57

PokeMon hat geschrieben:Gut - habe ich das dann richtig verstanden, dass ich nur die Basis Kommandos implementieren muss und UFM dann explizit diese Funktionen/Parameter nutzt ?
Das war mir jetzt so nicht klar und hatte auch keine Lust mir den kompletten Treiber reinzuziehen. :wink:

Code: Alles auswählen

          8199     DIR    "D"
          81A4     CHDIR  "D VERZ"
          81B4     DIR X  "D,<NUM>"
          81C5     MKDIR  "V VERZ"
          81D5     RMDIR  "K VERZ"
          81E5     LOAD   "L DATEI.P"
          81F8     BLOAD  "L DATEI.B,<ADR>
          8211     SAVE   "S DATEI.P"
          8224     BSAVE  "S DATEI.B,<ADR><LEN>"
          8243     ERASE  "E DATEI.P"
          8256     RENAME "R NAME NAME"
Ist es daher richtig, dass der UFM auch ein "L DATEINAME" schickt, wenn eine Datei geladen werden soll und benutzt er dafür ggf. eine der Einsprungadresse 8192/8195/8198 ?
Ja, der UFM schickt zu Toms/Joachims/meinem USB-Treiber die gleichen Kommandos, die er auch auf Basic-Treiberebene verwendet. Nut Ollis Treiber für den ZX81NU benutzt auf Kommandoebene andere Kommandos, versteht auf Programmebene die UFM-Kommanods (führt nur das D-Kommano derzeit falsch aus :-( )
UFM springt auf 8198 (oder 32K+6 oder 40K+6) und schreibt Kommando zuvor in den Printerbuffer (siehe oben)
Der UFM133 Quellcode den Du mir geschickt hattest, läuft auf 32k und dort ist der erste Eintrag UFM. Das fand ich verwirrend, daher meine Nachfrage.
Das war wohl der USB-Treiber V1.33, nicht der UFM ;-)
Also ich implementiere jetzt diese Variante:
8192: für Aufruf im Kommandomodus, Fehlermeldungen in Klartext
8195: für Aufruf aus BASIC-Programm, keine Klartext-Fehlermeldungen, Errorcode in Systemvariablen
8198: für Aufruf aus MC (C), keine Klartext-Fehlermeldungen, Errorcode in Systemvariablen
Genau.

Ein Hauptgrund warum ich UFM als Applikation nicht wirklich nutzen kann, ist dass er auf ZX81 fixiert ist, die LOAD/SAVE Schnittstelle im ZXmore aber eben verschiedene Systeme abdecken soll und wird (ZX81,ZX80,ZX Spectrum, CP/M).
Nunja, der UFM ist halt für ZX81 entwickelt und enthält Gimmicks wie
- Aufruf von MEFISDOS zum SAVE/LOAD dort
- Ent-autorun-nen von geladenenen AUTO-RUN BASIC-Programmen
- Load ohne Autostart von Autostart-Programmen
...
Ist das eine vollständige Liste der Fehlertexte ?

Code: Alles auswählen

          82B0TXA  0112
          82B2     ungueltiger befehl
          82C4TXB  0216
          82C6     ungueltiger dir-befehl
          82DCTXC  0317
          82DE     file/dir nicht gefunden
          82F5TXD  040B
          82F7     device voll
          8302TXE  0513
          8304     file/dir noch offen
          8317TXF  060A
          8319     ladefehler
          8323TXG  0716
          8325     device nicht vorhanden
          833BTXH  0805
          833d     break
          8342TXI  090E
          8344     dir nicht leer
          8352TXX  00000000000000000000
          835C     00000000000000000000
          8366     00000000000000000000
          8370     0000
Dabei wird ein 16 Bit Fehlercode übernommen, der dem Fehlertyp entspricht (8 bit) und der Länge des Fehlermeldungstextes.
Was wird hier in der Praxis ausgewertet ? Reicht der Fehlercode 00 - 09 ?
Ja, meine Programme (UFM, MOVEALL) werten den Fehlercode nicht aus: alles außer 0 ist schlecht :mrgreen:
Gibt es einen Fehlercode 00 bzw. Text wenn keine Fehler aufgetreten ist ?
Ja, Error Code 0, sonst könnte man Fehler ja nicht erkennen :wink:
OK, READY oder sowas ?
In der Klartext-Version (Kommandomodus) kommt nichts: wenn keine Fehlermeldung, dann gut ..

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

Benutzeravatar
siggi
User
Beiträge: 1702
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, Ranstadt-Dauernheim
Kontaktdaten:

Re: ZXmore

Beitrag von siggi » 15.02.2016, 22:04

PokeMon hat geschrieben:Gibt es eigentlich einen Append Modus beim Schreiben/Öffnen von Dateien ?
Sowas ist eigentlich hilfreich bei Logfiles oder auch Screenshots o.ä. wo neue Daten einfach am Ende angefügt werden. 8)
Und gibt es Warnhinweise wenn vorhandene Daten/Dateien überschrieben werden wie z.B. bei SAVE ?
Nein. Bisherige USB-Treiber sind rein zum Laden/Speichern ganzer Datenblöcke (BASIC-Programme, M/C-Programm) designed. Die VDRIVE-Software kann mehr, das wird aber bisher nicht genutzt.
Existierende Dateien werden gnadenlos überschrieben: wir sind ja keinen dummen WINDOOFS-User: wir wissen, was wir tun :mrgreen:

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

Benutzeravatar
siggi
User
Beiträge: 1702
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, Ranstadt-Dauernheim
Kontaktdaten:

Re: ZXmore

Beitrag von siggi » 15.02.2016, 22:10

PokeMon hat geschrieben:Hast Du nochmal ein Beispiel für einen Aufruf in einem BASIC Programm ?
PRINT USR 8192; "L RTFM.P"
;-)

oder

LET N$="RTFM"
PRINT USR 8192;"L "+N$+".P"

Siehe auch da:
http://forum.tlienhard.com/phpBB3/viewt ... eall#p4013

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

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

Re: ZXmore

Beitrag von PokeMon » 15.02.2016, 23:54

Tritt hier nicht das Problem auf, dass die PRINT Funktion immer etwas auf dem Bildschirm anzeigt ? :wink:
Wer seinen Computer ehrt, lebt nicht verkehrt.

Benutzeravatar
siggi
User
Beiträge: 1702
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, Ranstadt-Dauernheim
Kontaktdaten:

Re: ZXmore

Beitrag von siggi » 16.02.2016, 08:49

PokeMon hat geschrieben:Tritt hier nicht das Problem auf, dass die PRINT Funktion immer etwas auf dem Bildschirm anzeigt ? :wink:
Na das Problemchen wurde schon lange mal diskutiert, mag aber manchem als "neu" erscheinen :wink:

http://www.sinclairzxworld.com/viewtopi ... +08#p13110

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

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

Re: ZXmore

Beitrag von PokeMon » 16.02.2016, 15:50

Ehrlich gesagt beantwortet das nicht meine Frage, ob nicht was auf dem Bildschirm erscheint.
Auch wenn das BASIC Programm weiterläuft hinterläßt PRINT ja seine Spuren.
Eventuell läßt sich das vermeiden, in dem man CH_ADD (16406) entsprechend versetzt.
Das beantwortet aber auch nicht meine Frage, wie sich der USB Treiber hier verhält.
Wer seinen Computer ehrt, lebt nicht verkehrt.

Benutzeravatar
siggi
User
Beiträge: 1702
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, Ranstadt-Dauernheim
Kontaktdaten:

Re: ZXmore

Beitrag von siggi » 16.02.2016, 19:47

PokeMon hat geschrieben:Ehrlich gesagt beantwortet das nicht meine Frage, ob nicht was auf dem Bildschirm erscheint.
Auch wenn das BASIC Programm weiterläuft hinterläßt PRINT ja seine Spuren.
Eventuell läßt sich das vermeiden, in dem man CH_ADD (16406) entsprechend versetzt.
Das beantwortet aber auch nicht meine Frage, wie sich der USB Treiber hier verhält.
Du hast nicht verstanden, daß das PRINT-Statement durch den RST 08 abgebrochen wird und der Stack aufgeräumt wird. Somit wird also nicht gePRINTet.
Und der Treiber selbst schreibt bei Erfolg nichts auf den Bildschirm. Im Kommandomodus kommt nur (wie sonst auch) 0/0. Allenfalls bei LOAD eines Programmes erscheint was auf dem Bildschirm: der DFILE-Inhalt des geloadeten Programms :wink:

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

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste