ASCII/Unicode Texteditor für den ZX81

ZX-Team Forum
Antworten
holmatic
User
Beiträge: 117
Registriert: 13.10.2009, 23:53
Wohnort: Bremen

ASCII/Unicode Texteditor für den ZX81

Beitrag von holmatic » 23.03.2017, 09:14

Zu einem professionellem Computer wie dem ZX81 gehört natürlich eine Textverarbeitung.

Der (in nicht-Zeddy-Kreisen weit verbreitete) ASCII-Standard unterstützt bekanntlich keine Umlaute und auch nicht die schönen Grafik-Symbole des ZX81. Ein praktikabler Standard für nicht-ASCII-Zeichen hat sich erst in den letzten Jahren etabliert, genannt Unicode und UTF-8 Kodierung.

Höchste Zeit den Zeddy dort auf Stand zu bringen hab ich mir gedacht. Das Ergebnis sollte mit Zieldatum Mahlerts 2017 fertig werden


Zeditor.png
Zeditor.png (5.76 KiB) 1063 mal betrachtet

Hintergedanke war natürlich mal wieder zu schauen, was man aus dem ZX81 so herausholen kann. Das Programm benötigt mindestens 48K RAM und HRG, lässt also Platz für eigene Treiber im Bereich 8-16K.

Besondere Herausforderung war, die Geschwindigkeit trotz "gemalter" HRG-Textdarstellung praktikabel zu halten.

Dazu enthält das Programm unter anderem

- Einen HRG-Treiber mit graduellem FAST/SLOW
- Tastatur-Scan-Routine mit FIFO-Zeichenbuffer
- Etwa 60% handoptimierten Assembler-Code, der Rest ist Z88DK-C

Danke an Klaus für die Vorab-Evaluation!

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von holmatic » 23.03.2017, 09:15

Hier eine Vorabversion 0.07, insbesondere die Anleitung bedarf noch einiger Ergänzungen.
ZEDITOR_Version_0_07.zip
(10.2 KiB) 34-mal heruntergeladen

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von msch » 23.03.2017, 09:46

Großartig, Kompliment! Der Zeddy als Textverabeitungsmaschine :-)
manche meinen lechts und rinks kann man nicht velwechsern.
werch ein illtum! (Lichtung, Ernst Jandl)

Henning
User
Beiträge: 89
Registriert: 02.05.2010, 11:04

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von Henning » 23.03.2017, 10:05

Hallo holnatic,

ich finde Deine Arbeit an dem neuen Texteditor bemerkenswert und sehr gut.

Bisher gab es meines Erachtens ja nur Zedtext und Textedi für diese Anwendung.

Wichtige Fragen sind aber :" Funktioniert der Unicode Editor auch ohne Mefisdos und Festplatte ?.
Desweiteren wichtig :" Kann man das Geschriebene auch an einem 24 Nadler, ich benutze den Epson LQ400, ausdrucken ?, ist überhaupt Ausdruckmöglichkeit vorgesehen ?".
Kann man in den Text HRG-Graphiken, z.B. mit HRG8 erstellte, einfügen, bzw. welche neu erstellen und dann einfügen ?.

Mit Zip-Dateien hab ich mit meinem Laptop immer Probleme, eine Speicherung als .P - Datei für das Einladen wäre mir deutlich lieber.

Leider kann ich dieses mal nicht zum ZX-Team-Treffen kommen, so daß ich nicht vor Ort mit Dir sprechen kann.

Daher wäre ich dankbar für die kurze Beamtwortung meiner Fragen.

Im voraus besten Dank.

Mit freundlichem Gruß

Henning

Henning
User
Beiträge: 89
Registriert: 02.05.2010, 11:04

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von Henning » 23.03.2017, 10:09

Hallo holmatic,

entschuldige den Tippfehler in der vorhergehenden e-mail, wo ich Hirsch holnatic geschrieben habe.

Gruß

Henning

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von PokeMon » 23.03.2017, 10:46

Wow - ich bin beeindruckt. Was das Team so alles im stillen Kämmerlein zu Stande bringt, oder hast Du alles selbst gemacht ? Das Ergebnis sieht sehr chic aus. Ich brauche unbedingt das ZX Team Magazin, da steht bestimmt was dazu drin, oder ? :D

Insbesondere der graduelle FAST/SLOW Mode klingt interessant. Ich habe eine Vorstellung zur Realisierung, mal sehen ob das deckungsgleich mit Deinen Ansätzen ist. Insbesondere beim seitenweisen Blättern bringt das vermutlich gute Performance.

