ASCII/Unicode Texteditor für den ZX81

ZX-Team Forum
Benutzeravatar
Joachim
User
Beiträge: 900
Registriert: 06.11.2004, 20:21

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von Joachim » 17.10.2017, 15:43

Hallo Siggi,
ich geh's mal an. Zuvor muss ich aber meinen Giant dazu bekommen, die Wilf Rigter-Hires zu akzeptieren. Kai hat eine neue Adressierung des RAM vorgeschlagen, die ich noch einbauen muss. Hoffe, das hilft. Dann könnte ich auch Fred Nachbaurs Software benutzen (Terminal-Programm).
Viele Grüße!
Joachim


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

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von PokeMon » 21.10.2017, 09:27

siggi hat geschrieben:
17.10.2017, 11:50
Joachim hat geschrieben:
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.
Gute Idee. Nach dem Laden könnte Mefisdos selbst ein Null-Byte hinten dran hängen, beim Abspeichern die Länge (durch Suchen des ersten Null-Bytes) selbst ermitteln.
So gut ist die Idee nicht. Ich würde lieber nachschauen, wie lang der Text ist und einen Pointer definieren. Wer weiß ob nicht ein Null Byte vorkommt irgendwo in einer zu ladenden Datei. Außerdem dauert Suchen unnötig lange.
Wer seinen Computer ehrt, lebt nicht verkehrt.

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von Joachim » 22.10.2017, 14:31

Ich habe holmatic angeschrieben, um mir die Adresse für die Längenablage zu verraten. Erste Recherchen haben ergeben, dass die Textlänge an Adresse 20140/1 liegt. Das würde bedeuten: mitten im Code. Bei jeder Programmänderung müßte dann Mefisdos angepaßt werden. Damit könnte ich aber leben. Andererseits wäre die Suche nach der Null auch nicht dramatisch. Im Fast-Modus wäre das weit unter einer Sekunde bei einer Textgröße von 16KB. Ich hab's ausprobiert, allerdings die Zeit nicht gemessen sondern nur errechnet. Meine Vergleichsschleife hat 48 Takte pro Durchlauf. Hochgerechnet auf den Vergleich von 16384 Bytes komme ich auf etwa 0,25 sec. Ich hoffe, ich habe mich nicht verrechnet. Gefühlt ist das Ergebnis aber nach Loslassen der Taste sofort auf dem Schirm. Mefisdos braucht bei einer einigermaßen gefüllten FAT (=Bitstring in Mefisdos) etwa 5 Sekunden zum Speichern. Da würden 0,25 sec keine große Rolle spielen. Ich warte jetzt auf die Antwort von holmatic. Vielleicht ist die Länge ja doch noch irgendwo anders gespeichert.
Viele Grüße!
Joachim


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

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von PokeMon » 22.10.2017, 22:08

Die 0.25sec gelten rechnerisch aber nur für den FAST Mode.
Die Rechenleistung im SLOW Mode ist etwa 1/3 - das wären dann eher 0.75s.
48Takte*16384= 15us*16384=250ms im FAST Mode.
Ich bin mir ziemlich sicher, dass es einen Pointer gibt und holmatic nicht beim Speichern selbst nach dem ersten 0 Byte sucht ...
Wer seinen Computer ehrt, lebt nicht verkehrt.

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von siggi » 23.10.2017, 09:55

PokeMon hat geschrieben:
22.10.2017, 22:08
Die 0.25sec gelten rechnerisch aber nur für den FAST Mode.
Die Rechenleistung im SLOW Mode ist etwa 1/3 - das wären dann eher 0.75s.
48Takte*16384= 15us*16384=250ms im FAST Mode.
Ich bin mir ziemlich sicher, dass es einen Pointer gibt und holmatic nicht beim Speichern selbst nach dem ersten 0 Byte sucht ...
Aber beim Start des Editors muß er selbst nach dem ersten 0 Byte suchen. Und ich habe noch keine Beschwerden gehört, daß der Start des Editors zu lange dauert ....

