Changes from DR-DOS 7.02 to DR-DOS 7.03
=======================================

APPEND.EXE
----------

Minor changes.


CHKDSK.EXE
---------- 

Added Long filename detection so that CHKDSK will abort if it finds a long
filename on the disk.  Version number increased.

Updated Copyright date to 1998.

Changed the way zero length files are handled to be MS compatible. Clusters
associated with the zero length files are no longer considered as lost
clusters, instead the file length is considered to be incorrect. 

COMMAND.COM
-----------

Now the "date" command doesn't complain anymore when the user enters
a string containing only spaces. It considers it as an empty string and
simply returns.  It fixes the problem when issuing the command "echo. | date".

Fixed a bug that caused 0 bytes free reported (or no free space message at
all) at the end of a DIR command on a big drives.

CHCP did not work correctly, all codepages returned "invalid number".

The critical error handler has been changed so that the full error code is
passed to any critical error message handlers. The LSB of the error code will
then be limited to the extent of the internal message table, before the whole
word was limited, causing any error with a non-zero MSB to return the last
internal error message. This caused NWCDEX to display incorrect error messages
when an error occurred.

The problem with long filenames and 2 column directory listings has been
fixed.

Other minor changes. 

COUNTRY.SYS
----------- 

Changed the EURO symbol from (= to EUR. 

Added a stub which displays the build info if COUNTRY.SYS was erroneously
considered being an device driver (DEVICE=COUNTRY.SYS). Also displays the same
info if started as .COM program. 

Corrected the entry for codepage 850 for Australia / International English
(61), which caused it not to find codepage 850. 

Also added 10001/20001 and 10044/20044 country codes for US (1) and UK (44),
following ISO 28601 / ISO 8601 (Japanese date format). 10xxx codes report the
old codes 1/44 to the system, and therefore may fall back to these settings
after a while, these should only be used when country codes (should not be
used with NLSFUNC). 20xxx codes actually report these codes to the system.
Hence they also work with NLSFUNC loaded, but some applications may be
confused by such high numbers. Also added EURO support to 11xxx and 21xxx
which behave in a similar way to the above, the 21xxx version should be used
unless it causes problems with some programs. Country Codes for Germany
additionally support DIN EN 28601.

DEBUG.EXE
--------- 

Fixed a wraparound bug while displaying words and longs in e/Xtended mode. 

DELTREE.BAT
----------- 

Added Switchar support. Messages improved. 

DEVLOAD.COM
----------- 

*** New utility *** 

Dynamic device loader. Loads device drivers such as VDISK from autoexec.bat or
the command prompt. For help run with no parameters. 

DISKOPT.EXE
----------- 

Reference to OPENDOSCFG changed to DRDOSCFG.

DOSBOOK.EXE
----------- 

Reference to OPENDOSCFG changed to DRDOSCFG.

DRMOUSE.COM
----------- 

*** New utility *** 

Mouse driver. Autodetects PS/2 and Serial mice. 

EDIT.COM
-------- 

Changed the default search mode to case-insensitive. 

Reference to OPENDOSCFG changed to DRDOSCFG.

EMM386.EXE
---------- 

Fixed a problem on some processors, when an interrupt was reflected to V86
mode from protected mode the processor halted. 

Fixed a small bug in the DPMI server which caused some programs such as
Borlands TLINK.EXE to crash the system. 

The DPMI Server has been enhanced to support 32-bit clients. Programs that use 
DJGPP, DOS4GW and other DPMI DOS extenders now work, for example Quake,
DR-WebSpyder, DOOM and Duke Nukem 3D all work under the DPMI server.

However, there are still problems using a Linear Frame Buffer and using
CTRL-Break in DJGPP programs. Also DJGPP 1 programs that use the GO32 extender
may have problems.

Changed the XMSUMB flag to NOXMSUMB and reversed its action. i.e. UMB access
via the XMS spec is enabled by default. With the flag NOXMSUMB it is disabled.
This fixes a problem with the loading of NWCACHE into the UMBs where the
display using MEM was incorrect.

The amount of system memory returned from the multitasker has been corrected.
The BIOS call INT 15h function C7h can incorrectly return memory information
above 16MB, this has been corrected by ensuring that memory regions do not
overlap.

The amount of domain memory returned from the multitasker has been corrected
for the case of no task manager. It incorrectly reported 4 GB. It will now
report the amount of system memory as the documentation specifies. 

The Multitasking API has been corrected so that the returned value of BX is no
longer corrupted for the installed 32 bit handlers. 

The DPMI server now has full support for the two co-processor status functions
Get and Set coprocessor status, 0E00h and 0E01h. The co-processor emulation
under DJGPP will now work correctly. The multitasking API has had two
functions added 3304h and 3404h to support these DPMI functions. 

The multitasking API set flag function has been changed so that it correctly
returns E_FlagOverrun when a flag has been set too many times, before it
incorrectly returned E_FlagUnderrun.

The multitasking API Flag Wait with time out function has been corrected so
that it returns when a flag is set, before setting the flag would hang the
process indefinately. 

The multitasker's stack has been made 32-bit by default, the DPMI server
requires this for debugging DJGPP programs in RHIDE. 

Increased the number of DPMI memory handles for the client from 64 to 512.The
maximum number of LDT entries has been reduced to make the memory footprint
smaller.

Some problems with the use of the interrupt flag by protected mode programs
have been corrected. 

Other minor changes. 

FASTOPEN.EXE
------------ 

Minor changes. 

FDISK.COM
--------- 

Now displays a primary FAT32 partition as "PRI DOS FAT32(X)" and a FAT32 drive
in an extended partition as "DOS FAT32(X)", instead of displaying
"PRI DOS FAT32(X)" in all cases.

Support for more partition types.

Fdisk now supports the creation and formatting of FAT32 partitions. Extended
mode will allow partitions smaller than 512 Mb and a user definable cluster
size. NOTE: Windows 95 may not support some of the configurations allowed.
Also DR-DOS does not currently support any FAT32 partitions. 

The verification of the data area is now optional, during verification of data
areas the escape key can be used to abort the checking. The partition will
still be formatted correctly whether or not the data area is verified.
The verification of data and system areas has been optimized for speed. 

Now the minimum size of a partition is 100 Kb, and not 2 Mb. FDISK also
chooses a cluster size of 0.5 Kb, 1 Kb, 2 Kb or 4 Kb for partition sizes
<< 16 Mb, instead of using the fixed value of 4 Kb. 

Added the BFS1 file system from the recently-released Intel port of BeOS. Also
added the Prologue file system. 

Other minor changes. 

FILELINK.EXE
------------ 

Reference to OPENDOSCFG changed to DRDOSCFG.

FORMAT.COM
---------- 

Now compiled with Borland C++ version 3.1. This fixes a problem on the latest
Intel processors with high clock speeds (400Mhz and above). 

Changed the OEM name in the boot sector to 'DRDOS 7'. 

Added /J option to copy pre-loadable drivers (e.g. STACKER.BIN) with /S
(or /B). It now also supports DBLSPACE.BIN/DRVSPACE.BIN in the order
STACKER.BIN/DBLSPACE.BIN/DRVSPACE.BIN.

Added /B option to copy the OS without command processor. This is the easiest
way to 'reserve' space for the OS. 

Added /C option (Check Bad) as an alias for /U option (unconditional format). 

Option /H is now supported even if it is not the first parameter. 

Added full SwitChar support in the messages and the command line, which
additionally always look for '/' and '-'. 

Now allows a single sided floppy of any type to be formatted with the /1
option. This is to support single sided flash disks. 

Other minor changes. 

HIMEM.SYS
--------- 

Fixed a problem with using upper memory blocks on some computers. A previous
optimization change was applied incorrectly. 

Fixed a problem with the XMS gate A20 handling that caused the gate not to be
opened in certain cases. This specifically fixed a problem when copy files to
a VDISK and using the keyboard.

Minor changes. 

IBMBIO.COM
---------- 

Added a routine to detect non-standard floppy drives. This allows IBMBIO to
have a correct BPB for flash or rom devices that sit on a floppy letter. 

Disabled LPT4 support as it conflicted with EGA cards. 

Now IBMBIO accepts partition type 0Eh (VFAT). 

Changed so that it will now load into the HMA with COMMAND.COM and IBMDOS.COM,
this increased the available conventional memory .Also protect the disk INT 13
calls so that the preservation of DL by the interrupt handler is not required. 

The function INT 21h AX=440Dh CX=0842h, has been changed so that if the ROM
BIOS does not support the set media type for format functions, it will do a
final check with the drives physical parameters (INT 13h AH=08h) for a match.
This fixes some formatting problems on flash disks. 

The enhancement so that if you boot from the second physical disk, it reads
the boot files (IBMDOS.COM, CONFIG.SYS...) from drive d:, has been removed.
It caused problems when the first physical hard disk did not have a DOS
partition.

ECHO no longer eats all spaces before the argument in CONFIG.SYS. 

Added a second compression method to further decrease the size of IBMBIO.COM. 

Other Minor changes. 

IBMDOS.COM
---------- 

Fixed bug in REN when using "." or ".." (or "...", "....", etc) as a
destination filename.

Changed so that it will load into the HMA with IBMBIO.COM and COMMAND.COM,
this increased the available conventional memory. 

The DR-DOS BDOS version can now be faked using the new SETVER (see below). All 
sub versions greater than 128 will disable the DR-DOS version check and give
the sub version of subversion minus 128. Sub versions from 100 to 127 will now
be the fake BDOS version. (64h - 7Fh). Thus enabling Novell DOS 7 to be faked
by DR-DOS 7.02 with "SETVER 6.114". 

SETVER also supported the storage of paths to filenames, but IBMDOS.COM did
not made use of these paths, instead it never found these entries. This has
been changed, and we now have a three staged model for SETVER versions: 

highest priority = entry with path is matching. 
middle priority = entry without path is matching. 
lowest priority = use global version. 

Setting or getting codepage 0 produces an error now. The value 0 is meant to
be used for init purpose at boot time and should not then be allowed when used
with int 21 / function 66h. 

When testing a drive number for validity, anthing from 81h -> FFh were return 
invalid, however some programs test all drives from 1 to FFh. This fixes the 
ZIP tools GUI. 

Functions 25h and 35h in INT 21h, get and set interrupt vector have been
changed so that they do not switch to any internal DOS stacks. This allows
them to be used inside int 21h functions, specifically device drivers. This
fixes the MCS SMB client drivers. 

LOADER.COM
---------- 

Changed the help screen and added help for the /S and /Q parameters. Added a 
/Q parameter, which is just an alias to /S (silent), but follows the usual 
parameter name used in the DOS environment. Also documented the [num] 
timeout for standard boot sector. 

LOADFIX.BAT
----------- 

Minor Changes. 

MEM.EXE
------- 

Minor changes. 

MEMMAX.COM
---------- 

Improved in help screen. 

NETA.OVL - FULL Version only
-------- 

Reference to OPENDOSCFG changed to DRDOSCFG.

NETU.OVL - FULL Version only
-------- 

Reference to OPENDOSCFG changed to DRDOSCFG.

NLSFUNC.EXE
----------- 

This can now read other DOS COUNTRY.SYS files (MS-DOS, PC-DOS, OS/2, NT and
PTS/DOS, with the exception of PTS/DOS 7.x), DR-DOS can now use country and
code page information for other DOS systems. 

On attempts to request info which is not actually stored in a file (offset
zero), we no longer return an error, but fake a dummy entry, containing only
zeros. The CL value in INT2Fh/14FEh is now range checked. Hence this issue of
NLSFUNC supports new INT2Fh/14FEh subfunctions CL=0 (reserved for future
XCTY info) and CL=3 (LCASE as supported in COUNTRY.SYS). 

Calls to INT2Fh/1228h and INT2Fh/122Bh are now issued with the correct values 
in the high byte of BP (though our BDOS only senses for the low byte). 

Added parameter /X to force loading of the advanced file scanner if the
COUNTRY.SYS file is not available at the time NLSFUNC is loaded. Otherwise
only the DR DOS file scanner will be loaded causing NLSFUNC to fail is a NON
DR-DOS style file is used later on. 

Added /V parameter for verbose install messages. Added /L as alias to our /ML. 

Added support for parameters prepended with the current SwitChar, '-', or '/', 
instead of just '/'. The help screens will now also reflect the current 
SwitChar setting. 

Fixed Kanji/DBCS support for command line. 

Other minor changes. 

SECURITY.OVL
------------ 

Reference to OPENDOSCFG changed to DRDOSCFG. 

SETVER.EXE
---------- 

Enabled ',' as version separator. Also added special case for n.n version 
number (6.1 -> 6.10, not 6.01). Added /X advanced mode to override the 
warning when SETVERing the global version to less than 5.00. /X is also 
required to allow sub-versions above 99 (see IBMDOS.COM). 

Giving /X in list mode additionally displays a verbatim description of the 
stored sub-versions. Added /B batch mode to display the list in batch mode 
syntax. If sub-versions above 99 should be supported by /B use /B /X instead. 

Reworked the help screen. Documented /P and /G parameters, and the
[d:path]filename option. Also documented the new sub-version special cases, as
implemented in the new IBMDOS.COM. Advanced help is available with /H /X. 

Other Minor Changes. 

SHARE.EXE
--------- 

SHARE.EXE now fully honours the SwitChar, while also always taking '-' and
'/'. The help screen has be updated to reflect the current SwitChar. 

SHARE has an new /V Verbose mode, displaying additional info on startup. 

Other Minor changes. 

SYS.COM
------- 

Changed the default directories for kernel versions 72h to OPENDOS 
and 73h to DRDOS. 

SYS would incorrectly set up the BPB for drives A: or B: that are not known 
by this program, it would think the drive was a hard disk and set the boot 
unit to 80h. This failed when SYSing flash disks that emulated floppy drives. 
This has been fixed by assuming that if the drive is A: or B: then it will 
be a floppy. (ie. boot unit is 00h). 

Added /C option to ignore COMSPEC variable (searches on ?:\DRDOS\, ?:\OPENDOS\ 
depending on detected OS, or, if not found, on ?:\), and /S option (Skip) to 
not copy COMMAND.COM at all. Added /A option to also copy [D]CONFIG.SYS and 
AUTODOS7.BAT/AUTOEXEC.BAT. Added /L (for LOADER) to not update the boot
sector. Added /V to force verify to be on during SYS. Also the /Y Yes
parameter has been added. 

Added /P option to prompt for insertion of source and destination floppy
disks. Added /J jam option to copying preload drivers, which often just waste
memory on floppies and are not copied by default. 

Added support for DRVSPACE.BIN. At present we search for the files in the 
order STACKER.BIN, DBLSPACE.BIN, DRVSPACE.BIN. Added SwitChar support for 
Help screen. 

SYS under foreign OS now also shows the title, so that user knows why SYS 
cannot work under that OS. 

Other Minor Changes. 

TASKMGR.EXE
----------- 

Changed the API function to switch tasks so that the calling task is not 
suspended until it is made foreground. It now continues to run in the
background.

TASKMGR used to hang the machine when the 7.02 COMMAND.COM was loaded 
in the HMA. This has been fixed. 

Other Minor Changes. 

UNDELETE.EXE
------------ 

Changed OpenDOS to DR-DOS in help screens. 

Reference to OPENDOSCFG changed to DRDOSCFG. 

Other Minor changes. 

UNFORMAT.EXE
------------ 

This is now compilied with Borland C++ Version 3.1. To fix a problem on 
the latest Intel chips at 400Mhz and above. 

UNINSTAL.EXE
------------ 

Changed so that it will now uninstall the dual boot LOADER. 

XCOPY.EXE
---------- 

Added /K option to preserve attributes. Also changed the /h option so that 
hidden or system files are replaced when they aren't read-only. 

Added directory attributes inheritance when /K is used.

-------END--------