Proportionalschrift hat es vermutlich nicht in den Editor geschafft, könnte aber auch die 48k RAM sprengen, denke ich. Aber es gibt ja immer noch Luft nach oben für zukünftige Erweiterungen. :wink:
Wer seinen Computer ehrt, lebt nicht verkehrt.

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von ZX-Heinz » 23.03.2017, 11:49

Hallo holmatic,
tolles Programm, danke!
Heinz

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von Joachim » 23.03.2017, 12:02

Hallo holmatic!
Ich werd' wahnsinnig. Wieder eine Sache, an die keiner geglaubt hätte.
Bisher kann ich ZEDITOR nur auf dem EO bewundern. Auf meinem realen ZX81 geht es leider noch nicht. Ich habe 56K-RAM zur Verfügung, MC laufen über 32K und HRG-fähig ist er auch. Allerdings kenne ich die Bedingungen für WRX noch nicht, da ich schon immer HRG-Fähigkeit hatte und WRX erst später kam. Da muss ich mich wohl noch einlesen und evtl. etwas umbauen. Meine HRG-fähigkeit besteht aus der Diodenverknüpfung für das RD- und REFSH-Signal sowie zwei Pullups (ZX-TEAM-MAGAZIN 1991/1). Im Moment bekomme ich nur einen schwarzen Screen mit zwei senkrechten Linien, die aus Punkten bestehen. Die Tastatureingabe funktioniert aber offensichtlich. Zumindest komme ich mit Sh-1 und Q wieder aus dem Programm. Hat jemand ZEDITOR schon auf einem Hardware-ZX81 am Laufen?
Viele Grüße!
Joachim


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

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von siggi » 23.03.2017, 12:24

Hi Olli
sieht klasse aus :mrgreen:

Gleich noch ein paar Fragen
Wie ist denn das Memory Layout?
Wie ich es bisher verstanden habe:
P-File 16-32K
Text ab 32K

Wo liegt das Hires-Bild? >48K?
Und der Stack? Wie üblich <32K?

Maximal kann der Text 16K lang sein (nach Doku). Aber beim SAVE ins P-File überschreibt er dann das P-File dort????
Gibt's für die Länge beim SAVE einen anderen Maximalwert? Wird der ggf. überwacht oder kracht's dann nur?

Gruß
Siggi

PS: @ Joachim: WRX is Wilf-Hires und nix anderes wie die üblicherweise verwendete Hires-Methode (HRG7/8, Power_Basic, ...)
Und hast Du auf realem Zeddy mit "leerem Text" begonnen (POKE 32768,0). Sonst holt sich das Programm vielleich Schrott aus dem HIRAM ...
Zuletzt geändert von siggi am 23.03.2017, 12:40, insgesamt 3-mal geändert.
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Benutzeravatar
mrtinb
User
Beiträge: 24
Registriert: 30.12.2016, 07:16
Wohnort: Kolding, Denmark
Kontaktdaten:

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von mrtinb » 23.03.2017, 12:30

Very great program.

It was listed on my personal list for future projects, but now I can set a checkmark next to that. :wink:
Martin
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube

Benutzeravatar
sbetamax
User
Beiträge: 441
Registriert: 04.03.2006, 22:01
Wohnort: Deutschland / Hessen / Nidda
Kontaktdaten:

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von sbetamax » 23.03.2017, 12:50

Hallo Oli,
klasse Programm!

Joachiem, ich hab es gerade auf dem NU ohne Poke getestet, geht auf Anhieb. Anscheinend hat mein RAM den Inhlat 0 nach dem einschalten.
Gruß Stephan
_______________
ZX80 (nachbau), ZX81, ZX 2000, ZX NU, IQ8300, ZX Spectrum, ZX Spectrum plus, ZX Spectrum 128, Harlequin, C64

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von tokabln » 23.03.2017, 13:03

Hallo Joachim,

der "HRG" Umbau aus dem ZX Team Magazin... ist der mehr oder weniger gleichwertig zu dem von Wilf Ritger oder ist es notwendig eine HRG Extension an den Zeddy anzuklemmen um das Zeditor Programm nutzen zu können. Wenn es nur der kleine Umbau aus dem Team Magazin ist, würde ich rasch eine kleine Platine anfertigen, da ich meine Speichererweiterung ungern umbauen möchte. Das hätte den Vorteil, dass ich HRG hinzufügen kann wenn ich es benötige.