Zudem: wer Mefisdos kennt, der weiß, dass es normalerweise im FAST-Modus läuft (beim Zugriff auf Speicher oder Karte, immer wenn der Z80 weiß, was er zu tun hat, wie beim Suchen von 0 auch). Nur wenn Input vom User erforderlich wird (oder eine Fehlermeldung gezeigt werden muß), wird zeitweilig in SLOW geschaltet.
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von Joachim » 23.10.2017, 13:17

So isses. Mefisdos läuft sowieso zu diesem Zeitpunkt im FAST und der Pointer ist im Programmbereich abgelegt (Adresse siehe meinen vorherigen post). Jedenfalls habe im Text keinen Header o.ä. gefunden, in dem die Länge mit abgespeichert wird. Deshalb gehe ich davon aus, dass ZEDIT beim Start die Länge mit Nullsuchen feststellt.
Wie bereits erwähnt, kann mein ZX96 mit GIANT-Speichererweiterung mit der Hires-Darstellung in ZEDIT nichts anfangen. Einige posts weiter vorne habe ich gemeint, es wäre die Wilf-Rigter-Hires. In diesem Fall ist es aber offensichtlich eine spezielle Hires-Routine bzw. ein spezieller Speicherbreich, den mein GIANT nicht verkraftet. Natürlich würde ich schon gerne auf meiner 'großen Maschine' weiter entwickeln. Da sind ntsprechende Programme in EPROMS drauf und und und.
Den Vorschlag von Kai hinsichtlich einer Änderung der Speicheradressierung habe ich hardware-mäßig nachgebaut. Hat aber bisher noch nicht zum Erfolg geführt. Sollte ich da nach tieferen Bohren nicht weiterkommen, werde ich das Forum einschalten müssen. Zunächst aber wäre mir geholfen, wenn mir jemand sagen könnte, wie die Hires in ZEDIT speichermäßig organisiert ist. Und, vielleicht kann mir jemand ein Programm zur Verfügung stellen, mit dem ich testen kann, ob Wilfs Hires bei mir läuft. Es würde genügen, wenn ein Strich gezeichnet wird. Ich muss abgrenzen können, was bei mir geht und was nicht. Sind die Nachbaur-Programme alle mit Wilfs Hires? ZX-TERM-80 z.B. zeigt bei mir auch keine Hires.
Viele Grüße!
Joachim


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

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von siggi » 23.10.2017, 14:18

Hallo Joachim
man muß bei HIRES die ART (Wilf Rigter: WRX) und den Speicherbereich, wo das HIRES-Display-File liegt, unterscheiden.

Die "Wilf-Hires" (WRX) ist die meistgenutzte Hires Art. Außer in Wilfs und Freds Programmen wird die auch im Z88DK benutzt.
Der Speicherbereich, der von der WRX Grahik benutzt wird, ist bei Wilf und Fred meist deren selbsentwickelte Speichererweiterung im Bereich 8-16K (SCRAM genannt). Programme zum Testen gibt's da (HRDEMO3):
http://www.user.dccnet.com/wrigter/inde ... khires.htm

Z88DK nutzt für Hires als Default 16-32K, kann aber auch anderen Speicher benutzen (wird in den verschiedenen IRC-ANSI-Programmen ja genutzt).
Hier gibts ein Z88DK game für verschiedene Hires Varianten, hier für WRX mit Gaphik bei 16-32K:

http://www.sinclairzxworld.com/viewtopi ... ame#p12783

Auch Ollis Editor hat m. W. das HIRES File bei 16-32K (darüber ist ja Text) (*).

Gruß
Siggi

Nachtrag zu (*): Bin mir da aber nicht ganz sicher, vielleicht auch über 48K? Olli hatte am Treffen ja darüber was erzählt, aber hingeschrieben ist es m. W. nirgends (außer in Ollis Source ;-) )
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von siggi » 23.10.2017, 15:17

Nachtrag 2: aus Ollis Vortrag beim Treffen

https://www.youtube.com/watch?v=VkFWBY4Rcfs

