Dec 252017
 
DOS drive tool - handy utility for disk editing.
File DDT17.ZIP from The Programmer’s Corner in
Category Utilities for DOS and Windows Machines
DOS drive tool – handy utility for disk editing.
File Name File Size Zip Size Zip Type
DDT.DOC 49358 11561 deflated
DDT.EXE 95040 37364 deflated
DDTSAMPL.PRO 4980 1609 deflated

Download File DDT17.ZIP Here

Contents of the DDT.DOC file





















DOS Drive Tool

Users Guide

Version 1.7



























Dan Heimsoth












1.0 INTRODUCTION ................................................ 1
2.0 REQUIREMENTS ................................................ 1
3.0 COMMAND LINE PARAMETERS ..................................... 1
3.1 [Drive:][path][filename] .................................. 1
3.2 ASSUME /A ................................................. 2
3.3 BIOS VIDEO /B ............................................. 3
3.4 COLOR SET 2 /C ............................................ 3
3.5 IGNORE ENHANCED KEYBOARD /K ............................... 3
3.6 PROFILE /P ................................................ 3
3.7 QUIET /Q .................................................. 4
3.8 VERSION /V ................................................ 4
3.9 HELP /? ................................................... 4
4.0 EDIT MODES .................................................. 4
4.1 DIRECTORY EDIT ............................................ 4
4.2 CLUSTER EDIT .............................................. 4
4.3 FAT EDIT .................................................. 4
5.0 MENU FUNCTIONS .............................................. 5
5.1 COMMON FUNCTIONS .......................................... 5
5.1.1 [ WRITE ] .............................................. 5
5.1.2 [ CLEAR ] .............................................. 5
5.1.3 [ Nw DRV ] .............................................. 5
5.1.4 [ EXIT ] .............................................. 5
5.1.5 [ HELP ] .............................................. 5
5.1.6 [ STATS ] .............................................. 6
5.1.7 [ BootCl ] .............................................. 6
5.1.8 [ RootCl ] .............................................. 6
5.2 DIRECTORY EDIT FUNCTIONS .................................. 6
5.2.1 [ SEARCH ] .............................................. 6
5.2.2 [ FAT ] .............................................. 6
5.2.3 [ CLUSTR ] .............................................. 6
5.2.4 [ SUBDIR ] .............................................. 6
5.2.5 [ PARENT ] .............................................. 6
5.2.6 [ ROOT ] .............................................. 6
5.2.7 [ PREV ] .............................................. 7
5.2.8 [ NEXT ] .............................................. 7
5.2.9 [ S-TREE ] .............................................. 7
5.2.10 [ UNERAS ] .............................................. 7
5.2.11 [ Q-UnEr ] .............................................. 7
5.2.12 [ SAVE ] .............................................. 7
5.2.13 [ GET ] .............................................. 7
5.2.14 [ PUT ] .............................................. 7
5.3 CLUSTER EDIT FUNCTIONS .................................... 7
5.3.1 [ SEARCH ] .............................................. 8
5.3.2 [ FAT ] .............................................. 8
5.3.3 [ Hx/Chr ] .............................................. 8
5.3.4 [ DIR ] .............................................. 8
5.3.5 [ -1 ] .............................................. 8
5.3.6 [ +1 ] .............................................. 8
5.3.7 [ PREV ] .............................................. 8
5.3.8 [ NEXT ] .............................................. 8
5.3.9 [ S-ALL ] .............................................. 8
5.3.10 [ 1st CL ] .............................................. 8
5.3.11 [ ASC/EB ] .............................................. 8
5.3.12 [ OWNER ] .............................................. 8
5.3.13 [ SAVE ] .............................................. 9
5.4 FAT EDIT FUNCTIONS ........................................ 9



i


5.4.1 [ SEARCH ] .............................................. 9
5.4.2 [ CLUSTR ] .............................................. 9
5.4.3 [ DIR ] .............................................. 9
5.4.4 [ PREV ] .............................................. 9
5.4.5 [ NEXT ] .............................................. 9
5.4.6 [ OWNER ] .............................................. 9
5.4.7 [ SAVE ] .............................................. 9
6.0 CUSTOMIZING DDT ............................................. 9
6.1 CUSTOMIZING BY PROFILE .................................... 9
6.1.1 COLORS .................................................. 10
6.1.2 FAT-MENU ................................................ 10
6.1.3 DIR-MENU ................................................ 10
6.1.4 CLS-MENU ................................................ 10
6.1.5 BEEP1 ................................................... 11
6.1.6 BEEP2 ................................................... 11
6.1.7 CLUSTER ................................................. 11
6.1.8 CHARACTER ............................................... 11
6.1.9 DISPLAY ................................................. 11
6.1.10 KEYBOARD ................................................ 11
6.1.11 VERSION ................................................. 11
6.2 CUSTOMIZING DDT.EXE ....................................... 11
6.2.1 INITIALIZATION OPTIONS .................................. 11
6.2.2 DISPLAY ATTRIBUTES ...................................... 12
6.2.3 FUNCTION KEY ASSIGNMENTS ................................ 13
7.0 CHANGES ..................................................... 14



































