[comp.sys.ibm.pc] How do I patch my PC-DOS 3.1 for control-U and -W support

burton@parcvax.UUCP (03/01/87)

There has been much mail on the topic of patching various DOS'es to enable
control-U and control-W support.  No one has provided specific instructions
at the byte-location level of detail.

I was able to compare the IBMDOS.COM file in PC-DOS 3.1 with the corresponding
files for Xerox MS-DOS 3.1 and Wyse MS-DOS 3.1.  No two files are alike, but
the latter two both support control-U and -W.

Presumably, I would have to use a disk sector editor, such as Norton, because
I have to be sure not to move the location of IBMDOS.COM on the disk.

Any suggestions.  Please post directly to the net, for the benefit of all.

Phil Burton
Xerox Corp.

brianc@cognos.UUCP (Brian Campbell) (03/06/87)

in article <162@parcvax.Xerox.COM!, burton@parcvax.UUCP says:
! Posted: Sat Feb 28 20:27:58 1987
! 
! There has been much mail on the topic of patching various DOS'es to enable
! control-U and control-W support.  No one has provided specific instructions
! at the byte-location level of detail.
! 
! I was able to compare the IBMDOS.COM file in PC-DOS 3.1 with the corresponding
! files for Xerox MS-DOS 3.1 and Wyse MS-DOS 3.1.  No two files are alike, but
! the latter two both support control-U and -W.
! 
! Presumably, I would have to use a disk sector editor, such as Norton, because
! I have to be sure not to move the location of IBMDOS.COM on the disk.
! 
! Any suggestions.  Please post directly to the net, for the benefit of all.
! 
! Phil Burton
! Xerox Corp.

It was I who originally posted the query, and also posted the fix for PC-DOS
3.10 and 3.20.  You will need a disk sector editor, or DEBUG utility to make
the patch.  I'm including the patch again since I've mailed it out about 8 or
9 times since originally posting it.

I really wouldn't expect Xerox's and/or Wyse's IBMDOS to be identical to the
PC-DOS version -- but I rather expect that portions will be.

Here's the patch to enable Ctrl-U and Ctrl-W in DOS 3.20 (patch is applied to
system file IBMDOS.COM).  Turns out the code is identical the same in 3.10 and
3.20, just different locations.  In 3.10 the patch starts at offset 1DB9, in
3.20 at offset 1E96 (based at 0100 as in DEBUG).  The code fragment is:

   3C 17	CMP AL,17
   74 5E	JZ  $+60	(original 90 90		NOP NOP)
   3C 15	CMP AL,15
   74 51	JZ $+53		(original 90 90		NOP NOP)

If you're using a disk sector editor, you can search for the following
HEXADECIMAL text:  3C 17 90 90 3C 15 90 90, then replace it as indicated.
 
Brian Campbell

gbs@voder.UUCP (03/13/87)

> ! There has been much mail on the topic of patching various DOS'es to enable
> ! control-U and control-W support.  No one has provided specific instructions
> ! at the byte-location level of detail...
> ! Presumably, I would have to use a disk sector editor...
> ! Phil Burton
> 
> You will need a disk sector editor, or DEBUG utility to make the patch.
> If you're using a disk sector editor, you can search for the following
> HEXADECIMAL text:  3C 17 90 90 3C 15 90 90, then replace it as indicated.
>  
> Brian Campbell

In the above discussion, the use of a sector editor or use of debug
is suggested.  There is another way to get the job done.  I wrote a
small Turbo Pascal program which searches memory starting at location
0000:0000 for the patch area; if it finds it, it enables ^U and ^W
line editing by patching the currently running DOS image rather than
patching the disk.  For convenience, I run the program from my
AUTOEXEC.BAT file so line editing will be enabled after booting.
The program is very short and only takes a second or two to run.

Anyone interested, please reply and I will mail the source to them.
If more than a few people respond, I will post to the net.

-- 
George B. Smith
National Semiconductor
...!{ihnp4!nsc | decvax!decwrl!nsc | ucbvax}!voder!gbs