hier ein paar Screenshots zur Speicherbelegung von ZEDIT:
ZEDIT.jpg
ZEDIT.jpg (24.38 KiB) 488 mal betrachtet
ZEDIT-1.jpg
ZEDIT-1.jpg (55.22 KiB) 488 mal betrachtet
Also: HRG-Screen ist oberhalb 48K

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

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von Joachim » 23.10.2017, 15:37

Hallo Siggi,
vielen herzlichen Dank. Auf Ollis Vortrag hätte ich auch kommen können. Ist mir nicht eingefallen - erst jetzt wieder. Ich probiere jetzt mal alles durch, damit ich weiß, was geht und was nicht.
Den T-Switch baue ich auf jeden Fall ein. Vielleicht verlagere ich die Routine zum Feststellen der Länge in den 3. Teil, falls es platzmäßig nicht anders geht.
Viele Grüße!
Joachim


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

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von Joachim » 23.10.2017, 18:18

Hallo Siggi,
ich habe jetzt die Programme durchprobiert und komme zu diesem Ergebnis:

- HRDEMO3.P
- ZXT80-16.P
- dstar-arx64.P
- dstar-arx192.P
- ZEDIT.P
laufen nicht. RAM im 8KB-Bereich war vorhanden

- dstar-wrx64.P
- dstar-wrx192.P
laufen, egal ob RAM im 8KB-Bereich vorhanden oder nicht.

Offensichtlich läuft bei mir hires nur, wenn der Bildschirmspeicher dazu im Bereich 16 - 32 KB liegt.
Da muss ich Kai kontaktieren.
Vielen Dank für deine Unterstützung.
Viele Grüße!
Joachim


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

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von siggi » 23.10.2017, 18:41

Hallo Joachim
die beiden sind keine WRX-Hires-Programme, die erfordern eine spezielle Hardware:
- dstar-arx64.P
- dstar-arx192.P

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

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von holmatic » 23.10.2017, 21:48

Joachim hat geschrieben:
22.10.2017, 14:31
mir die Adresse für die Längenablage zu verraten
Auf Wunsch von Siggi liegt die Textlänge in der Version 0.08 nun in der Systemvariablen COORDS (16438/16439), und ist dort jederzeit abzugreifen.
mrtinb hat geschrieben:
16.10.2017, 16:14
Ist das geschlossener Quellcode, oder kann der Quellcode irgendwo heruntergeladen werden?
Ähem, derzeit weder noch. Der Zustand des Codes ist mir zu peinlich, da das Programm aus kleinen Projekten und Experimenten zusammengeschustert ist, der Compiler zwischendurch von SDCC auf Z88dk gewechselt wurde etc. Wenn es eine irgendwo eine Open Source Lizenz gibt, die ungefähr besagt, dass "... der Empfänger dieses Codes sich seinen Teil denken, niemals aber mit Dritten über die miese Codequalität herziehen dürfe .. ", dann könnte man den Code veröffentlichen :D

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von holmatic » 23.10.2017, 22:33

Hier die Version 0.08
ZEDITOR_Version_0_08.zip
(10.59 KiB) 15-mal heruntergeladen

Changelog:

V0.07
Imp: Speedup
Fix: Linebreak is 0x0A

V0.08
New: Length of Text in COORDS (16438/16439)
New: Detect/restore Unix/Windows/Mac linebreak style

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von PokeMon » 23.10.2017, 22:38

siggi hat geschrieben:
23.10.2017, 09:55
Aber beim Start des Editors muß er selbst nach dem ersten 0 Byte suchen. Und ich habe noch keine Beschwerden gehört, daß der Start des Editors zu lange dauert ....
Das kann man theoretisch machen, ist aber ganz sicher kein guter Programmierstil. Spätestens beim Kompilieren weiß das Programm doch, wie groß es ist. Da arbeitet man doch mit Labels und sucht nicht nach Strings im Speicher (wenn man nicht muss). Zumindest hört sich das nicht nach strukturierter Programmierung an.

Stell Dir mal ein Filesystem vor, bei dem man nicht in der FAT nach freien Blöcken sucht sondern auf der Festplatte "guckt" welcher Sektor als nächster frei sein könnte. :wink:
Wer seinen Computer ehrt, lebt nicht verkehrt.

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von siggi » 23.10.2017, 23:05

