summarized log -d '>Feb 25 2005' kernel for today... WARNING: some of the

described changes might be available only in the UNSTABLE cvs branch (like
SYS OEMBOOT, Win3, COM port output for debug print, the SHARE tool), so the
history.txt should actually contain TWO entries, one which describes the
2036 cvs HEAD changes and one which describes the 2037 test UNSTABLE changes!


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1187 6ac86273-5f31-0410-b378-82cca8765d1b
This commit is contained in:
Eric Auer 2006-05-20 20:53:23 +00:00
parent 46cd62310a
commit 511fdee8e5

View File

@ -1,7 +1,141 @@
2006 May 20 - Build 2036 cvs and 2037 test
-------- Eric Auer (eric@coli.uni-sb.de)
WARNING: This changelog entry is a draft! The cvs log contains
data for both HEAD and UNSTABLE branch while a cvs checkout
seems to return only the HEAD branch. This file history.txt
should describe "2036 cvs" HEAD and "2037 test" UNSTABLE
separately rather than in one merged changelog item.
In addition, the "Changes Eric" items yet have to be ported to
the UNSTABLE branch and the version.h for UNSTABLE should say
"03 Mar 2006" "2037 test" (revision 37)...!
Most recent changes to source code (see version.h) are:
HEAD 9 Sep 2005 (not counting the Korean stub and execrh change
by Eric, and not counting the version number change itself)
UNSTABLE 3 Mar 2006 (includes SYS changes, more Win3 support,
COM port output for debug print, the SHARE tool...)
The head to unstable diff in general is quite large. As a rule
of thumb, use UNSTABLE if you need NLSFUNC or Win3 386 mode or if
you need a very new kernel, and use HEAD if you need stability.
+ Changes Jeremy
* build.bat, config.b: UPX and WIN3 build options, for BUILDALL
* boot/oemboot.asm: set backup boot sector on FAT32, add update
option, fix oemboot to work with msdos 7+, in UNSTABLE branch.
* docs/bugs.txt: update Bugzilla URL
* docs/config.txt: document SWITCHES, based on suggestions from Eric
* docs/contrib.txt, docs/fdkernel.lsm: new email address
* docs/sys.htm, docs/sys.txt: see oemboot.asm
* docs/sys.txt: better check for valid backup boot sector # and add
option to skip setting it
* hdr/debug.h, kernel/prf.c: slight cleanup, send debug prints to COM
port, allow printf to work correctly when SS!=DS, debug changes
* hdr/device.h: add comments about what flags mean
* hdr/portab.h: from dev: add MK_PTR and MK_SEG_PTR macros
add/use halt() wrapper for issuing "hlt" asm instruction
* hdr/version.h: update version to 2035b-cvs (= not a release yet)
* kernel/config.c: fix read calls to detect error, from Eric / Brad
* kernel/console.asm, newstuff.c, prf.c, task.c: compile time option
to send debug output to COM port ("serial debugging console")
* kernel/dosfns.c: do not compares filenames to name field in block
devices, extra win3 support, misc debug output changes, IsDevice
should not compare filenames against block device driver headers
* kernel/dsk.c: works towards better SS!=DS support, centralized
debug macros, some comments
* kernel/entry.asm: more win3 support, debug output changes, comments
* kernel/execrh.asm: protect 386 registers, using hdr/stacks.inc
macros (Watcom: FS, GS Others: high 16 bits of EAX EDX, for MSCL8
also ECX, for BC5 also EBX), for ALL device driver calls. Without
this, some versions of free-EMM386 crash 386 optimized kernels.
See list archives 24 Jul 2005 and later.
* kernel/fatfs.c: don't leave fd open when failing DIR bit check
bug 1874 fix, do not consider setting DIR bit an error for
int 21/4301=set attribute, if really is a directory
Added some disabled debug messages, improved win3 support.
* kernel/init-mod.h: allow printf to work correctly when SS!=DS
* kernel/initdisk.h: insure bpb_huge is initialized (zeroed) [merge
from dev kernel], fake floppy ddt so hd access works correctly on
floppyless systems, based on suggested fix from Eric
* kernel/int2f.asm kernel.asm main.c: initial BIOS disk int 13h wrapper,
only passively detects and notes floppy disk change, more win3 support
* kernel/inthndlr.c: potential fix for spurious near fnodes!=0 msg with
shsufdrv and >2 near fnodes in use for bug 1879, use halt() wrapper,
more win3 support, some debug output changes.
* kernel/intwrap.asm: assembly glue to wrap misc interrupts with C
handler, cleaner push immediate from Arkady and note big bug to be
fixed, later moved to UNSTABLE branch (also affects makefile)
* kernel/proto.h: fix prototype, add FAR
allow printf to work correctly when SS!=DS
* mkfiles/generic.mak: undo a local only change, build list option
is proper way to do this. more win3 support, upx build option.
* mkfiles/watcom.mak: allow printf to work correctly when SS!=DS
* share/MAKEFILE, share/share.c, share/share.hlp: FreeDOS SHARE
(initial revision, later moved to UNSTABLE branch)
* sys/fdkrncfg.c: sync printf prototypes (uncorrupt executables)
* sys/sys.c: sync printf prototypes (uncorrupt executables)
better check for valid backup boot sector # and add option to skip
setting it. set backup boot sector on FAT32, add update option,
fix oemboot to work with msdos 7+
+ Changes Eric
* kernel/globals.h changed the os_release version message to be
"build 2036 cvs [version Sep 09 2005 compiled May 20 2006]" as
opposed to the old
"version 1.1.35 (Build 2035b-cvs) [Jul 23 2005 12:34:56]"
-> removed the "1.1.35" and compile TIME, added SOURCE DATE
* hdr/version.h removed some no longer used version defines
Changed build to "2036 cvs" (revision 36)
WARNING: Version should be "2037 test" (revision 37) for UNSTABLE!
* docs/history.txt: summarized log -d '>Feb 25 2005' kernel for this
WARNING: some of the described changes might be available only
in the UNSTABLE cvs branch (like SYS OEMBOOT, Win3, COM port
output for debug print, the SHARE tool, ...)
* kernel/execrh.asm: removed the "protect 386 registers" patch
again, a fixed version of free-EMM386 is available. This reduces
device driver call overhead in terms of CPU and stack usage.
Older EMM386 versions destroyed eax ebx ecx edi esi ebp fs gs,
now go_driver_entry in emm386.asm saves those registers. Only the
INIT was broken, but the execrh.asm patch protected ALL functions.
* share/share.c: changes to reduce TSR memory footprint
* kernel/inthndlr.c: added stub for function 0x6301/0x6302 Korean
Hangul keyboard input methods (0x63xx is DBCS support related)
* docs/intfns.txt: updated list of supported DOS functions. When
DOSLFN is loaded for int 21.71, only remaining unsupported int
21 functions are 21.4b05 (set execution state), int 21.63xx
(DBCS / Korean Hangul, see above) and int 21.5d01 - 21.5d05
(close files by name/computer/task, list open files, commit all)
* made linebreaks in all batch files use CR LF, as Unix line breaks
confuse command.com, leading to "early abort" or "endless loop"
+ Changes Lucho
* kernel/chario.c: Fix Ctrl-Z bug and retro-optimise a bit
* kernel/config.c, sys/sys.c: Fix BC 3.1 CONFIG.C compile and
SYS Abnormal Program Termination error for BC
* sys/sys.c: fix update option (compared too many characters)
+ Changes Eduardo
* kernel/config.c: fix Spanish (34, not duplicate of 33)
* kernel/inthndlr.c: add int 2f subfunc 122B and 122D
+ Changes Jason
* kernel/fatfs.c: extended DPBs and Set Extended Error function
* kernel/inthndlr.c, kernel/proto.h: same
+ Changes Arkady
* kernel/inthndlr.c: use direct access instead of reading from copy
made on stack
* kernel/intwrap.asm, kernel/kernel.asm: cleaner push immediate from
Arkady and note big bug to be fixed
+ Changes Michael
* share/share.c: bugfixes
+ Changes Japheth
* share/share.c: HXDOS related improvements
+ Changes Bart
* kernel/main.c: patch to make device=f:\foo.sys work. String printf
optimisation
2005 Feb 25 - Build 2035a 2005 Feb 25 - Build 2035a
-------- Jeremy Davis (jeremyd@computer.org) -------- Jeremy Davis (jeremyd@computer.org)
+ Changes Bart + Changes Bart
* int2f.asm: call_nls: DI register was not preserved (bug 1812) * int2f.asm: call_nls: DI register was not preserved (bug 1812)
+ Changes Arkady + Changes Arkady
* floppy.asm: fix epilog for FL_SETMEDIATYPE & FL_SETDISKTYPE * floppy.asm: fix epilog for FL_SETMEDIATYPE & FL_SETDISKTYPE
to use 'ret' instead of 'ret 8'; improve comments to use 'ret' instead of 'ret 8'; improve comments
@ -23,6 +157,7 @@
- added Int 2Fh/2Fh processing to set DOS version as per MS-DOS 4.0 - added Int 2Fh/2Fh processing to set DOS version as per MS-DOS 4.0
+ Changes Eduardo + Changes Eduardo
* inthndlr.c: added Int 2Fh/26-29h processing for NLSFUNC (with Lucho) * inthndlr.c: added Int 2Fh/26-29h processing for NLSFUNC (with Lucho)
2004 May 30 - Build 2035 2004 May 30 - Build 2035
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Changes Lucho + Tom + Changes Lucho + Tom
@ -72,7 +207,7 @@
+ Changes Bart + Changes Bart
* memmgr.c, proto.h, inthndlr.c: DosUmbLink no longer * memmgr.c, proto.h, inthndlr.c: DosUmbLink no longer
tries to merge free blocks. Also cleaned up a bit. tries to merge free blocks. Also cleaned up a bit.
* inthndlr.c: Fix int21/3302 (the swap was wrong, Lucho & Bart) * inthndlr.c: Fix int21/3302 (the swap was wrong, Lucho & Bart)
* config.c: Pointer-ise specificCountriesSupported accesses. * config.c: Pointer-ise specificCountriesSupported accesses.
* config.c: Reorganized GetBiosKey a bit -- inlining * config.c: Reorganized GetBiosKey a bit -- inlining
GetBiosTime saves a slight amount of code, converted timeout < 0 GetBiosTime saves a slight amount of code, converted timeout < 0
@ -144,9 +279,10 @@
Split int2f.asm functions, don't let them preserve as many Split int2f.asm functions, don't let them preserve as many
registers, use pascal calling convention for the "open" registers, use pascal calling convention for the "open"
(but really: multiplex) function. (but really: multiplex) function.
* dsk.c: floppy determination type optimization for format -- * dsk.c: floppy determination type optimization for format --
based on Arkady's suggestions a long time ago. based on Arkady's suggestions a long time ago.
+ a few other small optimizations (~70 bytes total). + a few other small optimizations (~70 bytes total).
2004 Apr 17 - Build 2034 2004 Apr 17 - Build 2034
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
* break.c, chario.c, inthndlr.c, proto.h: Improve ctrl-c/ctrl-break * break.c, chario.c, inthndlr.c, proto.h: Improve ctrl-c/ctrl-break
@ -154,7 +290,7 @@
- read_char_sft_dev handles ^C at a fairly high level. - read_char_sft_dev handles ^C at a fairly high level.
- ^C didn't work for int21/ah=3f. Corrected - ^C didn't work for int21/ah=3f. Corrected
- Do_DosIdle_loop still needs to wait even if it doesn't call the - Do_DosIdle_loop still needs to wait even if it doesn't call the
idle int idle int
- ^C needs to be echoed to STDOUT for low character functions - ^C needs to be echoed to STDOUT for low character functions
(ah<0xd) but to the device that is read from for handle (ah<0xd) but to the device that is read from for handle
functions. So we need to pass either the STDOUT sft or that functions. So we need to pass either the STDOUT sft or that
@ -179,7 +315,7 @@
* memmgr.c, proto.h: Make unnecessary far pointers near. * memmgr.c, proto.h: Make unnecessary far pointers near.
* device.h, dsk.c, initdisk.c: Move the ddt bitfields to * device.h, dsk.c, initdisk.c: Move the ddt bitfields to
df_descflags. Let SetLogDev call GetLogdev, eliminating common code. df_descflags. Let SetLogDev call GetLogdev, eliminating common code.
* init-mod.h, mscl8.mak: Some vars need to be DOSFAR; * init-mod.h, mscl8.mak: Some vars need to be DOSFAR;
init code is no longer tiny but small. init code is no longer tiny but small.
* segs.inc, inithma.c, main.c, asmsupt.asm, execrh.asm, init-mod.h, * segs.inc, inithma.c, main.c, asmsupt.asm, execrh.asm, init-mod.h,
kernel.asm, watcom.mak: kernel.asm, watcom.mak:
@ -208,7 +344,7 @@
* drivers/floppy.asm, dsk.c: Use pascal calling conventions * drivers/floppy.asm, dsk.c: Use pascal calling conventions
for floppy asm functions. for floppy asm functions.
* init-mod.h, intr.asm, proto.h, kernel.asm: Use the * init-mod.h, intr.asm, proto.h, kernel.asm: Use the
pascal calling convention for all intr.asm functions, and let pascal calling convention for all intr.asm functions, and let
them pop the stack (smaller code than using bx). Tell Watcom them pop the stack (smaller code than using bx). Tell Watcom
which registers are clobbered; save some more registers for which registers are clobbered; save some more registers for
intr() -- especially for intr() this helps. intr() -- especially for intr() this helps.
@ -239,7 +375,7 @@
* config.c, init-mod.h, main.c: Remove lpOldTop variable. * config.c, init-mod.h, main.c: Remove lpOldTop variable.
It is no longer necessary (has not been for some time) and the It is no longer necessary (has not been for some time) and the
assignment in config_init_buffers() was wrong (screwed up fnodes, assignment in config_init_buffers() was wrong (screwed up fnodes,
so that buffers overlapped fnodes...). so that buffers overlapped fnodes...).
* lol.h, config.c, fatfs.c, globals.h, kernel.asm, proto.h: * lol.h, config.c, fatfs.c, globals.h, kernel.asm, proto.h:
Made the main fnodes far so they can be in the HMA. Made the main fnodes far so they can be in the HMA.
Internally the kernel uses two near fnodes though, to save on Internally the kernel uses two near fnodes though, to save on
@ -248,7 +384,7 @@
the panic message that we never accidentally try to use three near the panic message that we never accidentally try to use three near
fnodes at the same time (two are used at the same time by rename, fnodes at the same time (two are used at the same time by rename,
commit, and merge_file_changes). This can be cleaned up later. commit, and merge_file_changes). This can be cleaned up later.
* fatfs.c: * fatfs.c:
- Merge three almost identical pieces of code used to allocate a new - Merge three almost identical pieces of code used to allocate a new
directory entry in creat, rename, and mkdir into alloc_find_free. directory entry in creat, rename, and mkdir into alloc_find_free.
- Merge find_fat_free() and extend() -- they were almost - Merge find_fat_free() and extend() -- they were almost
@ -258,7 +394,7 @@
even if it is currently a LONG_LAST_CLUSTER. even if it is currently a LONG_LAST_CLUSTER.
* fnode.h, fatdir.c, fatfs.c, lfnapi.c: * fnode.h, fatdir.c, fatfs.c, lfnapi.c:
- Eliminate f_back field. extend() now uses f_cluster instead of - Eliminate f_back field. extend() now uses f_cluster instead of
f_back, while map_cluster makes sure it's not set to f_back, while map_cluster makes sure it's not set to
LONG_LAST_CLUSTER (but to the cluster before it) when calling LONG_LAST_CLUSTER (but to the cluster before it) when calling
extend(). extend() and first_fat() now return the new cluster extend(). extend() and first_fat() now return the new cluster
number or LONG_LAST_CLUSTER, just like find_fat_free(). number or LONG_LAST_CLUSTER, just like find_fat_free().
@ -266,14 +402,14 @@
- Avoid bitfields for fnodes, using flags instead. Replaced droot - Avoid bitfields for fnodes, using flags instead. Replaced droot
field by checks for f_dirstart == 0. field by checks for f_dirstart == 0.
- Make f_diroff an entry offset so it can be 16bits. Enforce the - Make f_diroff an entry offset so it can be 16bits. Enforce the
65536 entry limit in dir_read(), except for root directories. 65536 entry limit in dir_read(), except for root directories.
For root directories it's checked against a different limit For root directories it's checked against a different limit
later. Saves 80 bytes or so + 2 bytes in every f_node. later. Saves 80 bytes or so + 2 bytes in every f_node.
* dsk.c, fatfs.c, memmgr.c: Remove add_far. adjust_far can do the job. * dsk.c, fatfs.c, memmgr.c: Remove add_far. adjust_far can do the job.
* chario.c: Echo input LF as CR-LF unless it's the first * chario.c: Echo input LF as CR-LF unless it's the first
character. Never store LF in the buffer. character. Never store LF in the buffer.
* memmgr.c, task.c: Eliminated long2para and avoided use of "long"s * memmgr.c, task.c: Eliminated long2para and avoided use of "long"s
in DosExeLoader, using paragraphs to measure size instead. Saves in DosExeLoader, using paragraphs to measure size instead. Saves
~130 bytes together. ~130 bytes together.
* prf.c, asmsupt.asm: Saved ~75 bytes in printf and by elimination of * prf.c, asmsupt.asm: Saved ~75 bytes in printf and by elimination of
fstrlen. There's only one call; inlining doesn't increase the size. fstrlen. There's only one call; inlining doesn't increase the size.
@ -297,10 +433,10 @@
* portab.h, dsk.c, main.c, newstuff.c: Define I386 and I186 more * portab.h, dsk.c, main.c, newstuff.c: Define I386 and I186 more
cleanly. Add (UWORD) casts to silence the compiler. Optimize cleanly. Add (UWORD) casts to silence the compiler. Optimize
(head*sector) to secs_per_cyl. Add BORLANDC to compiler list (head*sector) to secs_per_cyl. Add BORLANDC to compiler list
and simplify startup printf to one message. and simplify startup printf to one message.
#pragma enable_message(130) for Watcom C causes it to #pragma enable_message(130) for Watcom C causes it to
behave a little more like Borland in terms of warnings. behave a little more like Borland in terms of warnings.
* exeflat.c, fatfs.c, fattab.c, fcbfns.c, inthndlr.c, * exeflat.c, fatfs.c, fattab.c, fcbfns.c, inthndlr.c,
memmgr.c, task.c, blockio.c, fatdir.c: Added explicit memmgr.c, task.c, blockio.c, fatdir.c: Added explicit
(UWORD) type casts to avoid compiler warnings and sometimes save (UWORD) type casts to avoid compiler warnings and sometimes save
a few bytes too. Also changed the FcbParseFname return value: a few bytes too. Also changed the FcbParseFname return value:
@ -308,7 +444,7 @@
bytes to be added to SI. bytes to be added to SI.
+ Changes Lucho + Changes Lucho
* task.c: fixes the CHKDSK I: "Invalid drive specification" bug * task.c: fixes the CHKDSK I: "Invalid drive specification" bug
* mcb.h, inthndlr.c: save 33 bytes by eliminating a switch for * mcb.h, inthndlr.c: save 33 bytes by eliminating a switch for
memory/UMB access modes. memory/UMB access modes.
* talloc.c: talloc won't work with MSC (no sbrk or brk available) * talloc.c: talloc won't work with MSC (no sbrk or brk available)
+ fix + fix
@ -344,9 +480,10 @@
always the same so we just need to compare offsets. always the same so we just need to compare offsets.
AllocateHMASpace needs to check FP_SEG(firstbuf) for 0xffff, AllocateHMASpace needs to check FP_SEG(firstbuf) for 0xffff,
since the buffers may not live in the HMA. since the buffers may not live in the HMA.
* *.bat, config.b, kernel/makefile, generic.mak: .BAT file and * *.bat, config.b, kernel/makefile, generic.mak: .BAT file and
makefile cleanups. Also Lucho reported that nmake/nologo doesn't makefile cleanups. Also Lucho reported that nmake/nologo doesn't
always work in 4dos, but nmake /nologo works. always work in 4dos, but nmake /nologo works.
2004 Jan 31 - Build 2033 2004 Jan 31 - Build 2033
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Changes Bart + Changes Bart
@ -375,11 +512,11 @@
* hdr/sft.h, dosfns.c: Adapted from Chris Rodie's patch * hdr/sft.h, dosfns.c: Adapted from Chris Rodie's patch
(bugzilla #1729): "open" and "close" should call the open/close (bugzilla #1729): "open" and "close" should call the open/close
functions for devices using a device request when appropriate. functions for devices using a device request when appropriate.
* hdr/fat.h, fatdir.c, fatfs.c, fattab.c, prf.c, proto.h: * hdr/fat.h, fatdir.c, fatfs.c, fattab.c, prf.c, proto.h:
+ FAT32 kernels should ignore the upper word of the cluster + FAT32 kernels should ignore the upper word of the cluster
number for FAT16 partitions (just like FAT16 kernels do) number for FAT16 partitions (just like FAT16 kernels do)
+ added extra checks to make sure that invalid FAT entries are + added extra checks to make sure that invalid FAT entries are
never followed never followed
+ print a message in case of FAT corruption + print a message in case of FAT corruption
+ some small optimizations and header cleanups (some suggested by + some small optimizations and header cleanups (some suggested by
Arkady) Arkady)
@ -433,7 +570,7 @@
initialize serial ports and retry serial reads on timeout. initialize serial ports and retry serial reads on timeout.
* sys.c, boot.asm, boot32.asm, boot32lb.asm: * sys.c, boot.asm, boot32.asm, boot32lb.asm:
SYS 3.0 changes: added /L parameter to SYS to be able to change SYS 3.0 changes: added /L parameter to SYS to be able to change
the kernel boot segment + a few boot sector changes to get the the kernel boot segment + a few boot sector changes to get the
pointer at the same magic place for all boot sectors. pointer at the same magic place for all boot sectors.
* makefile: clean up *.lnk files for "clean" and "clobber". * makefile: clean up *.lnk files for "clean" and "clobber".
* dsk.c: the DJ mechanism needs to affect MEM 0050h:0004h - MS-DOS * dsk.c: the DJ mechanism needs to affect MEM 0050h:0004h - MS-DOS
@ -442,6 +579,7 @@
CHECK MS-DOS VERSION 7; necessary for SpinRite (Steve Gibson) CHECK MS-DOS VERSION 7; necessary for SpinRite (Steve Gibson)
* inthndlr.c: implement int2f/ax=1211 NORMALIZE ASCIZ FILENAME * inthndlr.c: implement int2f/ax=1211 NORMALIZE ASCIZ FILENAME
* config.c, init-mod.h, main.c: Added SET support to config.sys * config.c, init-mod.h, main.c: Added SET support to config.sys
2003 Sep 24 - Build 2032a 2003 Sep 24 - Build 2032a
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Changes Bart + Changes Bart
@ -449,12 +587,13 @@
handlers handlers
* fix critical error callers to set the critical error code * fix critical error callers to set the critical error code
immediately before calling the handler (in case they call immediately before calling the handler (in case they call
DOS-59); don't set the critical error in inthndlr.c if DOS-59); don't set the critical error in inthndlr.c if
something else already did. Return with an errorcode if something else already did. Return with an errorcode if
"truename" and "read"/"write" encountered a critical error. "truename" and "read"/"write" encountered a critical error.
* sys.c: add /k kernname.sys option to and straighten out SYS option * sys.c: add /k kernname.sys option to and straighten out SYS option
processing; remove the metakern magic. processing; remove the metakern magic.
* config.c: ignore the segment part for multi-part device drivers * config.c: ignore the segment part for multi-part device drivers
2003 Sep 21 - Build 2032 2003 Sep 21 - Build 2032
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Changes Rune Espeseth <re@icd.no> (modified by Bart) + Changes Rune Espeseth <re@icd.no> (modified by Bart)
@ -502,14 +641,14 @@
* procsupt.asm, proto.h, task.c: Don't disable a20 for * procsupt.asm, proto.h, task.c: Don't disable a20 for
"exit" int21/ah=4c "exit" int21/ah=4c
+ Changes Lucho, Tom, Eric + Changes Lucho, Tom, Eric
* boot.asm, boot32.asm, boot32lb.asm, makefiles, sys.c: * boot.asm, boot32.asm, boot32lb.asm, makefiles, sys.c:
* boot.asm modified to support non-512 byte sectors * boot.asm modified to support non-512 byte sectors
(e.g. 1.2 MB NEC diskettes) (e.g. 1.2 MB NEC diskettes)
* 512 byte sector size check removed (although Eric's boot32ea.asm * 512 byte sector size check removed (although Eric's boot32ea.asm
does require 512-byte sectors, all LBA FAT32 volumes have does require 512-byte sectors, all LBA FAT32 volumes have
512-byte sectors anyway). 512-byte sectors anyway).
* boot.asm cleaned up and modified to support Metakern * boot.asm cleaned up and modified to support Metakern
bsDriveNumber updated by SYS even #ifndef STORE_BOOT_INFO bsDriveNumber updated by SYS even #ifndef STORE_BOOT_INFO
* (nothing in common) * (nothing in common)
* SYS Now supports and includes the following new boot sectors: * SYS Now supports and includes the following new boot sectors:
1) the combined CHS+LBA FAT12/FAT16 boot sector by Tom Ehlert(29 July) 1) the combined CHS+LBA FAT12/FAT16 boot sector by Tom Ehlert(29 July)
@ -520,11 +659,11 @@
* dump_sector() showed ASCII debug printout for the old sector * dump_sector() showed ASCII debug printout for the old sector
only - fixed. only - fixed.
* Put a boot sector only if sector size= 512 (may it not be so in * Put a boot sector only if sector size= 512 (may it not be so in
Japan?!). If non-512 byte sectors encountered, report to the Japan?!). If non-512 byte sectors encountered, report to the
fd-kernel mailing list. fd-kernel mailing list.
* Now puts boot sector before copying kernel/shell so it works in * Now puts boot sector before copying kernel/shell so it works in
WinNT now. WinNT now.
* check_space() now implemented at last (required significant * check_space() now implemented at last (required significant
modifications) modifications)
* New (FAT type) detection method according to a MS White Paper. * New (FAT type) detection method according to a MS White Paper.
* Now BOOTONLY works even without preceding boot sector image file name. * Now BOOTONLY works even without preceding boot sector image file name.
@ -532,8 +671,8 @@
* Bart: some cleanups to the above; replaced 386 code for CHS FAT32 * Bart: some cleanups to the above; replaced 386 code for CHS FAT32
by 8088 code. Use boot32lb.asm instead of boot32ea.asm by 8088 code. Use boot32lb.asm instead of boot32ea.asm
+ Changes Bart + Changes Bart
* portab.h, process.h, init-mod.h, inithma.c, kernel.asm, main.c, task.c: * portab.h, process.h, init-mod.h, inithma.c, kernel.asm, main.c, task.c:
* add support for the far jmp at "int 30" (0000:00c0) * add support for the far jmp at "int 30" (0000:00c0)
* mirror it for the HMA (ffff:00d0) * mirror it for the HMA (ffff:00d0)
* put all DOS int handler (and the CPM entry jumped to from * put all DOS int handler (and the CPM entry jumped to from
int30) jumpers in the "CONST" portion of DGROUP (instead of int30) jumpers in the "CONST" portion of DGROUP (instead of
@ -551,9 +690,9 @@
C; some slash preparations to allow cross-building on Linux C; some slash preparations to allow cross-building on Linux
* exeflat.c, patchobj.c: Fix warnings reported by Turbo C * exeflat.c, patchobj.c: Fix warnings reported by Turbo C
* break.c, chario.c, dosfns.c, globals.h, inthndlr.c, * break.c, chario.c, dosfns.c, globals.h, inthndlr.c,
proto.h, systime.c: (with a little help from Arkady) proto.h, systime.c: (with a little help from Arkady)
Simplifications and cleanups. Simplifications and cleanups.
Pass a near pointer to the far pointer that points to the device Pass a near pointer to the far pointer that points to the device
instead of an SFT index (in general). instead of an SFT index (in general).
Make cooked_write much faster by only testing for input every 32 Make cooked_write much faster by only testing for input every 32
characters. No longer test for ctl_s on syscon if writing to characters. No longer test for ctl_s on syscon if writing to
@ -577,6 +716,7 @@
* kernel.asm: Use "local" (instead of "global") disable/enable * kernel.asm: Use "local" (instead of "global") disable/enable
A20. This solves the problems with NIOS. A20. This solves the problems with NIOS.
* asmsupt.asm, misc.c, proto.h, strings.c: Remove (unused) strncpy. * asmsupt.asm, misc.c, proto.h, strings.c: Remove (unused) strncpy.
2003 Jul 19 - Build 2031 2003 Jul 19 - Build 2031
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Changes Luchezar Georgiev + Changes Luchezar Georgiev
@ -591,7 +731,7 @@
* correct parameter order in inthndlr.c, chario.c * correct parameter order in inthndlr.c, chario.c
* INSTALLHIGH correction. * INSTALLHIGH correction.
+ Changes Tom + Changes Tom
* Fix a problem with the 'BootFromHarddiskIfNoKeyHit' option. * Fix a problem with the 'BootFromHarddiskIfNoKeyHit' option.
that occurred with some Compaq and Fujitsu/Siemens highend equipment. that occurred with some Compaq and Fujitsu/Siemens highend equipment.
+ Changes Bernd Blaauw + Changes Bernd Blaauw
* config.txt updates * config.txt updates
@ -603,7 +743,7 @@
maximum of 20. maximum of 20.
* Make "unable to disable A20" message #ifdef DEBUG only. * Make "unable to disable A20" message #ifdef DEBUG only.
* config.c,main.c: Small size optimizations (some proposed by * config.c,main.c: Small size optimizations (some proposed by
Arkady Belousov) Arkady Belousov)
* asmsupt.asm: Removed unnecessary jcxz's (Arkady) * asmsupt.asm: Removed unnecessary jcxz's (Arkady)
* intr.asm: intr() cleanup and small optimizations (Arkady) * intr.asm: intr() cleanup and small optimizations (Arkady)
* Use PASCAL calling convention by default for Turbo compilers. * Use PASCAL calling convention by default for Turbo compilers.
@ -611,6 +751,7 @@
* SFT init cleanup (+3 files need to be low) * SFT init cleanup (+3 files need to be low)
* config.c, main.c: Fix bug in block device driver init of * config.c, main.c: Fix bug in block device driver init of
DPBs (bug #1969, TDSK problem) DPBs (bug #1969, TDSK problem)
2003 Jun 18 - Build 2030 2003 Jun 18 - Build 2030
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Changes Tom + Changes Tom
@ -635,7 +776,7 @@
+ Changes Luchezar Georgiev + Changes Luchezar Georgiev
* add Bulgarian country structure data * add Bulgarian country structure data
+ Changes Bart + Changes Bart
* flip some slashes in drivers/*.asm * flip some slashes in drivers/*.asm
(enables cross-assembly on Linux) (enables cross-assembly on Linux)
* remove superfluous printf("\n") in patchobj.c * remove superfluous printf("\n") in patchobj.c
* combine the INIT class with the CODE class (classes can span * combine the INIT class with the CODE class (classes can span
@ -665,6 +806,7 @@
* Fix bug in DeleteBlockInBufferCache: needs to make the block * Fix bug in DeleteBlockInBufferCache: needs to make the block
invalid, not flush it, if we're writing (bug #1635). invalid, not flush it, if we're writing (bug #1635).
* added switches=/k/n/f support to the config.sys parser. * added switches=/k/n/f support to the config.sys parser.
2003 Mar 14 - Build 2029 2003 Mar 14 - Build 2029
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Changes Tom + Changes Tom
@ -684,6 +826,7 @@
* eliminated the "f_highwater" fnode field. * eliminated the "f_highwater" fnode field.
* reintroduced HMA_TEXT segment and adjust segments in libm.lib * reintroduced HMA_TEXT segment and adjust segments in libm.lib
to solve problems with Borland compilers. to solve problems with Borland compilers.
2002 Dec 9 - Build 2028 2002 Dec 9 - Build 2028
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Changes Tom + Changes Tom
@ -708,10 +851,11 @@
* the BUFFERS structure is now the same as in MSDOS 5+ and uses * the BUFFERS structure is now the same as in MSDOS 5+ and uses
a circular double-linked list using near pointers. a circular double-linked list using near pointers.
* move all old RCS log messages into one seperate file * move all old RCS log messages into one seperate file
* divide the fnode f_cluster_offset field by the size of a cluster: * divide the fnode f_cluster_offset field by the size of a cluster:
this gives a more efficient map_cluster(). this gives a more efficient map_cluster().
* point the CharMapSrvc pointer to the DOS DS for AARD compliance. * point the CharMapSrvc pointer to the DOS DS for AARD compliance.
* nls.c: set CX to cooperate with load_unf.exe * nls.c: set CX to cooperate with load_unf.exe
2002 Nov 9 - Build 2027 2002 Nov 9 - Build 2027
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Changes Tom + Changes Tom
@ -727,18 +871,19 @@
* Hopefully innocent hack to deal with NDN in ioctl.c (ignore upper bits * Hopefully innocent hack to deal with NDN in ioctl.c (ignore upper bits
of the drive number) of the drive number)
* use subst bit 15 for int21/ax=4409(IOCTL-CHECK IF BLOCK DEVICE REMOTE). * use subst bit 15 for int21/ax=4409(IOCTL-CHECK IF BLOCK DEVICE REMOTE).
2002 Oct 27 - Build 2027rc 2002 Oct 27 - Build 2027rc
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Changes Bart + Changes Bart
* reorganized chario.c, got F1-F6, Ins, Del, etc. working * reorganized chario.c, got F1-F6, Ins, Del, etc. working
* fixed bug in extended open * fixed bug in extended open
* fixed bug in memory manager (realloc should try to defragment; * fixed bug in memory manager (realloc should try to defragment;
UMB fixes) UMB fixes)
* consistently pass sft_idx around for all SFT functions (instead of * consistently pass sft_idx around for all SFT functions (instead of
the far pointer) the far pointer)
* lpUserStack is gone :) * lpUserStack is gone :)
* Idle interrupt: now uses disk i/o stack instead of error stack if it * Idle interrupt: now uses disk i/o stack instead of error stack if it
re-enters DOS; can not be called from int21/ah=3f. It also checks re-enters DOS; can not be called from int21/ah=3f. It also checks
InDos now (as documented in "undocumented dos"). InDos now (as documented in "undocumented dos").
* int21/ah=59 should use the disk i/o stack, not the character stack. * int21/ah=59 should use the disk i/o stack, not the character stack.
* get_cds: a uniform way to get the CDS for drive X which can do error * get_cds: a uniform way to get the CDS for drive X which can do error
@ -753,7 +898,7 @@
* support int2f/ax=1213 (uppercase character) (ASCII only for now). * support int2f/ax=1213 (uppercase character) (ASCII only for now).
* fix for top of memory parameter to device driver - fixes problem * fix for top of memory parameter to device driver - fixes problem
with DRDOS emm386 with DRDOS emm386
* eliminated printf for non-init code -- use put_unsigned and * eliminated printf for non-init code -- use put_unsigned and
put_string instead put_string instead
* better MK_FP for Turbo C++ 1.01 and later * better MK_FP for Turbo C++ 1.01 and later
* PSP related task.c cleanups * PSP related task.c cleanups
@ -763,6 +908,7 @@
* Fixed make temp file * Fixed make temp file
* fix bug in DosFindNext * fix bug in DosFindNext
* misc makefile fixes * misc makefile fixes
2002 Aug 3 - Build 2027test 2002 Aug 3 - Build 2027test
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Changes Tom + Changes Tom
@ -819,6 +965,7 @@
merge as much as possible from DosExeLoader and DosComLoader merge as much as possible from DosExeLoader and DosComLoader
(from Tom:) eliminate some structures in low memory (from Tom:) eliminate some structures in low memory
* main.c: slightly cleanup "SHELL=" line parsing. * main.c: slightly cleanup "SHELL=" line parsing.
2002 May 9 - Build 2026b 2002 May 9 - Build 2026b
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Changes Tom + Changes Tom
@ -848,6 +995,7 @@
* fixed SYS _dos_getdrive for non-Borland compilers * fixed SYS _dos_getdrive for non-Borland compilers
+ Changes Tom and Bart + Changes Tom and Bart
* cleaned up fatfs.c, fattab.c, sysclk.c (CLOCK$ driver), systime.c * cleaned up fatfs.c, fattab.c, sysclk.c (CLOCK$ driver), systime.c
2002 Feb 17 - Build 2026a 2002 Feb 17 - Build 2026a
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Changes Martin + Changes Martin
@ -864,6 +1012,7 @@
* some dosfns.c and fcbfns.c clean-ups * some dosfns.c and fcbfns.c clean-ups
* booting from hard disk now always sets the default drive to C:, * booting from hard disk now always sets the default drive to C:,
not D: if booting from the second physical hard disk, etc (bug #1062). not D: if booting from the second physical hard disk, etc (bug #1062).
2002 Feb 9 - Build 2026 2002 Feb 9 - Build 2026
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Changes Tom + Changes Tom
@ -876,11 +1025,12 @@
available, as documented in RBIL available, as documented in RBIL
* removed all direct hooks from init_text to hma_text; duplicated * removed all direct hooks from init_text to hma_text; duplicated
the remaining functions (memset, memcpy and friends). the remaining functions (memset, memcpy and friends).
* bumped up default DOS version of FAT32 enabled kernel to 7.10 * bumped up default DOS version of FAT32 enabled kernel to 7.10
2002 Feb 3 - Build 2026test 2002 Feb 3 - Build 2026test
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Changes Tom + Changes Tom
* FCB clean-ups and fixes (bug in FCB Random IO, * FCB clean-ups and fixes (bug in FCB Random IO,
CYRUS CHESS, bug #1014) CYRUS CHESS, bug #1014)
* initial config.sys menus (see config.txt) * initial config.sys menus (see config.txt)
* execrh.asm: construct 'interrupt' address after strategy to avoid * execrh.asm: construct 'interrupt' address after strategy to avoid
@ -923,6 +1073,7 @@
* UMB variable clean-up * UMB variable clean-up
* use of "const" for constant global variables * use of "const" for constant global variables
* reduced size of Watcom-compiled SYS binary * reduced size of Watcom-compiled SYS binary
2001 Nov 18 - Build 2025c 2001 Nov 18 - Build 2025c
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Changes Bart + Changes Bart
@ -931,6 +1082,7 @@
* removed some duplicate documents * removed some duplicate documents
+ Changes Victor & Bart + Changes Victor & Bart
* fixed sys.c fat32 detection bug (offset 0x10, not 0x2c) * fixed sys.c fat32 detection bug (offset 0x10, not 0x2c)
2001 Nov 17 - Build 2025b 2001 Nov 17 - Build 2025b
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Changes Tom + Changes Tom
@ -944,7 +1096,7 @@
Also fnp->f_offset==0 is not a special case for blockread Also fnp->f_offset==0 is not a special case for blockread
(neither should it be for write - but that'll be for later) (neither should it be for write - but that'll be for later)
For both cases it's perfectly legal to do a seek first. For both cases it's perfectly legal to do a seek first.
* fix writeblock not setting highwater to offset when doing a * fix writeblock not setting highwater to offset when doing a
truncate (count == 0) truncate (count == 0)
* hopefully now really fix the floppy change problem - * hopefully now really fix the floppy change problem -
dsk.c: getbpb() should query changeline BEFORE reading the BPB. dsk.c: getbpb() should query changeline BEFORE reading the BPB.
@ -957,6 +1109,7 @@
removed the $ so no new entries will be added in files. removed the $ so no new entries will be added in files.
indenting will be next - other fixes will be buried in diffs if indenting will be next - other fixes will be buried in diffs if
I do that now. I do that now.
2001 Nov 12 - Build 2025a 2001 Nov 12 - Build 2025a
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Changes Tom + Changes Tom
@ -971,12 +1124,12 @@
* let int 0 (divide by zero) and int 6 (invalid opcode) print a * let int 0 (divide by zero) and int 6 (invalid opcode) print a
stack trace to aid in debugging stack trace to aid in debugging
* fixed floppy drive detection for XT's. * fixed floppy drive detection for XT's.
* fixed bug in int21/ah=0x32 and friends - we should flush data before the * fixed bug in int21/ah=0x32 and friends - we should flush data before the
forced media_check forced media_check
* Use CHS addressing if possible on partitions with the relevant ID, * Use CHS addressing if possible on partitions with the relevant ID,
you can overide this using the new FORCELBA and GLOBALENABLELBASUPPORT you can overide this using the new FORCELBA and GLOBALENABLELBASUPPORT
sys config options. sys config options.
* Always use BIOS values for translating LBA to CHS for fixed disks - * Always use BIOS values for translating LBA to CHS for fixed disks -
ignoring the boot sector values. For floppies the boot sector is used. ignoring the boot sector values. For floppies the boot sector is used.
* fixed "truename hello." to remove the trailing dot. * fixed "truename hello." to remove the trailing dot.
* added options to SYS to write to a boot sector image file * added options to SYS to write to a boot sector image file
@ -988,18 +1141,19 @@
+ Changes Victor + Changes Victor
* cleaned up map_cluster and dir_read (bug fixed by Bart) * cleaned up map_cluster and dir_read (bug fixed by Bart)
* updated LFN API (in development, not used yet) * updated LFN API (in development, not used yet)
2001 Nov 4 - Build 2025a (test) 2001 Nov 4 - Build 2025a (test)
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Changes tom + Changes tom
* config.sys processing: placing ? on the left side of '=' like * config.sys processing: placing ? on the left side of '=' like
?device= or device ?= ?device= or device ?=
asks for this single line asks for this single line
fill the available HMA with buffers fill the available HMA with buffers
* added kernel configuration options to sys.com, small area at 60:xx * added kernel configuration options to sys.com, small area at 60:xx
(in cooperation with Jeremy) (in cooperation with Jeremy)
* readblock optimized to read as many data as possible in one * readblock optimized to read as many data as possible in one
int13 request - great speedups for large reads int13 request - great speedups for large reads
* some more SDA variables need to be updated for the network * some more SDA variables need to be updated for the network
redirector (the sft index) redirector (the sft index)
* reduce stack usage in task.c, fattab.c, ioctl.c, execrh.asm, inthndlr.c * reduce stack usage in task.c, fattab.c, ioctl.c, execrh.asm, inthndlr.c
* protect high part of 32-bit registers (stacks.inc) * protect high part of 32-bit registers (stacks.inc)
@ -1012,12 +1166,12 @@
* various space saving changes, dir_init_fnode * various space saving changes, dir_init_fnode
+ Changes Bart, Tom + Changes Bart, Tom
* many makefile changes to enable compilation with different * many makefile changes to enable compilation with different
compilers (MS, Watcom, Borland). Watcom compiles but the result compilers (MS, Watcom, Borland). Watcom compiles but the result
does not run yet. does not run yet.
+ Changes Bart + Changes Bart
* extended the double-byte lead table from int21/ah=63 to 4 zeros * extended the double-byte lead table from int21/ah=63 to 4 zeros
to make Watcom happy to make Watcom happy
* support for IOCTL AX=440D, CL=40,41,42,61,62 for * support for IOCTL AX=440D, CL=40,41,42,61,62 for
read/write/format track - this enables R. Nordier format to work read/write/format track - this enables R. Nordier format to work
* default floppy type depends on the drive * default floppy type depends on the drive
* rewrote many parts of int2f.asm to have a cleaner remote_xxx * rewrote many parts of int2f.asm to have a cleaner remote_xxx
@ -1038,6 +1192,7 @@
FFFF, FAT12/FAT16/FAT32). FFFF, FAT12/FAT16/FAT32).
* more fatfs/fatdir clean-ups - now unnecessary fields dfull, * more fatfs/fatdir clean-ups - now unnecessary fields dfull,
dremote and dsize removed from fnodes. dremote and dsize removed from fnodes.
2001 Sep 24 - Build 2025 2001 Sep 24 - Build 2025
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Fixes Victor + Fixes Victor
@ -1059,6 +1214,7 @@
path (of current drive or given drive) and if not there path (of current drive or given drive) and if not there
uses root (but only if source & destination drive are different). uses root (but only if source & destination drive are different).
Fix printf to include count(ret) if copy can't write all requested bytes Fix printf to include count(ret) if copy can't write all requested bytes
2001 Sep 22 - Build 2025 (test) 2001 Sep 22 - Build 2025 (test)
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Added Victor + Added Victor
@ -1079,23 +1235,25 @@
get most of the MS LAN network client working get most of the MS LAN network client working
+ fixes Bart + fixes Bart
* some FAT32 issues * some FAT32 issues
* Dos{Open,Creat}Sft drive letter issues * Dos{Open,Creat}Sft drive letter issues
for CDROMs (thanks Jeremy) for CDROMs (thanks Jeremy)
* shrink_file should ALWAYS fail for directories, also with * shrink_file should ALWAYS fail for directories, also with
dos_set_fattr (thanks Jeremy) dos_set_fattr (thanks Jeremy)
* only give warnings for slightly suspect partitions at boot * only give warnings for slightly suspect partitions at boot
time where CHS does not match LBA. time where CHS does not match LBA.
* re-enabled copyright notice. * re-enabled copyright notice.
* some dsk.c clean-ups to avoid DIR giving the same contents for * some dsk.c clean-ups to avoid DIR giving the same contents for
a different floppy (get serial number/volume label did reset the a different floppy (get serial number/volume label did reset the
changed state). changed state).
* attribute should be 8-bit fix * attribute should be 8-bit fix
2001 Aug 19 - Build 2024/h 2001 Aug 19 - Build 2024/h
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ fixes Bart + fixes Bart
* truename fixes (#580) * truename fixes (#580)
* free space fixes (#249) * free space fixes (#249)
* Ctrl-C/Ctrl-Break fix * Ctrl-C/Ctrl-Break fix
2001 Aug 19 - Build 2024/g 2001 Aug 19 - Build 2024/g
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ fixes Bart + fixes Bart
@ -1104,11 +1262,12 @@
* findfirst/next fixes * findfirst/next fixes
* added a bit more int2f/ax=12xx functionality * added a bit more int2f/ax=12xx functionality
* buffers trick to fool MFT so that it does not crash * buffers trick to fool MFT so that it does not crash
* Ctrl-S (pause) and Ctrl-P (printer echo) now work. * Ctrl-S (pause) and Ctrl-P (printer echo) now work.
Ctrl-Q is ignored by DOS. Ctrl-Q is ignored by DOS.
* FCB "closing twice is legal" fix. Necessary for visicalc. * FCB "closing twice is legal" fix. Necessary for visicalc.
+ fixes Bart + Tom + fixes Bart + Tom
* fixed shsucdx /u unloading problem * fixed shsucdx /u unloading problem
2001 Jul 28 - Build 2024/f 2001 Jul 28 - Build 2024/f
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ fixes Bart + fixes Bart
@ -1146,7 +1305,7 @@
* ioctl.c fix for INT21/AX=4400 + sft driveno field * ioctl.c fix for INT21/AX=4400 + sft driveno field
* various small fcb fixes * various small fcb fixes
* put file position number and pointers to Pri/SecPathName into * put file position number and pointers to Pri/SecPathName into
SDA. Now MSCDEX works as redirector (but still not always :-() SDA. Now MSCDEX works as redirector (but still not always :-()
* redirector set attribute fixes + various cleanups * redirector set attribute fixes + various cleanups
* truename+attr+ioctl fix => DJGPP libc compiles cleanly! * truename+attr+ioctl fix => DJGPP libc compiles cleanly!
+ changes Bart + changes Bart
@ -1170,6 +1329,7 @@
* enable use of multiple UMBs * enable use of multiple UMBs
* fixed task.c 'LOADHIGH executables': minAlloc == maxAlloc = 0 * fixed task.c 'LOADHIGH executables': minAlloc == maxAlloc = 0
and an fixed overwriting the MCB and an fixed overwriting the MCB
2001 Jul 9 - Build 2024/d 2001 Jul 9 - Build 2024/d
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ fixes Bart: + fixes Bart:
@ -1188,10 +1348,10 @@
* some more diagnostics (123) to aid finding bugs when booting from * some more diagnostics (123) to aid finding bugs when booting from
a hard disk. a hard disk.
from 2001 jun 23 : KE2024BP from 2001 jun 23 : KE2024BP
+ fixes Tom: + fixes Tom:
* FAT FS: would not expand files correctly, if lseek() * FAT FS: would not expand files correctly, if lseek()
beyond EOF (see also relnotes.txt) beyond EOF (see also relnotes.txt)
* FcbFindFirst/Next made compatible with MSDOS CHKDSK * FcbFindFirst/Next made compatible with MSDOS CHKDSK
* saved even more bytes (now 24 buffers in HMA :-) * saved even more bytes (now 24 buffers in HMA :-)
@ -1201,17 +1361,17 @@ from KE2024BM
* a mechanism, to regain near data (like miarray, bpbarray,...) * a mechanism, to regain near data (like miarray, bpbarray,...)
this is somewhat braindamaging, moving the kernel up and down, this is somewhat braindamaging, moving the kernel up and down,
working with different CS/DS combinations, but somehow working, :-) working with different CS/DS combinations, but somehow working, :-)
miarray allocated, using this mechanism. miarray allocated, using this mechanism.
* made f_nodes near (2 K saving in HMA_TEXT) * made f_nodes near (2 K saving in HMA_TEXT)
this technic might as well applied to CDs, DPB, sft's, ... this technic might as well applied to CDs, DPB, sft's, ...
this even saves a few bytes on stack :-) this even saves a few bytes on stack :-)
from 2001 May 21: Build2024L from 2001 May 21: Build2024L
+ Fixes Tom: + Fixes Tom:
* Clustersize 64K made working (one small ULONG was missing) * Clustersize 64K made working (one small ULONG was missing)
* check for drive existence for INT25/26 * check for drive existence for INT25/26
* NDEV = max number of possible harddisk partitions bumped * NDEV = max number of possible harddisk partitions bumped
from 8 to 20 (my testconfiguration has 13) from 8 to 20 (my testconfiguration has 13)
+ Added tom: + Added tom:
* LBA support for disks > 8GB (with the help from Brian * LBA support for disks > 8GB (with the help from Brian
@ -1227,7 +1387,7 @@ from 2001 May 21: Build2024L
* saved even more bytes (now 20 buffers in HMA :-) * saved even more bytes (now 20 buffers in HMA :-)
* some issues with pathnames around PARSE_MAX removed * some issues with pathnames around PARSE_MAX removed
* blanks in filenames weren't proper handled * blanks in filenames weren't proper handled
* there was (at rare circumstances) a buffer overflow * there was (at rare circumstances) a buffer overflow
while config.sys parsing. while config.sys parsing.
+ Fixes Bart: + Fixes Bart:
* INT 21 0A - Dos Buffered Input reworked * INT 21 0A - Dos Buffered Input reworked
@ -1251,7 +1411,7 @@ from 2001 May 21: Build2024L
* added F5/F8 stepping through config.sys; default SHELL=COMMAND.COM /P/E:256 * added F5/F8 stepping through config.sys; default SHELL=COMMAND.COM /P/E:256
Use ESC to stop single stepping, F5 to skip remaining config.sys/autoexec.bat. Use ESC to stop single stepping, F5 to skip remaining config.sys/autoexec.bat.
* new sys: uses INT25/26 instead of the low level INT13 related kernel code from * new sys: uses INT25/26 instead of the low level INT13 related kernel code from
floppy.asm (see also comments in sys.c) + a few fixes (also boot.asm related) floppy.asm (see also comments in sys.c) + a few fixes (also boot.asm related)
from Bart. from Bart.
* Hopefully fixed DateTime Changed + ATTRIB |= ARCHIVE bug. * Hopefully fixed DateTime Changed + ATTRIB |= ARCHIVE bug.
* cleaned up dsk.c and saved more bytes. * cleaned up dsk.c and saved more bytes.
@ -1259,7 +1419,8 @@ from 2001 May 21: Build2024L
* Default lastdrive should be 5 (E) not 6 (F). * Default lastdrive should be 5 (E) not 6 (F).
* fixed not ignoring whitespace after '=' in config.sys * fixed not ignoring whitespace after '=' in config.sys
* noted INT21/AX=3800 bug for getting the country. Put in a workaround for now. * noted INT21/AX=3800 bug for getting the country. Put in a workaround for now.
2001 Apr 21 - Build 2024
2001 Apr 21 - Build 2024
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Fixes Tom: + Fixes Tom:
* fixed a missing close_dir in fatfs.c. * fixed a missing close_dir in fatfs.c.
@ -1268,7 +1429,7 @@ from 2001 May 21: Build2024L
Bart: Bart:
* fixed "copy con" and INT21/AH=0B. The SFT_FEOF flag, * fixed "copy con" and INT21/AH=0B. The SFT_FEOF flag,
strangely enough, if true indicates NOT end-of-file. strangely enough, if true indicates NOT end-of-file.
* VDISK signature required in HMA (bug 701 dborca@usa.net). * VDISK signature required in HMA (bug 701 dborca@usa.net).
Alan Kamrowski Alan Kamrowski
* fixed intr: it wasn't putting the flags back correctly * fixed intr: it wasn't putting the flags back correctly
and swapped si and bp. and swapped si and bp.
@ -1277,14 +1438,15 @@ from 2001 May 21: Build2024L
This frees up a few more kb. This frees up a few more kb.
* This required some header reorganisation: * This required some header reorganisation:
init-mod.h is for the init modules, globals.h for all the init-mod.h is for the init modules, globals.h for all the
others. others.
* Eliminated the master environment, as it is normally * Eliminated the master environment, as it is normally
managed by command.com, not by the kernel. This saves 512 managed by command.com, not by the kernel. This saves 512
bytes and command.com now copies a default environment from bytes and command.com now copies a default environment from
0068:0000; this is in the DOS_PSP at 60:0. 0068:0000; this is in the DOS_PSP at 60:0.
* Moved low memory code segment to 70:0. * Moved low memory code segment to 70:0.
+ Add Tom: + Add Tom:
* Default interrupt 6 handler (invalid opcode). * Default interrupt 6 handler (invalid opcode).
2001 Apr 16 - Build 2024 2001 Apr 16 - Build 2024
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Fixes * Use turboc.cfg to avoid long command lines; edit ALLCFLAGS + Fixes * Use turboc.cfg to avoid long command lines; edit ALLCFLAGS
@ -1293,6 +1455,7 @@ from 2001 May 21: Build2024L
* Fixed loading .exe's in UMBs if not enough space available. * Fixed loading .exe's in UMBs if not enough space available.
* Some device drivers require \r\n at the end of their * Some device drivers require \r\n at the end of their
parameter line. parameter line.
2001 Apr 16 - Build 2023 2001 Apr 16 - Build 2023
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Fixes * Thanks to Martin Stromberg for pointing some bugs out: + Fixes * Thanks to Martin Stromberg for pointing some bugs out:
@ -1302,35 +1465,36 @@ from 2001 May 21: Build2024L
if they do not take up memory. if they do not take up memory.
+ Add * added printf "%S" and "%Fs" to print far strings. + Add * added printf "%S" and "%Fs" to print far strings.
* enabled and cleaned up INT21/AH=6C (extended open/create). * enabled and cleaned up INT21/AH=6C (extended open/create).
2001 Apr 15 - Build 2023 2001 Apr 15 - Build 2023
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Fixes Tom: + Fixes Tom:
* apisupt.asm not necessary anymore. * apisupt.asm not necessary anymore.
* fix warnings. * fix warnings.
* Don't allow directories to be created in DOS_CREAT. * Don't allow directories to be created in DOS_CREAT.
* LoadDevice: drivers should not hang the computer if they fail. * LoadDevice: drivers should not hang the computer if they fail.
Bart: Bart:
* fixed SYS. * fixed SYS.
* made most calls near again, with a jump/stack trick to * made most calls near again, with a jump/stack trick to
switch between INIT_TEXT and HMA_TEXT. switch between INIT_TEXT and HMA_TEXT.
* INIT_TEXT now calls INT21 itself for some things (setting * INIT_TEXT now calls INT21 itself for some things (setting
PSP, opening/reading/closing devices and (fd)config.sys). PSP, opening/reading/closing devices and (fd)config.sys).
* fixed some carry handling in inthndlr.c and * fixed some carry handling in inthndlr.c and
* drives are checked before trying to access them. * drives are checked before trying to access them.
* fixed console driver "busy state" confusion: the built-in * fixed console driver "busy state" confusion: the built-in
driver had it wrong, nansi.sys had it right: driver had it wrong, nansi.sys had it right:
"If no characters in buffer, return BUSY". "If no characters in buffer, return BUSY".
* space savings (RTL related and various other places) * space savings (RTL related and various other places)
* redirector fixes for find_next. * redirector fixes for find_next.
* CREAT on a device file failed (FD said it already existed). * CREAT on a device file failed (FD said it already existed).
But for some reason it should not fail in DOS. But for some reason it should not fail in DOS.
* get ATTRIB/other things on a device file should return * get ATTRIB/other things on a device file should return
FILENOTFOUND, not PATHNOTFOUND. FILENOTFOUND, not PATHNOTFOUND.
The sft_status field is not used for redirected drives. The sft_status field is not used for redirected drives.
* DosSelectDrv checks the media before setting the default * DosSelectDrv checks the media before setting the default
drive. drive.
* Fixed INT21/AH=3,4,5 (character R/W AUX/PRN). * Fixed INT21/AH=3,4,5 (character R/W AUX/PRN).
Hans Lermen: Hans Lermen:
* critical error handler destroyed AH (entry.asm). * critical error handler destroyed AH (entry.asm).
Martin Stromberg Martin Stromberg
* find_first for volume labels fix. * find_first for volume labels fix.
@ -1367,10 +1531,11 @@ from 2001 May 21: Build2024L
a device into the device chain _after_ initialisation, not before. a device into the device chain _after_ initialisation, not before.
* Redirector fix: network.c uses fmemcpy instead of fsncopy. * Redirector fix: network.c uses fmemcpy instead of fsncopy.
* Fixed INT 21/AH=6 (direct console input). * Fixed INT 21/AH=6 (direct console input).
Tom: Tom:
* DE_NFILES instead of DE_FILENOTFOUND to allow Volkov Commander to browse empty * DE_NFILES instead of DE_FILENOTFOUND to allow Volkov Commander to browse empty
drives. drives.
* Fixed bug wrt zero terminated device names (should be spaces terminated). * Fixed bug wrt zero terminated device names (should be spaces terminated).
2001 Mar 30 - Build 2023 2001 Mar 30 - Build 2023
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Fixes Tom: Kernel alloc initialises to 0. This avoids some weird errors. + Fixes Tom: Kernel alloc initialises to 0. This avoids some weird errors.
@ -1383,16 +1548,20 @@ from 2001 May 21: Build2024L
InitializeAllBPBs() or MakeNortonDiskEditorHappy() InitializeAllBPBs() or MakeNortonDiskEditorHappy()
More extended information if MCB chain corruption occurs. More extended information if MCB chain corruption occurs.
Bart: getdpb fixes (int 21/ah=32). Bart: getdpb fixes (int 21/ah=32).
fix carry handling in int 21/ah=5e. fix carry handling in int 21/ah=5e.
fix {get,set}_machine_name in network.c fix {get,set}_machine_name in network.c
saner lastdrive handling saner lastdrive handling
+ Add Support for SHELLHIGH in config.sys + Add Support for SHELLHIGH in config.sys
2001 Mar 28 - Build 2023 2001 Mar 28 - Build 2023
--------
+ Fixes Bug fix release 2023b: dsk.c (reported by Nagy Daniel), inthndlr and + Fixes Bug fix release 2023b: dsk.c (reported by Nagy Daniel), inthndlr and
int25/26 fixes by Tom Ehlert. int25/26 fixes by Tom Ehlert.
2001 Mar 27 - Build 2023 2001 Mar 27 - Build 2023
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Fixes Bug fix release 2023a: fixed stack segment bug in entry.asm. + Fixes Bug fix release 2023a: fixed stack segment bug in entry.asm.
2001 Mar 25 - Build 2023 2001 Mar 25 - Build 2023
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Fixes sys.com compilation: it is a proper .com and works again. + Fixes sys.com compilation: it is a proper .com and works again.
@ -1401,6 +1570,7 @@ from 2001 May 21: Build2024L
Suggestion from Aitor Santamaria Merino: implemented NUMLOCK=ON/OFF Suggestion from Aitor Santamaria Merino: implemented NUMLOCK=ON/OFF
in config.sys. Also implemented strcasecmp. in config.sys. Also implemented strcasecmp.
Updated intfns.txt; reported version is now 5.0. Updated intfns.txt; reported version is now 5.0.
2001 Mar 24 - Build 2022 2001 Mar 24 - Build 2022
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Fixes Tom and Bart: cli/sti handling and other fixes in entry.asm, + Fixes Tom and Bart: cli/sti handling and other fixes in entry.asm,
@ -1408,6 +1578,7 @@ from 2001 May 21: Build2024L
Bart: warning removal + other compile time fixes. Bart: warning removal + other compile time fixes.
Tom: * more partition detection fixes in dsk.c. Tom: * more partition detection fixes in dsk.c.
* dos_gettime() fix. * dos_gettime() fix.
2001 Mar 21 - Build 2022 2001 Mar 21 - Build 2022
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Clean A lot of space savings by Tom Ehlert, merely because Turbo C 2.01 does not + Clean A lot of space savings by Tom Ehlert, merely because Turbo C 2.01 does not
@ -1427,8 +1598,8 @@ from 2001 May 21: Build2024L
as .com in the hope that we can make it a real .com again. as .com in the hope that we can make it a real .com again.
DeviceHigh loads low if there are not enough UMB's available. DeviceHigh loads low if there are not enough UMB's available.
Fixed another redirector problem. Fixed another redirector problem.
+ Update Optimized asmsupt.asm a bit with help of the glibc 2.2 source. + Update Optimized asmsupt.asm a bit with help of the glibc 2.2 source.
+ Fixes Tom Ehlert and Brian Reifsnyder: fix partition detection in dsk.c + + Fixes Tom Ehlert and Brian Reifsnyder: fix partition detection in dsk.c +
other bug fixes (also: floppy.asm). other bug fixes (also: floppy.asm).
+ Update Tom Ehlert optimized blockio.c. + Update Tom Ehlert optimized blockio.c.
+ Fixes a few small ones from Tom I forgot. + Fixes a few small ones from Tom I forgot.
@ -1438,7 +1609,7 @@ from 2001 May 21: Build2024L
+ Fixes MCB chain corruption fix (thanks Tom Ehlert and Martin Stromberg) + Fixes MCB chain corruption fix (thanks Tom Ehlert and Martin Stromberg)
Redirector fixes (CDROMs and DOSEmu lredir'ed drives appear to work fine now) Redirector fixes (CDROMs and DOSEmu lredir'ed drives appear to work fine now)
UMB fixes UMB fixes
Various recodings (dsk.c, prf.c, portab.h) to make kernel Various recodings (dsk.c, prf.c, portab.h) to make kernel
object footprint 3k smaller (Tom Ehlert) object footprint 3k smaller (Tom Ehlert)
Fix handling of very long path names (Tom Ehlert) Fix handling of very long path names (Tom Ehlert)
FindFirst/FindNext fixes (Tom Ehlert) FindFirst/FindNext fixes (Tom Ehlert)
@ -1500,7 +1671,7 @@ from 2001 May 21: Build2024L
2000 Jun 20 - Build 2021 2000 Jun 20 - Build 2021
-------- James Tabor (jimtabor@infohwy.com) -------- James Tabor (jimtabor@infohwy.com)
+ Fix Bart Oldeman (bart@dosemu.org) found bugs with copy + Fix Bart Oldeman (bart@dosemu.org) found bugs with copy
command using Dosemu Lredir. Fixed Dosfns return for ReadCount, command using Dosemu Lredir. Fixed Dosfns return for ReadCount,
WriteCount and DosGetFattr. Fixed the return in int2f.asm for WriteCount and DosGetFattr. Fixed the return in int2f.asm for
Read/Write Remote. By adding xor ax,ax. Read/Write Remote. By adding xor ax,ax.
I found some more return bugs in int2f.asm after adding Barts I found some more return bugs in int2f.asm after adding Barts
@ -1529,10 +1700,10 @@ from 2001 May 21: Build2024L
-------- James Tabor (jimtabor@infohwy.com) -------- James Tabor (jimtabor@infohwy.com)
+ Clean Removed test prinf statements in source. + Clean Removed test prinf statements in source.
* Thanks to Lixing Yuan for pointing out an copy to root error. * Thanks to Lixing Yuan for pointing out an copy to root error.
2000 May 31 - Build 2021 2000 May 31 - Build 2021
-------- James Tabor (jimtabor@infohwy.com) -------- James Tabor (jimtabor@infohwy.com)
+ Patch Lixing Yuan (yuanlixg@china.com) Patch for parsing bug in + Patch Lixing Yuan (yuanlixg@china.com) Patch for parsing bug in
FindFirst with wildcards -> ParseDosName (dosnames.c). FindFirst with wildcards -> ParseDosName (dosnames.c).
2000 May 28 - Build 2021 2000 May 28 - Build 2021
@ -1551,7 +1722,7 @@ from 2001 May 21: Build2024L
and it was removed. This fixed all the functions using IsDevice. and it was removed. This fixed all the functions using IsDevice.
Truename works now. I consider it dangerous and brain damaged. Truename works now. I consider it dangerous and brain damaged.
Note: Note:
truename X:\DIR\con -> X:/CON, note the '/'. truename X:\DIR\con -> X:/CON, note the '/'.
truename foo*.* -> X:\DIR\FOO?????.??? truename foo*.* -> X:\DIR\FOO?????.???
truename *.*\*.*\*.* -> ????????.???\????????.???\????????.??? truename *.*\*.*\*.* -> ????????.???\????????.???\????????.???
@ -1576,7 +1747,7 @@ from 2001 May 21: Build2024L
2000 May 17 - Build 2020 2000 May 17 - Build 2020
-------- James Tabor (jimtabor@infohwy.com) -------- James Tabor (jimtabor@infohwy.com)
+ Fixed Delete, Rename, Mkdir, and Rmdir. Comment out isDevice. There is + Fixed Delete, Rename, Mkdir, and Rmdir. Comment out isDevice. There is
a serious bug in isDevice. a serious bug in isDevice.
+ Added Finished adding function code for disk serial number support. + Added Finished adding function code for disk serial number support.
+ Clean Cleaned up source and removed duplicate functions. + Clean Cleaned up source and removed duplicate functions.
@ -1589,14 +1760,14 @@ from 2001 May 21: Build2024L
+ Update Started Update to the New CVS at Sourceforge.net. Setting source + Update Started Update to the New CVS at Sourceforge.net. Setting source
from 2018 to 2020. from 2018 to 2020.
2000 May 06 2000 May 06
-------- Jim Hall (jhall1.isd.net) -------- Jim Hall (jhall1.isd.net)
+ Import Jim Hall imported the CVS from gcfl.net to Sourceforge.net. + Import Jim Hall imported the CVS from gcfl.net to Sourceforge.net.
2000 Apr 28 - Build 2020 2000 Apr 28 - Build 2020
-------- James Tabor (jimtabor@infohwy.com) -------- James Tabor (jimtabor@infohwy.com)
+ Added Dos Function calls 0x69, and 0x6C. IOCTL support in disk driver. + Added Dos Function calls 0x69, and 0x6C. IOCTL support in disk driver.
New functions not yet fully implemented. New functions not yet fully implemented.
Clean up DSK.C, IOCTL.C and FCBFNS.C. Removed old blk_device Clean up DSK.C, IOCTL.C and FCBFNS.C. Removed old blk_device
pointers. pointers.
@ -1617,8 +1788,8 @@ from 2001 May 21: Build2024L
-------- James Tabor (jimtabor@infohwy.com) -------- James Tabor (jimtabor@infohwy.com)
+ added Eric W. Biederman patches via CVS. + added Eric W. Biederman patches via CVS.
+ 2000 Mar 25 2000 Mar 25
+ -------- Eric Biederman -------- Eric Biederman
+ Fixed Lastdrive handling + Fixed Lastdrive handling
+ Fixed Not enough drives for number present devices + Fixed Not enough drives for number present devices
+ Added Working (though not perfect network redirector) + Added Working (though not perfect network redirector)
@ -1648,8 +1819,8 @@ from 2001 May 21: Build2024L
information for other NLS, too, if there would be a NLSFUNC information for other NLS, too, if there would be a NLSFUNC
available, which is not at this time. available, which is not at this time.
NOTE: The way the external NLSFUNC is called does not look well, NOTE: The way the external NLSFUNC is called does not look well,
therfore expect a change soon. therefore expect a change soon.
2000 Mar 15 - Build 2019 2000 Mar 15 - Build 2019
-------- James Tabor (jimtabor@infohwy.com) -------- James Tabor (jimtabor@infohwy.com)
@ -2207,7 +2378,7 @@ bugfix: DosOpen(): dito
----- older history, from rcs logs. ----- older history, from rcs logs.
13 Nov 2002 tom 13 Nov 2002 tom
initclk.c: initclk.c:
Initial revision Initial revision
@ -3099,7 +3270,7 @@ dosfns.c, blockio.c, error.c, misc.c, dosnames.c, fcbfns.c, chario.c,
fattab.c, prf.c, syspack.c, fatfs.c, fatdir.c, time.h, pcb.h, fattab.c, prf.c, syspack.c, fatfs.c, fatdir.c, time.h, pcb.h,
portab.h, process.h, sft.h, tail.h, fat.h, fcb.h, file.h, fnode.h, portab.h, process.h, sft.h, tail.h, fat.h, fcb.h, file.h, fnode.h,
mcb.h, date.h, dcb.h, device.h, dirmatch.h, dosnames.h, clock.h, mcb.h, date.h, dcb.h, device.h, dirmatch.h, dosnames.h, clock.h,
error.h, exe.h, kbd.h: error.h, exe.h, kbd.h:
First GPL release. First GPL release.
30 Jul 1995 patv 30 Jul 1995 patv