ii


1.0 INTRODUCTION
DDT is a utility program for working with DOS-format drives. It displays
the data found on the drive in the format in which DOS uses it. It can
be used to view, search, and modify this data.

The DDT program has been released in versions 0.2 through 1.63, with bugs
of varying severity found in each. Although I would like to think that
version 1.7 is error free, I am certain that bugs will be found. Even if
it were bug free, however, I would still be advising CAUTION in using it.
It is, by definition, a potentially dangerous program, since it gives the
user the power to change data that is usually better left unchanged. For
example, by modifying the FAT, a file or even an entire disk can be made
unusable. I strongly recommend the DOS Technical Reference Manual
chapter on DOS Disk Allocation as a prerequisite to using DDT.


2.0 REQUIREMENTS
This program requires PC-DOS 2.0 or higher, including DOS 4.0. It can
also be used from the DOS compatibility box of OS/2, although caution
would be advised, as explained latter in this section. It will support
editing of standard DOS format diskettes and disks. It is not intended
to support non-DOS formats, or DOS file system extensions.

For DOS versions prior to 4.0, the program uses DOS interrupts 25H and
26H through the register-based interface. For DOS version 4.0 the
program uses interrupts 25H and 26 H through the control-block interface,
to support hardfile partitions > 32 Meg. It will attempt to verify the
INT. 25H interface and the format of the target drive through DOS INT
21H. Any DOS file system extension or memory resident program which
takes over INT 21H or INT 25H may interfere with this verification,
causing an "unsupported format" error message, and preventing editing of
the target drive. This interference has been found in using DDT with DOS
3.1/3.2 when ASSIGN is installed.

From the compatibility box of OS/2, the program uses the logical disk
functions of the generic IOCtl interface. The program does NOT lock the
disk while using it. Due to the multi-tasking nature of OS/2, other
processes could be accessing the same disk as DDT at the same time. It
is the user's responsibiity to ensure that the editing done by DDT does
not interfere with any other active OS/2 process.

DDT Version 1.7 requires approximately 99Kb of free memory for the
program, plus a data buffer which varies in size depending on the drive
being edited. This buffer will not exceed 84Kb for most hardfiles, or
20Kb for most diskettes.


3.0 COMMAND LINE PARAMETERS
All command line parameters are optional. They can be entered in upper
or lower case.

3.1 [Drive:][path][filename]
The DOS drive letter of the drive to be edited ( target drive ) can be
entered as a command line parameter. This will bypass the first screen,
which prompts for drive letter. A path and file name can also be entered
with the command line parameter, and if the file is found, the




1


subdirectory containing the file will be displayed in Directory Edit mode
as the first screen, with the cursor at the specified file.

3.2 ASSUME /A
The /A parameter is used to ASSUME a set of format parameters for the
target drive. This is useful in cases where the a Boot Record has been
damaged, causing the disk(ette) to appear to have an unusable format.
The /A parameter has two forms of use.

For diskettes, predefined parameter sets are provided for most common
diskette formats. To ASSUME one of these sets, use one of the /A forms
listed in the following table:
















































2



Predefined formats for the ASSUME parameter ( /A )