Danke für eine kurze erklärende Antwort.
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
Joachim
User
Beiträge: 843
Registriert: 06.11.2004, 20:21

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von Joachim » 23.03.2017, 13:57

Hallo zusammen!
In der Adresse 32768 steht eine Null. Auf meinem ZX81NU läuft das HRG mit dem selben Programm tadellos. Offensichtlich gibt es doch einen kleinen Unterschied. Das Problem besteht auf meinem ZX96. Da muss ich erst mal die alten Unterlagen durchforsten, wie das mit der HRG genau gelöst wurde und wie Wilf es macht. Hat jemand ein Programm, das irgendeine Grafik auf Basis von WRX erzeugt?Die HPGL-Geschichte (ZX81 zeigt Grafik aus HPGL-Files) hat Erik über Z88DK gelöst. Das läuft auf meinem ZX96 einwandfrei. Da werden ja die Grafikroutinen verwendet, die auf WRX aufbauen. Oder liege ich falsch?

@Kai: könntest du auf deinem ZX96 das Programm mal starten.
@Torsten: Inwieweit WRX mit der HRG aus dem ZX-TEAM-MAGAZINen übereinstimmt, muss ich noch feststellen. Siggi meint, es wäre das gleiche Prinzip. Davon gehe ich auch aus. Ich versuche auch aus dem Schaltplan des ZX81NU herauszulesen, wie es da gemacht wurde. Im Moment bin ich aber im Mahlerts-Mitnehmen-Und-Noch-Fertigmachen-Stress ;)
Viele Grüße!
Joachim


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

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von siggi » 23.03.2017, 14:03

Hi Olli
habe an der Beispieldatei MANUAL.TXT folgendes festgestellt: Zeilenende ist mit <CR> markiert (das ist also MAC-Text-Format). Bei DOS/WINDOS wären es <CR><LF>, bei Unix nur <LF>. War das so beabsichtigt?

Und mein "normaler" DOS-Editor öffent MANUAL.TXT im Binärmodus. Ich vermute, ihn stört das Null-Zeichen am Ende des Textes. (EDIT: Getestet: ISSO :wink: ) Das sollte man vielleicht nicht mit abspeichern?

Gruß
Siggi

@Joachim: alle meine mit Z88DK gemachten Programme benutzen diese HIRES (z. B. IRC-ANSI). Vielleicht liegt das HIRES File hier >48K?
Zuletzt geändert von siggi am 23.03.2017, 14:27, insgesamt 2-mal geändert.
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von PokeMon » 23.03.2017, 14:17

Ich habe mal einen kurzen Test mit dem ZXblast gemacht.
Funktioniert soweit - allerdings derzeit nur mit einem Trick für Laden und Speichern.
Man muss das Programm mit Q beenden, dann kann man es als .BAK speichern (die Instanz) und mit GOTO 0 wieder starten.

Der direkte Zugriff mit DS-S funktioniert derzeit nicht. Dürfte daran liegen, dass holmatic hier eine andere Systemvariable für den Keyboard Treiber benutzt als die Standard Zeddy Variable. Vermute ich zumindest. Ich werde mal überlegen, hier irgendwie ROM Einsprungspunkte für LOAD und SAVE zu implementieren oder direkt den Keyboard Port zu lesen. Das mache ich derzeit eher aus Geschwindigkeitsgründen, den Zugriff auf die BASIC Systemvariable für das Keyboard.
Wer seinen Computer ehrt, lebt nicht verkehrt.

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von PokeMon » 23.03.2017, 15:11

Geht ganz schön was rein in den Bildschirm. :D
48 Zeichen / 20 Zeilen im normalen Modus
72 Zeichen / 30 Zeilen im Zoom Modus

Auf einem 8 Zoll Monitor ist der Zoom Modus jedoch recht anstrengend - da braucht's ein größeres Display. :wink:
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: ASCII/Unicode Texteditor für den ZX81

Beitrag von siggi » 23.03.2017, 21:55

Hi Olli
ich habe mal versucht, einen ASCII-Text aus meinem PC mit ZEDIT zu bearbeiten. Habe die Datei mit UFM nach 32768 geladen und ein POKE xx,0 ans Dateiende gemacht. Wenn ich ZEDIT starte (RUN), findet er aber keinen Text und zeigt Länge 0.

