
                           NTED.COM and TTED.COM


First, see the documentation for the original TED.COM from PC Magazine.
Only the differences are listed below.

Note: In spite of this file only listing the differences between the
original TED and my patched versions, this file is still larger than
the editor itself.


           Differences between my modified NTED.COM and
        TTED.COM and the original TED.COM from PC Magazine.

Versions:

NTED.COM (New TED) is TED.COM from PC Magazine patched to add the features
and bug-fixes mentioned below.  It still is intended for IBM PCs or
compatables.

TTED.COM (TI TED) has the same enhacements as NTED but is also patched
to use BIOS calls and screen access routines appropriate for the Texas
Instruments Professional Computer.  It will *not* run properly on an IBM
PC and will probably crash if you attempt to run it on one (hopefully
without damaging anything).  USE TTED.COM ONLY ON A TEXAS INSTRUMENTS
PROFESSIONAL COMPUTER.

Both of the above programs (and the original TED) use the DOS "Advanced
Terminate" function and the ASCIIZ/file-handle functions for accessing
files (instead of the older FCB functions) so require DOS 2.0 or higher.
If there is a demand for it, I may patch TTED.COM again to make it usable
with DOS 1.xx but I can't assign any high priority to the project and
would need someone with a TI Pro. with DOS 1.xx to test it.


Bugs fixed:

1. There is one place in the original TED.COM that uses a jump-table
   to call an appropriate subroutine for cursor-pad keys.  The table entries
   for key codes that are not available with the standard IBM keyboard
   jump back to the initial routine that fetches the next keypress.  If
   you have a non-IBM machine that is "enhanced" by generating those
   key codes for key combinations not supported on the IBM PC, each
   accidental press of one of these codes will leave an extra subroutine
   return address piled on the stack.  Too many such false key-presses
   will overflow the stack and crash TED.  I changed the vector to point
   a RET instruction to pop the call from the stack which then loops back
   to the get-another-keypress routine without leaving junk on the stack.

2. In TED, there is a bug in the routine that maintains synchronisation
   between the on-screen cursor pointer and the current edit position in
   the file.  The author assumed that all files to be edited will have
   CR,LF pairs as end-of-line indicators because that is what TED generates
   when you press the <Return> or <Enter> key.  If you attempt to edit a
   file whose last line ends in CR with no LF, move to the start of the
   last line of the file, and then use the Up-Arrow key to move the cursor
   up a few lines, then the file pointer will be stuck at the last line of
   the file while the on-screen cursor will indicate you have moved up.
   If your next editing command is to press F9 a couple of times to delete
   two lines farther up on the screen, then you may actually end up deleting
   at the wrong place and be unable to recover the deleted text without using
   the F1 (Abort) command to start over.  NTED and TTED have this fixed.


New features:


F11 (or Shift-F5):

Since F5 (cut) and F6 (paste) are similar to Windows clipboard commands,
I added an equivalent to "copy" -- F11 (or shift F5 for those without
extended keyboards) will perform an F5 operation (cut) and immediately
follow it with an F6 command (paste) command.  If no text is currently
marked, F11 acts the same as F6.  (Memory aid: 11 = 5 + 6; F11 = F5 + F6)
A non-destructive copy to the paste buffer can be much safer if you are
subject to being interrupted and frequently forget to paste text back
where you want it before cutting something else.

Ctrl-Home and Ctrl-End:

Scrolling horizontally could be time-consuming.  I added code for
Ctrl-Home and Ctrl-End that performed eight cursor-left or eight
cursor-right operations respectively.  This makes it faster to move
the cursor to where you want.

Alt-V:

For my needs, it was necessary to distinguish lines with tabs from
lines with spaces.  It was also necessary to be able to tell if a line
ends with CR or if it ends with CR,LF.  Alt-V ('V' for "visible) makes
CR characters, CR,lf pairs, and TABS visible.  (TABs are displayed as
one to eight TAB characters depending on the character column the first
TAB character is in.)  Pressing Alt-V again toggles back to normal display.

Alt-B:

There were cases where I needed to distinguish between NULs (character zero),
space (character 32), and blank (character 255) in the IBM PC character set.
Alt-B toggles on and off the display of NUL and blank as "" (character 249)
and "" (character 254) so they can be visibly identified.


Ctrl-2 (Ctrl-@) and Ctrl-M:

There were times I needed to be able to enter NULs (character zero) or
lone carriage-returns (character 13) that were *not* followed by a
line-feed (character 10).  I patched TED to recognise the extended code
03 as the Control-@ and have it enter the NUL character.  I also made
TED recognise Control-M and had it enter a CR without a line-feed.  The
<Enter> or <Return> key still adds the CF and LF.

The TI Pro:

Since the TI Professional Computer does not have Page-Up, Page-Down,
Home, or End keys, you have to substitute the TI equivalents:

       IBM PC               Ti Pro
       ------               ------
     Page-Up             Alt-Up-Arrow
     Page-Down           Alt-Down-Arrow
     Home                Alt-Left-Arrow
     End                 Alt-Right-Arrow
     Ctrl-Page-Up        Shift-Up-Arrow
     Ctrl-Page-Down      Shift-Down-Arrow
     Ctrl-Home           Shift-Left-Arrow       (new function -- see above)
     Ctrl-End            Shift-Right-Arrow      (new function -- see above)

