Category : Utilities for DOS and Windows Machines
Archive   : DIET145F.ZIP
Filename : UPDATE.DOC

Output of file : UPDATE.DOC contained in archive : DIET145F.ZIP

================================ UPDATE.DOC ================================
Revision History of DIET 1.45f
----- Copyright(C) 1992-6/25 by Teddy Matsumoto -----


Version 1.00x Test Versions.

Version 1.01a (2/1/91) The first version with TSR type.

Version 1.01b (2/16/91) Program which detects EMS memory by checking
"EMMXXXX0" is open, conflicts with DIET.

Diet conflicts with programs which hooked a function
call in int21h for disk I/O.

Version 1.02a (2/24/91) Changed method for detecting charcter Device.

Memory resident part of Diet decreased with EMS use.

TSR is disabled while a program, registered in
environmental string DIETOFF, is running.

DIET returns decompressed file size for the
function call AH=4Eh/4Fh, while a program registered

Version 1.02b (3/4/91) TSR disabled when DIETOFF specifies COMMAND.COM
only when COMSPEC is specified first in environments.
Now COMSPEC may set in any position in Environment.

Sometimes DIET failed to make temporary files
in the directory specified by -T option.

Version 1.10a (4/1/91) Automated recompress feature added. New -P option.
-Z option revised and new -ZR option is used.
-B option, new.
Overlay mode compression, -V option, is newly devised.
New environmental Strings DIETOPT and TMP.
When TSR part fails to decompress, DIET beeps at you.

Function call AH=4B03 is supported.

DIET hanged when it tries to compress a large,
approximately 1MB in size, file. This Bug is

DIET sometimes failed to compress EXE file with
-O option. This Bug is fixed.

Version 1.11 (5/12/91) DIET detects if DIET of a different version stays
resident. DIET warns and exits.
If you open a file with SHARE.exe, DIET sometimes
fails to erase temporary files. This Bug is fixed.

There are executable programs with extensions neither
.COM nor .EXE. DIET checks such files.

New -! option to check authenticity of DIET.EXE.

Version 1.20 (8/20/91) -C option for Check Time Stamp.
Old -C options is replaced by -H option now.

New -D option to compress Device drivers.

New -K option to kill temporary files after the
termination of a program.

The DIETed-file Listing option displays all files
with DIETed file in reverse color.

Version 1.20b(8/30/91) Device driver with xxxxx.EXE can now be compressed
as a device driver.

Sometimes DIET keeps inactive after it stayed
resident until some command activates it. Bug fixed.
IO.SYS, NEC' BIOS ver3.30jis, compressed safely

Version 1.30x(10/x/91) TEST for New Version at Nifty:FLABO.

Version 1.42 (11/8/91) The first version of Major revision 4.
Different self-extraction routines are organized
into a sole format.

Compression modes are organized into
Data-type and eXecutables only.

DIET compresses overlays as Executable self-
extracting data file.

device=c:\bin\DIET.exe is possible.

A New code area is moved to EMS, letting
resident part of DIET is dramatically decreased.

New K-option deletes temporary files only after
the termination of the process to speed up.

Newly created file recompressed with new option

Environmental string 'DIETSIZE' replaced by -S.

Commands DIET ON, DIET OFF newly supported.
DIETAPI interface is designed and documented.

Version 1.43 (11/22/91) Environmental String NODIET is set.
TIME STAMP of compressed file updated.
DIET returns its EXIT codes even when it
did automated recompression.

Version 1.43a(11/24/91) NODIET=*.ABC matches "*.", this bug fixed.
Files specified in NODIET string will be copied
as they are even with -C option, without Decompress-

Version 1.43b(12/14/91) Automated recompression takes place only when all
open files were closed.

Version 1.44 (1/22/92) -G option for faster decompression.

-N and -$ options to let DIET activate before you
leave terminal.

-P option detects overwritten files as decompressed.

When DIET overwrites a DIETed file, -P option
automatically recompress this file without -W option.

-W option sets automatically -P option on.
When a DIETed file is archived as the first file with
LHA with no-compress option, DIET detects the whole
archive as a DIETed file. Bug fixed.
With MS-DOS ver5.0 MEM.exe has extra characters with
DIET on display. Fixed.

Major Revisions from version 1.44
<<<< Version1.44 to 1.45a >>>>

Timing of erasing Temporary Files.
You execute a DIETed file with READONLY. Call COMMAND.COM as
a child process, and exit to the original program. Since the
child process terminated, DIET deletes the decompressed temporary
file. There is only the DIETed original. You were lost with entry
point. Now DIET stores information about time stamp in so-called
PSP in every temporary file generated by unDIETing, and checks this
value before deleting.
More explicitly, every time a process terminates, DIET tries to
delete temporary file without -K option flag set. Checks its
current PSP value, if the value is not the same of DOS, DIET
leaves the temporary file as it is. When DOS terminates a
process, DOS lets DIET erase all the temporary files. DIET
refrain deleting if the recorded PSP value is smaller
than the current PSP, Program Segment Prefix.