PokeMon hat geschrieben:
23.10.2017, 22:38
siggi hat geschrieben:
23.10.2017, 09:55
Aber beim Start des Editors muß er selbst nach dem ersten 0 Byte suchen. Und ich habe noch keine Beschwerden gehört, daß der Start des Editors zu lange dauert ....
Das kann man theoretisch machen, ist aber ganz sicher kein guter Programmierstil. Spätestens beim Kompilieren weiß das Programm doch, wie groß es ist. Da arbeitet man doch mit Labels und sucht nicht nach Strings im Speicher (wenn man nicht muss).
Ähem, ist Dir die Memory-Map und das Design von Zedit bekannt? Wohl nicht :roll:
Die Programmgröße ist schnurz, sie muß nur ins freie RAM passen (16-32K). Der ASCII-Text beginnt immer ab 32K. Und dessen Ende wird gesucht!

Woher soll der Compiler zur Compilezeit wissen, wie lange ein z. B. von Mefisdos 3 Jahre später ins Ram ab 32K geladener ASCII-Text ist? Der Compiler weiß allenfalls, daß der ASCII-Text (der "zufällig" wie ein C-String mit \0 terminiert im Ram liegt) ab 32K beginnt. Aber seine 3 Jahre später existierende Länge kennt er dann immer noch nicht, sondern muß sich diese mit der C strlen()-Funktion (die, welch Zufall, nach dem String-Ende-Zeichen \0 sucht) zur Laufzeit ermitteln (sinnvollerweise beim Start von ZEDIT).

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

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von siggi » 23.10.2017, 23:11

holmatic hat geschrieben:
23.10.2017, 21:48
Der Zustand des Codes ist mir zu peinlich, da das Programm aus kleinen Projekten und Experimenten zusammengeschustert ist, der Compiler zwischendurch von SDCC auf Z88dk gewechselt wurde etc. Wenn es eine irgendwo eine Open Source Lizenz gibt, die ungefähr besagt, dass "... der Empfänger dieses Codes sich seinen Teil denken, niemals aber mit Dritten über die miese Codequalität herziehen dürfe .. ", dann könnte man den Code veröffentlichen :D
Nimm doch ins README auf, daß der Source Code durch einen Uglyfier gegen Codeklau geschützt wurde :mrgreen:

http://forums.devshed.com/programming-4 ... 53850.html

http://www.ioccc.org/2015/endoh1/prog.c
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von PokeMon » 23.10.2017, 23:20

siggi hat geschrieben:
23.10.2017, 23:05
Ähem, ist Dir die Memory-Map und das Design von Zedit bekannt? Wohl nicht :roll:
Die Programmgröße ist schnurz, sie muß nur ins freie RAM passen (16-32K). Der ASCII-Text beginnt immer ab 32K. Und dessen Ende wird gesucht!
Ja das war mir entfallen. Hab ich wohl mit MS WORD 1.0 verwechselt. :mrgreen:
Wer seinen Computer ehrt, lebt nicht verkehrt.

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von siggi » 24.10.2017, 20:49

Hallo Olli
Frage zu der nun von ZEDIT ausgegebenen Dateilänge: Information im Manual ist widersprüchlich! Da heißt es:
Manual von Olli hat geschrieben: Creating an empty text:
POKE 32768,0
Start ZEDITOR, and it will show length 0.
Work on your text. After exiting ZEDITOR, the length of the data will be shown, for example:
'ZEDITOR TEXT AT 32768:168'
Now you can store the data at address 32768 with length 168 (e.g. binary SAVE) to save the text including the trailing zero.
Hier steht also im letzten Satz, daß die Länge einschließlich der terminierenden 0 ausgegeben wird. Das widerspricht aber dem ersten Satz, wo ein leerer Text mit Länge 0 ausgegeben wird. Die müßte 1 sein, weil ja das terminierende 0-Zeichen mitgezählt wird!
ZEDIT hät sich an das Manual und ist somit genauso widersprüchlich!

