TC-Patch V1.2
~~~~~~~~~~~~~~~
Turbo-Copy-Patch for Filemanagers
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This program is freeware. Copyright by Tobias Winkler.
Free for private use. Contact me before commercial use.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Attention: !!
!! ~~~~~~~~~~ !!
!! I wont provide any warranties about this program! !!
!! !!
!! I WILL NOT BEAR ANY RESPONSIBILITIES FOR ANYTHING WHAT COULD HAPPEN! !!
!! !!
!! This program will intercept and take over certain system-activities. !!
!! A bug there can result in loss of data. !!
!! I can not guarantee that the program is free of bugs! !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
If you want to reach me, see at the end of this file.
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³-What is TC-Patch?-³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
TC-Patch, or TurboCopy-Patch, is a patch for common filemanagers like
NortonCommander or UFO, which will speed up their copy-function by
about 35% (UFO) or up to 75% (NC).
NC and UFO are already supported by the default-configuration. But you
can adjust TC-Patch to any other file-manager.
How much it actually accelerates the copying-process of a certain program
depends mainly on the fact, how optimized this program does it itself.
For example, NortonCommander does it very unoptimized, so that copying
needs only about 25% of the original time, if TC-Patch is working.
UFO again does it better, and so can only be improved to do it in 65% of
the normal time.
And Volkov Commander (at least V4.99) uses an that optimized algorithm,
that TC-Patch is only slightly faster, and sometimes even slower. (will
have to work on that ;)
Just try it with your favorite file-manager...
TC-Patch will be installed as a TSR (just run it once to install, and
again to uninstall).
If installed, it will need about 2KByte of your base-memory, but can
be loaded high.
During the copy-process, it will need EMS-memory (at least 64KByte free),
so you'll need an installed EMS-driver (e.g. EMM386 *without* NOEMS-
switch).
But the EMS-mem is really only needed *during* copying, so that it
doesn't reduce the amount of available memory.
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³-How does it work?-³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
TC-Patch will intercept file-operations and try to recognize if it is
part of a copy-action. The only possibility to recognize this for sure,
is to test certain positions on the screen for certain text.
This works, because all the known file-managers display a window, where
they give information about their task and visualize the copy-progress.
The drawback is, that they all have (sometimes only slightly) different
output, so that I can't make a patch, working for all programs by default.
You will have to give TC-Patch the information, where and what it shall
search for on the screen. But more about this later.
When recognizing a copy-action, TC-Patch will take over, and read (in a
very efficient way) as much as it can into a buffer, located in the EMS-
memory, and, when the buffer is full, then write the buffer to the
target-file, repeating this until the complete file is copied.
Attention: There are problems with drives whose drivers are using DMA-
transfer, because DMA-transfer to/from EMS-memory (paged memory) is
not allowed, and usually result in fatal-error-messages from your
EMS-driver.
As far as I know, the only drives affected are floppy-drives and maybe
some CD-ROM-drives...
Because of this TC-Patch can exclude certain drives, which will be
treated as usual then (means: not accelerated).
You can change the list of excluded drive in the TCCFG.DAT (see "Setting
options" below.) The default list consists of A: and B:, which are
usually floppy-drives.
Going on....
At this point, the program doesn't know yet that all the work is done
already (because TC-Patch really completely took over... :-)), and
still goes on copying. But that's no problem, because TC-Patch also
intercepts this, and makes the program just think it's file-operations
are working, while ignoring them and just returning the information the
program expects.
The only difference you would realize would be, that the copying begins,
and the progression-display makes the first step, but then stopping for
a time (depending on how large the file is) while the hard-disk is working,
and suddenly quickly filling the last steps of the progression-bar.
The other thing would be that pressing the ESC-key or the Ctrl-Break-combo
wouldn't stop the copying immediately, but only then when it's done.
Both problems (if you can call them "problems") are fixed too:
The progression-bar will be updated by TC-Patch itself (it will try to
locate the bar automatically) so that you shouldn't see a big difference
(except, that it is filling faster ;). But TC-Patch will just use a
slightly different character for filling the bar. It's a small dot, which
shall signal, that it's active and took over. (But you can make it us a
different character if you want. Just see "Setting options" below.)
TC-Patch will recognize when ESC or the Ctrl-Break combination was pressed,
and then will stop the current operation (in a recoverable way), and return
the control to the program again.
This way, breaking the copy-process works as usual, except the difference,
that I currently can't stop it, if it is just writing the buffer-contents.
(Maybe I will fix this in a future release.)
This will delay the reaction, until it is done writing.
Oh, by the way: By default there is an option activated, which will prevent
TC-Patch from recognizing the copy-action, when the right shift-key is
pressed when starting copying. Then the copying will work as if TC-Patch
wouldn't be installed.
This is a possiblity for you to disable TC-Patch temporarily, whyever.
This feature can be disabled, by setting SHIFTDISABLE in TCCFG.DAT to 0.
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³-Setting options for TC-Patch-³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
TC-Patch can be configured by editing the textfile TCCFG.DAT, and then
transfering the options to TC-PATCH by running TCCFG.EXE.
Mainly you will have to provide information about the filemanager you use.
As said before, TC-Patch needs to know how it can *clearly* recognize the
copying by testing the screen-contents.
If you are using a program already known to TC-Patch (means, that this
program has already a defined set of options in TCCFG.DAT) you will just
have to edit the USED= settings, and provide the IDs for up to 2 programs
in that line.
I included support for 2 programs, because I can imagine (because I do)
that some people are using not only one filemanager, just because there
still isn't the perfect one. But not more than 2, to keep TC-Patch small
and fast.
Following is a list of known programs and their ID for the USED= option:
program ³ ID
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄ
Norton Commander V3.0 (English)³ NC3E
Norton Commander V4.0 (English)³ NC4G
Norton Commander V5.0 (English)³ NC5G
UFO (V96) (German) ³ UFOG
Sorry that there aren't more, but I don't have access to other programs.
So, if you add settings for another program, please tell me, so that I
can include them in the next release.
If your favorite program is not in this list, you can try to add own
settings for it.
You just have to provide the information *WHERE* TC-Patch can find *WHICH*
text on the screen during the program is copying.
Important is, that the text at this position really clearly signals a copy-
action. Make sure it can't appear at this position, when no copying is
in progress.
The best choice seems to be the title of the info-window, which appears
during copying, including 1 or 2 characters of the window-frame, just to
be sure.
The typical title is "Copy". (what a coincidence ;)
But this idea keeps another problem, apart from the problem:
A file-move (usually named Rename/Move) across drives is a copying-action
too. (with a following delete.... delete of the source-, not of the target-
file, of course )
And this move-action uses a nearly identical info-window, identical except
the window-title.
So, if you want to speed up these move-actions too (and I know you want :)
you have to provide their text (usually "Move", again coincidential?) and
it's position, too.
Now that you have the text (e.g. "ÍÍ Copy ÍÍ") and it's position (e.g. 34
chars to the right, and 5 lines down) you will add a line like the
following to the end of the TCCFG.DAT (or at least behind the USED= entry).
NC3E=34,5,"ÍÍ Copy ÍÍ",34,5,"ÍÍ Move ÍÍ"
As you can see, the first word (NC3E) is the identifier (ID) of the related
program, followed by the position, beginning with the horizontal position,
counted from the left and begining with 0, and then the vertical position,
counted from the top, and begining with 0, too.
Then comes the actual text, (will be compared CASE-SENSITIVE!) which
must be enclosed by quotation-marks.
Following is a second set of position and text, which is used for a
secondary function, also using the copy-function, and usually take to
identify the Move-action.
Some tips for obtaining these infos:
- select a relatively big file and begin copying it
- when the info-window appears, just hit the PAUSE-key
- and now choose the position, where the text you want begins
(you could mark it with the mouse-cursor, if it is active)
- now remember the text really exactly (including the frame-characters,
spaces and case (capitals))
- (maybe you should notice it on paper)
- now begin counting the characters (choose a line with simply countable
contents)
If you are using a NC-style program, begin counting from the right-edge
vertical line of the left panel. This line is usually at position 39
and typically very close to the wanted text. Just count down to the
left, until you reached your text.
- now just count the lines until you text, which is quite easy
- DON'T forget, that the first line, and the first character too, has
position-number 0, which means ZERO, and not 1!
- better notice these numbers too
- now just hit ESC twice (1. to end the PAUSE-mode, 2. to stop copying)
- And now you should repeat this while MOVING a big file
- it's important that you move it to a different drive, else it is
no copy-operation, and can produce different screen-output
Sorry for this awkward procedure, but I currently have no time to make it
simplier.
Future versions of TCCFG will get a function which will make this much
easier...
Ok, other options are:
ExclDrv= which will define a list of drives (divided by commas)
which are excluded from the acceleration by TC-Patch
Excepted is any drive-name from A: to Z: (with or
without a colon) and from [: to `:
Default is A:,C:
ShiftDisable= If set to 0 (zero) the
is disabled.
Default is 1
PrgChar= The character which is used to fill the progression-bar, and
signal that TC-Patch is working. This char must be enclosed
by quotation-marks.
Default is "ú"
And as mentioned above:
Used= which will accept up to two IDs of programs whose copy-actions
will be accelerated.
Example: Used=NC3E,UFOG
Ok, I think that's all for now... If there are questions left, just ask.
ÚÄÄÄÄÄÄÄÄÄ¿
³-Contact-³
ÀÄÄÄÄÄÄÄÄÄÙ
If you want to reach me:
!! Attention: both of the following addresses will be valid until March '98 !!
!! only. (At least I hope so, because I'm going to begin my studies in !!
!! computer-science then. :-) !!
!! But you can try to reach me at my backup-address: !!
!! tobias_winkler@rocketmail.com !!
My Fido-Net address is:
Tobias Winkler@2:2411/901.38 (Bummi-Box,Frankfurt/Oder)
By Internet-EMail I can be reached at this address:
Tobias_Winkler@p38.f901.n2411.z2.sesom.de
If you cannot reach me there, try my backup-address:
tobias_winkler@rocketmail.com
Or via snail mail: Tobias Winkler
G.-Hauptmann-Str. 17
15234 Frankfurt (Oder)
Germany
Bye,
TW.
               (
geocities.com/siliconvalley/sector/5552)                   (
geocities.com/siliconvalley/sector)                   (
geocities.com/siliconvalley)