mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
Trying to make sense out of the disk image creation process so that it is easier to maintain going forward. This is just the initial round of changes.
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.
|
||
|