Nach meinem Verständnis dürfte die ausgegebene Textlänge das terminierende 0-Zeichnen nicht beinhalten (wird ja auch bei der C strlen() Funktion nicht mitgezählt). Denn nur ohne das 0-Zeichen ist es ein Text, der auf dem PC ohne Probleme weiter bearbeitet werden kann (wenn die Datei da mal hinkopiert wurde).

Gruß
Siggi

@Joachim: wie auch immer: beim Speichern des Textes in Mefisdos sollte das 0-Zeichen am Ende nicht abgespeichert werden. Beim Laden sollte dann nach dem Text bekannter Länge (innerhalb Mefisdos bekannt) noch ein 0-Zeichen angefügt werden (im RAM), damit wieder ein gültiger C-String entsteht, den Zedit erwartet.
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von PokeMon » 24.10.2017, 21:58

siggi hat geschrieben:
24.10.2017, 20:49
Nach meinem Verständnis dürfte die ausgegebene Textlänge das terminierende 0-Zeichnen nicht beinhalten (wird ja auch bei der C strlen() Funktion nicht mitgezählt). Denn nur ohne das 0-Zeichen ist es ein Text, der auf dem PC ohne Probleme weiter bearbeitet werden kann (wenn die Datei da mal hinkopiert wurde).
Das 0 Zeichen ist vielleicht auch etwas unglücklich gewählt. Normalerweise gibt es im ASCII den EOF (end of file) character $1A. Damit hat weder Notepad noch Write ein Problem. Das wird dargestellt als ein Grafik Zeichen (kleiner Pfeil nach rechts) und man sieht das Ende Zeichen auch und kann darin so editieren, dass es erhalten bleibt.

Das $00 Zeichen wird gern in $20 umgewandelt (zumindest Notepad macht das bei mir). Das EOF Zeichen gehört aber in dem Fall für mich in die Datei. Es ist schon schwierig genug, eine Datei zu laden aber noch manuell am Ende der Datei (das ich meist gar nicht kenne weil ZEDIT das Ende ja erst suchen muss) ein manuelles POKE zu setzen halte ich für unpraktikabel.
Wer seinen Computer ehrt, lebt nicht verkehrt.

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von siggi » 25.10.2017, 09:46

PokeMon hat geschrieben:
24.10.2017, 21:58
siggi hat geschrieben:
24.10.2017, 20:49
Nach meinem Verständnis dürfte die ausgegebene Textlänge das terminierende 0-Zeichnen nicht beinhalten (wird ja auch bei der C strlen() Funktion nicht mitgezählt). Denn nur ohne das 0-Zeichen ist es ein Text, der auf dem PC ohne Probleme weiter bearbeitet werden kann (wenn die Datei da mal hinkopiert wurde).
Das 0 Zeichen ist vielleicht auch etwas unglücklich gewählt. Normalerweise gibt es im ASCII den EOF (end of file) character $1A. Damit hat weder Notepad noch Write ein Problem. Das wird dargestellt als ein Grafik Zeichen (kleiner Pfeil nach rechts) und man sieht das Ende Zeichen auch und kann darin so editieren, dass es erhalten bleibt.
Hach, da sieht man, daß einer ein CP/M-Projekt am Bein hat :mrgreen:

