mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
304 lines
14 KiB
Plaintext
304 lines
14 KiB
Plaintext
New in ZDE
|
||
|
||
Z-System Display Editor
|
||
|
||
Version 1.0 10 Mar 89
|
||
|
||
ZDE and its documentation are copyright 1989 by Carson Wilson,
|
||
all rights reserved. They may not be circulated in any
|
||
incomplete or modified form without written permission of the
|
||
author. Any commercial use of ZDE, defined as any situation
|
||
where the duplicator receives revenue by duplicating or
|
||
distributing ZDE by itself or in conjunction with any hardware
|
||
or software product, is expressly prohibited unless authorized
|
||
in writing by Carson Wilson.
|
||
|
||
|
||
CONTENTS
|
||
|
||
1. Functional Enhancments.
|
||
1.1. File Datestamp Capability.
|
||
1.2. Named Directory Capability.
|
||
1.3. Line Queue Capability.
|
||
1.4. Other Enhancements.
|
||
2. Bugs Fixed.
|
||
3. ZDENSTAL.
|
||
4. Notes to DosDisk Users.
|
||
5. Planned Enhancements.
|
||
6. Development History.
|
||
|
||
|
||
1. Functional Enhancments.
|
||
|
||
1.1. File Datestamp Capability.
|
||
|
||
Under ZSDOS, the Create date and time of files edited with
|
||
ZDE are maintained across editions. If .BAK files are being
|
||
created, the create dates of new files will be the same as their
|
||
.BAK files. Note that if a file with the name of a block being
|
||
saved with ^KW or ESC-W already exists, the saved block will have
|
||
the same Create stamp as the (previously) existing file. I hope
|
||
to address this side-effect in future versions by prompting before
|
||
erasing existing files during ^KW commands.
|
||
|
||
1.2. Named Directory Capability.
|
||
|
||
ZDE will now accept ZCPR named directories when loading,
|
||
renaming, and erasing files, and when requesting a directory
|
||
listing with the ^KF command. The named directory (if available)
|
||
is also displayed as part of the current file name in the status
|
||
line.
|
||
Since ZCPR directory names can occupy up to eight columns on
|
||
the status line, it was necessary to move the rest of the status
|
||
line over by eight columns. I was able to gain an extra column by
|
||
putting only one space between the filetype and the "[x"
|
||
specifier, but the result is that if your terminal displays less
|
||
than 55 columns the current column number will not be visible in
|
||
your status line.
|
||
This is unfortunate, but the status line is already about as
|
||
compressed as possible. To include all of the information I would
|
||
have to add a second status line for narrow terminals, which would
|
||
add a good deal of code and complexity to what is already a
|
||
complicated program. Since most CP/M terminals (including my own)
|
||
have 80 columns, I have decided in favor of the majority in this
|
||
instance.
|
||
You may also notice that the ^QA prompt "Chg? (Y/N/*)" has
|
||
been shortened to "Chg?" and the "Wait..." message is now "Wait".
|
||
These changes were also necessary because of the decrease in
|
||
available space on the status line.
|
||
|
||
1.3. Line Queue Capability.
|
||
|
||
A third functional enhancment is the new ^QQ command, which
|
||
causes ZDE to skip to line numbers stored in ZCPR's user-defined
|
||
message bytes. Under ZCPR3, up to eight line or page numbers may
|
||
be passed to ZDE. The original idea was to use the interface to
|
||
produce a Turbo Pascal-like integrated environment for program
|
||
development, but the interface is certainly not limited to
|
||
programmers.
|
||
The numbers are stored in ZCPR's 16 user-defined message
|
||
bytes, and ZDE treats these bytes as a packed array of up to eight
|
||
elements. ^QQ causes ZDE to cycle through the array, going to the
|
||
stored locations sequentially until the end of the array or a zero
|
||
element is reached, at which point ZDE returns to the first stored
|
||
location.
|
||
The numbers are stored as inverted 2-byte hex words (LSB
|
||
first), so for example to store the lines 12, 44, and 108 a
|
||
program would set the 16 user-defined bytes as follows:
|
||
|
||
0C 00 2C 00 6C 00 00 00 00 00 00 00 00 00 00 00
|
||
|
||
In this example, when ZDE reaches the fourth word (00 00) it
|
||
returns to the start of the array and goes to line 12 (0C 00).
|
||
Any ZCPR program, or even an alias (using Jay Sage's powerful
|
||
ARUNZ parameters) can now give ZDE the locations of up to eight
|
||
line numbers of interest. With a little imagination we could
|
||
probably create an integrated text search/edit environment which
|
||
searches multiple files for a string and points ZDE to the exact
|
||
location of each match for editing. Thanks to Cameron Cotrill and
|
||
Al Grabauskas for suggesting this feature.
|
||
|
||
1.4. Other Enhancements.
|
||
|
||
In response to a suggestion by Phil Newman, ZDE now properly
|
||
accepts and displays user areas between 16 and 31. While I do not
|
||
normally suggest storing files in these areas because many CP/M
|
||
programs do not handle them properly, they are useful occasionally
|
||
on very large disks or for security purposes, and are supported by
|
||
ZCPR and ZSDOS, so I have included them in ZDE.
|
||
For NewWord compatibility, I have changed the "To Mark"
|
||
command from ^QP to ^QZ. This is also better mnemonically, since
|
||
the "place mark" command is ^PZ.
|
||
The search and replace functions now match upper or lower
|
||
case by default. To search for an exact match by case, you must
|
||
enter "/c/" or "/C/" (for Case) before the search string. The
|
||
"/i/" option is no longer active. I have changed default
|
||
find/replace wildcard character to ^Z so that ZDE can find strings
|
||
with literal '_' characters. Use the ^QZ command to find a
|
||
literal ^Z.
|
||
^KB, ^KK, ^KU and ^QY no longer cause unnecessary redisplays.
|
||
For faster operation, ZDE no longer resets drives under ZSDOS
|
||
(same as CP/M Plus).
|
||
Under ZSDOS and CP/M Plus, ZDE sets the error mode to 0FEh.
|
||
All BDOS errors are displayed on the screen, but ZDE retains
|
||
control.
|
||
For your protection, ZSDOS Path and Public files are Read
|
||
Only under ZDE. That is, you can access files via Path or Public
|
||
but you cannot erase Path or Public files. If you get a ZSDOS
|
||
"File W/P" error when saving data with the ^KS, ^KD, ^KX, or ^KW
|
||
commands or when erasing a file with ^KE, you may have given the
|
||
name of a ZSDOS Path or Public file. Try again with a new name.
|
||
|
||
|
||
2. Bugs Fixed.
|
||
|
||
If just a drive letter in given during the ^KF (display
|
||
files) command, files in the current user area are displayed
|
||
rather than files in user area 0 (thanks to Ben Cohen).
|
||
ZDE no longer crashes if no name is given in response to the
|
||
^KW prompt (thanks to Eric Meyer for finding this one).
|
||
^KB and ^KK now behave properly when entered at the rightmost
|
||
column of the screen.
|
||
The "Chg?" prompt is now properly erased in all circumstances.
|
||
Full disk errors caused CP/M Plus and ZSDOS systems to report
|
||
the wrong amount of free space. This has been corrected by
|
||
closing the output file after full disk errors (thanks to Howard
|
||
Goldstein for this idea).
|
||
File read-only errors no longer set the drive byte to "^@"
|
||
under CP/M 2.2 (thanks again to Phil Newman for finding this one).
|
||
Backwards replace now finds the first occurrence of the
|
||
string before the cursor even if the cursor is only one character
|
||
to the right of the string. If the string is replaced, the cursor
|
||
now returns to the START of the new string instead of one after it
|
||
as before (this may change the effects of some ZDE key macros).
|
||
Ben Cohen noticed that VDE's left margin (Lnn) print option
|
||
sometimes failed to indent the first line. This has been fixed.
|
||
ZDE also prints the header text at the same location no matter
|
||
what left margin is used, rather than indenting the header and
|
||
causing it to wrap to the next line. Print option verification is
|
||
also much more rigorous now than in previous versions.
|
||
^KS, ^KD, and ^KX file name requests now abort with a
|
||
carriage return as well as ^U, and ^U now returns you to ZDE in
|
||
response to the ^KX filename request.
|
||
The bug fix published in VDE266.FIX has been incorporated.
|
||
Several ZDE bugs affecting use with DosDisk have been
|
||
eliminated (see below for bugs IN DosDisk 1.00, however).
|
||
Tabs displayed in the last column of the last row no longer
|
||
cause the screen to scroll.
|
||
Virtual screen displays no longer show garbage at the end of
|
||
the line if the cursor is at the left side of the screen, and
|
||
moving to the left edge of the screen with ^A no longer causes
|
||
redisplay.
|
||
^A now moves to the first character on line 2 before jumping
|
||
to line 1 when line 1 is empty.
|
||
^PZ now causes a horizontal scroll if it moves the cursor
|
||
beyond the right edge of the screen.
|
||
Block and place markers no longer set file status to
|
||
"Changed."
|
||
The cursor no longer jumps around when moving left from
|
||
columns after 254. The cursor now stops at column 254 instead of
|
||
255, and the status line says "Col 255" for any column past 254.
|
||
Text past column 254 CAN actually be edited, but it will not be
|
||
displayed by ZDE.
|
||
Strings can now be found with ^QA even if they are the very
|
||
last item in the file (credit goes to Cameron W. Cotrill for
|
||
finding this one).
|
||
"^OI@" now removes all soft tab stops "as advertised" in
|
||
VDE266.DOC instead of setting them all to 1, making it possible to
|
||
set new tabs after entering "^OI@". "^OI#" has the same effect.
|
||
^^ now sets file status to "Changed" when converting from
|
||
lower-to-upper case as well as upper-to-lower.
|
||
"Wait..." message now disappears after disk operations with
|
||
ruler on and status line off. VDE266 forgot to erase the message
|
||
in this situation.
|
||
Backwards find and replace operations now work properly
|
||
instead of repeating the prompt indefinitely when the replace
|
||
string is shorter than the find string (thanks to Ben Cohen for
|
||
pointing this out).
|
||
VDE restored INSert to its entry status just BEFORE the final
|
||
byte of the macro, resulting in irregular behavior and sometimes
|
||
causing macro elements to appear after the "INS" indicator in the
|
||
status line. ZDE waits until the entire macro has executed before
|
||
restoring entry status. Due to ZDE's code structure, the INS
|
||
status line indicator does not change during macro execution.
|
||
ZDE restores INSert to entry status when macros abort due to
|
||
errors (e.g., "[[[ Not Found ]]]").
|
||
|
||
|
||
3. ZDENSTAL.
|
||
|
||
Included in this library is ZDENSTAL.COM, the new install
|
||
program for ZDE. ZDENSTAL it is very similar to VINST in
|
||
operation, but adds the feature of displaying the actual print
|
||
toggles and switches at all prompts, rather than the default ones.
|
||
So if you change the first default print toggle character to ^K
|
||
for example, all other prompts referring to that toggle now
|
||
reflect the change.
|
||
Files for use with ZDENSTAL must have the type ".ZDE" (option
|
||
installation), ".ZDP" (printer installation), or ".ZDK" (macro
|
||
keys), but are otherwise compatible with files used to install VDE
|
||
2.66. With Fred Haines' permission, I have adapted his wonderful
|
||
VDKCOM.COM utility for use with ZDE, and renamed it (what else?)
|
||
ZDKCOM.COM (see ZDKCOM.DOC).
|
||
ZDENSTAL also corrects the bug which prevented VINST from
|
||
loading installation files whose archive bits were set.
|
||
|
||
|
||
4. Notes to DosDisk Users.
|
||
|
||
DosDisk users are advised of a bug in DosDisk 1.00 which appeared
|
||
during the development of ZDE. Calling Reset 13 while DosDisk is
|
||
active can cause DosDisk to think other active drives are all
|
||
drive A:. Bridger Mitchell, author of DosDisk, is aware of this
|
||
bug and is working on a fix. In the meantime, users of CP/M 2.2
|
||
and ZRDOS who wish to edit files on MS-DOS disks should NOT log
|
||
into the MS-DOS drive while editing with ZDE, as this causes ZDE
|
||
to do a Reset 13 when writing to the MS-DOS drive. To edit files
|
||
on the MS-DOS drive, run ZDE from drive A: or another non-MS-DOS
|
||
drive.
|
||
|
||
Users of ZSDOS and CP/M Plus need not worry about this problem
|
||
with ZDE, as ZDE never resets disks under ZSDOS or CP/M Plus. By
|
||
the same token, however, ZSDOS and CP/M Plus users must not change
|
||
disks in the MS-DOS drive from within ZDE, because DosDisk (like
|
||
CP/M 2.2) requires a disk reset or warm boot when disks are
|
||
changed (see DosDisk manual, p. 7).
|
||
|
||
|
||
5. Planned Enhancements.
|
||
|
||
If time permits, future versions of ZDE may contain the
|
||
following enhancements:
|
||
An improved ZDENSTAL which directly accepts ASCII files for
|
||
key definitions, along the lines of ZDKCOM.
|
||
Bridger Mitchell has suggested command "bindings" which would
|
||
allow any control key or meta key sequence to be linked to any ZDE
|
||
command. This idea will be familiar to users of Perfect Writer.
|
||
Key bindings would allow ZDE to simulate EMACS, for example.
|
||
Bruce Morgen and others have suggested automatic terminal
|
||
installation under ZCPR, allowing the same copy of ZDE to be used
|
||
with any terminal.
|
||
Allow more than two default filetypes available and fixed
|
||
disks.
|
||
It may be possible to preserve file create datestamps under
|
||
CP/M Plus and Z3PLUS.
|
||
|
||
|
||
6. Development History.
|
||
|
||
1984: VDE began as Eric Meyer's set of improvements on the tiny
|
||
(4k) "VDO" memory- mapped editor by Fritz Schneider (1982),
|
||
as adapted by George Peace (1984) for the Osborne Executive.
|
||
|
||
1985: The first terminal adaptation, VDE-PX for the Epson PX-8.
|
||
Ongoing improvements also in parallel Osborne versions
|
||
VDE-OS.
|
||
|
||
1986: The unified VDE(M) version 2.00, with generic terminal
|
||
installation. Versions 2.1-2.3 added new features
|
||
including macros; global replace; tighter compression; many
|
||
Print options; file directory; undelete.
|
||
|
||
1987: 2.4 (1/87): Improved scrolling and screen functions; more
|
||
screen sizes supported; WordStar file mode;
|
||
place markers; ^OZ; block print; larger macro
|
||
keys; VINSTALL terminal menu.
|
||
|
||
2.5 (3/87): User area support; variable tabs; double
|
||
spacing; search wildcards; more standard block
|
||
functions; improved format- ting; many
|
||
additions to VINSTALL.
|
||
|
||
2.6 (7/87): Greater WordStar compatibility; many new
|
||
functions; more free RAM; faster scrolling;
|
||
search options; keyboard buffer.
|
||
|
||
1988: Development through v2.64, with new functions; top margin;
|
||
doublespaced printing; auto mode filetypes.
|
||
|
||
2.65 (4/88): Auto indent; tab set enhancements; small fixes.
|
||
|
||
2.66 (6/88): Printer left margin; small fixes.
|
||
|
||
1989: First version of ZDE.
|
||
|