Habe dann experimentiert und das POKE x,0 kurz nach Textanfang in die Mitte der ersten Zeile gesetzt. DANN findet Zedit dieses halbe Zeile.
Es sieht also so aus, dass Zedit nicht mit dem im DOS üblichen Zeilenende <CR><LF> ($0D/$0A) zurecht kommt und da das Erkennen des Textes abgebrochen wird. Da das NULL dann noch nicht erkannt wurde, sieht Zedit dann wohl keinen sinnvollen Text und zeigt Länge 0 an.

Vielleicht geht das ja noch besser :wink: (z. B. <LF> ignorieren, außer bei UNIX-Text-Dateien :wink: )

Siggi

PS: Hier meine Test-Datei (DOS-TEXT):
Log.txt
(283 Bytes) 17-mal heruntergeladen
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Benutzeravatar
mrtinb
User
Beiträge: 24
Registriert: 30.12.2016, 07:16
Wohnort: Kolding, Denmark
Kontaktdaten:

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von mrtinb » 23.03.2017, 23:43

This great editor can work as the missing editor for ToddyForth. That's wonderful.
Martin
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von siggi » 24.03.2017, 08:57

HI Olli
noch ein paar Verbesserungswünsche, wenn es Richtung V1.0 geht:

- die Länge des ASCII-Textes sollte nicht nur auf Bildschirm geschrieben werden (bei Q), sondern irgendwie "maschinenlesbar" abgelegt werden (als Return des USR-calls oder in Systemvariablen, wie es USB-Treiber und Mefisdos machen). Das würde einem nach "Q" das Zwischenspeichern der Textlänge in den grauen Zellen oder auf Notizzettel ersparen und man könnte direkt einen SAVE-Aufruf (für Binärdaten) mit der übergebenen Textlänge ins BASIC-Teil reinschreiben, damit das automatisch alles richtig gemacht wird, ohne die grauen Zellen jedes mal erneut zu beanspruchen (obwohl - das trainiert diese ja auch :wink: )

- schön wäre noch ein SUCHEN/ERSETZEN

- Das Zeilenende (<CR><LF> oder <CR> oder <LF>)und damit das Text-Datei-Format (DOS, MAC, Unix) sollte automatisch erkannt werden (beim Einlesen) und so fortgeführt werden (beim Editieren) bzw. beim Erstellen einer neuen Datei einstellbar sein.

Gruß und bis Mahlerts
Siggi

@Joachim: bei mir läuft Zedit auch auf dem Mefisdos-NU mit paged Ram@48K :mrgreen:
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von Joachim » 24.03.2017, 11:01

Hallo Siggi,
Mefisdos hat ja den Switch -T. Der war damals für den Texteditor von Markus S.(TEXTEDI) gedacht. Damit wurde die Startadresse und die Länge für Mefisdos definiert. Das könnte ich für ZEDIT umbauen.
Ansonsten: An der Adr. 32768 steht nach dem Einladen keine Null als Fileend-Kenner. Der Speicherbereich ist überwiegend mit $FF gefüllt. Wenn ich blind Text eintippe, steht dieser sauber im Speicher. Auch die $0D. Ein POKEn einer Null auf die Adresse 32768 hilft nicht. Es muss m.E. mit der HRG-Fähigkeit zu tun haben. Werde heute Abend mal mit Kai den Schaltplan vom ZX96 durchgehen.
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: ASCII/Unicode Texteditor für den ZX81

Beitrag von PokeMon » 24.03.2017, 17:41

Wenn ich es richtig verstanden habe, setzt ZEDIT keine 0 auf 32768 sondern erwartet dies. Es könnte ja auch schon ein fertiger Text dort stehen, den man editieren möchte. Also man muss das schon selbst initialisieren oder ggf. eine leere Datei mit nur ein Ping ähm Null :mrgreen:
Wer seinen Computer ehrt, lebt nicht verkehrt.

Benutzeravatar
mrtinb
User
Beiträge: 24
Registriert: 30.12.2016, 07:16
Wohnort: Kolding, Denmark
Kontaktdaten:

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von mrtinb » 24.03.2017, 18:37

Wenn Sie eine Datei mit 32K Nullen erstellen, können Sie sie @ 32768 laden, bevor Sie die Textdatei laden.
Gesendet mit Hilfe von Google Translate
Martin
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von PokeMon » 24.03.2017, 18:44

Ein einziges 0 reicht aus (1 Byte).
Wer seinen Computer ehrt, lebt nicht verkehrt.

Antworten