Collisions on EMS.
Some TSR program places filenames on EMS page frame DS:DX.
DIET staying resident on EMS, receives function call from such
TSR program, then DIET switches pages and continues processing.
However filename may be processed erroneously by either one of
DIET or the other TSR program. DIET watches filename on the
page frame and process it correctly now.

Renamed Compressed Filename.
With auto-compress created file -W option set. Suppose an editor does:
copy textfile.DOC textfile.TMP
rename textfile.DOC textfile.BAK
edit textfile.TMP
rename textfile.TMP textfile.DOC
Only the textfile.TMP is recorded as the object for automated
compression, if the file-names are concerned. DIET set -P option
automatically with -W. Now DIET sets auto-recompression flag on
files renamed with function call 56H. With this change, DIET
compresses textfile.DOC and erases textfile.TMP. Please try with
your editor.

<<<< Version1.45a to 1.45b >>>>

New -E option to retrieve files opened with Read Only attribute.
When a file with READONLY attribute is accessed by Multiple
Tasks or a file renamed as temporary under Task-Swapping, a
temporary file might remain on your disk. DIET makes a
decompressed temporary file when a READ-ONLY file is accessed,
and its file handle is handed to a procedure. With this -E
option, DIET decompresses the named file, and hand it over to
procedure. Then the decompressed file has auto-recompression
flag on, and is decompressed automatically if you specify -P
I am quite sure, that you have a chance to use this option
Try if your application uses a read-only file with some of
the temporary file remain on your disk.

DIET detects file with auto-recompress flags.
In case of editors, there are two types of editors.
Type A creates a file with extension .TMP, say,
renames the original with .BAK. works with .TMP and renames
it to the original name when editing is over.
Type B does not leave .BAK, renames original with .TMP,
and DELETES the original first, then works with .TMP and renames.
When editing is done, DIET has to move file-handle to the right
file to be recompressed, with extraneous efforts for both types
of editors.

Time Stamp Set.
DIET opens a file and reads its time stamp, copies it on the
TMP file. For READ-ONLY file, DIET deletes TMP file when a
process terminates and recompresses the original with time
stamp that of TMP file. DIET version 1.45a has changed algorithm
of copying TIME STUMP slightly. Consequently some application
failed to transact to files distributed from updated versions.
DIET newly introduced a well organized system to deal with
TIME STAMP recording.

<<<< Version1.45b to 1.45c >>>>

DIET stays on UMB.
When you use DOS 5.00 with device driver like HIMEM.sys,
you may use Upper Memory Block for DIET to stay. You just
don't do anything. DIET automatically detects available UMB,
and moves into the area and stays resident there.

I could not check all of the similar device drivers.
However, you may try and will succeed to let it stay UMB resident.
DRDOS6.00 and shell 4DOS does not support DIETAPI.

You write a line in your config.sys,
(o) device=diet.exe /z0 /p /j ...
and if you have available UMB, you see DIET becomes TSR on UMB,
NOT as a device driver.
LOADHIGH is not necessary for DIET, namely, you don't have to
write a line in the form:
(x) devicehigh=diet.exe /z0 /p /j ...
DIET does detect UMB by itself.

Bug fixed with COMMAND.COM in UMB
With version 1.44 DIET acted abnormally when COMMAND.COM or
BUFFERS were in UMB area. This Bug is fixed now.

<<<< Version1.45c to 1.45d >>>>

Bugs fixed.
Set -P or -W option with TSR DIET. Activate a shell program,
issue a command within the shell, a DIETed program. Then suddenly
you are exited from shell you started. These phenomena happened with
shell programs FD and FILMNT, popular in Japan. In some cases,
you are exited even without doing anything.

Japanese popular encoder ISH.COM, equivalent of UUENCODE-DECODE,
failed to recover original file extension, when file name does
not have full length of 8 letters.

These Bugs were fixed.

Change in Algorithm.
In modern applications, a file will suffer from renamings, copying
to temporary files and deletions. DIET is must follow the correct
file name which is to be restored finally. DOSSHELL or other shells
with TASK-SWAPPING made DIET difficult to follow, or made DIET do
unnecessary jobs for temporary files abusing your time.

DIET essentially follows the two principles:

1. When a DIETed file is renamed or deleted, file name is recorded
by DIET, but the file does not have auto-compress flag on.

2. When an unDIETed file is renamed to a name DIET has recorded,
the file has auto-compress flag on.

There were some minor revisions made to improve performance.

<<<< 1.45d to 1.45f >>>> 06/25/1992
CPU cache for 80486
Self-extracting DIETed halted with CPU80486
because of 32 bytes cache in CPU. This version
revised from 145d, mainly for this reason.
Since this is a test version, there is a new optional
command to reveal information in the process of
DIETing and unDIETing.

' -^ ' :option
diet -^ xxx.exe
shows informations with 'xxx.exe' if it is a DIETed

92/6/25 Nifty: GBG00230 Teddy Matsumoto
The address in DIET144.DOC
[email protected]
is not valid anymore. Internet users please direct
mails to either one of the following:
[email protected]
[email protected]
Kenjirou Okubo