/A160 single-sided, 8 sect./trk. ( 160 Kb 5.25" )
/A180 single-sided, 9 sect./trk. ( 180 Kb 5.25" )
/A320 double-sided, 8 sect./trk. ( 320 Kb 5.25" )
/A360 double-sided, 9 sect./trk. ( 360 Kb 5.25" )
/A720 double-sided, 9 sect./trk. ( 720 Kb 3.5" standard format )
/A720* double-sided, 9 sect./trk. ( 720 Kb 3.5" alternate format )
/A1.2 double-sided, 15 sect./trk. ( 1.2 Mb 5.25" )
/A1.44 double-sided, 18 sect./trk. ( 1.44 Mb 3.5" )

For hardfiles and for diskette formats not listed in the table, the
second form of /A must be used. This form requires 7 sub-parameters
separated by commas:

/Ap1,p2,p3,p4,p5,p6,p7

p1 = Number of logical sectors
p2 = Bytes per sector
p3 = Number of reserved sectors
p4 = Sectors per FAT
p5 = Number of FATs
p6 = Number of Root Directory entries
p7 = Sectors per cluster

For example, to start DDT with ASSUMED parameters for a 20 Mb hardfile,
as formatted by DOS 3.3, the command line would look like this:

...>DDT C: /A41735,512,1,41,2,512,4

The values of the sub-parameters can vary with disk size/type, DOS
version, disk partitioning, and other factors. For a given disk(ette),
these values can be obtained from the PARAMETERS display of DDT, but you
would have to get the values before they are actually needed, since you
can't start DDT without ASSUME values if the Boot Record is damaged.

3.3 BIOS VIDEO /B
The /B parameter will cause video I/O to go through BIOS Int. 10, which
may be necessary for compatibility in some cases. This will cause
performance to be much slower.

3.4 COLOR SET 2 /C
The /C parameter will cause DDT to use an alternate display attribute
(color ) set.

3.5 IGNORE ENHANCED KEYBOARD /K
The /K parameter will cause DDT to not use the Enhanced Keyboard, even if
the presence test passes. This may be necessary if a TSR program causes
the presence test to pass when no enhanced keyboard is present.

3.6 PROFILE /P
The /P=[filespec] parameter will cause DDT to look for the file
specified. If found, the file will be used to set customizing parameters
( see also CUSTOMIZING DDT ). The complete path and name of the profile
can be specified, for example:




3



C>DDT /P=\UTIL\DDTNEW.PRO

If the /P parameter is not used, the program will attempt to load the
default profile DDT.PRO.

3.7 QUIET /Q
The /Q parameter will cause DDT to not use the speaker. The speaker is
normally used to signal invalid keystrokes or errors.

3.8 VERSION /V
The /Vxxxx parameter will cause DDT to assume a DOS version number other
than what is returned by DOS. This is used by DDT to select the DOS
interface used for sector reads and writes. For versions less than 4.0
the Int. 25h/26h register interface is used. For versions greater than
or equal to 4.0 and less than 10.0 the Int. 25h/26h control-block
interface is used. For versions greater than or equal to 10.0 an OS/2
IOCtl interface is used. This version number override should only be
used for special drivers that support interfaces not supported by the
base DOS version, or for DOSes that use different version numbers than
standard PC-DOS. For example:

C>DDT /V4.00

3.9 HELP /?
The /? parameter will cause DDT to display a screen of help information.


4.0 EDIT MODES
Three editing modes are available in DDT, Directory, Cluster, and FAT.
These modes allow editing of the respective areas of the disk, in a
format defined by DOS. For more information on FATs, Clusters, and
Directories, see the DOS Technical Reference Manual. Changes made while
editing are displayed in high intensity until they are written. Cursor
movement is controlled by the [Home], [End], [PgUp], [PpDn], [TAB] and
[Ctrl] keys, and cursor pad arrows.

4.1 DIRECTORY EDIT
Directory Edit mode allows editing of DOS directories and subdirectories.
The directory entry fields are displayed and edited in a decoded format
(i.e. the time field is display in HRS:MIN:SEC format ). The directory
entry field that is reserved for DOS is not displayed in Directory Edit
mode, but if necessary it can be accessed by editing the directory in
Cluster Edit mode.

4.2 CLUSTER EDIT
Cluster Edit mode allows editing of Data Clusters. The data can be
edited in Hex or Character form ( selected with [ Hx/Chr ] ), and the
characters can be ASCII or EBCDIC ( selected with [ Asc/EB ] ). The BOOT
Record and the ROOT Directory can also be edited in Cluster Edit mode, by
selecting [ BootCl ] or [ RootCl ].

4.3 FAT EDIT
FAT ( File Allocation Table ) Edit mode allows editing of the FAT. The
data is displayed in Hex, grouped by FAT pointer, which is either 12 or
16 bits, depending on the format of the drive. Only one FAT is
displayed. If multiple copies of the FAT exist ( 2 FAT copies are kept



4


on most DOS drives ), the [ FAT # ] function can be used to select which
copy of the FAT is to be edited, or to select "All FATs" for edit. FAT
Edit mode will always start in the "All FATs" state. In this state, all
FAT copies are written with the same data when the [ WRITE ] function is
used. When a single FAT number is selected for edit, only the selected
copy of the FAT will be written when the [ WRITE ] function is used.

If differences are found between the first and second FAT copies when DDT
is started or when "All FATs" editing is selected, a warning message is
displayed. The differences of the second FAT will be displayed as
highlighted changes, over the first FAT data. Executing a [ WRITE ] at
this point will write the second FAT data to all copies of the FAT.
Alternately, executing a [ CLEAR ] follwed by a [ WRITE ] will write the
first FAT data to all copies of the FAT.


5.0 MENU FUNCTIONS
Menus are displayed across the bottom of the screen, and offer up to 20
choices, corresponding to [F1] through [F10], and [Shift]+[F1] ( [SF1] )
through [SF10]. The [F11] and [F12] keys ( or [Ctrl] [<-] and [Ctrl]
[->] keys ) can be used to move the menu-cursor, and the last line on the
screen will display a message explaining the function of the item
selected. Menu items can be executed by selecting with the menu-cursor
and then pressing [ENTER], or directly by pressing the "F" key
corresponding to the menu item. The [Esc] key is used to exit to the
drive selection screen.

The functions assigned to the keys can be customized for each of the
three edit modes, to suit personal taste. The procedure for changing the
function key assignments is described in the CUSTOMIZING section of this
Users Guide.

5.1 COMMON FUNCTIONS
The functions listed in this section are available in all edit modes.
Other function key labels ( such as [ SEARCH ] ) will be the same in all
three modes, but will function differently in each mode, and therefore
will be listed under each edit mode section.

5.1.1 [ WRITE ]
This function writes the NEW data ( highlighted on the display ) to the
disk. In FAT edit mode, the new data will be written to all copies of
the FAT.

5.1.2 [ CLEAR ]
This function clears all the NEW ( highlighted ) data from the display.
The display will then show the original data read from the disk.

5.1.3 [ Nw DRV ]
This function will end the editing of the current drive, and return to
the drive-selection screen. The [Esc] key will also perform this
function.

5.1.4 [ EXIT ]
This function will end DDT and return to DOS.

5.1.5 [ HELP ]
This function will display a short message explaining how to use DDT



5


menus and editing functions.

5.1.6 [ STATS ]
This function will display a set of statistics or parameters describing
the target drive.

5.1.7 [ BootCl ]
This function will allow editing the BOOT record of the target drive.
The data will be displayed in Cluster Edit mode, but only the
single-sector Boot Record will be displayed. This function is not
available in Directory Edit mode in the default version of DDT, but it
can be added to the function menu if desired ( see CUSTOMIZING DDT ).

5.1.8 [ RootCl ]
This function will allow editing the ROOT Directory of the target drive
in Cluster Edit mode. This may be needed to edit the Reserved field of
directory entries, which is not shown in Directory Edit mode.
Subdirectories can edited in Cluster Edit mode by selecting a
subdirectory entry in Directory Edit mode, and the switching to Cluster
Edit mode ( [ CLUSTR ] ). This function is not available in Directory
Edit mode in the default version of DDT, but it can be added to the
function menu if desired ( see CUSTOMIZING DDT ).


5.2 DIRECTORY EDIT FUNCTIONS

5.2.1 [ SEARCH ]
In Directory mode, the search covers only the FILENAME (.EXT) field. The
search is case sensitive, even though lower-case file name are not legal
in DOS. Partial names can be entered. For example: "DDT" will find any
directory entry containing that 3 character string; ".BAT" will find any
directory entry with a ".BAT" extension. The search will be forward
only, from the current entry. If the current directory is a
subdirectory, the search will include all clusters forward in the chain.

5.2.2 [ FAT ]
This function will select FAT Edit mode. The cursor will be positioned
at the FAT entry for the Start Cluster of the current directory entry.
If the current directory entry is unused, the cursor will be positioned
at the FAT entry for the first unused cluster on the disk.

5.2.3 [ CLUSTR ]
This function will select Cluster Edit mode for the Start Cluster of the
current directory entry. If the current directory entry is unused, the
first unused cluster on the disk will be displayed.

5.2.4 [ SUBDIR ]
If the cursor is selecting a subdirectory entry, the first cluster of
that subdirectory will be displayed in Directory Edit mode.

5.2.5 [ PARENT ]
If the current directory is not the Root Directory, the PARENT of the
current directory will be displayed in Directory Edit mode.

5.2.6 [ ROOT ]
This function will display the ROOT Directory in Directory Edit mode.




6


5.2.7 [ PREV ]
This function will display the previous cluster ( in the FAT chain ) of
the current subdirectory in Directory Edit mode.

5.2.8 [ NEXT ]
This function will display the next cluster ( in the FAT chain ) of the
current subdirectory in Directory Edit mode.

5.2.9 [ S-TREE ]
This function will search the directory tree for a file name, starting
with the current entry of the current directory. To search the complete
directory tree, use [ ROOT ] to select the ROOT Directory, and then
start the tree search. When a match is found, the matching file name is
displayed. The tree search can then be repeated at that point to search
the rest of the tree for more matches. The search can be interrupted by
pressing the [Esc] key.

5.2.10 [ UNERAS ]
When a directory is displayed, erased files will have "+" as the first
character of the file name. To try to un-erase a file, move the cursor
to the erased file name, and execute the [ UNERASe] function. DDT will
then change the "+" character to a "?", and try to rebuild the FAT chain
for the file by using a "best guess" approach. This consists of
beginning with the start cluster, and searching forward in the FAT to
find enough unused clusters to match the file size. To complete the
unerase attempt, the new directory AND the new FAT must then be written
to disk by using the "WRITE" menu function in both DIR and FAT edit
modes.

5.2.11 [ Q-UnEr ]
This function is the same as the [ UNERAS ] function, except that the new
FAT and Directory are Writen to the drive, completing the Unerase attempt
without the need to use [ WRITE ] menu function.

5.2.12 [ SAVE ]
The save function will write the specified file to a drive other than the
one being edited. The destination drive entered for the save file must
not be the drive being edited. A new file name can be entered, or the
current name will be used. After executing the UNERASE function, this
function can be used instead of writing the modified Directory and FAT.
This lets you recover a file without writing to the drive being edited.

5.2.13 [ GET ]
This function will get the current entry of the current directory, and
place it in a save area. This entry can then be written to a different
location by using the [ PUT ] function. The saved entry will be
displayed at the bottom of the Directory Edit window. If a completely
blank, unused entry is saved ( GETed ? ), the saved entry will not be
displayed.

5.2.14 [ PUT ]
This function will PUT the saved entry at the current entry of the
current directory. The [ WRITE ] function must then be used to write the
entry to the disk(ette). If no entry is saved, a blank, unused entry
will be written.

5.3 CLUSTER EDIT FUNCTIONS



7


5.3.1 [ SEARCH ]
In Cluster mode, the search pattern can be entered in HEX or in
Characters, depending on which edit format is active when the search is
started. The search is a forward search from the current cursor
position. If an Entry NAME is shown on the top line of the Cluster Edit
display, then the search will include all the clusters in the FAT chain
for that entry. Otherwise, only the current cluster is searched. If
multiple clusters are searched, the search can be interrupted by pressing
the [Esc] key.

5.3.2 [ FAT ]
This function will select FAT Edit mode. The cursor will be positioned
at the FAT entry for the current cluster.

5.3.3 [ Hx/Chr ]
This function will toggle the Edit Format between Hex and Character.

5.3.4 [ DIR ]
This function will select Directory Edit mode.

5.3.5 [ -1 ]
This function will select the previous cluster ( cluster number - 1 ).

5.3.6 [ +1 ]
This function will select the next cluster ( cluster number + 1 ).

5.3.7 [ PREV ]
This function will select the previous cluster in the FAT chain. If the
current cluster is unused, the previous unused cluster is selected.

5.3.8 [ NEXT ]
This function will select the next cluster in the FAT chain. If the
current cluster is unused, the next unused cluster is selected.

5.3.9 [ S-ALL ]
This function will search all data clusters starting with the current
cluster. To search all data clusters, use the [ 1st CL ] function to
display the first data cluster, then start the global search. The search
can be interrupted by pressing the [Esc] key.

5.3.10 [ 1st CL ]
This function selects the first data cluster on the drive ( data cluster
number 2 ).

5.3.11 [ ASC/EB ]
This function toggles the text window of the Cluster Edit display between
ASCII and EBCDIC characters.

5.3.12 [ OWNER ]
This function is available in both FAT and Cluster Edit mode. It will
search the directory tree for the owner of the FAT chain which contains
the current cluster. If an owner is found, the mode is switched to
Directory Edit mode, with the cursor at the Owning file name. If the
first owner found is an erased entry, the search is continued until a
non-erased owner is found, or until the entire tree is searched. If the
entire tree is searched and only an erased owner is found, the erased
entry will be displayed. The search can interrupted by pressing the



8


[Esc] key.

5.3.13 [ SAVE ]
The save function will write the current cluster to a file on a drive
other than the one being edited. The destination drive entered for the
save file must not be the drive being edited.

5.4 FAT EDIT FUNCTIONS

5.4.1 [ SEARCH ]
In FAT mode, the search pattern is a FAT pointer value, entered in hex.
The search is a forward search from the current cursor position.

5.4.2 [ CLUSTR ]
This function will select Cluster Edit mode for the cluster of the
current FAT entry ( selected by the cursor ).

5.4.3 [ DIR ]
This function will select Directory Edit mode.

5.4.4 [ PREV ]
This function will move the cursor to the previous cluster in the FAT
chain. If the current cluster is unused, the cursor is moved to the
previous unused cluster.

5.4.5 [ NEXT ]
This function will move the cursor to the next cluster in the FAT chain.
If the current cluster is unused, the cursor is moved to the next unused
cluster.

5.4.6 [ OWNER ]
This function is available in both FAT and Cluster Edit mode. It will
search the directory tree for the owner of the FAT chain which contains
the current cluster. If an owner is found, the mode is switched to
Directory Edit mode, with the cursor at the Owning file name. If the
first owner found is an erased entry, the search is continued until a
non-erased owner is found, or until the entire tree is searched. If the
entire tree is searched and only an erased owner is found, the erased
entry will be displayed. The search can be interrupted by pressing the
[Esc] key.

5.4.7 [ SAVE ]
The save function will write the FAT to a file on a drive other than the
one being edited. The destination drive entered for the save file must
not be the drive being edited.


6.0 CUSTOMIZING DDT

6.1 CUSTOMIZING BY PROFILE










9


A sample profile ( DDTSAMPL.PRO ) is included in the DDT package. It can
be used by renaming or copying it to DDT.PRO, or by specifying some other
profile name with the /P command line parameter. When DDT is started,
it will look for the profile in the current directory and in the current
data file path ( set via the DOS APPEND command ). If found, the
contents of this file will be used for run-time initialization. The
lines of the profile are examined for lines which begin with certain
keywords. These lines are then parsed for parameters to initialize DDT.
The profile can be customized by using a text editor. Parameters should
be separated with one or more spaces. A profile does not have to include
all of the possible keywords, and lines which do not start with a keyword
may be included anywhere in the profile ( for comments ). The valid
keywords and parameters are described in the following sections.

6.1.1 COLORS
This keyword must be followed by eleven parameters. Each parameter must
be two hex digits. These parameters will be used to set the display
attributes used by DDT. The uses for each of the eleven attributes in
DDT screens are described below:

COLOR USES

1 Unchanged edit-able data and status field labels
2 Changed edit-able data
3 Prompts and warnings
4 Status fields
5 Menu labels for function key menus ( line 24 )
6 Menu cursor for function key menus ( line 24 )
7 Boxes
8 Line markers: '>' and '<'
9 Function key labels ( line 23 )
10 Function descriptions ( line 25 )
11 Menu cursor while the function is in progress

6.1.2 FAT-MENU
This keyword must be followed by a 20 character string enclosed in single
quotes. It will be used to set the FAT menu function key assignments for
the keys F1 - F0, and shift F1 - shift F0 in that order. The valid
characters and their functions are listed in the 'FUNCTION KEY
ASSIGNMENTS' subsection of the 'CUSTOMIZING DDT.EXE' section. A space or
blank character can also be used in the 20 character string to assign no
function to the corresponding key, but at least one of the first 10
characters must be non-blank.

6.1.3 DIR-MENU
This keyword must be followed by a 20 character string enclosed in single
quotes. It will be used to set the DIRECTORY menu function key
assignments for the keys F1 - F0, and shift F1 - shift F0 in that order.
The valid characters and their functions are listed in the 'FUNCTION KEY
ASSIGNMENTS' subsection of the 'CUSTOMIZING DDT.EXE' section. A space or
blank character can also be used in the 20 character string to assign no
function to the corresponding key, but at least one of the first 10
characters must be non-blank.

6.1.4 CLS-MENU
This keyword must be followed by a 20 character string enclosed in single
quotes. It will be used to set the CLUSTER menu function key assignments



10


for the keys F1 - F0, and shift F1 - shift F0 in that order. The valid
characters and their functions are listed in the 'FUNCTION KEY
ASSIGNMENTS' subsection of the 'CUSTOMIZING DDT.EXE' section. A space or
blank character can also be used in the 20 character string to assign no
function to the corresponding key, but at least one of the first 10
characters must be non-blank.

6.1.5 BEEP1
This keyword must be followed by two decimal integer parameters. The
first will set the frequency of DDT's "attention" beep. The second will
set the duration of the "attention" beep in milliseconds.

6.1.6 BEEP2
This keyword must be followed by two decimal integer parameters. The
first will set the frequency of DDT's "alert" beep. The second will set
the duration of the "alert" beep in milliseconds.

6.1.7 CLUSTER
This keyword must be followed by either "CHARACTER" or "HEX" to select
the initial edit format for Cluster Edit mode.

6.1.8 CHARACTER
This keyword must be followed by either "ASCII" or "EBCDIC" to select the
type of characters displayed in Cluster Edit mode.

6.1.9 DISPLAY
This keyword must be followed by either "DIRECT" or "BIOS" to select the
video interface to be used by DDT. The "DIRECT" interface is faster, but
the "BIOS" interface may be needed for compatibility in some
environments.

6.1.10 KEYBOARD
This keyword must be followed by either "ENHANCED" or "ORIGINAL" to
select the keyboard interface to be assumed by DDT. If this keyword is
not used, then DDT will test for keyboard type. This keyword should not
be needed for most environments.

6.1.11 VERSION
This keyword must be followed by a DOS version number ( 1 or 2 decimal
digits before the decimal point and 0, 1 or 2 digits after the decimal
point ). This will be used to tell DDT to assume a DOS version other
than what is returned by DOS. This is used by DDT to select the DOS
interface used for sector reads and writes. For versions less than 4.0
the Int. 25h/26h register interface is used. For versions greater than
or equal to 4.0 and less than 10.0 the Int. 25h/26h control-block
interface is used. For versions greater than or equal to 10.0 an OS/2
IOCtl interface is used. If this keyword is not used, the actual DOS
version number is used. This version number override should only be used
for special drivers that support interfaces not supported by the base DOS
version, or for DOSes that use different version numbers than standard
PC-DOS.

6.2 CUSTOMIZING DDT.EXE
The DDT.EXE file can be permanently customized by using DDT to change
data areas within the file.

6.2.1 INITIALIZATION OPTIONS



11


An initialization data area is present in the DDT.EXE file in a data
structure as shown:

DDT INIT >...............<

Each period represents a one-byte data value. The use for each of the
data bytes are described below, in the order that they appear in the data
structure.

BYTE USE

1,2 Frequency of "attention" beep in Hertz
3,4 Duration of "attention" beep in milliseconds
5,6 Frequency of "alert" beep in Hertz
7,8 Duration of "alert" beep in milliseconds
9,10 DOS version ( 0 means use real DOS value )
11 'E' = assume Enhanced keyboard
'O' = assume Original keyboard
' ' = test for keyboard type
12 'H' = start Cluster Edit in Hex byte format
'C' = start Cluster Edit in Character format
13 'A' = start Cluster Edit with ASCII characters
'E' = start Cluster Edit with EBCDIC charaters

14 'D' = use direct video interface
'B' = use BIOS vidoe interface
15 'P' = always load DDT.PRO profile
' ' = only load DDT.PRO if specified by the
/P command line parameter

The initialization values can be customized with DDT by finding the
DDT.EXE file in the Directory Mode, then selecting Cluster Mode. This
will display the first cluster of DDT.EXE. Next, execute an ASCII search
for 'DDT INIT' to find the initialization data in the file. Hex mode
Cluster editing can be used to customize the data, and the new values can
then be written into the DDT.EXE file.

6.2.2 DISPLAY ATTRIBUTES
DDT has two sets of colors or display attributes. The first set is used
for monochrome displays, and for CGA-type displays which are in BW80
mode. The second set is used for EGA-type displays and CGA-type displays
in CO80 mode, or when specified by the /C command line parameter. Both
sets contain 10 colors, and are present in the DDT.EXE file in a data
structure as shown:

DDT COLOR SET 1>......................
Each period represents a one-byte color or attribute value. The uses for
each of the eleven colors are described below, in the order that the
colors appear in the data structure.

COLOR USES

1 Unchanged edit-able data and status field labels
2 Changed edit-able data
3 Prompts and warnings
4 Status fields
5 Menu labels for function key menus ( line 24 )



12


6 Menu cursor for function key menus ( line 24 )
7 Boxes
8 Line markers: '>' and '<'
9 Function key labels ( line 23 )
10 Function descriptions ( line 25 )
11 Menu cursor while the function is in progress

The color sets can be customized with DDT by finding the DDT.EXE file in
the Directory Mode, then selecting Cluster Mode. This will display the
first cluster of DDT.EXE. Next, execute an ASCII search for 'DDT COLOR
SET' to find the color data in the file. Hex mode Cluster editing can be
used to customize the color sets, and the new colors can then be written
into the DDT.EXE file.

6.2.3 FUNCTION KEY ASSIGNMENTS
Each of the three edit modes in DDT has a menu with up to 20 available
functions assigned to the function keys [F1] through [F10], and
[Shift]+[F1] through [Shift]+[F10]. The order in which functions are
assigned to specific function keys is determined by three data structures
in the DDT.EXE file. The data structures will appear as shown:

CLUSTER MODE >IGCQKJMNABDHTUSLOPEF< END
DIRECTORY MODE >IGCQKJMNABDHRSVLOPTU< END
FAT MODE >IGCOKJMNABDH P L EF< END

Each data structure controls the menu definition for one of the three
edit modes. The 20 characters between the ">" and "<" in each data
structure map the available menu functions into function keys [F1]
through [F10], and [Shift]+[F1] through [Shift]+[F10], in that order.
The available functions are identified by capital letters as defined by
the following table:

CLUSTER DIRECTORY FAT
MODE MODE MODE

A [ WRITE ] [ WRITE ] [ WRITE ]
B [ CLEAR ] [ CLEAR ] [ CLEAR ]
C [ SEARCH ] [ SEARCH ] [ SEARCH ]
D [ STATS ] [ STATS ] [ STATS ]
E [ BootCl ] [ BootCl ] [ BootCl ]
F [ RootCl ] [ RootCl ] [ RootCl ]
G [ Nw-DRV ] [ Nw-DRV ] [ Nw-DRV ]
H [ EXIT ] [ EXIT ] [ EXIT ]
I [ HELP ] [ HELP ] [ HELP ]
J [ DIR ] [ SUBDIR ] [ DIR ]
K [ Hx/Chr ] [ CLUSTR ] [ CLUSTR ]
L [ OWNER ] [ UNERAS ] [ OWNER ]
M [ PREV ] [ PREV ] [ PREV ]
N [ NEXT ] [ NEXT ] [ NEXT ]
O [ -1 ] [ PARENT ] [ FAT # ]
P [ +1 ] [ ROOT ] [ SAVE ]
Q [ FAT ] [ FAT ] [ ]
R [ S-ALL ] [ S-TREE ] [ ]
S [ Asc/EB ] [ SAVE ] [ ]
T [ 1st CL ] [ GET ] [ ]
U [ SAVE ] [ PUT ] [ ]
V [ ] [ Q-UnEr ] [ ]



13



The menus can be customized with DDT by finding the DDT.EXE file in the
Directory Mode, then selecting Cluster Mode. This will display the first
cluster of DDT.EXE. Next, execute an ASCII search for the data
structure header for the selected menu ( for example 'CLUSTER MODE' ) to
find the menu definition data structure in the file. Character mode
Cluster editing can be used to customize the menu, and the new data
structure can then be written into the DDT.EXE file. A "space", instead
of a capital letter, in the function key data area will cause no function
to be assigned to the corresponding function key. Functions can be used
more than once, or not used at all, but a valid function MUST be assigned
to AT LEAST ONE of the keys [F1] through [F10].


7.0 CHANGES

Version 1.2 includes the following changes from version 1.1:

- Fixed a bug in the FAT WRITE function which caused only the first
copy of the FAT to be written, or caused the FAT WRITE function to
hang if only 1 FAT copy existed ( on VDISKS ).

- Fixed a bug in the presence test for the enhanced keyboard which
caused the test to pass when no enhanced keyboard was present,
resulting in a lock-up on the first enhanced keyboard Wait call.

- Fixed a bug in the Cluster SEARCH function which cause the search to
hang if a single-character target was used in a multi-cluster search.

- Changed cursor type selection to try to avoid "disappearing" cursors.

- Moved the UNERASE function to a function key ( [SF6] ), instead of
acting on the type-over of the "Erased character".

- Added the SAVE function ( [SF7] ) to Directory Edit mode, which
allows writing a file to a drive other than the target drive.

- Added the /A ( ASSUME ) command line parameter, which allows the user
to tell DDT to assume a format for a disk(ette) that does not have a
valid format defined in the Boot Record.

- Added the /K command line parameter, which will cause DDT to not use
any Enhanced Keyboard BIOS functions.

- Added a color to the DDT Color sets.

Version 1.21 includes the following changes from version 1.2:

- Fixed a bug in Enhanced Keyboard presence test which cause the test
to sometimes indicate "present" in error.

Version 1.22 includes the following changes from version 1.21:

- Fixed a bug in the SAVE function which caused an error message for
files which ended exactly on a cluster boundary. The fix will allow
files to be saved even when the file size in the directory entry does
not agree with the size of the FAT chain. The FAT chain size will be
used for the SAVE.


14


Version 1.4 includes the following changes from version 1.22:

- Added support for DOS 4.0, including support for volumes > 32 Meg.

- Added support for display modes with > 25 lines. DDT will check the
number of lines displayed when the program is started, and use all
available lines.

- Added customizing capability to function key assignments.

- Added [ Nw DRV ], [ EXIT ], and [ HELP ] menu functions.


Version 1.41 includes the following changes from version 1.4:

- Changed DOS version check to also look for OS/2 compatabilty box.

- Added /Q command line parameter to turn off the speaker.

- Changed exit path to RESET the edited drive before exiting.


Version 1.42 includes the following changes from version 1.41:

- Fixed a bug in the cursor type selection for EGA.

- Fixed a bug in the subdirectory read/write function for large
DOS 4 hardfiles.


Version 1.43 includes the following changes from version 1.42:

- Fixed a bug in the calculations to determine FAT format.


Version 1.5 includes the following changes from version 1.43:

- Added [ FAT # ] function to allow all copies of the FAT to be
accessed individually.

- Add [ GET ] and [ PUT ] functions to Directory Edit mode, to allow
saving a directory entry and writing it to another directory

location.

Version 1.6 includes the following changes from version 1.5:

- Added [ Q-UnEr ] function to allow a one-step UnErase.

- Add [ SAVE ] functions to Fat Edit mode and Cluster Edit mode, to
allow saving the FAT or the current Cluster to a file on another
drive.

- Fixed /A parameter implementation to ignore bad FAT formats.

- Fixed interpretation of filename command line parameter.

- Added a 'Save changes?' prompt when changing clusters if the
current cluster has unsaved changes.


15


Version 1.61 includes the following changes from version 1.6:

- Fixed a bug in [Esc] or [ Change Drv ] function which would cause
DDT to always exit to the drive select screen, regardless of the
responce to the 'Changes have not been saved' prompt.

- Fixed a bug in Dir Edit mode which caused the 'Save Changes' prompt
to not be displayed in some situations where it is needed.


Version 1.62 includes the following changes from version 1.61:

- Fixed a bug in the SEARCH function of Directory mode which would reset
the cursor to the top of the Directory after a successful search.

- Fixed a bug in the UNERASE function which would not flag the changes
made to the Dir and FAT, allowing the user to exit DDT before writing
the UNERASE changes to the disk and not receive a warning.

- Added the /Vxxx command line parameter to allow the user to override
the DOS version number for the purpose of enabling or disabling large
partition support. A /V4.0 parameter will enable large partition
support, and a /V3.3 parameter will disable large partition support.
The /V4.0 parameter will be needed to enable large partition support
in the compatability box of OS/2 1.1.


Version 1.63 includes the following changes from version 1.62:

- Fixed a bug in the DRIVE_PARMS data array which caused the /a360 assume
parameter to fail due to unuseable assumed parameters.


Version 1.7 includes the following changes from version 1.63:

- Added the use of a profile for customizing various program parameters,
such as screen colors, menu functions and warnings beeps. A sample
profile with comments, DDTSAMPL.PRO, is included in the DDT package.

- Uses a different interface for sector reads and writes from the OS/2
compatibility box. This was done to allow reads of > 32Meg hardfiles,
and also to allow writes of hardfiles from the OS/2 compatibility box.

WARNING: Due to the multi-tasking capability of OS/2, the drive being
edited by DDT may also be in use by some other active process.
The current version of DDT does NOT attempt to lock the drive
being edited, so it is up to the user to make sure that the
drive being edited by DDT is not in use by another active OS/2
process, or to make sure that the editing being done does not
interfere with any other active process.










16



 December 25, 2017  Add comments

Leave a Reply