^Z = CHR(26) = $1A war in der CP/M-Zeit das Ende-Zeichen für Text-Dateien und -Streams (CON Input). Das ist so betriebsbewährt, das verstehen anscheinend auch noch moderne Text-Editoren (zumindest auf meinem Peh-Zeh klappt's damit wunderbar :D )

Für Olli hieße das, er müßte nur beim Start von ZEDIT "manuell" (also nicht mit C String funktionen) nach ^Z suchen und das durch \0 überschreiben. Dann hätte er wieder die 0 am Textende und könnte wie bisher weitermachen und nun auch die C-String-Funktionen wieder verwenden können.

Bei Verlassen von ZEDIT müßt er dann halt wieder das 0 durch ^Z ersetzten und die Dateilänge incl. ^Z zurückgeben. So etwa:

s = strlen(text);
text[s] = (char) 26;
return s+1;

oder so.

Da würde sich für Olli innerhalb ZEDIT nicht viel ändern (man würde zur Laufzeit von ZEDIT aber auch das ^Z nicht auf dem Bildschirm sehen, aber das muß m. E. auch nicht sein).

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

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von Joachim » 25.10.2017, 09:51

@Joachim: wie auch immer: beim Speichern des Textes in Mefisdos sollte das 0-Zeichen am Ende nicht abgespeichert werden. Beim Laden sollte dann nach dem Text bekannter Länge (innerhalb Mefisdos bekannt) noch ein 0-Zeichen angefügt werden (im RAM), damit wieder ein gültiger C-String entsteht, den Zedit erwartet.
Geht in Ordnung. Werde bei dieser Gelegenheit auch noch etwas ausmisten und die Tastaturabfrage in Teil 3 verlagern.
Viele Grüße!
Joachim


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

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von holmatic » 26.10.2017, 19:20

siggi hat geschrieben:
24.10.2017, 20:49
Frage zu der nun von ZEDIT ausgegebenen Dateilänge: Information im Manual ist widersprüchlich
Also, im Header des Zeditors wird während des Eintippens die Netto-Länge angegeben, also 0 für einen leeren Text.

Nach dem Quit wird als Hilfestellung am Bildschirm hingegen die Brutto-Länge angegeben, damit man beim BIN-Save lieber zu viel als zu wenig abspeichert.

Das mit dem ^Z also Terminator setz ich mal für die nächste Zeditor-Version auf den Plan, danke für dien Hinweis.

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von holmatic » 26.10.2017, 22:27

Hier die Version 0.09 mit Unterstützung für Ctrl-Z:

ZEDITOR_Version_0_09.zip
(13.49 KiB) 12-mal heruntergeladen

Es kommt ja nicht so oft vor, dass eine Sprache offiziell einen neuen Buchstaben bekommt. Seit dem 29. Juni 2017 ist das große Eszett ja Bestandteil der amtlichen deutschen Rechtschreibung.

https://de.wikipedia.org/wiki/Gro%C3%9Fes_%C3%9F

Mit version 0.09 unterstützt nun auch der Zeditor diesen Buchstaben mit dem Unicode Codepoint U+1E9E:
sharp_s.png
sharp_s.png (2.13 KiB) 351 mal betrachtet

Changelog 0.09:
- New: Ctrl-Z (dec 26) can be used as end mark ( 0 still works )
- New: Capital letter sharp S, U+1E9E

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von siggi » 27.10.2017, 10:26

holmatic hat geschrieben:
26.10.2017, 22:27
Es kommt ja nicht so oft vor, dass eine Sprache offiziell einen neuen Buchstaben bekommt. Seit dem 29. Juni 2017 ist das große Eszett ja Bestandteil der amtlichen deutschen Rechtschreibung.

https://de.wikipedia.org/wiki/Gro%C3%9Fes_%C3%9F
Mit version 0.09 unterstützt nun auch der Zeditor diesen Buchstaben mit dem Unicode Codepoint U+1E9E:

sharp_s.png
Hi Olli
ein lange von der Menschheit vermisstes Feature ist nun im Zeddy/Zeditor vorhanden :D
Meiner Windoofs-Tastatur konnte ich noch kein großes ^ß entlocken, der Zeddy ist also hochaktuell und man kann nun den Windoofs-Sch .. wegschmeißen
:mrgreen:

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

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

Re: ASCII/Unicode Texteditor für den ZX81

Beitrag von sbetamax » 27.10.2017, 22:59

Hi Oli,
prima!

Siggi werf den Windo... Karm nicht zu schnell aus dem Fenster: ẞ
Man bricht sich fast die Hände dabei Alt GR + Schift + ß
Gruß Stephan
_______________
ZX80 (nachbau), ZX81, ZX 2000, ZX NU, IQ8300, ZX Spectrum, ZX Spectrum plus, ZX Spectrum 128, Harlequin, C64

Antworten