3943 lines
165 KiB
Plaintext
3943 lines
165 KiB
Plaintext
|
|
|
|
General web notes: You can read details about bugzilla bug NUMBER on
|
|
http://bugzilla.freedos.org/cgi-bin/bugzilla/show_bug.cgi?id=NUMBER
|
|
and details about newer bugs managed in our sourceforge bug tracker on
|
|
http://sf.net/tracker/?func=detail&aid=NUMBER&group_id=5109&atid=105109
|
|
|
|
You can read more details (diff, changelog) about SVN revision NUMBER on
|
|
http://freedos.svn.sf.net/viewvc/freedos?view=rev&sortby=rev&revision=NUMBER
|
|
Changelog items can list SVN revision rNUMBER and bugzilla bug NUMBER.
|
|
|
|
|
|
2016 May 16 - Build 2042
|
|
-------- Jeremy Davis, Sava
|
|
|
|
+ Changes Jeremy
|
|
* support determining kernel file version without booting it
|
|
* from Christian Masloch, display error on unsupported CPU
|
|
* improve memdisk CONFIG.SYS processing support
|
|
* ensure top of RAM correctly adjusted after moving EBDA
|
|
* fix reading from NULL
|
|
* merge creation date & time from old dev branch
|
|
* use absolute not relative disk read/writes
|
|
(allows syslinux DOS installer to work correctly)
|
|
* Fix FCB parse filename (int21h func 29h)
|
|
* Improve support for older BPB based volumes lacking extended fields.
|
|
(Based on lpproj's nec98:Fix for DOS 3.x partitions)
|
|
* Int 2F/AX=120Ah & AX=120Bh based on RBIL, untested
|
|
|
|
+ Changes Sava (lpproj)
|
|
* add cross-compile capability on Windows with OW and mingw32-make
|
|
* Fix pointer of DBCS table (int 0x21, func 0x6300)
|
|
* Enable to load DBCS table from COUNTRY.SYS
|
|
* Return current country code (func 0x38)
|
|
* Fix broken decompression on loading FAT16 kernel (compressed in dos/sys)
|
|
* On creating child PSP (func 0x55), copy command line parameters
|
|
from the parent (required for some device loaders)
|
|
* Fix incomplete loading of huge (more than 65280 bytes) binary device driver
|
|
* Fix an error at opening a character device prefixed with invalid
|
|
drive letter (e.g. "@:NUL")
|
|
* Copy FCB-format filename from PriPathName (some redirectors require
|
|
FCB-format filename stored in SDA+22Bh DirEntBuffer)
|
|
|
|
2012 Feb 07 - Build 2041
|
|
-------- Jeremy Davis
|
|
|
|
+ Changes Jeremy
|
|
* r1637 fix out of range byte in country.asm
|
|
* r1685 add int 2f subfunc 122B and 122D from Eduardo Casino
|
|
* r1697 from Pete Batard, do not display CHS mismatch warning
|
|
during booting when forcing LBA mode option set
|
|
* r1702 improve handling for sectors not 512 bytes in size
|
|
(up to 2048 bytes, larger sizes not yet working)
|
|
* r1705 add cpu detection so memdisk args supported in 8086 build
|
|
|
|
2011 Jun 21 - Build 2040
|
|
-------- Jeremy Davis, Bart Oldeman
|
|
|
|
+ Changes Jeremy
|
|
* r1635 from Christian Masloch, correction for memdisk check
|
|
* r1634 optional CONFIG.SYS options via memdisk
|
|
* r1633 force DPT to 512 byte sectors
|
|
* r1501 sys/sys.c: correct return value from NULL to FALSE -
|
|
fix compile with OW1.9
|
|
* r1500 docs/sys.txt, sys/sys.c:
|
|
handle case when source not specified but filename for boot
|
|
sector is given (sys X: bootfile.bin)
|
|
|
|
+ Changes Bart
|
|
* r1632 make free cluster search circular
|
|
* r1631 do not use FSINFO if not valid
|
|
* r1609 truncating 0 byte file should not fail
|
|
* r1591 fix SF bug 3090610 - 386 register save/restore
|
|
* r1569 kernel/{config.c,kernel.asm,init-mod.h,globals.h}:
|
|
Allocate bigger chunk of memory for INSTALL for __WATCOMC__
|
|
because the memory layout is different from other compilers.
|
|
Fixes issues mentioned by Bret Johnson and Christian Masloch
|
|
in freedos-user/freedos-kernel.
|
|
* r1568 kernel/asmsupt.asm, mkfiles/owlinux.mak: Make sure the
|
|
DOS native and Linux cross-builds produce identical binaries.
|
|
* r1567 drivers/rdpcclk.asm,kernel/{asmsupt,entry,irqstack,kernel,
|
|
nls_hc}.asm, kernel/makefile:
|
|
Remove useless END from nls_hc.asm, add explicit byte
|
|
overrides for older versions of NASM for more compact code,
|
|
and adjust silent relocation segments.
|
|
* r1565 sys/sys.c: Change // to /* comments for Turbo C compatibility.
|
|
* r1564 kernel/dosfns.c: If handle valid, close file in PSP
|
|
table before the low-level close + (perhaps) critical error.
|
|
Avoids closing the file twice (and hitting the critical
|
|
error twice) on abort/program termination.
|
|
Also, close can only return error 6 (DE_INVLDHNDL), not 5
|
|
(DE_ACCESS), see RBIL.
|
|
* r1563 kernel/task.c: From Christian Masloch:
|
|
set flags to 0x200 (IF set) when transferring to int22
|
|
termination address.
|
|
* r1562 kernel/fatfs.c: Check errors for callers of dir_write
|
|
and shrink_file. Fixes: Bug: File creation does not check
|
|
whether buffers are written correctly
|
|
(http://www.bttr-software.de/forum/forum_entry.php?id=9783)
|
|
* r1561 kernel/blockio.c, kernel/fatdir.c:
|
|
No longer force flush1() and dir_write_update() to return
|
|
TRUE if there were disk write errors. Part 1 for fixing
|
|
http://www.bttr-software.de/forum/forum_entry.php?id=9783
|
|
Bug: File creation does not check whether buffers are
|
|
written correctly
|
|
* r1560 kernel/kernel.asm:
|
|
Enlarge clock and block driver stacks. Thanks to Damien Guibouret
|
|
<damien.guibouret@partition-saving.com>.
|
|
* r1559 kernel/fatfs.c: Fix value that is used before being initialised.
|
|
This lead to a drive to not be considered as FAT32 despite it is
|
|
(or vice-versa).
|
|
Thanks to Damien Guibouret <damien.guibouret@partition-saving.com>.
|
|
* r1499 kernel/makefile:
|
|
With the stack changes the DOS segment has moved to 0x79.
|
|
* r1498 kernel/irqstack.asm:
|
|
New irqstack.asm: irq 2, 3, 4, 5, 6, 10, 11, 12, 14, 15 now
|
|
use the IBM interrupt sharing protocol for STACKS. Affect
|
|
int 2 too, but not IRQ 7 (INT 0fh) and IRQ 9 (INT 71h)
|
|
|
|
2009 Aug 04 - Build 2039
|
|
-------- Jeremy Davis, Bart Oldeman
|
|
|
|
+ Changes Jeremy
|
|
* r1494, 1483 docs/sys.txt, sys/sys.c: update documentation to
|
|
include new options; add option to sys to force LBA or CHS
|
|
usage, allow using BIOS specified boot drive # on floppy,
|
|
add verbose output (debug prints), and reorder some steps in
|
|
copy() to avoid some unnecessary disk swaps on single drive systems
|
|
* r1493 boot/boot.asm: add comment about location that may be
|
|
modified by sys (and some whitespace changes due to editor)
|
|
* r1492 boot/makefile: create list file when assembling boot sectors
|
|
* r1489 kernel/main.c: update copyright year, add some comments
|
|
* r1488 kernel/kernel.asm: mark unused space in kernel for unused win
|
|
compatibility structs
|
|
* r1487 hdr/lol.h, hdr/win.h: comment/structure info update
|
|
* r1486 hdr/process.h: comments added
|
|
* r1485 hdr/device.h: comments added
|
|
* r1484 hdr/cds.h: update comments
|
|
* r1483 docs/sys.txt: update sys usage documentation
|
|
* r1482 boot/boot.asm, boot/makefile, boot/oemboot.asm,
|
|
build.bat, default.bat, hdr/debug.h, kernel/{dosfns.c,init-mod.h,
|
|
initdisk.c,inthndlr.c,prf.c,proto.h},sys/{fdkrncfg.c,makefile,sys.c}:
|
|
update sys to current version, adjust printf to support
|
|
percent modifier, consistent prototype, and handle text not in
|
|
current segment (FAR *) better, merge part of simplified debug (via
|
|
prints) support
|
|
* r1467 kernel/makefile, mkfiles/generic.mak: update build process to
|
|
include country.sys
|
|
* r1466 kernel/country.asm: sync country source with latest from
|
|
eduardocasino.es site
|
|
* r1465 kernel/country.asm: add source for country.sys from dev
|
|
branch
|
|
* r1456 hdr/version.h, kernel/globals.h: simplify how version
|
|
specified, enable SVN builds with revision#
|
|
* r1455 build.bat: add convenience options to build.bat for setting
|
|
various defines
|
|
* r1454 default.bat: clear some additional env variables
|
|
* r1431 kernel/makefile, utils/exeflat.c: More verbose output of UPX
|
|
method (sys or exe) used and fix case without UPX so kernel boots.
|
|
* r1385 docs/fdkernel.lsm, hdr/version.h: update version # in
|
|
preparation for next release and to avoid confusion between svn and
|
|
release kernels
|
|
|
|
+ Changes Bart
|
|
* r1491 hdr/debug.h, kernel/{init-mod.h,kernel/int2f.asm,nls.c,prf.c,
|
|
proto.h}, sys/{fdkrncfg.c,sys.c}: Use near pointers for printf()s
|
|
where possible. Problematic is only the case where SS!=DS (which
|
|
happens sometimes in resident code), in which case va_list/va_arg
|
|
need to use FAR pointers. DS!=DGROUP never works, so I corrected
|
|
that for NLS_DEBUG, by setting DS in int2f.asm.
|
|
* r1490 kernel/fatfs.c: Check the BPB instead of the DPB for FAT32
|
|
after a BUILDBPB device call, as the DPB may still be uninitialized
|
|
at this point. Fixes FAT32 drives in USBDRIVE (http://bretjohnson.us)
|
|
* r1480 utils/exeflat.c: Corrected a bug in exeflat: it was writing
|
|
32 bytes too many from possibly unexisting buffers after compressing
|
|
exe files.
|
|
* r1479 kernel/{initdisk.c,newstuff.c}: Corrected DEBUG #if to
|
|
#ifdef for Turbo C and corrected debug printfs in truename().
|
|
* r1478 kernel/newstuff.c: Simplified truename(): eliminated the
|
|
addSep state by adding a backslash in every new segment, including a
|
|
trailing backslash. Simplified . and .. logic. Converted switch to if
|
|
because there were few cases left.
|
|
* r1477 kernel/dosfns.c: DosChangeDir can only return DE_PATHNOTFND
|
|
in case of error, so force that error code.
|
|
* r1476 kernel/dosfns.c: Remove the wildcard check for DosChangeDir()
|
|
because truename() already does that.
|
|
* r1475 kernel/newstuff.c: Use simpler code for copying the current
|
|
directory constructing the "truename": instead of fmemcpy followed by
|
|
strcpy, just use strcpy. Also use the near TempCDS more.
|
|
* r1474 kernel/newstuff.c: Unify parse_name_ext for name and
|
|
extension and inline this function into truename(). This is an
|
|
optimization (200 bytes).
|
|
* r1473 kernel{fatdir.c,fatfs.c,newstuff.c}: If the current directory
|
|
is no longer valid, call dos_cd() for the root to update the CDS
|
|
cluster. Call media_check explicitly in truename() as a central
|
|
first and only place in directory-using DOS calls (except
|
|
DosFindNext) to call it.
|
|
* r1472 kernel/{dosfns.c,newstuff.c}: The original DosGetCuDir
|
|
is now inlined in truename(). DosGetCuDir now does truename("D:",
|
|
CDS_MODE_SKIP_PHYSICAL), and this mode was changed to no longer call
|
|
QRemote_Fn (int2f/ax=1123).
|
|
* r1471 kernel/newstuff.c: Fix truename("C:") where the current
|
|
directory is different from the root: then it should not append a
|
|
backslash.
|
|
* r1470 kernel/{inthndlr.c,makefile}: Turbo C 2.01 and Linux
|
|
cross-compilation compatibility fixes.
|
|
* r1469 kernel/{inthndlr.c,task.c}: For self-owning PSPs do
|
|
everything that a normal exit does except for closing files and
|
|
releasing memory (see RBIL). Thanks to Christian Masloch.
|
|
* r1468 kernel/fatdir.c: Fix problem with cd\ reported by
|
|
ibid_ag@lavabit.com on the mailing list.
|
|
* r1458 kernel/{blockio.c, fatfs.c, proto.h}: In case of
|
|
"not sure" if the removable media has changed, the IBM PCDOS
|
|
technical reference says to call BLDBPB if there are no used buffers,
|
|
so we only do it then, instead of flushing the buffers.
|
|
* r1457 hdr/{xstructs.h, inthndlr.c}: Merged int21/ax=7304,
|
|
subfunctions 3 and 4, which work very similarly.
|
|
* r1453 kernel/fatfs.c: Set the clean bit also on created/replaced
|
|
files, not just opened files, so the directory entry is only updated
|
|
after they are written too. Fixes SF bug #2380531.
|
|
* r1452 kernel/initdisk.c: Use a better formula for calculating FAT12
|
|
clusters, by multiplying nominator and denominator by 3.
|
|
* r1451 kernel/{fatfs.c, initdisk.c}: initdisk: further optimizations
|
|
in CalculateFATData(): merging the FAT16 & FAT32 loops.
|
|
fatfs: #if DEBUG fix.
|
|
* r1450 kernel/initdisk.c: Optimized initdisk.c by using constants
|
|
instead of variables where possible.
|
|
* r1449 kernel/config.c, kernel/config.h: Removed unused config
|
|
variables and don't detect 'y' and 'n' if we're using toupper anyway.
|
|
* r1448 hdr/{fat.h, fatfs.c}: Cluster optimizations, mainly for FAT32
|
|
eliminated checkdstart, replaced (cl == FREE || cl == 1) by (cl <= 1),
|
|
UWORD cluster cast for FAT12/16, and merge if branches for link_fat().
|
|
* r1447 kernel/fatfs.c: Merged if status==S_OPENED logic in dos_open,
|
|
cache dir_attrib, and remove unnecessary init to 0.
|
|
* r1446 kernel/config.c: Make the built-in COUNTRY table more compact
|
|
and allow to merge duplicate strings for error message.
|
|
* r1445 kernel/fatfs.c: Optimization: changed find_fname() to call
|
|
split_path() because find_fname was always preceeded by split_path().
|
|
The return code is now an error code, DE_FILENOTFND, DE_PATHNOTFND,
|
|
or SUCCESS, depending on the failure.
|
|
* r1444 kernel/{fatdir.c, fatfs.c, proto.h}: Added a
|
|
split boolean argument to dir_open so the trick with setting the
|
|
dir/filename separator to 0 can be avoided, and we don't need to
|
|
calculate its location in split_path(). Without the trick many more
|
|
char * path arguments in the kernel can become "const char *".
|
|
* r1443 utils/exeflat.c: Use tmp.exe instead of tmp$$$$$.exe -- the
|
|
Linux cross compilation really has trouble without quotes because $$
|
|
can be expanded as a shell variable when passed to system().
|
|
* r1442 kernel/{dosnames.c, fatfs.c, makefile, proto.h}:
|
|
Remove dosnames.c and inline ParseDosName, because there is only one
|
|
user left (split_path()) which only uses it to find out if the path
|
|
ends in a backslash and the length of the directory part.
|
|
* r1441 kernel/{dosnames.c, fatdir.c, fatfs.c, proto.h}:
|
|
dos_findfirst() now uses split_path(). The only thing
|
|
that needed to be added was the need to check for "d:\" paths which
|
|
return DE_NFILES. Also, findfirst("d:\nonexist\*.*",D_VOLID) should
|
|
fail even if it actually searches in d:\.
|
|
* r1440 kernel/{dosnames.c, newstuff.c}: The invalid pathname
|
|
character detection is moved from ParseDosName (dosnames.c) to
|
|
truename (newstuff.c), because TRUENAME should check these characters
|
|
before passing paths on to fatfs.c & fatdir.c.
|
|
* r1439 kernel/fatdir.c: Corrected the if-statement && logic for
|
|
attributes in the findnext loop.
|
|
* r1438 kernel/{dosfns.c, fatdir.c}: Make findfirst/findnext
|
|
more MSDOS compatible:
|
|
* ignore 0x40 (D_DEVICE) in search attribute.
|
|
* if you specify D_VOLID + one or more of D_HIDDEN, D_SYSTEM, and
|
|
D_DIR you will get files *and* volume labels in the specified
|
|
directory, not forced to the root directory.
|
|
* VOLID searches must look at the search pattern name too,
|
|
or do not match.
|
|
* r1437 kernel/{dosfns.c, fatfs.c}: For read/write don't update
|
|
sft_posit in dosfns.c anymore so fatfs.c takes care of it.
|
|
* r1436 kernel/{fatdir.c, fatfs.c}: Remove usage of the fnode
|
|
f_flags field where it is not relevant anymore. Because of the
|
|
explicit dir_write() calls we only need them in situations where SFTs
|
|
where used, that is for open files but not for directories.
|
|
* r1435 kernel/{fatdir.c, fatfs.c}: Eliminate fcbname[] on the
|
|
stack: we can use dm_name_pat in the dirmatch structures instead.
|
|
* r1434 kernel/asmsupt.asm: %if 0 unused asm functions and fix a
|
|
stack return problem with fstrcmp.
|
|
* r1433 kernel/{dosnames.c, fatdir.c, fatfs.c, proto.h}:
|
|
Split 8.3 FCB-style filename extraction from ParseDosName
|
|
into a new ConvertNameSZToName83 function, also used by dir_open().
|
|
* r1432 hdr/fnode.h, kernel/{fatdir.c, fatfs.c, globals.h, init-mod.h,
|
|
kernel.asm}:
|
|
Move the fnode fields f_diroff and f_dirstart into a referenced
|
|
directory match structure with fields dm_entry and dm_dircluster.
|
|
* r1430 hdr/nls.h, kernel/{config.c, init-mod.h, inthndlr.c, intr.asm,
|
|
kernel/nls.c, kernel/nls_hc.asm, kernel/proto.h}:
|
|
Ported COUNTRY.SYS support from the unstable branch.
|
|
Simple country support is kept: COUNTRY=31 will look for country.sys
|
|
but if it does not exist, not complain and load the built-in info.
|
|
* r1429 hdr/sft.h, kernel/{dosfns.c, inthndlr.c, proto.h}: Seek changes:
|
|
* merge unstable kernel optimizations
|
|
* enable seek for int2f/AX=1228
|
|
* -1 is a valid offset, so we need to process the return code
|
|
seperately
|
|
* r1428 kernel/dosfns.c: Merge pop_dmp optimization from the unstable
|
|
kernel.
|
|
* r1427 kernel/ioctl.c: This change was missed, as the changelog
|
|
mentioned it was in 2035a already: r_si/r_di contents added as
|
|
documented in PC-DOS Technical Update. I also moved the CharReqHdr
|
|
filling in to just before execrh, and made the command table a static
|
|
const so it is outside the SDA (OW places it in CONST2).
|
|
* r1426 kernel/ioctl.c: Optimization: move the attribute checks down
|
|
and localize some variables.
|
|
* r1425 kernel/ioctl.c: Streamline ioctl.c code so OW saves 2 more
|
|
words of stack.
|
|
* r1424 kernel/ioctl.c: r1115 set the dpb_subunit but that was wrong
|
|
for get_cds() called from AX=4409. Use a local variable unit to avoid
|
|
that, and simplify the AX=4409 logic like in the unstable kernel.
|
|
* r1423 kernel/ioctl.c: Inline ioctl helper routine back again. Save
|
|
stack by using the dev variable that points to the device smartly.
|
|
* r1422 kernel/ioctl.c: Split DosDevIoctl into two calls so execrh
|
|
can be called with minimal stack usage. Always return DE_ACCESS when
|
|
the device fails instead of DE_DEVICE, as DE_DEVICE is only used for
|
|
renames between devices that are not the same.
|
|
* r1421 kernel/fatfs.c: Introduce clear_dir() to clear a directory,
|
|
this was code shared between dos_mkdir() and extend_dir(). Now
|
|
dos_mkdir() calls this function to clear the new directory, and then
|
|
creates the . and .. entries using higher level functions instead of
|
|
dealing with the blocks directly.
|
|
* r1420 hdr/{fnode.h, sft.h}, kernel/{fatdir.c, fatfs.c}: Make
|
|
the fnode f_flags completely equal to the SFT sft_flags. Rename
|
|
SFT_FDIRTY to SFT_FCLEAN to avoid confusion.
|
|
* r1419 hdr/fnode.h, kernel/{fatdir.c, fatfs.c}: Eliminate the
|
|
fnode F_DDIR flag which has no SFT equivalent: f_sft_idx==0xff can do
|
|
the same. rwblock() is never called for directories so the checks
|
|
could be removed.
|
|
* r1418 kernel/fatfs.c: Flip target and source checks to avoid
|
|
calling ParseDosName for in-directory renames. Do not allow to rename
|
|
directories between different directories.
|
|
* r1417 kernel/fatfs.c: RENAME: if the source and target directories
|
|
are the same, rename the directory entry in-place instead of creating
|
|
a new one and deleting the old one. Fixes archived bugzilla bug:
|
|
http://www.freedos.org/bugzilla/cgi-bin/show_bug.cgi?id=1908
|
|
* r1416 kernel/fatfs.c: Change dos_rmdir to only use 1 fnode. It now
|
|
first checks if the directory is empty and then opens the parent and
|
|
deletes the real directory. No longer returns DE_FILENOTFND(2), but
|
|
return DE_PATHNOTFND(3) instead.
|
|
* r1415 hdr/dirmatch.h: Cleanup dirmatch.h: make attributes and size
|
|
unsigned, and make the unused dm_flags field reserved.
|
|
* r1414 kernel/{dosfns.c, proto.h, task.c}: Introduce get_cds1 to merge
|
|
common code that checks for 0=default_drive,1=A,etc.
|
|
Make load_transfer() static.
|
|
* r1413 kernel/chario.c: Inline cooked_write_char() into cooked_write().
|
|
* r1411 kernel/fatfs.c: Fix compilation with Turbo C.
|
|
* r1410 kernel/{fatdir.c, fatfs.c, proto.h}: Eliminate dir_close().
|
|
Its only purpose left was to flush buffers, which isn't necessary
|
|
after just open/read, so we can move that to dir_write().
|
|
* r1409 kernel/{dosfns.c, fatfs.c}:
|
|
Move the open/creat access checks to more efficient places.
|
|
* r1408 kernel/fatfs.c: Make merge_file_changes more direct dealing
|
|
with SFTs and merge the "close open files setfattr wants to change"
|
|
functionality there.
|
|
* r1407 kernel/dosfns.c: Eliminate DosGetFile -- it is no longer
|
|
necessary because the filename is already copied from the fnode.
|
|
* r1406 kernel/dosfns.c: Fix a regression with sft_flags overwriting
|
|
what dos_open wrote so file dates/times would always be updated, even
|
|
for reads!
|
|
* r1405 kernel/{dosfns.c, fatdir.c, fatfs.c, fcbfns.c, proto.h}:
|
|
Eliminate dos_setfsize, dos_setftime, and dos_lseek, by just using
|
|
the SFT. dos_setfsize still needed to merge changes for SHARE so the
|
|
call was replaced by a new dos_merge_file_changes() call.
|
|
* r1404 hdr/fnode.h, kernel/{fatdir.c, fatfs.c}: Eliminate
|
|
xlt_fd(), save_far_f_node(), and the redundant fnode f_mode field.
|
|
* r1403 kernel/{dosfns.c, fatfs.c}: Let merge_file_changes
|
|
operate directly on the other SFTs. dos_setfattr with SHARE now
|
|
closes open SFTs referring to that file in compat mode.
|
|
* r1402 kernel/fatfs.c: Fix SFT/fnode fields so the SHARE related
|
|
functions is_same_file() and merge_file_changes() work.
|
|
* r1401 hdr/fnode.h, kernel/{fatfs.c, globals.h}: Remove
|
|
redundant checks for fnodes==0 since the checks are done in dosfns.c.
|
|
Replace global f_nodes[] array by f_sft_idx fields in the fnodes.
|
|
* r1400 hdr/sft.h, kernel/{dosfns.c, fatfs.c, fcbfns.c, proto.h}:
|
|
Eliminate the sft_status field as it is now equal to the SFT index.
|
|
* r1399 kernel/{dosfns.c, fatfs.c, proto.h, task.c}:
|
|
Eliminate dos_getftime, dos_getfsize, and dos_getfattr_fd, because we
|
|
can now get these properties directly from the SFT.
|
|
* r1398 hdr/fnode.h, kernel/{fatdir.c, fatfs.c, proto.h}:
|
|
Eliminate f_count field in fnodes and some no-op functions.
|
|
* r1397 hdr/{fnode.h, lol.h}, kernel/{config.c, dosfns.c, fatfs.c,
|
|
globals.h, kernel.asm, proto.h}:
|
|
This is the main change to eliminate far fnodes. SFT info is copied
|
|
from and to the two near fnodes. Some cleanups still follow.
|
|
* r1396 hdr/sft.h:
|
|
Make the SFT DOS 4+ compatible and change fields to be unsigned.
|
|
* r1395 kernel/dosfns.c:
|
|
Handle sft_count before calling dos_open and after calling dos_close
|
|
so the SFT is open for longer, during fatfs.c operations.
|
|
* r1394 kernel/prf.c: Fix compilation with -DDOSEMU set.
|
|
* r1393 kernel/{dosfns.c, fatfs.c}: Handle dos_getfattr and
|
|
dos_setfattr directly at the directory level, instead of opening the
|
|
file, to avoid needing to claim SFTs in later changes. Clarify and
|
|
implement parts of the correct SHARE behaviour.
|
|
* r1392 hdr/fat.h, kernel/{fatdir.c, fatfs.c, proto.h}:
|
|
On close or commit, only update those directory entry fields that
|
|
have an SFT equivalent. The rest stays unmodified on disk.
|
|
* r1391 kernel/{fatdir.c, fatfs.c}: Use explicit dir_write()
|
|
instead of letting dir_close() do the writing. This is to prepare for
|
|
an updating version to deal with SFTs.
|
|
* r1390 hdr/fnode.h, kernel/fatdir.c: Add f_dirsector (sector
|
|
containing dentry) and f_diridx (index within sector) fields to the
|
|
fnode, to make fnodes more compatible with SFTs. Use them to simplify
|
|
dir_read() and dir_write().
|
|
* r1389 kernel/{fatdir.c, fatfs.c, globals.h, inthndlr.c, lfnapi.c,
|
|
proto.h}: Force near fnode use to use either fnode[0] or fnode[1]
|
|
instead of the allocation scheme. This eliminates the checks
|
|
done in inthndlr.c because the f_count field is no longer checked.
|
|
* r1388 makefile, mkfiles/owlinux.mak: Change Linux makefiles to only
|
|
update what is necessary for subsequent makes.
|
|
* r1387 config.m, docs/build.txt, drivers/makefile, kernel/{makefile,
|
|
segs.inc}, makefile, mkfiles/{generic.mak, owlinux.mak, watcom.mak},
|
|
sys/makefile, utils/{exeflat.c, makefile}:
|
|
Add Linux cross-compile capability, using Open Watcom:
|
|
* Flip \ to / where possible.
|
|
* Introduce $(DIRSEP) (/ or \) for use inside commands in
|
|
makefiles where / won't work in DOS.
|
|
* Override various settings for Linux in owlinux.mak.
|
|
* Add quotes in exeflat.c to avoid shell expansion of $$$$$.
|
|
* Let "make all", "make clean", and "make clobber" do the job.
|
|
* r1386 utils/echoto.bat: OW 1.8 MS2WLINK is too picky about leading
|
|
and trailing whitespace so echoto is changed to not generate any.
|
|
|
|
2009 May 16 - Build 2038
|
|
-------- Pat Villani, Bart Oldeman, Eric Auer
|
|
|
|
Thanks to Geraldo Netto for summarizing the 2008 SVN changelog. See also:
|
|
http://freedos.svn.sourceforge.net/viewvc/freedos/kernel/trunk/?view=log
|
|
Patches are mostly from Bart and Eric, some from Jeremy and Tom.
|
|
|
|
+ Changes Jeremy 2009
|
|
|
|
* r1412 from Eric: update this history.txt (and bugs.txt, contrib.txt)
|
|
* r1381-r1384 update bugs.txt version.h LSM, tag SVN for 2038 release
|
|
* r1374, r1380 fcbfns FCB open old GEM compat (bigsize/recsiz/recno)
|
|
http://sf.net/tracker/?func=detail&aid=2253450&group_id=5109&atid=355109
|
|
* r1379 dosfns.c fatfs.c proto.h from Eric: only check for SHARE on
|
|
open/close, avoid extra 2f.1000 calls.
|
|
* r1378 dsk.c from Lucho: Press any key, not Press the any key ;-)
|
|
* r1377 initdisk.c from RayeR: Use total cyl count, not max cylinder
|
|
(fixes off by one bug on non-LBA PC) & fix overflow by ULONG cast.
|
|
Improve DebugPrintf calls, fix format string (only in debug kernels)
|
|
* r1376 inthndlr.c from Tom: 21.1c return AL=0xff for invalid drives
|
|
(fixes bug for apps which use int 21.1c to find FAT drive letters)
|
|
* r1372, r1375 from Bart: process.h/entry.asm make CP/M call PSP[5]
|
|
work (1 line jbe versus ja fix and detailed comments about stack)
|
|
This fixes SF tracked bug 2421577.
|
|
* r1373 kernel.asm add : after _HMATextAvailable avoid nasm warning
|
|
* r1371 watcom.mak make sure even Windows Watcom C builds a DOS SYS
|
|
(would otherwise make a SYS meant for use in Windows by default)
|
|
* r1370 default bat make compiling without UPX possible again
|
|
* r1369 let DosGetExtFree 21.7303 accept drive with and w/o slash
|
|
This fixes SF tracked bug 2380828 (GetDiskFreeSpaceEx if no slash)
|
|
* r1368 tag for ke2038test
|
|
|
|
+ Changes Bart + Eric (mostly)
|
|
* r1367 sys.c from Bart: 32bit date/time if WATCOMC 1279+ (OW 1.8)
|
|
* r1366 config.c, config.txt allow BUFFERSHIGH as alias to BUFFERS,
|
|
buffers are in UMB, we use HMA anyway. Drop unused int 16.1 call.
|
|
* r1365 inthndlr.c allow/ignore type hints in int 21.7305 disk read
|
|
* r1364 fdkernel.lsm and version.h updated to 2038 / Apr 2008
|
|
Updated this history.txt changelog to state of April 2008
|
|
* r1363 add Geraldo (changelog) and Fritz (docs) to contrib.txt
|
|
New version of config.txt - verbose, readable, up to date
|
|
* r1362 update readme.cvs - add info about SVN / subversion
|
|
* r1361, 1355 update information about bugzilla. You can also
|
|
write the maintainer or mailinglist but we prefer bugzilla...
|
|
Add information about SourceForge feature request tracker, too
|
|
* r1360 new Free Software Foundation (FSF) mail addr in COPYING
|
|
* r1359 BIOS y2k bug workaround: If BIOS date 1900..1979, assume
|
|
date 2000..2079 (we only read CMOS date at boot) Fix bug 1748
|
|
* r1358 more secure FAT handling to avoid crosslinks if reboot
|
|
with open files: Thanks to Hardi Stengelin for research help;
|
|
always test link_fat result, new is_free_cluster, checks in
|
|
link_fat and next_cluster (bad index/value, bad chain / extend
|
|
-> warning). Do link_fat before setdstart. Lazy FS INFO writes
|
|
* r1357 truename must use the current working directory of the
|
|
created-by-subst virtual drive when it resolves relative paths
|
|
even though the "real" drive/dir are returned in the end. Note
|
|
that "subst e: d:\" shows a warning as it tries "mkdir d:\"
|
|
Fixes bug 1862 "CHDIR fails on substituted drives"
|
|
* r1356 SYS has to update the backup boot sector of FAT32, else
|
|
dosfsck would show a warning about a boot / backup mismatch
|
|
* r1354 Use _dos_allocmem for OW, similar to Turbo C version
|
|
Split file copy into readfile and writefile, nicer source code
|
|
Preserve time and date of kernel.sys and command.com
|
|
* r1353 let exeflat call UPX, simpler makefile as in unstable branch
|
|
* r1351, 1352 exeflat reorganization, no functional changes
|
|
* r1350 add ASM/CDECL to HaltCpuWhileIdle decl, fix Turbo C compile
|
|
* r1349 change copy() in SYS to "read to RAM, update boot, write to
|
|
disk", reduces disk changes on single floppy PC, fixes bug 1840
|
|
* r1348 treat load image size of EXE modulo 1 MB, do not abort if
|
|
size > 1 MB. Fixes bug 1854, Turbo C++ 3: paras=(word)(pages<<5)
|
|
* r1346 init HaltCpuWhileIdle to 0 before installing int handlers
|
|
* r1345 int 21.5a mktemp: only enforce root tempfile name if no dir
|
|
is given in template *and* DOS version is 5.xx, else no dirspec
|
|
Tried to make int 21.60 truename return 0 if okay, 3a00 if char
|
|
device and not join/net?? Set default FAT16 DOS version to 6.22
|
|
(was 5.0, only int 21.5a/21.60 and userland differ from 6.22)
|
|
* r1344 clarified intfns.txt for int 21.63 (country/nlsfunc), int
|
|
21.71 (LFN) and int 21.5d0x (share). The latter would need both
|
|
kernel and SHARE extension to be supported, neither are done yet
|
|
* r1341, 1343: fix Bochs incompatible (PostConfig crash) IRQTEXT,
|
|
now with corrected segment loads in irqstack.asm (segs->groups)
|
|
This fixes a problem introduced in SVN revision 1325/1326. We now
|
|
have a "fastboot" int 19 reboot hook from Japheth's JEMM JEMFBHLP
|
|
* r1342 fix fat32readwrite prototype, reg use in detect LBA pragma
|
|
|
|
|
|
2007 Jul 21 - Build 2036 svn, in other words, 2038 pre
|
|
-------- Eric Auer (eric@coli.uni-sb.de)
|
|
|
|
Thanks to Geraldo Netto for summarizing the SVN changelog - See also:
|
|
http://freedos.svn.sourceforge.net/viewvc/freedos/kernel/trunk/?view=log
|
|
All main features of Tom's fork are available in kernel 2038 now.
|
|
|
|
+ Changes Bart + Eric
|
|
* r1340 version 2038pre/2036svn (fdkernel.lsm, version.h, history)
|
|
* r1339 new IDLEHALT=n (HLT on idle, save energy) and KEYBUF=n[,m]
|
|
(relocate keyboard buffer, eg to 40:105-1ff) config.sys options
|
|
* r1338 removed "Dutch plurals" ("Dutch plural's" ;-))
|
|
* r1336-1337 disable interrupts while storing interrupt vectors,
|
|
fix 8086 compatibility again
|
|
* r1335 use lastdrive Z for initial CDS, so device=f:... etc works
|
|
* r1334 fix bug 1953: int 21.29 now returns valid only for existing
|
|
drives, not for all, and leave FCB empty/unset if no valid drive
|
|
http://sf.net/tracker/?func=detail&aid=2362450&group_id=5109&atid=105109
|
|
* r1333 fix stack for UPX compression as .sys, fix size limit 65420
|
|
* r1332 fix F5/F8 zero timeout handling in GetBiosKey
|
|
* r1331 some config.txt / contrib.txt updates merged from UNSTABLE
|
|
* r1330 fix Turbo C compilation: nls.* adds ASM/CDECL nlsInfoBlock
|
|
and makefile uses "$(COMSPEC) /c if exist" in UPX handling
|
|
* r1329 UPX compress kernels below 64k as .sys, save 2k disk space
|
|
* r1328 process relocations before compressing kernel, save 130 by
|
|
* r1327 use more flexible exeflat UPX trailer from unstable branch
|
|
* r1325-1326 new IRQTEXT segment, put pre-boot interrupt vectors
|
|
at 70:100 so int 19 reboot with JEMM386 "fastboot" can work
|
|
(see r1341, r1343: this introduced a later fixed problem...)
|
|
* r1324 add SHARE driver/TSR for file locking to main SVN branch
|
|
* r1323 fix bug 1956: use segment, not offset, for file handle NULL
|
|
check - otherwise apps which allocate their own FILES can break
|
|
* r1322 fix problem with old game which uses findfirst attrib 77a8
|
|
(do not return volume label as findfirst/findnext result here)
|
|
* r1320 add some comments about what intr() does
|
|
* r1319 read partitioning via CHS (unless Cyl>1023 / LBA forced via
|
|
SYS CONFIG) for better compat with old boot managers like "PROT"
|
|
* r1318 avoid compile time warning with OpenWatcom 1.7 in-devel
|
|
* r1313 call_nls optimization: ID in high word of long, no pointer
|
|
* r1312 always set lr.ES just before break, so OW can tail merge
|
|
* r1308 avoid OW 1.6 warnings about functions redeclared as static
|
|
* r1307 fix OW warning about comparing unsigned int to <= 0...
|
|
* r1306 NUL device has to return 0 bytes for reads even in raw
|
|
mode - fixes problem with DJGPP sed (possibly also bug 1793?)
|
|
|
|
+ changes merged from Tom's extra stable fork of kernel 2035a:
|
|
* r1321 only move EBDA if ramsize == peek(0, RAMSIZE)
|
|
* r1317 extra free of near f_nodes to avoid INT24 problems
|
|
* r1316 remove unused intr prototype for resident code,
|
|
add dir kernel.exe to build process, cosmetic p=A -> p = A
|
|
* r1315 set OEM name in boot sector to FRDOS5.1 (5 uppercase
|
|
letter, 4 or 5, dot, digit: Win9x seems to like that better...
|
|
* r1314 implement int 2f.4a00 "DJ style" floppy change call
|
|
(let GUIs hook "Insert disk..." dialog on single floppy systems)
|
|
Some forgotten bits of int2f.asm NLS related updates
|
|
* r1311 optimized method to set extended error (smaller)
|
|
* r1310 use a command table for IOCTL, save ca 83 bytes
|
|
* r1309 fix typo "booot"
|
|
|
|
+ these changes are already in FreeDOS 1.0 kernel 2036cvs Aug 18 2006:
|
|
* r1305 build system adjustments - suppress dos4g banner etc
|
|
* r1304 fix MS QB4 (QBasic/QuickBasic) problem, allow double free
|
|
(freed MCBs are unlinked from the chain but not invalidated)
|
|
* r1303 only use 28 bits of FAT32, mask out others, add logging
|
|
* r1302 add COMn/AUX func 6 (input status), remove read wait for DSR
|
|
|
|
|
|
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
|
|
-------- Jeremy Davis (jeremyd@computer.org)
|
|
+ Changes Bart
|
|
* int2f.asm: call_nls: DI register was not preserved (bug 1812)
|
|
+ Changes Arkady
|
|
* floppy.asm: fix epilog for FL_SETMEDIATYPE & FL_SETDISKTYPE
|
|
to use 'ret' instead of 'ret 8'; improve comments
|
|
* entry.asm: use unsigned comparision instead of signed
|
|
+ Changes Lucho
|
|
* dsk.c: text in play_dj
|
|
* fatfs.c:
|
|
- zero creation/access stamp on directory entry write as MS-DOS 7.10
|
|
- prevent removal or renaming of the current directory of that drive
|
|
* ioctl.c:
|
|
- r_si/r_di contents added as documented in PC-DOS Technical Update
|
|
* inthndlr.c
|
|
- fix: for INT21/5F07 and 5F08, before changing bit CDSPHYSDRV,
|
|
MS-DOS checks if physical device associated with drive letter. Without
|
|
this check MS-FORMAT under FreeDOS was destroys RAMDISK.
|
|
- zero serial number of Int 21h/30h (else buggy 32RTM thrashed stack) [& Bart]
|
|
- set AX = ES after Int 21h/4Ah (undocumented but expected by BRUN45)
|
|
(the last 2 changes needed to fix bugs discovered by Michael Devore)
|
|
- added Int 2Fh/2Fh processing to set DOS version as per MS-DOS 4.0
|
|
+ Changes Eduardo
|
|
* inthndlr.c: added Int 2Fh/26-29h processing for NLSFUNC (with Lucho)
|
|
|
|
|
|
2004 May 30 - Build 2035
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Changes Lucho + Tom
|
|
* config.c, fatfs.c, globals.h, init-mod.h: From Tom: must
|
|
set r_bpfat for C_BLDBPB, otherwise USBASPI.SYS, DI1000DD.SYS
|
|
won't like us. From Lucho: use DiskTransferBuffer for deblock_buf.
|
|
+ Changes Lucho
|
|
* docs/fdkernel.lsm, stacks.inc, version.h,
|
|
entry.asm, inthndlr.c, io.asm, nlssupt.asm: no need to preserve
|
|
high part of ecx for Borland, ebx for MSVC
|
|
* device.h, dsk.c, init-mod.h, ioctl.c: MSC fixes and small cleanup
|
|
* ioctl.c: Cache attr and control flow optimizations (~120 bytes)
|
|
* device.h, dsk.c, ioctl.c: deal with the correct
|
|
structure for generic and query ioctls. Fixes issues with
|
|
3rd party device drivers (or ones that use dsk.c)
|
|
* dosfns.c, inthndlr.c, proto.h: Merge dosmkdir and dosrmdir
|
|
* config.c: strcasecmp and set_strategy common code optimizations.
|
|
* main.c: Add necessary cast for BC
|
|
* portab.h: Avoid problem with BC declaring __emit__, en/disable twice.
|
|
* dsk.c: DJ mechanism without memcpy.
|
|
* newstuff.c: replace loops by fmemset/fmemcpy (43 bytes)
|
|
* dosfns.c, fatdir.c, fcbfns.c, ioctl.c: Some small cleanups.
|
|
* config.c: GetNumArg and misc other cleanups
|
|
* time.h, fatfs.c: converted TM_ENCODE into a function.
|
|
* inthndlr.c, proto.h, fatfs.c: Inlined dos_setdta.
|
|
Various bug fixes and cleanups from Lucho and Arkady.
|
|
* inithma.c: moved fmemcmp's into a checkHMA function.
|
|
* inithma.c: HMAFree == 0xfff0 - bytesToAllocate
|
|
is valid and may happen if the buffers occupy exactly all HMA
|
|
space up to and including the last byte at ffff:ffff. Failing
|
|
caused all buffers to go low ...
|
|
* inthndlr.c: cleanups (merge common code into long_check and
|
|
short_check). Made int21/3301,2e,54 consistent with MSDOS
|
|
behaviour.
|
|
* globals.h, task.c, main.c: Convert setvec into a function
|
|
for the resident code
|
|
+ Changes Arkady
|
|
* initdisk.c: initdisk optimizations (65 bytes) and is_suspect fix.
|
|
* config.c, init-mod.h, intr.asm: optimized allocmem()
|
|
* fattab.c, kernel.asm: optimizations
|
|
* main.c: Make signon one big printf function call.
|
|
* ioctl.c: bugfix for INT21/440b (change NetRetry if DX is _non_zero).
|
|
* inthndlr.c: cntry == 0 doesn't make sense for Set Country
|
|
Information. Fix int21/5e02+
|
|
* sys/talloc.c: Turbo C really wants unsigned __brklvl. Only shows
|
|
up if you enable stack checking.
|
|
+ Changes Bart
|
|
* memmgr.c, proto.h, inthndlr.c: DosUmbLink no longer
|
|
tries to merge free blocks. Also cleaned up a bit.
|
|
* inthndlr.c: Fix int21/3302 (the swap was wrong, Lucho & Bart)
|
|
* config.c: Pointer-ise specificCountriesSupported accesses.
|
|
* config.c: Reorganized GetBiosKey a bit -- inlining
|
|
GetBiosTime saves a slight amount of code, converted timeout < 0
|
|
to a blocking read instead of polling.
|
|
* config.c: Use strcaseequal instead of strcasecmp since we
|
|
never care about order anyway.
|
|
* chario.c: Fix problem with redirected input and
|
|
int21/ah=0a (debug < foo.txt) -- could get you an invalid opcode!
|
|
* console.asm, main.c, prf.c: Use int29 for kernel console
|
|
output. Enables ansi escape sequences in config.sys once you load
|
|
nansi.sys. It also saves a couple of bytes.
|
|
* newstuff.c, proto.h: made dosmktmp to return a long:
|
|
consistent with DosOpen et al and avoids the cast.
|
|
* mkfiles/tc2.mak: Let TC2 warn for the utilities.
|
|
* config.c: Disabled EBDA moves by default. Automatic EBDA
|
|
moves now happen using switches=/e:-1
|
|
* config.c: Pointer-ize MenuStruct[MenuSelected]... (from
|
|
Lucho). and InstallCommands[i]. (from Bart). Some other small
|
|
optimizations.
|
|
* memmgr.c: Some small optimizations (46 bytes) and dead
|
|
code removal from Lucho and Bart
|
|
* init-mod.h: Need to define strchr to init_strchr otherwise
|
|
the wrong one may be called.
|
|
* initdisk.c: Do a bit of printf merging.
|
|
* filelist, drivers/makefile, init-mod.h, inthndlr.c,
|
|
task.c, globals.h, main.c: Convert getvec into a C function.
|
|
* int2f.asm: Clean up int2f assembly a bit (merge some
|
|
common bits, clarify label names)
|
|
* fatfs.c, fattab.c: fattab.c now remembers if the old FAT
|
|
entry was free or not, so the free space adjustment could be
|
|
moved back to fattab.c.
|
|
* init-mod.h: Replaced setvec macro by a function.
|
|
* entry.asm, inthndlr.c: Made int21/ah=25,35 reentrant.
|
|
Solves problem with Intel PRO/1000 driver.
|
|
* portab.h, globals.h, main.c: Initialise all int
|
|
vectors except the ones at 70:xxxx using a table. Convert setvec
|
|
into a function that disables/enables ints (init code only for
|
|
now, resident code will follow later); cli/sti (disable/enable)
|
|
are now macros (inlined).
|
|
* fnode.h, fatdir.c, fatfs.c: dir_read() no longer updates the
|
|
diroff counter. This eliminates the NEW field,
|
|
simplifies remove_lfn_entries(), and avoids a bug if you delete
|
|
the first entry in the root directory on FAT32.
|
|
* fattab.c: Stop abusing "idx". The OW optimizer likes this better,too.
|
|
* fattab.c: Clean up FAT12 handling -- there's a portable
|
|
approach that's small too.
|
|
* fattab.c: Inlined much of getFATblock() into link_fat.
|
|
Saves the idx reference. The second call (for a FAT12 entry that
|
|
is divided in two sectors) can be much simpler, no need to
|
|
recalculate. Merged next_cluster and link_fat into one
|
|
function depending on a special Cluster2 value.
|
|
* fattab.c: Calculate the nibble/word/dword index of the FAT
|
|
entry in the sector centrally in getFATblock.
|
|
* fattab.c: "clussec" can be of CLUSTER size if we divide by
|
|
an adjusted "words per sector"(FAT16), or "dwords per
|
|
sector"(FAT32) value instead of multiplying it first. For FAT12
|
|
the *3/2 works out a little differently: here we first multiply
|
|
by 3 and then divide by the number of "nibbles per sector".
|
|
* main.c: Config.cfgInitTail is a pointer now so sizeof
|
|
isn't good. Just using strcpy helps F5 and F8.
|
|
* main.c: "copyright" is near now so we have to use %s and not %S
|
|
* blockio.c, dosfns.c, int2f.asm, network.c, proto.h, task.c:
|
|
reduced the number of network redirector functions in
|
|
int2f.asm. The remote_ functions (with one far pointer
|
|
argument) are now called with the help of a
|
|
network_redirector() wrapper in C by one multiplex function
|
|
using a generic void *arg argument to pass the third
|
|
parameter which can be various things.
|
|
Split int2f.asm functions, don't let them preserve as many
|
|
registers, use pascal calling convention for the "open"
|
|
(but really: multiplex) function.
|
|
* dsk.c: floppy determination type optimization for format --
|
|
based on Arkady's suggestions a long time ago.
|
|
+ a few other small optimizations (~70 bytes total).
|
|
|
|
|
|
2004 Apr 17 - Build 2034
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
* break.c, chario.c, inthndlr.c, proto.h: Improve ctrl-c/ctrl-break
|
|
handling:
|
|
- read_char_sft_dev handles ^C at a fairly high level.
|
|
- ^C didn't work for int21/ah=3f. Corrected
|
|
- Do_DosIdle_loop still needs to wait even if it doesn't call the
|
|
idle int
|
|
- ^C needs to be echoed to STDOUT for low character functions
|
|
(ah<0xd) but to the device that is read from for handle
|
|
functions. So we need to pass either the STDOUT sft or that
|
|
device on to the ^C echoer which now correctly prints ^C\r\n.
|
|
- misc cleanups in break.c.
|
|
* main.c: Move memset up a little else it would overwrite too much.
|
|
* build.txt, config.c, init-mod.h, initdisk.c, inithma.c, main.c: Lucho
|
|
reported that MSC compiled kernels now work after all. Let's mark
|
|
those nasty "BSS" variables explicitly then to try to avoid
|
|
future problems. Also DATASTART should be FAR and not DOSFAR for MSC
|
|
* stacks.inc, generic.mak, entry.asm, int2f.asm, kernel.asm, segs.inc:
|
|
(suggested by Arkady): use CPU to enforce 8086 etc instructions.
|
|
* ioctl.c: Correct int21/ax=4401: returned AL = old value, should
|
|
set CY and DE_INVLDDATA if DH!=0 (RBIL is a little confusing here).
|
|
* memmgr.c: Converted nxtMCBsize back to a macro. There is no need
|
|
to use far2para; FP_SEG works fine since MCBs always have offset 0.
|
|
* build.txt, config.c, config.h, kernel.asm, main.c, segs.inc, task.c:
|
|
Removed obsolete BYTE cfgCSYS_fnam[NAMEMAX]; config variable. Changed
|
|
cfgInit and cfgInitTail to pointers, adjusted some code to cooperate.
|
|
* chario.c: The screen position (for TABs) is only for raw
|
|
*CONOUT* devices already updated in dosfns.c
|
|
* memmgr.c, proto.h: Make unnecessary far pointers near.
|
|
* device.h, dsk.c, initdisk.c: Move the ddt bitfields to
|
|
df_descflags. Let SetLogDev call GetLogdev, eliminating common code.
|
|
* init-mod.h, mscl8.mak: Some vars need to be DOSFAR;
|
|
init code is no longer tiny but small.
|
|
* segs.inc, inithma.c, main.c, asmsupt.asm, execrh.asm, init-mod.h,
|
|
kernel.asm, watcom.mak:
|
|
Make CS the same for INIT and HMA text for Watcom. Move HMA text
|
|
up in kernel.asm. Use std for the memory move: helps if there's
|
|
overlap (PCs with a very low amount of RAM).
|
|
No longer include duplicate execrh, asmsupt, and u8m/d functions
|
|
for the init text in the Watcom compiled kernel, since they can
|
|
be called "near" in the resident code.
|
|
* portab.h, kernel.asm, main.c, segs.inc:
|
|
Use the "small" model for the init code (split code/data).
|
|
* main.c: Use pointer to MK_FP(0,0x5e0) to save a bit of code.
|
|
* initdisk.c: Move some common code into a "push_ddt" function.
|
|
* sys.c: Correct int25/26 pragmas. Need to explicitly preserve bp
|
|
and pop flags.
|
|
* initdisk.c: fmemcpy->memcpy where possible
|
|
* config.c, init-mod.h, inithma.c, int2f.asm: Make
|
|
UMB_get_largest "pascal". Let it use the xms driver address from
|
|
the HMA code. Misc small config.c cleanups.
|
|
* initdisk.c: "Cache" far drive data table near. Enables elimination
|
|
of many far pointers in initdisk.c. Also clear up the
|
|
unnecessary casts in ConvPartTableEntryToIntern.
|
|
* drivers/getvec.asm, drivers/rdpcclk.asm, drivers/wratclk.asm,
|
|
drivers/wrpcclk.asm, globals.h: Use pascal calling
|
|
conventions for all clock related asm functions.
|
|
* drivers/floppy.asm, dsk.c: Use pascal calling conventions
|
|
for floppy asm functions.
|
|
* init-mod.h, intr.asm, proto.h, kernel.asm: Use the
|
|
pascal calling convention for all intr.asm functions, and let
|
|
them pop the stack (smaller code than using bx). Tell Watcom
|
|
which registers are clobbered; save some more registers for
|
|
intr() -- especially for intr() this helps.
|
|
* device.h, execrh.asm, init-mod.h: Use pascal calling conventions
|
|
for execrh().
|
|
* mkfiles/watcom.mak: Use the "-r" switch for Watcom to preserve ES
|
|
around calls -- saves ~350 bytes.
|
|
* sys.c, init-mod.h, fdkrncfg.c, portab.h, prf.c, proto.h:
|
|
Introduce VA_CDECL: only Turbo C 2.01 needs an explicit cdecl
|
|
for printf, all other compilers can use it with pascal or
|
|
"register" calling conventions. Saves ~50 bytes for the init code.
|
|
* asmsupt.asm, config.c, init-mod.h: Use strchr and strlen
|
|
more often; also use strchr in the init code.
|
|
* memmgr.c: Better to call fmemset than to do things manually.
|
|
* asmsupt.asm, proto.h, init-mod.h: Be more specific about
|
|
which registers are clobbered by asmsupt.asm functions. Preserve
|
|
"ES" for Watcom. Saves ~150 bytes resident, ~90 bytes
|
|
nonresident, more for 386 kernels.
|
|
Preserve bx and cx for WATCOMC as well. Saves another 200 bytes.
|
|
* inthndlr.c: Simplify memory access mode check.
|
|
* dsk.c: Remove wrong "512" value for number of root directory
|
|
entries on FAT32 partitions.
|
|
* file.h, sft.h, dosfns.c, fcbfns.c: Get rid of SFT_M* mode
|
|
values. O_* values are sufficient.
|
|
* file.h, fatfs.c: Define O_ACCMODE and use it instead of "3" for
|
|
the open access mask.
|
|
* config.c, init-mod.h: Change default STACKS= size to 256.
|
|
* config.c, init-mod.h, main.c: Remove lpOldTop variable.
|
|
It is no longer necessary (has not been for some time) and the
|
|
assignment in config_init_buffers() was wrong (screwed up fnodes,
|
|
so that buffers overlapped fnodes...).
|
|
* lol.h, config.c, fatfs.c, globals.h, kernel.asm, proto.h:
|
|
Made the main fnodes far so they can be in the HMA.
|
|
Internally the kernel uses two near fnodes though, to save on
|
|
codesize and fmemcpy's if necessary. Having memory management on
|
|
two fnodes is a little silly but I just want to make sure with
|
|
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,
|
|
commit, and merge_file_changes). This can be cleaned up later.
|
|
* fatfs.c:
|
|
- Merge three almost identical pieces of code used to allocate a new
|
|
directory entry in creat, rename, and mkdir into alloc_find_free.
|
|
- Merge find_fat_free() and extend() -- they were almost
|
|
identical. Have a simplified clause for f_cluster ==
|
|
FREE. Set f_cluster = FREE in shrink_file if the file is set to
|
|
0 bytes; in that case we should set the current cluster to FREE
|
|
even if it is currently a LONG_LAST_CLUSTER.
|
|
* fnode.h, fatdir.c, fatfs.c, lfnapi.c:
|
|
- Eliminate f_back field. extend() now uses f_cluster instead of
|
|
f_back, while map_cluster makes sure it's not set to
|
|
LONG_LAST_CLUSTER (but to the cluster before it) when calling
|
|
extend(). extend() and first_fat() now return the new cluster
|
|
number or LONG_LAST_CLUSTER, just like find_fat_free().
|
|
- Eliminated f_sector and f_boff fields from fnodes.
|
|
- Avoid bitfields for fnodes, using flags instead. Replaced droot
|
|
field by checks for f_dirstart == 0.
|
|
- Make f_diroff an entry offset so it can be 16bits. Enforce the
|
|
65536 entry limit in dir_read(), except for root directories.
|
|
For root directories it's checked against a different limit
|
|
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.
|
|
* chario.c: Echo input LF as CR-LF unless it's the first
|
|
character. Never store LF in the buffer.
|
|
* memmgr.c, task.c: Eliminated long2para and avoided use of "long"s
|
|
in DosExeLoader, using paragraphs to measure size instead. Saves
|
|
~130 bytes together.
|
|
* 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.
|
|
* dosfns.c, int2f.asm, intr.asm, nls.c: Eliminate intr()
|
|
from resident code. Saves ~200 bytes of HMA resident code. Also
|
|
made the nls.c functions SS!=DS safe.
|
|
* init-mod.h, inthndlr.c, intr.asm, main.c, proto.h, task.c:
|
|
int21/ah=26: new_psp now copies the old psp and just sets a few
|
|
fields int21/ah=55: child_psp does the rest init code does the
|
|
init (fixed values are always copied now)
|
|
* dosfns.c: Commit each close, even if the ref count is > 0.
|
|
* prf.c: Borland C didn't like one pseudo register use.
|
|
* initdisk.c: Merge "suspect partition" copy/paste code into functions.
|
|
* asmsupt.asm: Save a couple bytes by moving the strncmp_retzero block.
|
|
* fcbfns.c, proto.h: Don't call truename from FcbNameInit(). It
|
|
was only necessary for "FcbRename", which can call it itself.
|
|
Fixes for FcbOpen/FcbFindFirstNext a consequence of
|
|
truename's funny behaviour: truename(c:nul) = c:/nul and
|
|
truename(c:/nul) = c:\nul. Fixes the EJECT problem from Lucho.
|
|
Remove unused variable lpFcb.
|
|
* portab.h, dsk.c, main.c, newstuff.c: Define I386 and I186 more
|
|
cleanly. Add (UWORD) casts to silence the compiler. Optimize
|
|
(head*sector) to secs_per_cyl. Add BORLANDC to compiler list
|
|
and simplify startup printf to one message.
|
|
#pragma enable_message(130) for Watcom C causes it to
|
|
behave a little more like Borland in terms of warnings.
|
|
* exeflat.c, fatfs.c, fattab.c, fcbfns.c, inthndlr.c,
|
|
memmgr.c, task.c, blockio.c, fatdir.c: Added explicit
|
|
(UWORD) type casts to avoid compiler warnings and sometimes save
|
|
a few bytes too. Also changed the FcbParseFname return value:
|
|
returns offset portion of pointer (SI) instead of the number of
|
|
bytes to be added to SI.
|
|
+ Changes Lucho
|
|
* task.c: fixes the CHKDSK I: "Invalid drive specification" bug
|
|
* mcb.h, inthndlr.c: save 33 bytes by eliminating a switch for
|
|
memory/UMB access modes.
|
|
* talloc.c: talloc won't work with MSC (no sbrk or brk available)
|
|
+ fix
|
|
* stacks.inc: smaller Protect/Restore 386 register macros.
|
|
* inthndlr.c: Code size reduction and dead code removal.
|
|
* dosnames.c: Remove wrong automatic "*.*" code from Lixing
|
|
Yuan -- return DE_PATHNOTFND or D_NFILES instead
|
|
* ioctl.c: move the lock/unlock simulation of success before the
|
|
device GENIOCTL check so that it applies to any device.
|
|
* filelist, dosnames.h, dosfns.c, dosnames.c, fatdir.c, fatfs.c,
|
|
globals.h, init-mod.h: (with Bart) -- remove the dosnames path
|
|
67 length check. Review the places where it really matters (chdir
|
|
and mkdir).
|
|
* init-mod.h, intr.asm, kernel.asm, main.c, procsupt.asm,
|
|
proto.h, task.c: enable interactive re-execution of the SHELL.
|
|
* nls.h, config.h, globals.h, init-mod.h: move NLS #defines to
|
|
nls.h. Move config structure to config.h. Some cosmetic changes.
|
|
* contrib.txt: From Lucho: update contributors list.
|
|
* config.c: From Lucho: fix EBDA problems with INSTALL. This
|
|
fixes the weird fmemcpy lockup; in reality kernel init code was
|
|
overwritten.
|
|
* asmsupt.asm, config.c, init-mod.h, inithma.c, main.c, makefile,
|
|
prf.c: Use asmsupt string and mem functions for the init code too.
|
|
+ Changes Arkady
|
|
* task.c: A few suggestions. Saves 5 bytes.
|
|
* inthndlr.c: Use AL, not AX, for int2f/ax=1213, as per RBIL
|
|
* inthndlr.c: Use xreg struct and macros to optimize the
|
|
int2f/12,4a handler a bit ~25 bytes
|
|
* config.c: Buffer config fixes.
|
|
* inthndlr.c, proto.h: Corrections to int2f/ax=4a01/2.
|
|
* blockio.c: buffer intersection check should use > instead
|
|
of >=. small optimization -- the segment in bp == firstbuf is
|
|
always the same so we just need to compare offsets.
|
|
AllocateHMASpace needs to check FP_SEG(firstbuf) for 0xffff,
|
|
since the buffers may not live in the HMA.
|
|
* *.bat, config.b, kernel/makefile, generic.mak: .BAT file and
|
|
makefile cleanups. Also Lucho reported that nmake/nologo doesn't
|
|
always work in 4dos, but nmake /nologo works.
|
|
|
|
|
|
2004 Jan 31 - Build 2033
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Changes Bart
|
|
* config.c: allow "0" in full-screen config menus and plug a
|
|
few potential related overflows.
|
|
* sys.c: correct sectors/track, head and hidden sector values
|
|
if the boot sector disagrees with the default bpb (unless the
|
|
default bpb says that the number of hidden sectors is zero (usual
|
|
for floppies)).
|
|
* config.c, main.c: Only put PATH= in the environment if
|
|
it's still empty just before executing the shell. This repairs
|
|
SET PATH=.... in config.sys without confusing anyone.
|
|
* fatdir.c, fatfs.c: Fixed bug #1722: dir_close() was
|
|
called for normal files (via map_cluster and find_fat_free). This
|
|
completely messed up rwblock. Removed these calls (for
|
|
directories they are already covered at a higher level) and added
|
|
a few sanity checks to dir_close and dir_write.
|
|
* chario.c, inthndlr.c: Expand tabs for int21/ah=2,9 even
|
|
in raw device modes and if stdout is redirected. This solves bug
|
|
1737 (grep2msg problem)
|
|
* ioctl.c: Adapted from Chris Rodie's patch for bugzilla
|
|
#1730: do a device input status request for int21/ax=4406 for
|
|
devices (not for files). Save ~100 bytes by replacing
|
|
s->sft_flags with flags, s->sft_dev->dh_attr with attr and
|
|
simplifying the if() statement a bit
|
|
* hdr/sft.h, dosfns.c: Adapted from Chris Rodie's patch
|
|
(bugzilla #1729): "open" and "close" should call the open/close
|
|
functions for devices using a device request when appropriate.
|
|
* hdr/fat.h, fatdir.c, fatfs.c, fattab.c, prf.c, proto.h:
|
|
+ FAT32 kernels should ignore the upper word of the cluster
|
|
number for FAT16 partitions (just like FAT16 kernels do)
|
|
+ added extra checks to make sure that invalid FAT entries are
|
|
never followed
|
|
+ print a message in case of FAT corruption
|
|
+ some small optimizations and header cleanups (some suggested by
|
|
Arkady)
|
|
* config.c: Make strupr code unambiguous
|
|
* filelist, sys/makefile, sys/sys.c, sys/talloc.c: ~1K size
|
|
reduction for sys.com by using Tom's talloc.c malloc/free
|
|
functions and using our own filelength for watcomc.
|
|
* initdisk.c: Better (for FAT32) and simpler FAT default
|
|
value calculations. Also use 16-bit instead of 32-bit quantities
|
|
where possible to save code size. Use a FAT32 table so that FATs
|
|
won't be too big for drives <= 64 GB
|
|
* dosfns.c: Do not clobber the DTA if findfirst or findnext fails.
|
|
Fixes bug #1712
|
|
* fatfs.c: Rename blockio by rqblockio (namespace conflict with dsk.c)
|
|
* inthndlr.c: FAT32 kernels should fail int21/ah=71 with
|
|
al=0, carry set.
|
|
* hdr/portab.h, nls.c: (as reported by Tom) Fix nls upcase problem
|
|
with SS!=DS.
|
|
* fatfs.c: Move permission check to better place (only for
|
|
necessary for opening existing files), not for creating them --
|
|
suggested by Steffen. Force r/o open for FCB and legacy creat
|
|
if the file is read-only
|
|
* fatfs.c: Move common code in media_check() to a new
|
|
blockio() function.
|
|
* fcbfns.c, globals.h, inthndlr.c: Change FcbReadWrite to
|
|
handle multiple records at once; this allows for the optimization
|
|
of FcbRandomBlockIO.
|
|
* fcbfns.c: Divide optimisation (ceiling) + some small cleanups
|
|
* fcbfns.c, globals.h, kernel.asm: Rename the global lpFcb
|
|
variable to sda_lpFcb. Then use local lpFcb variables where
|
|
necessary. This clears up the confusing shadowing.
|
|
* fcbfns.c, inthndlr.c, proto.h: Fix FCB problems with
|
|
int21/ah=27,28 (RandomBlockIO)
|
|
* boot32.asm: jmp -> jmp short (necessary for nasm 0.98)
|
|
* dosfns.c, inthndlr.c, proto.h: Implement support for
|
|
int2f/ax=1220. Fix int2f/ax=1216 (needs sft handles, not psp
|
|
handles, and to return the relative handle in BX, and to deal
|
|
with carry)
|
|
* boot.asm: Fix problem with FAT12
|
|
+ Changes Eric Luttmann <ecl@users.sourceforge.net>:
|
|
* main.c: Fix for multisegmented device drivers: If there are multiple
|
|
device drivers in a single driver file, only the END ADDRESS
|
|
returned by the last INIT call should be the used. It is
|
|
recommended that all the device drivers in the file return the
|
|
same address. This fixes a load problem with DUSE.
|
|
* config.c, init-mod.h, main.c: fix for multi-segment device
|
|
drivers; preserve rq_endaddr between init calls for the same driver.
|
|
+ Changes Lucho:
|
|
* inthndlr.c: Remove AL=0 check for AH=6c (from Arkady) Optimize DL check.
|
|
* main.c, serial.asm: (with some help from Tom):
|
|
initialize serial ports and retry serial reads on timeout.
|
|
* sys.c, boot.asm, boot32.asm, boot32lb.asm:
|
|
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
|
|
pointer at the same magic place for all boot sectors.
|
|
* makefile: clean up *.lnk files for "clean" and "clobber".
|
|
* dsk.c: the DJ mechanism needs to affect MEM 0050h:0004h - MS-DOS
|
|
LOGICAL DRIVE FOR SINGLE-FLOPPY SYSTEM (A: / B:) Size:BYTE
|
|
* int2f.asm, generic.mak: basic implementation of INT 2F/ax=4a33 -
|
|
CHECK MS-DOS VERSION 7; necessary for SpinRite (Steve Gibson)
|
|
* inthndlr.c: implement int2f/ax=1211 NORMALIZE ASCIZ FILENAME
|
|
* config.c, init-mod.h, main.c: Added SET support to config.sys
|
|
|
|
|
|
2003 Sep 24 - Build 2032a
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Changes Bart
|
|
* fix segment problems with ctrl-c and character uppercase
|
|
handlers
|
|
* fix critical error callers to set the critical error code
|
|
immediately before calling the handler (in case they call
|
|
DOS-59); don't set the critical error in inthndlr.c if
|
|
something else already did. Return with an errorcode if
|
|
"truename" and "read"/"write" encountered a critical error.
|
|
* sys.c: add /k kernname.sys option to and straighten out SYS option
|
|
processing; remove the metakern magic.
|
|
* config.c: ignore the segment part for multi-part device drivers
|
|
|
|
|
|
2003 Sep 21 - Build 2032
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Changes Rune Espeseth <re@icd.no> (modified by Bart)
|
|
* config.txt, config.c: Full screen config.sys menus (use MENUCOLOR=)
|
|
+ Changes Michal Bakowski (mb@orad.pl)
|
|
* initdisk.c, kernel.asm: Change the boot drive to always
|
|
be C: if DLASortByDriveNo==1
|
|
+ Changes Arkady
|
|
* dsk.c: Use memcpy instead of fmemcpy; avoid downcasting
|
|
from far to near.
|
|
* sysclk.c: err if sizeof(struct ClockRecord) != rp->r_count
|
|
move year init below reading the BIOS
|
|
* main.c: init_device corrections/cleanups
|
|
* device.h: Change r_status and dh_name to unsigned quantities.
|
|
* task.c: Free memory if there is an error in the relocation
|
|
table.
|
|
* floppy.asm, getvec.asm, rdatclk.asm, rdpcclk.asm, wrpcclk.asm:
|
|
driver .asm files optimizations (also from Bart); remove
|
|
obsolete rdatclk.
|
|
* build.txt: Fix some typos.
|
|
* inthndlr.c: Add missing (); small optimization for DosGetdate/time.
|
|
+ Changes Lucho
|
|
* boot.asm, boot32.asm, boot32lb.asm, sys.c: add metakern support:
|
|
sys looks for a file metakern.sys which is a multiple of 512.
|
|
* break.c: Fix ctrl-break bug.
|
|
* ioctl.c: IOCTL 4406 provided reverse AL output on regular
|
|
files - FF if EOF, 0 if not. It should output 0 if EOF, FF if not.
|
|
* initclk.c: Initclk changes
|
|
* config.c, init-mod.h, initoem.c: Support for
|
|
switches=/e[[:]nnnn] and for moving the EBDA
|
|
* fatfs.c: Use 0x10000UL (avoids Turbo C warning)
|
|
* sys.c: Move manually added "RCS" entries to the CVS log.
|
|
* main.c: Adjustments for MSVC.
|
|
* ioctl.c: int21/ax=440d lock/unlock logical/physical volume
|
|
simulate success for MS-DOS 7+ SCANDISK etc. --LG
|
|
* main.c: && should be || in check for \, / and :
|
|
* task.c: Adjust registers used when starting programs. Some
|
|
demos expect undocumented values (with Bart).
|
|
* mscl8.mak: Forgotten HMA_TEXT for MS compilers.
|
|
* sys.c: Add lock/unlock drive to SYS
|
|
* history.txt: Changelog correction.
|
|
* fatfs.c: Use near bpb on the stack in bpb_to_dpb. Make
|
|
sure the number of FAT sectors is actually enough to hold that
|
|
many clusters. Otherwise back the number of clusters down
|
|
* procsupt.asm, proto.h, task.c: Don't disable a20 for
|
|
"exit" int21/ah=4c
|
|
+ Changes Lucho, Tom, Eric
|
|
* boot.asm, boot32.asm, boot32lb.asm, makefiles, sys.c:
|
|
* boot.asm modified to support non-512 byte sectors
|
|
(e.g. 1.2 MB NEC diskettes)
|
|
* 512 byte sector size check removed (although Eric's boot32ea.asm
|
|
does require 512-byte sectors, all LBA FAT32 volumes have
|
|
512-byte sectors anyway).
|
|
* boot.asm cleaned up and modified to support Metakern
|
|
bsDriveNumber updated by SYS even #ifndef STORE_BOOT_INFO
|
|
* (nothing in common)
|
|
* SYS Now supports and includes the following new boot sectors:
|
|
1) the combined CHS+LBA FAT12/FAT16 boot sector by Tom Ehlert(29 July)
|
|
2) the CHS-only FAT32 boot sector -- as patched by Jon Gentle(08 July)
|
|
3) the LBA-only FAT32 boot sector by Eric Auer and Jon Gentle (19 July)
|
|
* The old combined (CHS+LBA), no-CALCPARAMS, no-resizable, non-Ghostable,
|
|
non-standard FAT32 boot sector and STORE_BOOT_INFO is no longer used.
|
|
* dump_sector() showed ASCII debug printout for the old sector
|
|
only - fixed.
|
|
* 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
|
|
fd-kernel mailing list.
|
|
* Now puts boot sector before copying kernel/shell so it works in
|
|
WinNT now.
|
|
* check_space() now implemented at last (required significant
|
|
modifications)
|
|
* New (FAT type) detection method according to a MS White Paper.
|
|
* Now BOOTONLY works even without preceding boot sector image file name.
|
|
* Some minor code cleanups.
|
|
* Bart: some cleanups to the above; replaced 386 code for CHS FAT32
|
|
by 8088 code. Use boot32lb.asm instead of boot32ea.asm
|
|
+ Changes Bart
|
|
* 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)
|
|
* mirror it for the HMA (ffff:00d0)
|
|
* put all DOS int handler (and the CPM entry jumped to from
|
|
int30) jumpers in the "CONST" portion of DGROUP (instead of
|
|
LGROUP) This helps Turbo C++ 1.01 make with the -S (swap)
|
|
switch.
|
|
* adjustments to set the relevant PSP fields in task.c
|
|
* blockio.c: Always use huge block sectors if the relevant bit is
|
|
set in the device header. This solves a problem with xmsdsk.
|
|
* chario.c: Small optimizations
|
|
* clobber.bat: Remove duplicate clobber.
|
|
* Flip some slashes for Linux compat and simplifications in makefiles
|
|
* device.h, portab.h: Use STATIC=static for watcom C (statics
|
|
are in the mapfile); remove some cruft.
|
|
* makefile, wlinker.bat: More verbose mapfiles for watcom
|
|
C; some slash preparations to allow cross-building on Linux
|
|
* exeflat.c, patchobj.c: Fix warnings reported by Turbo C
|
|
* break.c, chario.c, dosfns.c, globals.h, inthndlr.c,
|
|
proto.h, systime.c: (with a little help from Arkady)
|
|
Simplifications and cleanups.
|
|
Pass a near pointer to the far pointer that points to the device
|
|
instead of an SFT index (in general).
|
|
Make cooked_write much faster by only testing for input every 32
|
|
characters. No longer test for ctl_s on syscon if writing to
|
|
the printer: just read from the printer which will return zero
|
|
characters. Fix reading/writing zero characters by returning
|
|
"256" (special code). Adjust interfaces in other files.
|
|
* portab.h: New UNREFERENCED_PARAMETER macro that appears to
|
|
work for all compilers.
|
|
* floppy.asm: Remove unused code.
|
|
* init-mod.h: Solve compilation problem with Borland C++ 3.1
|
|
* config.b: "-p" is no longer necessary in config.bat
|
|
* kernel.asm: Add necessary "BootHardDiskSeconds" for non
|
|
UPXed kernels.
|
|
* chario.c, dosfns.c: Add necessary casts to ? : constructions;
|
|
cleanup read_line_handle a little.
|
|
* portab.h: Add peek and poke #defines
|
|
* chario.c: Fix pointer overflow problem for reading line using handle.
|
|
* makefiles, exeflat.c Clean cleans a bit more; change () to (void)
|
|
* main.c: Set the PSP before the DTA. This solves an interrupt
|
|
vector table corruption.
|
|
* kernel.asm: Use "local" (instead of "global") disable/enable
|
|
A20. This solves the problems with NIOS.
|
|
* asmsupt.asm, misc.c, proto.h, strings.c: Remove (unused) strncpy.
|
|
|
|
|
|
2003 Jul 19 - Build 2031
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Changes Luchezar Georgiev
|
|
* (with Bart) add extra low disk buffer to avoid HMA
|
|
problems with certain device drivers.
|
|
* Add an extra space character at the end of the command line
|
|
for device drivers to prevent wrong behavior at empty command line.
|
|
* point to a correct environment for INSTALL=
|
|
(fixes problems with xmsdsk).
|
|
* change device driver error code check (using S_ERROR | S_DONE)
|
|
(fixes problem with the SystemSoft PCMCIA socket services driver)
|
|
* correct parameter order in inthndlr.c, chario.c
|
|
* INSTALLHIGH correction.
|
|
+ Changes Tom
|
|
* Fix a problem with the 'BootFromHarddiskIfNoKeyHit' option.
|
|
that occurred with some Compaq and Fujitsu/Siemens highend equipment.
|
|
+ Changes Bernd Blaauw
|
|
* config.txt updates
|
|
+ Changes Steffen Kaiser
|
|
* NLS adjustments
|
|
+ Changes Bart
|
|
* Correct problem with multiple UMBs (bug #1671)
|
|
* main.c: there aren't lastdrive open file handles but a
|
|
maximum of 20.
|
|
* Make "unable to disable A20" message #ifdef DEBUG only.
|
|
* config.c,main.c: Small size optimizations (some proposed by
|
|
Arkady Belousov)
|
|
* asmsupt.asm: Removed unnecessary jcxz's (Arkady)
|
|
* intr.asm: intr() cleanup and small optimizations (Arkady)
|
|
* Use PASCAL calling convention by default for Turbo compilers.
|
|
* Move more externs to header files
|
|
* SFT init cleanup (+3 files need to be low)
|
|
* config.c, main.c: Fix bug in block device driver init of
|
|
DPBs (bug #1969, TDSK problem)
|
|
|
|
|
|
2003 Jun 18 - Build 2030
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Changes Tom
|
|
* if user left accidentally floppy or CD in drive,
|
|
give him a chance to continue to boot from HD.
|
|
disabled by default, enablable by SYS CONFIG
|
|
(BOOTHARDDISKSECONDS)
|
|
+ Changes Lixing Yuan
|
|
* dosnames.c cleanup, fix for truename if the filename
|
|
contains wildcards and a trailing dot.
|
|
+ Changes Eric Auer
|
|
* add sanity check to initdisk.c for (driveParam->chs.Sector == 0)
|
|
+ some display tweaks
|
|
* add EECHO (echo with $=ESC) support to the config.sys parser.
|
|
* distinguish between the builtin DOS version and the settable
|
|
DOS version.
|
|
* console.asm now accepts extended scancodes (modified by Bart, fixes
|
|
bug #1657)
|
|
* added BOOTONLY option to SYS (modified by Bart)
|
|
+ Changes David Bolen
|
|
* add support for UNC-style paths (that start with "\\")
|
|
+ Changes Luchezar Georgiev
|
|
* add Bulgarian country structure data
|
|
+ Changes Bart
|
|
* flip some slashes in drivers/*.asm
|
|
(enables cross-assembly on Linux)
|
|
* remove superfluous printf("\n") in patchobj.c
|
|
* combine the INIT class with the CODE class (classes can span
|
|
multiple physical segments)
|
|
* re-add _TEXT to LGROUP to be able to simplify the patchobj magic
|
|
* don't specify -zPI_GROUP for the init code in Borland compilers
|
|
(unnecessary, it will be put there because of segs.inc)
|
|
* remove STDPATCH; it is no longer necessary
|
|
* add FILESHIGH, LASTDRIVEHIGH, and STACKSHIGH and DOSDATA=UMB
|
|
to load these structures into UMBs
|
|
* make DOS sub-MCBs visible (seen by MEM)
|
|
* preliminary allocation of FILES etc. now takes place at the
|
|
top of conventional memory, and device drivers are loaded before
|
|
the final allocation takes place.
|
|
* handle multiple UMBs more correctly (but config.sys can use
|
|
only one UMB for devicehigh -- /Ln,xxxx is not yet implemented)
|
|
* minor size optimizations in newstuff.c, chario.c, dosfns.c and fcbfns.c.
|
|
asmsupt.asm: correct fmemchr (all n's) and *memset/*memcpy
|
|
(n==0)
|
|
* introduce lol structure for list of lists; avoid lots of
|
|
relocations
|
|
* avoid more relocations in the asm files by loading ds from
|
|
[cs:_DGROUP_]
|
|
* Fix problem with attributes with the volume label bit + findnext
|
|
* SYS: avoid copying kernel.sys and command.com if the destination
|
|
is identical to the source (fixes bug #1656).
|
|
* Fix bug in DeleteBlockInBufferCache: needs to make the block
|
|
invalid, not flush it, if we're writing (bug #1635).
|
|
* added switches=/k/n/f support to the config.sys parser.
|
|
|
|
|
|
2003 Mar 14 - Build 2029
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Changes Tom
|
|
* fattab.c, fat.h removed the wrong ELSE_ISFAT32()
|
|
* fatfs.c: rmdir would crash if you rmdir'ed an existing file
|
|
* config.c, main.c, portab.h
|
|
implement INSTALL and INSTALLHIGH for config.sys
|
|
basic COUNTRY=xxx support (with a little help from others,
|
|
mentioned in config.c)
|
|
* execrh.asm: save si, di for strategy device driver handler
|
|
* (adjusted by Bart): the internal "truename" has to reject
|
|
wildcards for all commands except for the exposed "truename"
|
|
(DosTrueName, int21/ah=60), FindFirst and FCB functions.
|
|
+ Changes Bart
|
|
* add top level makefile with list of files to zip for releases
|
|
* remove obsolete documentation and intr.h
|
|
* eliminated the "f_highwater" fnode field.
|
|
* reintroduced HMA_TEXT segment and adjust segments in libm.lib
|
|
to solve problems with Borland compilers.
|
|
|
|
|
|
2002 Dec 9 - Build 2028
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Changes Tom
|
|
* move clock driver initialization to inittext
|
|
* new ELSE_ISFAT16 macro to save some bytes
|
|
* use _TEXT for old HMA_TEXT, _LOWTEXT for old _TEXT to get
|
|
a slightly less complicated memory model from the C compiler's
|
|
point of view.
|
|
* add support for int2f/4a01,4a02: query/allocate HMA space.
|
|
* updated config.txt
|
|
+ Changes Arkady V. Belousov
|
|
* slightly improved asm for print_hex and int2f clear_ax stuff
|
|
* use #error for unknown compilers
|
|
* remove hexDigits reference
|
|
* correct comment in kernel.asm (pad to 05fdh)
|
|
+ Changes Bart
|
|
* fix ss:sp init bug for int21/ax=4b01 (visible in DEBUG)
|
|
* fix redirection problem for character output routines
|
|
* fix press the any key message for floppy swaps
|
|
* correct cluster value for BAD cluster
|
|
* correct FAT12/16/32 cutoff magic values as per the MS spec
|
|
* the BUFFERS structure is now the same as in MSDOS 5+ and uses
|
|
a circular double-linked list using near pointers.
|
|
* move all old RCS log messages into one seperate file
|
|
* divide the fnode f_cluster_offset field by the size of a cluster:
|
|
this gives a more efficient map_cluster().
|
|
* point the CharMapSrvc pointer to the DOS DS for AARD compliance.
|
|
* nls.c: set CX to cooperate with load_unf.exe
|
|
|
|
|
|
2002 Nov 9 - Build 2027
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Changes Tom
|
|
* memset ErrorAlreadyPrinted to 0 in config.c
|
|
+ Changes Bart
|
|
* reset drive before and after int26 in SYS for winnt compatibility
|
|
* propagate sharing bits correctly in DosOpen
|
|
* return DE_NFILES if a volume label is not found; search for volume
|
|
label if attr & 8 not just if attr==8
|
|
* initialize the critical error code to 0 in inthndlr.c
|
|
* ignore value of DH for extended open int21/ah=6c
|
|
* fix problem with NULL device code being in the wrong segment
|
|
* Hopefully innocent hack to deal with NDN in ioctl.c (ignore upper bits
|
|
of the drive number)
|
|
* use subst bit 15 for int21/ax=4409(IOCTL-CHECK IF BLOCK DEVICE REMOTE).
|
|
|
|
|
|
2002 Oct 27 - Build 2027rc
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Changes Bart
|
|
* reorganized chario.c, got F1-F6, Ins, Del, etc. working
|
|
* fixed bug in extended open
|
|
* fixed bug in memory manager (realloc should try to defragment;
|
|
UMB fixes)
|
|
* consistently pass sft_idx around for all SFT functions (instead of
|
|
the far pointer)
|
|
* lpUserStack is gone :)
|
|
* 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
|
|
InDos now (as documented in "undocumented dos").
|
|
* 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
|
|
checking too. get_dpb: similar.
|
|
* task.c uses mid-level system file handles instead of PSP handles.
|
|
* SFT sequence is MS/DR DOS like: 0=AUX 1=CON 2=PRN
|
|
* int21/ah=4d needs to clear the return code after returning it.
|
|
* Removed need for "unusedretval" because some functions return a long int
|
|
now.
|
|
* Do not warn for some additional LBA partition layouts (begin/end
|
|
cylinder=1023) in initdisk.c.
|
|
* support int2f/ax=1213 (uppercase character) (ASCII only for now).
|
|
* fix for top of memory parameter to device driver - fixes problem
|
|
with DRDOS emm386
|
|
* eliminated printf for non-init code -- use put_unsigned and
|
|
put_string instead
|
|
* better MK_FP for Turbo C++ 1.01 and later
|
|
* PSP related task.c cleanups
|
|
* use --best and new upx (1.23) for binary build
|
|
Changes Tom and Bart:
|
|
* Use Pascal calling convention for memcpy and friends in asmsupt.asm
|
|
* Fixed make temp file
|
|
* fix bug in DosFindNext
|
|
* misc makefile fixes
|
|
|
|
|
|
2002 Aug 3 - Build 2027test
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Changes Tom
|
|
* enable LBA FAT16 booting
|
|
* workaround for redirectors that do/do not set the opencount
|
|
* int25/26 should fail for redirectors
|
|
* set the number of sectors per track in the INT 1E table when
|
|
reading/writing floppies
|
|
* disabled fatal() in error.c
|
|
* Disable the A20 line upon exec (int21/ah=4B). This is necessary for some
|
|
brain-dead exepacked programs.
|
|
* removed unnecessary "BUFFERS" fields
|
|
* proper check for network/non-existing drive for int25/26.
|
|
* save more bytes on the stack at various places
|
|
* made the local registers for inthndlr.c "near" instead of "far".
|
|
* fix bug in strchr handling for fcbfns.c (FcbParseFname)
|
|
+ Changes Steffen (but changed a lot by Bart)
|
|
* new truename (Bart: but without mapPath() style struct)
|
|
* merge open/create functions into one extended open function
|
|
* also honor the sharing bits better for "open"
|
|
* use local 8+3 path names in fatfs.c; merge name+extension
|
|
into one array
|
|
* take care of filenames that start with ASCII 5: they should be
|
|
treated as starting with 0xe5
|
|
* exploit the fact that the filenames are already "truenames",
|
|
i.e., fully qualified in fatfs.c. This simplifies parsing a lot.
|
|
+ Changes Bart
|
|
* make "if exist c:\dir\nul" working
|
|
* honor "do not inherit handle on exec" flag for "open".
|
|
* improve the FCB functions so that they set the critical error code
|
|
properly
|
|
* next_cluster returns "1" instead of DE_xxx in case of failure.
|
|
* create one function to do binary character IO (used for CLOCK$
|
|
driver and character drivers such as CON)
|
|
* better handling of ABORT/FAIL
|
|
* merge all read and write functions
|
|
* patchobj makefile correction
|
|
* printf uses va_list etc.
|
|
* quicker and more robust Watcom build
|
|
* use FS: and GS: for Watcom 386.
|
|
* workaround: don't use DL for floppy boots, but fixed A:
|
|
* disable unused functions in floppy.asm
|
|
* cleaner prototypes (thanks to gcc)
|
|
* reorganized ioctl.c; there was an uninitialized variable.
|
|
* inlined some functions of fattab.c
|
|
* added (f)strcmp, (f)memcmp and (f)memchr to asmsupt.asm
|
|
* initially suggested by Arkady: dsk.c FS_info copy optimization
|
|
* initialize a VDISK signature in the HMA
|
|
* sysclk.c: small size optimization
|
|
* small UMB fixes
|
|
* made the CDS into a proper array instead of a structure with
|
|
one member
|
|
* large task.c cleanups -
|
|
merge as much as possible from DosExeLoader and DosComLoader
|
|
(from Tom:) eliminate some structures in low memory
|
|
* main.c: slightly cleanup "SHELL=" line parsing.
|
|
|
|
|
|
2002 May 9 - Build 2026b
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Changes Tom
|
|
* limit output at boot time somewhat
|
|
* GetCurrentDirectory should fail, if drive is accessible
|
|
* fixed some minor config.sys parser bugs and have the possibility
|
|
of things like 123?device=EMM386.EXE NOEMS
|
|
* shorter version of DosMemLargest()
|
|
+ Changes Bart
|
|
* repaired makefile dependencies
|
|
* implemented multi-sector writes, and re-merged
|
|
readblock()/writeblock() into rwblock ()
|
|
* implemented int21/ah=1c for network drives (RHIDE needs this)
|
|
* initialize current_ldt for findnext (hinted by Steffen)
|
|
* check serial number for floppy disk changes where the drive
|
|
does not feature a changeline
|
|
* reset to root directory when floppy has changed
|
|
* cleaned up endian helpers {get,put}{byte,word,long}
|
|
* don't close file if disk is full
|
|
* enforce minimum of 9 sectors per track for INT1E (necessary for
|
|
some floppies on some XTs)
|
|
* clear carry when calling INT23 (ctrl-break handler) as per RBIL
|
|
* don't copy FCBs on exec if they are pointed to by FFFF:FFFF.
|
|
* resolved warnings for Watcom (now compiles with -wx -we)
|
|
* truename fix (return DE_FILENOTFND for foo.bar.foo)
|
|
+ Changes Jeremy
|
|
* fixed SYS _dos_getdrive for non-Borland compilers
|
|
+ Changes Tom and Bart
|
|
* cleaned up fatfs.c, fattab.c, sysclk.c (CLOCK$ driver), systime.c
|
|
|
|
|
|
2002 Feb 17 - Build 2026a
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Changes Martin
|
|
* fixed SYS for non-Watcom compilers
|
|
+ Changes Tom
|
|
* set CONFIG environment variable to selected number of CONFIG.SYS
|
|
menu entry, for example for use in AUTOEXEC.BAT.
|
|
+ Changes Bart
|
|
* fixed FCBOpen
|
|
* network redirector fixes ; it appears that clearing CF before calling
|
|
the redirector is safer than setting CF
|
|
* allow creating, renaming and deleting volume labels using FCBs
|
|
* fix renaming with wildcards using FCBs
|
|
* some dosfns.c and fcbfns.c clean-ups
|
|
* 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).
|
|
|
|
|
|
2002 Feb 9 - Build 2026
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Changes Tom
|
|
* fixed various typos, #includes
|
|
+ Changes Bart
|
|
* fixed ECHO in config.sys
|
|
* made passing parameters to command.com more robust:
|
|
zero commandline before use, fixed buffer overflow for F5+F8
|
|
* "uppermem_root" in the List of Lists is now FFFF if no UMBs
|
|
available, as documented in RBIL
|
|
* removed all direct hooks from init_text to hma_text; duplicated
|
|
the remaining functions (memset, memcpy and friends).
|
|
* bumped up default DOS version of FAT32 enabled kernel to 7.10
|
|
|
|
|
|
2002 Feb 3 - Build 2026test
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Changes Tom
|
|
* FCB clean-ups and fixes (bug in FCB Random IO,
|
|
CYRUS CHESS, bug #1014)
|
|
* initial config.sys menus (see config.txt)
|
|
* execrh.asm: construct 'interrupt' address after strategy to avoid
|
|
some issues with non-trivial 'strategy' routines.
|
|
* make kernel UPX-able
|
|
* cleaned up midnight flag, dates
|
|
* tmark() and friends are floppy specific and implemented in C
|
|
instead of ASM (parts by Bart)
|
|
* DMA boundary checking gives the right number of sectors if
|
|
the start sector is 512-bytes-aligned.
|
|
+ Changes Victor
|
|
* lfn fixes (lfn is only a place holder, does not work yet)
|
|
* FAT32 fixes
|
|
* dosemu log nicer
|
|
+ Changes Martin
|
|
* log output
|
|
* warning fixes for sys, patchobj and prf.c
|
|
+ Changes Bart
|
|
* FCB clean-ups and fixes
|
|
* make Watcom compiled kernel runnable
|
|
* make compilation with Pascal style calling conventions
|
|
for Borland compilers (-p) possible
|
|
* initialize CDS before opening devices
|
|
* implement lock/unlock for remote drives
|
|
* implement commit file (int21/ah=68,6a)
|
|
* implement ioctl get/set logical drive map (int21/ax=440E--F)
|
|
* implement get address of drive data table (int2f/ax=0803)
|
|
* fix "get address of SDA" (int21/ax=5d06)
|
|
* do not use CHS if the root extended partition of the relevant
|
|
logical partition is labelled LBA (bug #1011)
|
|
* hopefully avoid format problem (bug #1030) by not setting drive
|
|
to "non-accessible" while reading the bpb.
|
|
* boot sector fixes:
|
|
enable booting beyond cylinder x where x * number of heads >= 65536.
|
|
still uses CHS to boot (not able to boot beyond cylinder 1023)
|
|
recognize FF8-FFF as FAT12 ending (was only FFF) (bug #1021)
|
|
* avoid using LIB when linking the kernel by echo-ing to a linker
|
|
resource file. Use a batch file to bypass Borlands Make 2.0
|
|
unwillingness to redirect stdout.
|
|
* UMB variable clean-up
|
|
* use of "const" for constant global variables
|
|
* reduced size of Watcom-compiled SYS binary
|
|
|
|
|
|
2001 Nov 18 - Build 2025c
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Changes Bart
|
|
* ran source code .c and .h files through "indent"
|
|
* fixed new printf bug
|
|
* removed some duplicate documents
|
|
+ Changes Victor & Bart
|
|
* fixed sys.c fat32 detection bug (offset 0x10, not 0x2c)
|
|
|
|
|
|
2001 Nov 17 - Build 2025b
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Changes Tom
|
|
* fix a few more batch file and makefile details
|
|
* fix problems with command line editing: F1 and right key
|
|
* string merging in dosnames.c
|
|
* optimizations for MSC
|
|
+ Changes Bart
|
|
* fix readblock problem not properly detecting EOF - it sometimes
|
|
returned an error where it should just report a short count.
|
|
Also fnp->f_offset==0 is not a special case for blockread
|
|
(neither should it be for write - but that'll be for later)
|
|
For both cases it's perfectly legal to do a seek first.
|
|
* fix writeblock not setting highwater to offset when doing a
|
|
truncate (count == 0)
|
|
* hopefully now really fix the floppy change problem -
|
|
dsk.c: getbpb() should query changeline BEFORE reading the BPB.
|
|
* fixed warnings from WATCOM compiler - one of them was in fact
|
|
a bug in fcbfns.c
|
|
* started big clean-up
|
|
- converted obsolete bcopy(), sncopy() and friends to memcpy(),
|
|
strncpy() etc.
|
|
- removed $Log entries that are also on the CVS server and
|
|
removed the $ so no new entries will be added in files.
|
|
indenting will be next - other fixes will be buried in diffs if
|
|
I do that now.
|
|
|
|
|
|
2001 Nov 12 - Build 2025a
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Changes Tom
|
|
* initialize LBA parameter struct to 0's - some BIOSes don't fill
|
|
in everything. Thanks to Bernd Blaauw's bug report.
|
|
* Minor boot sector optimization.
|
|
* added some exeflat options
|
|
+ Changes Jeremy
|
|
* changes to fdkrncfg.c: mostly cosmetic to the output
|
|
* added sys.doc file (updated by Bart)
|
|
+ Changes Bart
|
|
* let int 0 (divide by zero) and int 6 (invalid opcode) print a
|
|
stack trace to aid in debugging
|
|
* fixed floppy drive detection for XT's.
|
|
* fixed bug in int21/ah=0x32 and friends - we should flush data before the
|
|
forced media_check
|
|
* Use CHS addressing if possible on partitions with the relevant ID,
|
|
you can overide this using the new FORCELBA and GLOBALENABLELBASUPPORT
|
|
sys config options.
|
|
* Always use BIOS values for translating LBA to CHS for fixed disks -
|
|
ignoring the boot sector values. For floppies the boot sector is used.
|
|
* fixed "truename hello." to remove the trailing dot.
|
|
* added options to SYS to write to a boot sector image file
|
|
* set Critical Error Code for ioctl's
|
|
* fake cluster size for 64k clusters just like FAT32 for INT21/AH=0x36
|
|
and friends.
|
|
+ Changes Bart+Tom+Victor
|
|
* make makefile system more robust
|
|
+ Changes Victor
|
|
* cleaned up map_cluster and dir_read (bug fixed by Bart)
|
|
* updated LFN API (in development, not used yet)
|
|
|
|
|
|
2001 Nov 4 - Build 2025a (test)
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Changes tom
|
|
* config.sys processing: placing ? on the left side of '=' like
|
|
?device= or device ?=
|
|
asks for this single line
|
|
fill the available HMA with buffers
|
|
* added kernel configuration options to sys.com, small area at 60:xx
|
|
(in cooperation with Jeremy)
|
|
* readblock optimized to read as many data as possible in one
|
|
int13 request - great speedups for large reads
|
|
* some more SDA variables need to be updated for the network
|
|
redirector (the sft index)
|
|
* reduce stack usage in task.c, fattab.c, ioctl.c, execrh.asm, inthndlr.c
|
|
* protect high part of 32-bit registers (stacks.inc)
|
|
* moved copyright messages to init data to save a bit of memory
|
|
* added relocinf, patchobj, sorted + some more output of exeflat
|
|
* UMB fixes
|
|
+ Fixes Bart, Victor, Tom
|
|
* more FAT32 fixes - to work with device drivers
|
|
* fixed overflow problem with more than 2048 directory entries
|
|
* various space saving changes, dir_init_fnode
|
|
+ Changes Bart, Tom
|
|
* many makefile changes to enable compilation with different
|
|
compilers (MS, Watcom, Borland). Watcom compiles but the result
|
|
does not run yet.
|
|
+ Changes Bart
|
|
* extended the double-byte lead table from int21/ah=63 to 4 zeros
|
|
to make Watcom happy
|
|
* support for IOCTL AX=440D, CL=40,41,42,61,62 for
|
|
read/write/format track - this enables R. Nordier format to work
|
|
* default floppy type depends on the drive
|
|
* rewrote many parts of int2f.asm to have a cleaner remote_xxx
|
|
interface with less code and stack usage.
|
|
* limit for int21/ah=36 is FFF6 total/free sectors
|
|
* made the rtc clock reading code a bit more robust - assumes
|
|
there is no rtc if the returned date is zero
|
|
* removed non-necessary code in dosnames.c because we're always
|
|
dealing with a TRUENAME there
|
|
* added zero extending of files, but removed it (unless you force
|
|
it) since MSDOS doesn't zero-extend files either
|
|
* wrote a source for exeflat, removed all binaries from the source
|
|
* added more INT2F/AH=12 functions to solve some MSCDEX issues
|
|
* changed BAD sector handling : only ....FF7 is recognized as BAD,
|
|
but FORMAT information from initdisk will only give ....FEF as
|
|
the largest cluster (for safety), so ....FF0-....FF6 are not used
|
|
for newly formatted disks (here .... is either nothing, F, or
|
|
FFFF, FAT12/FAT16/FAT32).
|
|
* more fatfs/fatdir clean-ups - now unnecessary fields dfull,
|
|
dremote and dsize removed from fnodes.
|
|
|
|
|
|
2001 Sep 24 - Build 2025
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Fixes Victor
|
|
* More FAT32 fixes
|
|
+ Fixes Tom
|
|
* Printer handling
|
|
* misc INT2F/AH=12 fixes.
|
|
* misc clean-ups
|
|
+ Fixes Bart
|
|
* Added drive B: handling if only one floppy drive available
|
|
(look for play_dj() in dsk.c)
|
|
* Simplify Victor's FAT32 fixes a bit
|
|
* More printer clean-ups
|
|
* fixed sys (thanks Jeremy)
|
|
* DosChangeDir fails for path name too long.
|
|
+ Fixes Jeremy
|
|
* Changed SYS so if no source given or only source drive (no path)
|
|
given, then checks for kernel.sys & command.com in current
|
|
path (of current drive or given drive) and if not there
|
|
uses root (but only if source & destination drive are different).
|
|
Fix printf to include count(ret) if copy can't write all requested bytes
|
|
|
|
|
|
2001 Sep 22 - Build 2025 (test)
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Added Victor
|
|
* FAT32 support (credits to Martin Stromberg for boot32.asm optimizations)
|
|
* Delete long file names if short file name given
|
|
+ Added Jeremy
|
|
* modified SYS so it takes optional 2nd parameter (similar to PC DOS)
|
|
where if only 1 argument is given, assume to be destination drive,
|
|
but if two arguments given, 1st is source (drive and/or path)
|
|
and second is destination drive
|
|
+ fixes Victor
|
|
* some small FCB and dsk.c fixes
|
|
+ fixes Tom
|
|
* some FAT32 issues
|
|
* many compiler portability changes (compiles with Watcom, MSC, ...)
|
|
* DosMemChange should set the PSP
|
|
* converted INT2F/AH=12 functions to C and added some - enough to
|
|
get most of the MS LAN network client working
|
|
+ fixes Bart
|
|
* some FAT32 issues
|
|
* Dos{Open,Creat}Sft drive letter issues
|
|
for CDROMs (thanks Jeremy)
|
|
* shrink_file should ALWAYS fail for directories, also with
|
|
dos_set_fattr (thanks Jeremy)
|
|
* only give warnings for slightly suspect partitions at boot
|
|
time where CHS does not match LBA.
|
|
* re-enabled copyright notice.
|
|
* some dsk.c clean-ups to avoid DIR giving the same contents for
|
|
a different floppy (get serial number/volume label did reset the
|
|
changed state).
|
|
* attribute should be 8-bit fix
|
|
|
|
|
|
2001 Aug 19 - Build 2024/h
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ fixes Bart
|
|
* truename fixes (#580)
|
|
* free space fixes (#249)
|
|
* Ctrl-C/Ctrl-Break fix
|
|
|
|
|
|
2001 Aug 19 - Build 2024/g
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ fixes Bart
|
|
* set file time fixes
|
|
* clock fixes
|
|
* findfirst/next fixes
|
|
* added a bit more int2f/ax=12xx functionality
|
|
* buffers trick to fool MFT so that it does not crash
|
|
* Ctrl-S (pause) and Ctrl-P (printer echo) now work.
|
|
Ctrl-Q is ignored by DOS.
|
|
* FCB "closing twice is legal" fix. Necessary for visicalc.
|
|
+ fixes Bart + Tom
|
|
* fixed shsucdx /u unloading problem
|
|
|
|
|
|
2001 Jul 28 - Build 2024/f
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ fixes Bart
|
|
* fixed get current directory - MSCDEX works now (always)
|
|
* initdisk.c correctly sets number of hidden sectors: necessary
|
|
for FORMAT - SYS chain to work
|
|
+ updates Bart
|
|
* initialisation memory situation changed: kernel is loaded
|
|
to the top of conventional memory in the beginning. Then
|
|
move it back low or high depending on DOS=HIGH and the presence
|
|
of an XMS driver.
|
|
DOS=HIGH without an XMS driver (such as FDXMS) has no effect anymore!
|
|
+ fixes Tom, Victor, Bart
|
|
* various fatfs.c fixes and clean ups
|
|
|
|
|
|
2001 Jul 23 - Build 2024/e
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ fixes Tom
|
|
* dyninit allocation fix
|
|
* various clean ups
|
|
+ fixes Bart
|
|
* #define DBLBYTE in inhndlr.c. Necessary for PQDI
|
|
* FCB corrections and cleanups (with a little help from Tom)
|
|
* cleaned up (FCB)FindFirst/FindNext a little more.
|
|
* task.c: copies default FCBs, initializes AX properly and
|
|
an int21/ax=4b01 fix. Also closes all FCB opened files upon
|
|
termination of a program.
|
|
* dosnames.c: fixed DJGPP "ls c:/" problem reported by Martin
|
|
+ fixes Victor Vlasenko
|
|
* Makefile fix for dealing with Borland make 3.6
|
|
* fix for fatfs.c shrink_file()
|
|
+ fixes Bart
|
|
* handle B: just like A: on a single floppy system. There still needs to be
|
|
user interaction like "Please put a floppy in drive B:".
|
|
* ioctl.c fix for INT21/AX=4400 + sft driveno field
|
|
* various small fcb fixes
|
|
* put file position number and pointers to Pri/SecPathName into
|
|
SDA. Now MSCDEX works as redirector (but still not always :-()
|
|
* redirector set attribute fixes + various cleanups
|
|
* truename+attr+ioctl fix => DJGPP libc compiles cleanly!
|
|
+ changes Bart
|
|
* use the output of truename() consistently: this saves a lot of
|
|
headaches in parsing later and also allows a lot of simplifying:
|
|
made many parameters in fatfs.c and fatdir.c NEAR
|
|
+ added Bart
|
|
* partly implemented the "Drive Data Table" see RBIL INT2f/AX=0803
|
|
* implemented construction of default BPB in initdisk.c
|
|
* implemented the access flag in dsk.c
|
|
* printf writes to DOSEMU log if prf.c compiled with #define DOSEMU
|
|
+ fixes Bart
|
|
* dsk.c uses default BPB in the right places (with help from Tom and Brian)
|
|
* Brian's FORMAT now works
|
|
* Tab fix (bug reported by Martin Stromberg)
|
|
* INT21/AH=0x1f now simply uses AH=0x32 for the default drive
|
|
+ fixes Tom
|
|
* saved some static variables
|
|
* implementation of int_2f_111e_call() for network/LAN manager
|
|
* return AX=0001 for default redirector handler
|
|
* enable use of multiple UMBs
|
|
* fixed task.c 'LOADHIGH executables': minAlloc == maxAlloc = 0
|
|
and an fixed overwriting the MCB
|
|
|
|
|
|
2001 Jul 9 - Build 2024/d
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ fixes Bart:
|
|
* fixed Ctrl-C (Ctrl-S and Ctrl-Q still missing).
|
|
* ioctl EOF fix (DJGPP less&gdb problem reported by Martin Stromberg)
|
|
* INT21/AH=29 (Parse Filename into FCB) fix (NC problem reported
|
|
by Ken Martwick) with clean up from Tom.
|
|
* ioctl should do a media_check before calling the block driver:
|
|
this fixes bug #726 (first dir gave serial no. 1234-5678).
|
|
* initdisk.c now uses the init data segment.
|
|
+ fixes Tom:
|
|
* fixes for INT21/AH=32; this should cure the problems with
|
|
Brian's new format.
|
|
* more SYS fixes.
|
|
+ added Tom:
|
|
* some more diagnostics (123) to aid finding bugs when booting from
|
|
a hard disk.
|
|
|
|
from 2001 jun 23 : KE2024BP
|
|
|
|
+ fixes Tom:
|
|
* FAT FS: would not expand files correctly, if lseek()
|
|
beyond EOF (see also relnotes.txt)
|
|
* FcbFindFirst/Next made compatible with MSDOS CHKDSK
|
|
* saved even more bytes (now 24 buffers in HMA :-)
|
|
|
|
from KE2024BM
|
|
+ added Tom:
|
|
* a mechanism, to regain near data (like miarray, bpbarray,...)
|
|
this is somewhat braindamaging, moving the kernel up and down,
|
|
working with different CS/DS combinations, but somehow working, :-)
|
|
miarray allocated, using this mechanism.
|
|
* made f_nodes near (2 K saving in HMA_TEXT)
|
|
this technic might as well applied to CDs, DPB, sft's, ...
|
|
this even saves a few bytes on stack :-)
|
|
|
|
from 2001 May 21: Build2024L
|
|
+ Fixes Tom:
|
|
* Clustersize 64K made working (one small ULONG was missing)
|
|
* check for drive existence for INT25/26
|
|
* NDEV = max number of possible harddisk partitions bumped
|
|
from 8 to 20 (my testconfiguration has 13)
|
|
|
|
+ Added tom:
|
|
* LBA support for disks > 8GB (with the help from Brian
|
|
Reifsnyder, see also relnotes.txt)
|
|
* moved initialization for DISK (partition scanning) to INIT_CODE
|
|
|
|
|
|
2001 Jun 2 - Build 2024
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Fixes Tom:
|
|
* small fixes again.
|
|
* one possible cause for data corruption (BFR_VALID) detected
|
|
* directories with 'ARCHIVE' attribute could not be deleted
|
|
* saved even more bytes (now 20 buffers in HMA :-)
|
|
* some issues with pathnames around PARSE_MAX removed
|
|
* blanks in filenames weren't proper handled
|
|
* there was (at rare circumstances) a buffer overflow
|
|
while config.sys parsing.
|
|
+ Fixes Bart:
|
|
* INT 21 0A - Dos Buffered Input reworked
|
|
* init_PSPSet() fix for setting the PSP
|
|
+ Added tom:
|
|
* slighly better buffer handling (search BFR_UNCACHE)
|
|
now go more FAT+DIR sectors, less DATA sectors into cache
|
|
* dos_mkdir tuned (was ~0.5 sec on 64K cluster partitions)
|
|
|
|
2001 Apr 29 - Build 2024
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Fixes Bart:
|
|
* fixed the "TYPE > FOO.TXT" poor man's editor.
|
|
* use "fast console output" (int 29) when applicable.
|
|
* moved 5 FILES to DOS DS:00CC and fixed the SFT linked list.
|
|
* cleaned up findfirst/findnext for redirected drives.
|
|
Tom:
|
|
* more VDISK changes (changed slightly by Bart)
|
|
* check for presence of A:/B: (changed by Bart to use the BIOS equipment flag
|
|
from INT11 instead of INT13).
|
|
* 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.
|
|
* 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)
|
|
from Bart.
|
|
* Hopefully fixed DateTime Changed + ATTRIB |= ARCHIVE bug.
|
|
* cleaned up dsk.c and saved more bytes.
|
|
Przemyslaw Czerpak:
|
|
* Default lastdrive should be 5 (E) not 6 (F).
|
|
* fixed not ignoring whitespace after '=' in config.sys
|
|
* noted INT21/AX=3800 bug for getting the country. Put in a workaround for now.
|
|
|
|
2001 Apr 21 - Build 2024
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Fixes Tom:
|
|
* fixed a missing close_dir in fatfs.c.
|
|
* many reductions of stack space requirements.
|
|
we hope this fixes some FAT corruption problems.
|
|
Bart:
|
|
* fixed "copy con" and INT21/AH=0B. The SFT_FEOF flag,
|
|
strangely enough, if true indicates NOT end-of-file.
|
|
* VDISK signature required in HMA (bug 701 dborca@usa.net).
|
|
Alan Kamrowski
|
|
* fixed intr: it wasn't putting the flags back correctly
|
|
and swapped si and bp.
|
|
+ Update Bart:
|
|
* Changed initialization data segment to its code segment.
|
|
This frees up a few more kb.
|
|
* This required some header reorganisation:
|
|
init-mod.h is for the init modules, globals.h for all the
|
|
others.
|
|
* Eliminated the master environment, as it is normally
|
|
managed by command.com, not by the kernel. This saves 512
|
|
bytes and command.com now copies a default environment from
|
|
0068:0000; this is in the DOS_PSP at 60:0.
|
|
* Moved low memory code segment to 70:0.
|
|
+ Add Tom:
|
|
* Default interrupt 6 handler (invalid opcode).
|
|
|
|
2001 Apr 16 - Build 2024
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Fixes * Use turboc.cfg to avoid long command lines; edit ALLCFLAGS
|
|
in config.mak to enable DEBUG etc.
|
|
* Fixed critical error handler.
|
|
* Fixed loading .exe's in UMBs if not enough space available.
|
|
* Some device drivers require \r\n at the end of their
|
|
parameter line.
|
|
|
|
|
|
2001 Apr 16 - Build 2023
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Fixes * Thanks to Martin Stromberg for pointing some bugs out:
|
|
* more warnings fixed.
|
|
* accidentally opened too many file handles at boot time.
|
|
* device drivers should not be linked into the device chain
|
|
if they do not take up memory.
|
|
+ Add * added printf "%S" and "%Fs" to print far strings.
|
|
* enabled and cleaned up INT21/AH=6C (extended open/create).
|
|
|
|
2001 Apr 15 - Build 2023
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Fixes Tom:
|
|
* apisupt.asm not necessary anymore.
|
|
* fix warnings.
|
|
* Don't allow directories to be created in DOS_CREAT.
|
|
* LoadDevice: drivers should not hang the computer if they fail.
|
|
Bart:
|
|
* fixed SYS.
|
|
* made most calls near again, with a jump/stack trick to
|
|
switch between INIT_TEXT and HMA_TEXT.
|
|
* INIT_TEXT now calls INT21 itself for some things (setting
|
|
PSP, opening/reading/closing devices and (fd)config.sys).
|
|
* fixed some carry handling in inthndlr.c and
|
|
* drives are checked before trying to access them.
|
|
* fixed console driver "busy state" confusion: the built-in
|
|
driver had it wrong, nansi.sys had it right:
|
|
"If no characters in buffer, return BUSY".
|
|
* space savings (RTL related and various other places)
|
|
* redirector fixes for find_next.
|
|
* CREAT on a device file failed (FD said it already existed).
|
|
But for some reason it should not fail in DOS.
|
|
* get ATTRIB/other things on a device file should return
|
|
FILENOTFOUND, not PATHNOTFOUND.
|
|
The sft_status field is not used for redirected drives.
|
|
* DosSelectDrv checks the media before setting the default
|
|
drive.
|
|
* Fixed INT21/AH=3,4,5 (character R/W AUX/PRN).
|
|
Hans Lermen:
|
|
* critical error handler destroyed AH (entry.asm).
|
|
Martin Stromberg
|
|
* find_first for volume labels fix.
|
|
* check drive at more places and avoid drive "@:" for drive "':".
|
|
* config.m: comment out NASM= by default.
|
|
* printf fix with DEBUG on.
|
|
+ Add Tom: Introduce init_data segment.
|
|
New temp file creation implementation.
|
|
Bart: added INT21/AH=53. XMSDSK works fine now.
|
|
dynamic allocation of Drive Parameter Blocks (they are
|
|
all FAR now).
|
|
+ Update Bart: moved DOS_PSP to segment 0x60 as segment 0x50 is already used by
|
|
GWBASIC/BASICA
|
|
|
|
2001 Apr 2 - Build 2023
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Fixes Bart: Volkov Commander revealed a few bugs:
|
|
-int 21/ah=55 forgot to set current psp to child psp.
|
|
-memory allocation: mem_access_mode was a signed byte, and hence 0x80 was
|
|
translated to 0xff80 and not 0x0080 when converting to a COUNT. Hence
|
|
changed it to become a UBYTE.
|
|
-An error in memmgr.c: search again in low mem for modes 0x80,81,82, not
|
|
0x40,0x41,0x42
|
|
* execrh.asm & int2f.asm: made code executable on a 8088 (no push
|
|
constant)
|
|
* entry.asm: made sure dos_crit_sect is executed when required to.
|
|
* Another redirector fix. int 2f/1122 needed DS=current psp. This caused a
|
|
bug for me: after compiling FreeCOM on a redirected drive "dir" did not
|
|
work any more.
|
|
* The nansi.sys problem: as it was, the initialisation phase of nansi
|
|
called int/ah=30, which checked control-break, which checks the console
|
|
driver, which at that point is the still not initialized nansi. This
|
|
messed up the request header passed to it. A solution I found is to link
|
|
a device into the device chain _after_ initialisation, not before.
|
|
* Redirector fix: network.c uses fmemcpy instead of fsncopy.
|
|
* Fixed INT 21/AH=6 (direct console input).
|
|
Tom:
|
|
* DE_NFILES instead of DE_FILENOTFOUND to allow Volkov Commander to browse empty
|
|
drives.
|
|
* Fixed bug wrt zero terminated device names (should be spaces terminated).
|
|
|
|
2001 Mar 30 - Build 2023
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Fixes Tom: Kernel alloc initialises to 0. This avoids some weird errors.
|
|
Implemented default divide by 0 handler (INT 0)
|
|
FILES= fixes from config.sys. fatfs.c ignored it and always
|
|
used the default of 16.
|
|
Misc debug code removal.
|
|
int 21/ax=3306 report running HIGH fix.
|
|
int 21/ah=69 : save CX
|
|
InitializeAllBPBs() or MakeNortonDiskEditorHappy()
|
|
More extended information if MCB chain corruption occurs.
|
|
Bart: getdpb fixes (int 21/ah=32).
|
|
fix carry handling in int 21/ah=5e.
|
|
fix {get,set}_machine_name in network.c
|
|
saner lastdrive handling
|
|
+ Add Support for SHELLHIGH in config.sys
|
|
|
|
2001 Mar 28 - Build 2023
|
|
--------
|
|
+ Fixes Bug fix release 2023b: dsk.c (reported by Nagy Daniel), inthndlr and
|
|
int25/26 fixes by Tom Ehlert.
|
|
|
|
2001 Mar 27 - Build 2023
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Fixes Bug fix release 2023a: fixed stack segment bug in entry.asm.
|
|
|
|
2001 Mar 25 - Build 2023
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Fixes sys.com compilation: it is a proper .com and works again.
|
|
Suggestions from Martin Stromberg: warning removal and some
|
|
debugging related changes.
|
|
Suggestion from Aitor Santamaria Merino: implemented NUMLOCK=ON/OFF
|
|
in config.sys. Also implemented strcasecmp.
|
|
Updated intfns.txt; reported version is now 5.0.
|
|
|
|
|
|
2001 Mar 24 - Build 2022
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Fixes Tom and Bart: cli/sti handling and other fixes in entry.asm,
|
|
procsupt.asm and apisupt.asm.
|
|
Bart: warning removal + other compile time fixes.
|
|
Tom: * more partition detection fixes in dsk.c.
|
|
* dos_gettime() fix.
|
|
|
|
2001 Mar 21 - Build 2022
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Clean A lot of space savings by Tom Ehlert, merely because Turbo C 2.01 does not
|
|
do it. And several more complicated situations as well, like coding some
|
|
string functions in assembly (asmsupt.asm).
|
|
+ Add Tom Ehlert: support for DOS=HIGH. Now most of the kernel can be loaded into
|
|
the HMA. This required a lot of segmentation changes. Let's hope the best
|
|
of it. Support for device drivers with multiple devices.
|
|
+ Fixes From Tom Ehlert:
|
|
task.c bug fix (image_size is in bytes)
|
|
dosfns.c change dir to E:\FREEDOS\*.PRJ fix
|
|
fcbfns.c fixes.
|
|
break.c Ctrl-C Ctrl-C -> crash temporary fix.
|
|
+ Fixes From Bart:
|
|
Let UMBs work again after HMA changes.
|
|
Be able to compile sys.com again. Is now really a .exe file but still masks
|
|
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.
|
|
Fixed another redirector problem.
|
|
+ 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 +
|
|
other bug fixes (also: floppy.asm).
|
|
+ Update Tom Ehlert optimized blockio.c.
|
|
+ Fixes a few small ones from Tom I forgot.
|
|
|
|
2001 Mar 08 - Build 2022
|
|
-------- Bart Oldeman (bart@dosemu.org)
|
|
+ Fixes MCB chain corruption fix (thanks Tom Ehlert and Martin Stromberg)
|
|
Redirector fixes (CDROMs and DOSEmu lredir'ed drives appear to work fine now)
|
|
UMB fixes
|
|
Various recodings (dsk.c, prf.c, portab.h) to make kernel
|
|
object footprint 3k smaller (Tom Ehlert)
|
|
Fix handling of very long path names (Tom Ehlert)
|
|
FindFirst/FindNext fixes (Tom Ehlert)
|
|
Configuration for libm.mak is in config.mak (Martin Stromberg)
|
|
NLS fix to include pointer to CharMapSrvc. Note: these are
|
|
changes to automatically generated .asm files, but the
|
|
generator (GRAB_UNF.EXE) is missing. (thanks Tom Ehlert)
|
|
DosSelectDrv fix (Martin Stromberg)
|
|
config.c always converts to upper case and handles dos=umb correctly
|
|
|
|
2000 Dec 15 - Build 2022
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
+ Fixes Added Patches from Bart Oldeman (bart@dosemu.org)
|
|
Fix for NLAST in globals.h and change default return in inthndlr.c.
|
|
|
|
2000 Oct 29 - Build 2022
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
Rebuild local cvs tree after a crash. Update CVS at Sourceforge.net
|
|
with changes.
|
|
|
|
2000 Sep 04 - Build 2022
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
+ ADD Adding Ron Cemer patch for Share support!
|
|
|
|
2000 Sep 04 - Build 2022
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
+ Fixes Brian Reifsnyder (reifsnyderb@mindspring.com)
|
|
Modified dskxfer() such that error codes are now returned.
|
|
Functions that rely on dskxfer() have also been modified accordingly.
|
|
Modified interrupts 0x25 & 0x26 to return more accurate error codes.
|
|
Updated dskxfer() prototype.
|
|
|
|
2000 Aug 15 - Build 2022
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
2000/08/12 22:49:00 Ron Cemer (roncemer@gte.net)
|
|
Fixed writeblock() to only use getbuf() if writing a
|
|
complete sector; otherwise use getbloc() and do a
|
|
read-modify-write to prevent writing garbage back
|
|
over pre-existing data in the file.
|
|
This was a major BUG.
|
|
|
|
|
|
2000 Aug 05 - Build 2021
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
Clean up and finish umb code to get 2021 out.
|
|
|
|
2000 Jul 26 - Build 2021
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
+ Fix New patch from Ron IsDevice and truename fix.
|
|
|
|
2000 Jul 14 - Build 2021
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
+ Add Added NLS patches from Steffen Kaiser and patch from Ron
|
|
(roncemer@gte.net).
|
|
|
|
2000 Jun 25 - Build 2021
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
+ Add Add and Fix support for UMB's.
|
|
|
|
2000 Jun 20 - Build 2021
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
+ Fix Bart Oldeman (bart@dosemu.org) found bugs with copy
|
|
command using Dosemu Lredir. Fixed Dosfns return for ReadCount,
|
|
WriteCount and DosGetFattr. Fixed the return in int2f.asm for
|
|
Read/Write Remote. By adding xor ax,ax.
|
|
I found some more return bugs in int2f.asm after adding Barts
|
|
patch.
|
|
|
|
2000 Jun 08 - Build 2021
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
+ Add Started the UMB code. Devicehigh and dos=umb only works with
|
|
Dosemu for now.
|
|
|
|
2000 Jun 07 - Build 2021
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
+ Add Int2f added code for Fastopen call.
|
|
Now MSD Scandisk works!
|
|
|
|
2000 Jun 06 - Build 2021
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
+ Add Dos Func 0x59 and found a redirector bug in fncfns.c.
|
|
|
|
2000 Jun 01 - Build 2021
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
+ Fix Lastdrive is a real number 1 thru 26 not 0 thru 25.
|
|
+ Fix Ioctl and Dsk did not return the currect AX for Ioctl calls.
|
|
|
|
2000 Jun 01 - Build 2021
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
+ Clean Removed test prinf statements in source.
|
|
* Thanks to Lixing Yuan for pointing out an copy to root error.
|
|
|
|
2000 May 31 - Build 2021
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
+ Patch Lixing Yuan (yuanlixg@china.com) Patch for parsing bug in
|
|
FindFirst with wildcards -> ParseDosName (dosnames.c).
|
|
|
|
2000 May 28 - Build 2021
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
+ Added Open/Close/Media check to dsk.c and io.asm.
|
|
+ Fixed Device checking in truename. Truename needs to be rewriten.
|
|
|
|
|
|
2000 May 26 - Build 2020
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
Code Clean up and Now the Release.
|
|
|
|
2000 May 26 - Build 2020
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
+ Fixed IsDevice is used in FcbFns.c and DosFns.c. I removed IsDevice
|
|
from DosNames.c an placed it in DosFns.c. FcbFns had dup code
|
|
and it was removed. This fixed all the functions using IsDevice.
|
|
|
|
Truename works now. I consider it dangerous and brain damaged.
|
|
Note:
|
|
truename X:\DIR\con -> X:/CON, note the '/'.
|
|
truename foo*.* -> X:\DIR\FOO?????.???
|
|
truename *.*\*.*\*.* -> ????????.???\????????.???\????????.???
|
|
truename *.*\*.**\*.* -> endless Loop
|
|
I will fix this later ;^)
|
|
|
|
Found InitPSP running 3 time. On the 2'nd run the standard handles
|
|
were closed with out DosClose. Now Device Drivers can Print out
|
|
there startup info.
|
|
|
|
+ Added New IOCTL code in Dsk.c.
|
|
|
|
2000 May 26 - Build 2020
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
+ Fix Kolyan Ksenev (7207@mx.csd.tsu.ru) (nik0la@acm.org)
|
|
found Major bugs in Task.c and chario.c.
|
|
|
|
2000 May 25 - Build 2020
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
+ Fixed Project history.
|
|
|
|
2000 May 17 - Build 2020
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
+ Fixed Delete, Rename, Mkdir, and Rmdir. Comment out isDevice. There is
|
|
a serious bug in isDevice.
|
|
+ Added Finished adding function code for disk serial number support.
|
|
+ Clean Cleaned up source and removed duplicate functions.
|
|
|
|
2000 May 14 - Build 2020
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
+ Clean Cleaned out the remaining CR's.
|
|
|
|
2000 May 08 - Build 2020
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
+ Update Started Update to the New CVS at Sourceforge.net. Setting source
|
|
from 2018 to 2020.
|
|
|
|
2000 May 06
|
|
-------- Jim Hall (jhall1.isd.net)
|
|
+ Import Jim Hall imported the CVS from gcfl.net to Sourceforge.net.
|
|
|
|
2000 Apr 28 - Build 2020
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
+ Added Dos Function calls 0x69, and 0x6C. IOCTL support in disk driver.
|
|
New functions not yet fully implemented.
|
|
Clean up DSK.C, IOCTL.C and FCBFNS.C. Removed old blk_device
|
|
pointers.
|
|
|
|
2000 Apr 03 - Build 2020
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
+ Fixed All DPB chains were linking to -1.
|
|
|
|
2000 Apr 02 - Build 2020
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
+ Fixed Dos_Free returned wrong due to MaxCluster Calc.
|
|
Media_Check MaxCluster count wrong, needed +1.
|
|
|
|
2000 Apr 01 - Build 2020
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
+ fixed Unable to cd back out of cdrom directories.
|
|
|
|
|
|
2000 Mar 31 - Build 2019
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
+ added Eric W. Biederman patches via CVS.
|
|
|
|
2000 Mar 25
|
|
-------- Eric Biederman
|
|
+ Fixed Lastdrive handling
|
|
+ Fixed Not enough drives for number present devices
|
|
+ Added Working (though not perfect network redirector)
|
|
Note: Error codes internal to freedos are negative
|
|
Error codes external to freedos are postive.
|
|
The network redirector is external to freedos...
|
|
Note: Running the nonredirected functions on a redirected
|
|
drive is dangerous. My patch is very careful
|
|
not to. Except in truename. Where (a) it is safe
|
|
and (b) I think it is required, and (c) it is needed
|
|
by dosemu.
|
|
|
|
2000 Mar 19 - Build 2019
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
* Jean-Francois <lozevis.jeanfrancois@free.fr> email noting
|
|
the set/clear interrupt was reverse in order.
|
|
|
|
2000 Mar 17 - Build 2019
|
|
-------- Steffen Kaiser (Steffen.Kaiser@fh-rhein-sieg.de)
|
|
+ Fixed Config.c COUNTRY= statement
|
|
+ Fixed *.c to call upFMem() when upcasing filenames
|
|
- Removed everything to load NLS into memory
|
|
= Redesigned hardcoded NLS information
|
|
|
|
--> The kernel will now return the proper information for the
|
|
hardcoded NLS (U.S.A. / CP437), it would return the correct
|
|
information for other NLS, too, if there would be a NLSFUNC
|
|
available, which is not at this time.
|
|
|
|
NOTE: The way the external NLSFUNC is called does not look well,
|
|
therefore expect a change soon.
|
|
|
|
2000 Mar 15 - Build 2019
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
* Dennis Newbold and Massimo De Munari email kernel bug reports
|
|
with changes to Globals.h and Inthndlr.c. Fix to leap year and
|
|
Delete file return code.
|
|
* Michal Meller found a bug in media_check. It return the wrong
|
|
value of sector count. Change in FATFS.C.
|
|
* Fixed Func 0x32 based on information from Marty <k3pbu@arrl.net>.
|
|
Func 0x32 Get Drive Parameter BLK did not work.
|
|
|
|
|
|
2000 Mar 09 - Build 2018
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
Added CDS and made FD CDS based. Changes encompass all of the
|
|
code for FD.
|
|
Fixed Task.c, rewritten code from FINODE to SFT function calls.
|
|
Unable to execute from CD. Main.c and Config.c has small
|
|
changes.
|
|
Fixed Device drivers are unable to write to con. Rewritten code to
|
|
relocate DOS_PSP pointer to 050:0000. Removed references to
|
|
DOS_PSP in DosFns.c.
|
|
Added Network and Redirection function calls in Inthndlr.c and
|
|
network.c.
|
|
|
|
I have a note in FatFs.c line 313, describing functions not yet
|
|
supported for networking. I don't understand Pats thoughts on SFT to
|
|
FINODE. IMHO it would have been easier to stay with SFT all through
|
|
the code.
|
|
|
|
I tested MS-Dos 6.22 Command and found it unable to do Find First or
|
|
Next. This too could explain why MSCDEX does the same thing. I only
|
|
test this with the current FDCommand at the time, so this could have
|
|
changed.
|
|
|
|
|
|
1999 Sep 24 - Build 2017
|
|
-------- John Price (linux-guru@gcfl.net)
|
|
* Per Jens Horstmeier's email, changed boot sector code to make
|
|
Siemens CDROM's bootable. The changes should be OK for all other
|
|
machines too (in theory).
|
|
|
|
|
|
1999 Sep 22 - Build 2016
|
|
-------- John Price (linux-guru@gcfl.net)
|
|
* Turned off debug output from the kernel. It does not seem to be
|
|
necessary at this time.
|
|
* Changed boot sector to do single-sector reads instead of
|
|
multi-sector reads. Appearantly this was part of the reason the
|
|
kernel would not boot from a 720K, or other format floppies. Thanx
|
|
to Charles Dye for the info.
|
|
|
|
1999 Sep 16 - Build 2016
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
* Added Networking and Server Call
|
|
* Added Dos Idle call
|
|
* fixed Console.asm ConInStat
|
|
|
|
|
|
1999 Sep 13 - Build 2014
|
|
-------- John Price (linux-guru@gcfl.net)
|
|
* Deleted some files from the drivers directory that were not being
|
|
used.
|
|
* Changed the LIB.MAK file so it would work for TC2 or TC3 or higher.
|
|
* Changed SYS.COM so that it creates a sys.log file with more debug
|
|
information to help debug problems with making boot disks.
|
|
|
|
1999 Sep 13 - Build 2014
|
|
-------- James Tabor (jimtabor@infohwy.com)
|
|
* Submitted changes to CONSOLE.ASM & INTHNDLR.ASM to fix the INT21
|
|
func 0B bug.
|
|
|
|
1999 Sep 13 - Build 2014
|
|
-------- Helmut Fritsch (helmut.fritsch@gcd-hs.de)
|
|
* Submitted changes to CONSOLE.ASM to fix the INT21 func 0B bug.
|
|
|
|
1999 Sep 10 - Build 2014
|
|
-------- ror4 (f2xm1@crosswinds.net)
|
|
* At the suggestion of Mr John Price, modified the int 0x25 and int
|
|
0x26 so that they no longer update the disk buffers (int 0x26 only
|
|
invalidates the buffers for the specified drive). This is to avoid
|
|
inconsistent disk buffers from appearing in the buffer chain due to
|
|
interactions between int 0x25/0x26 and file read/write operations.
|
|
|
|
|
|
1999 Aug 24 - Build 2013
|
|
-------- John Price (linux-guru@gcfl.net)
|
|
* With ideas from ror4, I redid the build batch file so you can
|
|
specify where what make to use.
|
|
* Also created CONFIG.M and CONFIG.B which should be copied to
|
|
CONFIG.MAK and CONFIG.BAT, respecively, and edited to reflect the
|
|
users configuration. This keeps new versions from replacing the
|
|
configuration files so the user does not have to keep reseting
|
|
their configutation.
|
|
|
|
1999 Aug 15 - Build 2013
|
|
-------- ror4 (ror4@angelfire.com)
|
|
* Patched the source so that it can be compiled with Turbo C 2.01.
|
|
(`asm' statements were rewritten into very ugly equivalents... they
|
|
probably need more work. :( )
|
|
* Modified the `dmatch' structure in `hdr/dirmatch.h' so that the
|
|
`dm_dirstart' field is in the right place, and also to make it
|
|
compile under TC 2.01, which doesn't allow bit fields of any types
|
|
other than signed or unsigned int.
|
|
* Fixed a few minor bugs in error code returning in `kernel/fatfs.c'.
|
|
|
|
|
|
1999 Jul 16 - Build 2012
|
|
-------- ror4 (ror4@iname.com)
|
|
* Finally ported all the assembly modules to `nasm'. *phew*
|
|
* Undid plonee's patches to `kernel/fatfs.c' (sorry). They were
|
|
causing the resulting findfirst/findnext DTA structures to be
|
|
incompatible with MSDOS's.
|
|
* Also rewrote all the pattern copying code in `dos_findfirst' in
|
|
`kernel/fatdir.c' to prevent a bad buffer overflow problem.
|
|
* Modified the disk buffer handling code, so that logical sector
|
|
numbers in disk buffers are now 0-based instead of 1-based.
|
|
* int 0x25 and int 0x26 now do multi-sector reads/writes.
|
|
|
|
1999 Jul 14 - Build 2012
|
|
-------- ror4 (ror4@iname.com)
|
|
* Ported the modules in the `drivers/' branch to `nasm'.
|
|
|
|
|
|
1999 May 04 - Build 2011
|
|
-------- ror4 (ror4@cryogen.com)
|
|
* Fixed the code for converting day numbers into Julian calendar
|
|
dates: the first and last days of each month are now returned
|
|
correctly.
|
|
* Undid a change to the code to get the day of the week.
|
|
|
|
1999 May 02 - Build 2011
|
|
-------- John Price (linux-guru@gcfl.net)
|
|
* blockio.c: changed getblock and getbuf so that they leave at least
|
|
3 FAT type buffers valid. This helps because the FAT is accessed
|
|
very often compared to other sectors.
|
|
* fatfs.c: Fixed a bug in map_cluster so it will optimize FAT reads
|
|
on disks that have more than one sector per cluster. This
|
|
sigificantly improved disk access of big files on hard drives.
|
|
|
|
1999 May 02 - Build 2011
|
|
-------- ror4 (ror4@cryogen.com)
|
|
* Corrected the `struct buffer' definition in `kernel/globals.h' so
|
|
that it corresponds exactly to Ralf Brown's description of a DOS 3.x
|
|
buffer.
|
|
* Also fixed the problem with FATs > 255 sectors, by making use of an
|
|
originally unused field in the buffer structure.
|
|
|
|
1999 May 01 - Build 2011
|
|
-------- ror4 (ror4@cryogen.com)
|
|
* Fixed a problem which caused disk corruption on partitions with
|
|
FATs larger than 127 sectors. (However, FATs larger than 255
|
|
sectors may still experience problems -- this is due to a
|
|
limitation of the DOS 3.x buffering scheme.)
|
|
* Fixed a bug in the handling of the `stacks=' command in
|
|
`(fd)config.sys' which caused the system to behave strangely.
|
|
|
|
1999 Apr 22 - Build 2011
|
|
-------- Steffen Kaiser (Steffen.Kaiser@fh-rhein-sieg.de)
|
|
bugfix: memmgr.c: Invalid returned largest size in MemLargest()
|
|
fix: memmgr.c: DosMemLargest: change prototype to match its useage
|
|
bugfix: inthdlr.c: 0x49: ES is decremented
|
|
fix: inthdlr.c: 0x00: DosMemCheck() does nothing --> added panic()
|
|
fix: inthdlr.c: 0x4c: DosMemCheck() does nothing --> added panic()
|
|
fix: inthdlr.c: 0x00: changed to make it the same as DOS-4C-00
|
|
Both actions differed e.g. in ErrorMode
|
|
chg: memmgr.c: the 'name' field of the MCB is never initialized by
|
|
DOS-48, DOS-49 or DOS-4A. Leave this to the program loading function.
|
|
bugfix: memmgr.c: adjust_far() / add_far():
|
|
Both function together (and the way they are used) don't make sense:
|
|
adjust_far() normalizes a far pointer, add_far() generates a linear
|
|
address. Usually both are used this way:
|
|
far_poi = adjust_far(far_poi);
|
|
while(...) {
|
|
...
|
|
far_poi = add_far(far_poi, uword);
|
|
...
|
|
}
|
|
First one makes sure that 'far_poi' is normalized, then far_poi
|
|
becomes a linear address, which makes it very difficult to use
|
|
it, because the possibility to get a segment warp gets very high.
|
|
-->
|
|
Change: add_far() also returns a normalized real mode pointer
|
|
as adjust_far() does.
|
|
Probably in DOS-C supporting various architecures thee functions
|
|
served other duties, but the current useage is highly dangerous.
|
|
bugfix: task.c: ChildEnv(): nEnvSize didn't counted the last '\0'
|
|
bugfix: task.c: ChildEnv(): Allocation: maximum absolute filename to
|
|
short and forgot the word counter
|
|
bugfix: task.c: ChildEnv(): for very corrupt environments, the
|
|
copy function failed.
|
|
bugfix: task.c: DosExeLoader(): If exe_size > allocated_size or
|
|
DosMemLargest() failes, the environment is not deallocated
|
|
bugfix: task.c: DosExeLoader(): Calculating the exe_size to be
|
|
allocated. At both places (+ header.exMinAlloc & ...MaxAlloc)
|
|
sizeof(psp) is added to exe_size. Why? image_size already
|
|
contains sizeof(psp).
|
|
chg: task.c: DosExeLoader()/DosComLoader(): MCB patching and command
|
|
line copying is no outside of those functions
|
|
chg: asmsupt.asm: _fbcopy: re-use parts of _bcopy
|
|
add: asmsupt.asm: fmemset, fmemclr, fmemclra {Replace the explicit
|
|
for() loops}
|
|
|
|
1999 Apr 22 - Build 2011
|
|
-------- ror4 (ror4@cryogen.com)
|
|
* Ported boot.asm to NASM. The plan is to port all assembly to NASM
|
|
over time.
|
|
|
|
|
|
1999 Apr 19 - Build 2010
|
|
-------- John Price (linux-guru@gcfl.net)
|
|
* Undid the change I made to getblock below because it DID NOT speed
|
|
anything up, and in fact slowed access down.
|
|
|
|
|
|
1999 Apr 18 - Build 2009
|
|
-------- John Price (linux-guru@gcfl.net)
|
|
* change getblock so that it flushes all buffers for a drive when it
|
|
has to flush one of them to make room. This should speed disk
|
|
access slightly.
|
|
* Change the boot sector so there is a compile-time option to use
|
|
multi-sector IO or single-sector IO. The default is multi since
|
|
ror4 seemed to have fixed the problem we had before.
|
|
|
|
1999 Apr 18 - Build 2009
|
|
-------- ror4 (ror4@cryogen.com)
|
|
* The boot sector can now load the kernel properly from a hard disk.
|
|
* Other minor changes.
|
|
|
|
|
|
1999 Apr 16 - Build 2008
|
|
-------- ror4 (ror4@cryogen.com)
|
|
* Modified the block device driver to prepare it for multi-sector I/O
|
|
support. Among other things, the driver can now handle transfer
|
|
buffers which cross DMA boundaries.
|
|
* Some other minor changes.
|
|
|
|
1999 Apr 15 - Build 2008
|
|
-------- John Price (linux-guru@gcfl.net)
|
|
* Changed mainly the map_cluster function in fatfs.c so that instead
|
|
of starting at the beginning of the FAT chain every time, it will
|
|
be smart about it, and start at the last FAT location that it was
|
|
before if it can. This speeds up disk access considerably
|
|
especially on slower machines.
|
|
|
|
1999 Apr 15 - Build 2008
|
|
-------- Steffen Kaiser (Steffen.Kaiser@fh-rhein-sieg.de)
|
|
bugfix: ^Break handler according cmt1.txt
|
|
bugfix: DosCreat(): Detection for Devices and extension:
|
|
the semi-colon behind if(*froot) is definitely wrong, whether
|
|
one wants CON.EXT to be interpreted as CON or not.
|
|
bugfix: DosOpen(): dito
|
|
|
|
* Re-implementation of ^Break handler -- 1999/03/27 ska
|
|
+ Warning: The handle_break() function assumes that the InDOS flag
|
|
was incremented (except if ErrorMode is true). Never call
|
|
handle_break() unless the InDOS flag has been incremented within
|
|
this reentrant call of DOS.
|
|
|
|
+ ^Break is detected and handled at certain places within the
|
|
kernel only: a) within the CON: device when reading or writing a
|
|
character, and b) when entering the INT-21 service (if extended
|
|
break checking is enabled). At these places the process flow can
|
|
be modified to: either a) redo the interrupted function or b) abort
|
|
the currently running process.
|
|
|
|
+ Both actions are performed by switching back to the user stack
|
|
and enter INT-21 handler again. If to terminate the program, AX is
|
|
modified into 4C00h.
|
|
|
|
+ By default, if the user has no ^Break handler installed, the
|
|
program is terminated.
|
|
|
|
+ Heavy change: The original implementation installed an unique
|
|
INT-23 handler that directly called the actions performed
|
|
DOS-4C-XX. In fact, this was identically with when the user had an
|
|
own handler installed and returned the Carry flag set, except that
|
|
it was somewhat quicker, because the kernel need not decode the
|
|
4C00h command. Now the Carry flag is set prior the call of INT-23,
|
|
so the default action is to terminate the program.
|
|
|
|
+ Note: INT-23 is called with all registers as they are passed to
|
|
the INT-21 entry. When they are modified, they are passed
|
|
_modified_ to the API interpreter. This also allows the DOS1-style
|
|
termination by to load register AH with 0 (zero).
|
|
|
|
+ RBIL says:
|
|
"any DOS call may safely be made within the INT 23 handler,
|
|
although the handler must check for a recursive invocation if it
|
|
does call DOS"
|
|
This can be interpreted so or so, the problem is that the user can
|
|
call DOS again, what would overwrite the saved _usr_stack pointer
|
|
with a different value and, therefore, cannot be used to check if
|
|
INT-23 was returned by RETF or RETF2/IRET.
|
|
|
|
Because a recursive invokation of INT-23 is to prevented by the
|
|
user, the kernel could internally save SP to somewhere else.
|
|
However:
|
|
a) where?
|
|
b) is it reliable that the user ever returns from INT-23 at all?
|
|
|
|
The implemented method uses the same mechanism as fail-safe intr()
|
|
function is implemented: A little piece of code is constructed
|
|
within the stack, which contains the value of SP as an operand of
|
|
an immediate MOV instruction.
|
|
|
|
|
|
1999 Apr 13 - Build 2007
|
|
-------- ror4 (ror4@cryogen.com)
|
|
* The boot sector now moves itself to the last 512 bytes of
|
|
conventional memory instead of a lower memory location.
|
|
* The kernel startup code has also been modified so that it works
|
|
with the new boot sector.
|
|
|
|
1999 Apr 12 - Build 2007
|
|
-------- ror4 (ror4@cryogen.com)
|
|
* The directory scanning functions (`findfirst'/`findnext') now also
|
|
recognize more flavours of the volume label attribute byte (namely
|
|
0x09, 0x28 and 0x29).
|
|
* Subdirectories are now no longer assumed to have the same size as
|
|
the root directory.
|
|
* `device/device.lib' is now included as a dependency in the kernel
|
|
makefile.
|
|
* Removed several unused assembler modules from the `device/' branch
|
|
(see `device/device.mak').
|
|
|
|
1999 Apr 11 - Build 2007
|
|
-------- ror4 (ror4@cryogen.com)
|
|
* The kernel now reads times from the system clock (0x40:0x6c)
|
|
instead of the RTC. The RTC is only used during startup to
|
|
initialize the system clock. (As a side effect of this,
|
|
`ReadATClock' has been moved from `_TEXT' to `INIT_TEXT'.)
|
|
* Checking for leap years is now improved -- year numbers which are
|
|
divisible by 100 but not by 400 are not counted as leap years. (Not
|
|
that it matters for year 2000, though.)
|
|
* The scaling factor used to convert the system time count to a
|
|
second count has been changed from 18.2 to the more accurate (?)
|
|
19663/1080.
|
|
* Day numbers used by `clock$' are now 0-based (as in MSDOS) instead
|
|
of 1-based. Thus 1 Jan 1980 is now day number 0.
|
|
|
|
1999 Apr 10 - Build 2007
|
|
-------- ror4 (ror4@cryogen.com)
|
|
* Added code to prevent the kernel from returning path names
|
|
containing double backslashes.
|
|
|
|
1999 Apr 9 - Build 2007
|
|
-------- ror4 (ror4@usa.net)
|
|
* File handles are now cloned properly when a child process is spawned.
|
|
* The `DosClose' function now also frees SFT entries corresponding to
|
|
devices, not only those entries corresponding to files.
|
|
* Removed a (minor) memory corruption bug in the code for int 0x21,
|
|
ah = 0x09.
|
|
|
|
1999 Apr 6 - Build 2007
|
|
-------- ror4 (ror4@cryogen.com)
|
|
* Functions ax = 0x5700 and 0x5701 (get/set file date and time) now
|
|
return the right values at the right times. (They used to return
|
|
success when there's an error, and return error when there's a
|
|
success.)
|
|
* Removed the `/k' switch to the linker in `sys/sys.mak'.
|
|
|
|
|
|
1999 Apr 4 - Build 2006
|
|
-------- John Price (linux-guru@gcfl.net)
|
|
* added "version=" directive so that you can change the version that
|
|
the kernel reports. Usage: version=<major>.<minor> (i.e.
|
|
version=6.22)
|
|
|
|
1999 Apr 4 - Build 2006
|
|
-------- ror4 (ror4@usa.net)
|
|
* Fixed the file name parsing function (`ParseDosNames') so that it
|
|
handles single-character path names correctly.
|
|
* Also modified the functions which call `ParseDosNames' to check its
|
|
return value instead of assuming that it is always successful.
|
|
(This is not currentl useful, but it will be when error checking is
|
|
introduced into `ParseDosNames'. In other words, there'll be more
|
|
changes to `ParseDosNames' in the near future...)
|
|
|
|
* After wondering for a long time why the kernel text segment was
|
|
always getting corrupted when I ran DJGPP `bash' 1.14.7, I finally
|
|
decided to examine the code occurring before the handler for int
|
|
0x21, ah = 0x60, and I found out why... :)
|
|
* Fixed the problem of int 0x21, ax = 0x5d06 causing memory
|
|
corruption.
|
|
* Corrected the types of `internal_data', `swap_always' and
|
|
`swap_indos' in `kernel/globals.h'.
|
|
|
|
* Improved checking for invalid file names in `ParseDosName'
|
|
(although I'm still not sure whether the check is water-tight or
|
|
not).
|
|
* Changed the default path setting from `PATH=' to `PATH=.'.
|
|
|
|
* Output from character I/O functions now goes to standard output as
|
|
it should, instead of the console. Also, there's now a clear
|
|
distinction between console input/output and standard input/output.
|
|
* Tabs are now expanded during writes to the console device.
|
|
* Removed a hard-wired limit on the number of entries in a JFT.
|
|
(Although I'm not sure whether this is really correct...)
|
|
* Many other changes to the file descriptor handling code.
|
|
|
|
1999 Mar 29 - Build 2006
|
|
-------- John Price (linux-guru@gcfl.net)
|
|
* Changed boot loader so it prints some feedback info while booting.
|
|
Removed code to handle FAT12 and FAT16, and code to calculate the
|
|
start of the fat, rootdir, and data. Moved these functions into
|
|
the sys command. Now there are two versions of the boot loader
|
|
created, one to handle FAT16, and one for FAT12. These are
|
|
hard-coded into the sys command, so the need for the boot.bin file
|
|
is obsolete.
|
|
* created a new program (bin2c) to convert the boot loader binary
|
|
file into a header file that can be included in the sys program as
|
|
an array of bytes.
|
|
|
|
1999 Mar 29 - Build 2006
|
|
-------- ror4 (ror4@usa.net)
|
|
* Changed the class of `_BSSEND' from "STACK" to "BSS" in the
|
|
`drivers/' branch (which I forgot about in my last patch).
|
|
* Removed all traces of the `CONST' segment, since it was causing
|
|
`IGROUP' to be assimilated into `DGROUP', which shouldn't happen.
|
|
* Added a `(void)' cast to the `setvec' macro in `kernel/globals.h'
|
|
(`setvec' no longer returns the original ISR vector).
|
|
* Changed an incorrect error message in `sys/sys.c'.
|
|
* Removed `drivers/setvec.asm', since it's no longer needed.
|
|
* Also removed `kernel/krnstart'.
|
|
* The name field in a process's MCB is now filled in the same manner
|
|
as in MSDOS -- instead of being padded to the right with spaces, it
|
|
is now terminated with '\0'. Also, if the original file name
|
|
doesn't have an extension, the code will stop copying the file name
|
|
at '\0' instead of continuing to look for a '.'.
|
|
* Fixed the problem of the `switchar' syscall (int 0x21, ax = 0x3700) not
|
|
returning the correct value.
|
|
|
|
|
|
1999 Mar 28 - Build 2005
|
|
-------- ror4 (ror4@usa.net)
|
|
* Removed the need for `ipl.sys'. (!) The kernel makefile now
|
|
statically relocates `kernel.exe' to 0x60:0 and outputs the
|
|
resulting binary to `kernel.sys', and the boot sector has also been
|
|
modified to load `kernel.sys' at 0x60:0 instead of `ipl.sys' at
|
|
0x2000:0. (I chose 0x60:0 because it's the first 512-byte boundary
|
|
occurring after the BIOS data area, 0x40:0.) Finally, `sys.com' has
|
|
also been updated.
|
|
|
|
* Also changed the boot sector code in some other ways. In
|
|
particular, because `kernel.sys' is rather large, I had to add some
|
|
code to move the boot sector away from 0:0x7c00 to somewhere
|
|
higher. (For 640K systems the boot sector will be shifted to
|
|
0x6000:0x7c00. However, there may be problems on systems with very
|
|
little conventional memory -- I'll probably look into this later.)
|
|
|
|
* Made some minor changes to the assembler source files so that they
|
|
can compile on `masm'. (JP: The code still compiles fine with tasm
|
|
too).
|
|
|
|
* Also changed several incorrect label references in the assembler
|
|
sources. (JP: These changes fixed the "Fixup" errors we been
|
|
talking about in the list)
|
|
|
|
* Eliminated redundant re-makes of files in the various makefiles.
|
|
For one thing, `*.cfg' files are no longer generated from the
|
|
makefiles, but are independent from them. (I didn't like the idea
|
|
of having to compile an entire branch each time I edit a
|
|
makefile...) Also, intermediate files are now retained instead of
|
|
deleted.
|
|
|
|
* Also made some changes to `build.bat' (you'll know them when you
|
|
see them).
|
|
|
|
* Added a file `lib/libm.mak'
|
|
|
|
* Added a file `kernel/krnstart
|
|
|
|
* The code required to initialize the kernel (or rather most of it)
|
|
is no longer retained in memory after the initialization process is
|
|
done. I accomplished this by moving most of the initialization code
|
|
from `_TEXT' to a new segment named `INIT_TEXT'. Of course, I also
|
|
had to introduce lots of other changes in order for everything to
|
|
compile and run properly:
|
|
- Added code to `kernel/src/kernel/kernel.asm' to move the contents
|
|
of `INIT_TEXT' to the top of conventional memory and continue
|
|
from there. Control is only transferred back to `_TEXT' when the
|
|
kernel calls `p_0'.
|
|
- Many functions are called from both `_TEXT' and `INIT_TEXT'. To
|
|
fix this, I created far wrappers for these functions which can
|
|
then be called from `INIT_TEXT'. (E.g. for `execrh' there's a
|
|
corresponding far function named `init_call_execrh' which simply
|
|
calls `execrh' with its own parameters.) One exception to this is
|
|
`printf' -- instead of creating a far wrapper for a near
|
|
`printf', I created a near wrapper for a far `printf' (now called
|
|
`init_call_printf'), because it was easier that way. :)
|
|
- Most functions which are required only during initialization time
|
|
were shifted into `INIT_TEXT'. (There are still some functions
|
|
which should rightfully go into `INIT_TEXT', but are retained in
|
|
`_TEXT' as far functions, because I found it too difficult to
|
|
move them out. :( ) Because Turbo C only allows at most one code
|
|
segment to be defined for each module, I had to shift some
|
|
functions around within the source tree -- the file
|
|
`kernel/src/kernel/proto.h' says it all.
|
|
- A cosmetic change mentioned here for completeness: all functions
|
|
defined in `INIT_TEXT' are now marked with the word `INIT' (in
|
|
fact a null macro) so that the reader can easily distinguish them
|
|
from functions defined in `_TEXT'.
|
|
|
|
* Replaced `exit' calls with `for (;;);'.
|
|
|
|
* Changed `strcpy' into a macro which calls `scopy'.
|
|
|
|
* Also redefined `setvec' to be a macro (I didn't want to waste time
|
|
writing a far wrapper for it).
|
|
|
|
* Removed the `break_key' function in `kernel/src/kernel/kernel.asm'.
|
|
|
|
* `low_int25_handler' and `low_int26_handler' are now of type
|
|
`void interrupt far()' instead of `void near()'. (I hope I updated
|
|
`entry.asm' correctly -- I never tested `int 0x25' and `int 0x26'...)
|
|
|
|
* Changed the class of `_BSSEND' from "STACK" to "BSS" -- "STACK" is
|
|
now used for a separate stack segment (`_STACK').
|
|
|
|
* Assembler modules now include `segs.inc' instead of having their
|
|
own long list of segment definitions. (Some day I'll update the
|
|
makefile dependencies to reflect this.)
|
|
|
|
* Also made a few minor changes to the assembler modules so that
|
|
`masm' won't complain.
|
|
|
|
* Changed the `-X' switch in `kernel.cfg' to `-X-', so that I don't
|
|
have to worry about C module dependencies.
|
|
|
|
* Removed the definition of `CFLAGS' from the makefile -- everything
|
|
is now in `kernel.cfg'.
|
|
|
|
* Created a file `kernel/src/kernel/init-mod.h' which is included by
|
|
modules whose code is supposed to go into `INIT_TEXT' instead of
|
|
`TEXT'.
|
|
|
|
* This diff solves the problem of the MCB of a process not having a
|
|
correct value in its name field (bug report #6).
|
|
(The definition of the `toupper' macro is because I shifted the
|
|
`toupper' function into `INIT_TEXT' a while ago, and therefore
|
|
can't be called from `_TEXT' now...)
|
|
|
|
|
|
-------- John Price (linux-guru@gcfl.net)
|
|
* Made changes so you can create a directory with the same name as a
|
|
volume label, but you still can't rename or delete it!
|
|
|
|
* Fix findfirst and findnext functions so that act as they should.
|
|
(i.e. If the attrib has only the volume label set, then it returns
|
|
the volume label entry in the root directory, else it returns the
|
|
files/directories that are specified with the attrib, ignoring the
|
|
read-only and archive bits (these are always returned).
|
|
|
|
* reorginize the source tree. Removed IPL directory, and command.
|
|
Moved all the file system C files into the kernel directory.
|
|
Modifed build.bat, clean.bat, and all the make files to reflect the
|
|
new tree.
|
|
|
|
* changed so that kernel will look for a "fdconfig.sys" file, and use
|
|
it INSTEAD of config.sys. If it does not find it, it will look
|
|
for, and read config.sys, if it exists.
|
|
|
|
* Fixed so that if you call an INT 21 function with AH containing a
|
|
unsupported function, the carry flag is set.
|
|
|
|
|
|
----- older history, from rcs logs.
|
|
|
|
13 Nov 2002 tom
|
|
initclk.c:
|
|
Initial revision
|
|
|
|
2001/11/04 bartoldeman
|
|
install.bat:
|
|
Text files need to be LF ended at the server. So be it...
|
|
|
|
2001/04/29 brianreifsnyder
|
|
dsk.c:
|
|
Added phase 1 support for LBA hard drives
|
|
|
|
20 Apr 2001 Bart Oldeman
|
|
buffer.h:
|
|
Initial revision.
|
|
|
|
2001/04/16 bartoldeman
|
|
dsk.c:
|
|
Fixed handles, config.sys drivers, warnings. Enabled INT21/AH=6C, printf %S/%Fs
|
|
|
|
2001/04/15 bartoldeman
|
|
dsk.c:
|
|
See history.txt for the list of fixes.
|
|
|
|
2001/03/27 bartoldeman
|
|
dsk.c:
|
|
dsk.c (reported by Nagy Daniel), inthndlr and int25/26 fixes by Tom Ehlert.
|
|
|
|
2001/03/24 bartoldeman
|
|
dsk.c:
|
|
See history.txt: dsk.c changes, warning removal and int21 entry handling.
|
|
|
|
2001/03/22 bartoldeman
|
|
install.bat:
|
|
Change LF to CR/LF in batch files.
|
|
|
|
2001/03/21 bartoldeman
|
|
dsk.c:
|
|
See history.txt for changes. Bug fixes and HMA support are the main ones.
|
|
|
|
2001/03/16 tom ehlert
|
|
inithma.c:
|
|
initial creation
|
|
|
|
2001/03/08 bartoldeman
|
|
dsk.c:
|
|
Space saving fixes from Tom Ehlert
|
|
|
|
2001/03/07 10:00:00 tomehlert
|
|
prf.c:
|
|
recoded for smaller object footprint, added main() for testing+QA
|
|
|
|
2000/10/29 jimtabor
|
|
inthndlr.c:
|
|
Adding Share Support by Ron Cemer
|
|
|
|
2000/08/15 jhall1
|
|
build.txt:
|
|
update to the build.txt file to remove references to the now-defunct
|
|
web site at gcfl.net (John's old site).
|
|
|
|
2000/08/06 jimtabor
|
|
inthndlr.c, nls_load.c:
|
|
Add new files and update cvs with patches and changes
|
|
|
|
2000/06/21 jimtabor
|
|
dsk.c, inthndlr.c:
|
|
Add UMB code, patch, and code fixes
|
|
|
|
2000/06/01 jimtabor
|
|
dsk.c:
|
|
Read History for Changes
|
|
|
|
2000/05/26 jimtabor
|
|
dsk.c:
|
|
Read History file for Change info
|
|
|
|
2000/05/25 jimtabor
|
|
dsk.c, inthndlr.c:
|
|
Fixed project history
|
|
|
|
2000/05/17 jimtabor
|
|
dsk.c, inthndlr.c:
|
|
Cleanup, add and fix source.
|
|
|
|
2000/05/11 jimtabor
|
|
inthndlr.c:
|
|
Removed #if statement
|
|
|
|
2000/05/11 jimtabor
|
|
dsk.c, inthndlr.c:
|
|
Added code for DOS FN 69 & 6C
|
|
|
|
2000/05/11 jimtabor
|
|
install.bat, inthndlr.c:
|
|
Clean up and Release
|
|
|
|
2000/05/08 jimtabor
|
|
inthndlr.c, dosnames.c, dsk.c, dosnames.h, build.txt:
|
|
Update CVS to 2020
|
|
|
|
2000/05/06 jhall1
|
|
getvec.asm, dsk.c, inthndlr.c:
|
|
The FreeDOS Kernel. A DOS kernel that aims to be 100% compatible with
|
|
MS-DOS. Distributed under the GNU GPL.
|
|
|
|
2000/04/29 jtabor
|
|
device.h, blockio.c, dsk.c, fatfs.c, inthndlr.c, ioctl.c:
|
|
Added new functions and clean up code
|
|
|
|
2000/04/02 jtabor
|
|
newstuff.c:
|
|
Fix ChgDir Code
|
|
|
|
2000/04/02 jtabor
|
|
dosfns.c:
|
|
Replaced ChgDir Code
|
|
|
|
2000/04/02 jtabor
|
|
dosfns.c:
|
|
Fix to DosChgDir
|
|
|
|
2000/03/31 jprice
|
|
sys.c:
|
|
Added discription of program.
|
|
|
|
2000/03/31 jtabor
|
|
config.c, dosfns.c, dosnames.c, fatdir.c, fcbfns.c, int2f.asm, main.c,
|
|
makefile, network.c, newstuff.c, proto.h, task.c:
|
|
Added Eric W. Biederman Patches
|
|
|
|
2000/03/23 ska
|
|
nls.c:
|
|
Initial revision
|
|
|
|
2000/03/20 kernel
|
|
entry.asm:
|
|
Change in Entry.asm
|
|
|
|
2000/03/18 kernel
|
|
intfns.txt:
|
|
changes in supported functions
|
|
|
|
2000/03/17 kernel
|
|
config.c, fatdir.c, fatfs.c, fcbfns.c, inthndlr.c, makefile,
|
|
network.c, nlssupt.asm, proto.h:
|
|
Steffen Kaiser's NLS changes
|
|
|
|
2000/03/17 kernel
|
|
inthndlr.c:
|
|
Fixed Func 0x32
|
|
|
|
2000/03/17 kernel
|
|
fatfs.c:
|
|
Added Change for media_check
|
|
|
|
2000/03/16 kernel
|
|
globals.h, inthndlr.c:
|
|
*** empty log message ***
|
|
|
|
2000/03/09 kernel
|
|
dosfns.c, dosnames.c, dsk.c, error.c, execrh.asm, fatdir.c, fatfs.c,
|
|
fcbfns.c, globals.h, initoem.c, int2f.asm, inthndlr.c, io.asm,
|
|
ioctl.c, kernel.asm, main.c, makefile, memmgr.c, misc.c, network.c,
|
|
newstuff.c, prf.c, proto.h, strings.c, sysclk.c, task.c, blockio.c,
|
|
break.c, chario.c, config.c, console.asm, cds.h, dcb.h, device.h,
|
|
dirmatch.h, fnode.h, mcb.h, sft.h, stacks.inc:
|
|
2017f updates by James Tabor
|
|
|
|
1999/09/25 jprice
|
|
boot.asm:
|
|
Optimize boot loader. Documentation.
|
|
|
|
1999/09/24 jprice
|
|
boot.asm:
|
|
Added changes recommended by Jens Horstmeier
|
|
to make their bootable CD work.
|
|
|
|
1999/09/23 jprice
|
|
main.c, network.c, proto.h, globals.h, inthndlr.c, kernel.asm,
|
|
makefile, config.c, console.asm, dosfns.c, entry.asm, fatfs.c,
|
|
fcbfns.c, chario.c, boot.asm, fcb.h, sys/makefile, sys.c:
|
|
*** empty log message ***
|
|
|
|
1999/09/20 jprice
|
|
sys.c:
|
|
Changed open/creat to fopen to make TC2 happy.
|
|
|
|
1999/09/15 jprice
|
|
sys.c:
|
|
Changed boot sector writing code so easier to read.
|
|
|
|
1999/09/14 jprice
|
|
lib/makefile:
|
|
no message
|
|
|
|
1999/09/14 jprice
|
|
sys.c:
|
|
Added debug log creation to sys.com.
|
|
|
|
1999/09/14 jprice
|
|
console.asm:
|
|
no message
|
|
|
|
1999/09/14 jprice
|
|
inthndlr.c:
|
|
ror4: fix int25 & 26 are not cached.
|
|
|
|
1999/09/14 jprice
|
|
fatfs.c, dosfns.c:
|
|
Fixed bug where you could write over directories.
|
|
|
|
1999/09/13 jprice
|
|
inthndlr.c, console.asm:
|
|
Fix 210B function
|
|
|
|
1999/09/13 jprice
|
|
console.asm:
|
|
Changes from Helmut Fritsch to fix INT21 func B
|
|
|
|
1999/09/13 jprice
|
|
makefile:
|
|
Some clean up.
|
|
|
|
1999/09/13 jprice
|
|
config.b, config.b:
|
|
Added COMPILER variable
|
|
|
|
1999/09/13 jprice
|
|
lib/makefile:
|
|
Added !if so we can use TC2 or TC3 to compile.
|
|
|
|
1999/08/25 jprice
|
|
build.txt:
|
|
update
|
|
|
|
1999/08/25 jprice
|
|
config.b, clobber.bat, clean.bat, config.b, build.bat:
|
|
New build batch files.
|
|
|
|
1999/08/25 jprice
|
|
intfns.txt, build.txt, build.bat:
|
|
New build config
|
|
|
|
1999/08/25 jprice
|
|
config.b, sys/makefile, sys.c, lib/makefile, task.c, main.c, makefile,
|
|
memmgr.c, newstuff.c, proto.h, strings.c, fatfs.c, globals.h,
|
|
initoem.c, inthndlr.c, blockio.c, chario.c, config.c, dosfns.c,
|
|
fatdir.c, date.h, dirmatch.h, portab.h, time.h, drivers/makefile,
|
|
install.bat:
|
|
ror4 patches to allow TC 2.01 compile.
|
|
|
|
1999/08/10 jprice
|
|
clobber.bat:
|
|
case
|
|
|
|
1999/08/10 jprice
|
|
dsk.c, inthndlr.c:
|
|
ror4 2011-04 patch
|
|
|
|
1999/08/10 jprice
|
|
globals.h, inthndlr.c, fatfs.c, fattab.c, blockio.c:
|
|
ror4 2011-03 patch
|
|
|
|
1999/08/10 jprice
|
|
irqstack.asm, kernel.asm, makefile, nlssupt.asm, printer.asm,
|
|
procsupt.asm, segs.inc, apisupt.asm, asmsupt.asm, console.asm, entry.asm, execrh.asm, fatdir.c,
|
|
int2f.asm, io.asm, io.inc, stacks.inc:
|
|
ror4 2011-02 patch
|
|
|
|
1999/08/10 jprice
|
|
wrpcclk.asm, wratclk.asm, rdpcclk.asm, drivers/makefile, getvec.asm, floppy.asm:
|
|
ror4 2011-01 patch
|
|
|
|
1999/05/04 jprice
|
|
systime.c:
|
|
ror4 date fix
|
|
|
|
1999/05/03 jprice
|
|
fat.h:
|
|
Changed some variables from signed to unsigned.
|
|
|
|
1999/05/03 jprice
|
|
blockio.c, config.c, dosfns.c, fatdir.c, fatfs.c, fattab.c, globals.h,
|
|
inthndlr.c, misc.c, proto.h:
|
|
Patches from ror4 and many changed of signed to unsigned variables.
|
|
|
|
1999/05/03 jprice
|
|
sys/makefile:
|
|
no message
|
|
|
|
1999/05/03 jprice
|
|
fatfs.c:
|
|
Fixed bug in map_cluster function
|
|
|
|
1999/05/03 jprice
|
|
blockio.c:
|
|
Changed getblock & getbuf so that they leave at least 3 buffer for FAT data.
|
|
|
|
1999/04/23 jprice
|
|
procsupt.asm:
|
|
Fixed got_cbreak function.
|
|
|
|
1999/04/23 jprice
|
|
makefile:
|
|
no message
|
|
|
|
1999/04/23 jprice
|
|
asmsupt.asm, inthndlr.c, memmgr.c, misc.c, proto.h, task.c:
|
|
Memory manager changes made by ska
|
|
|
|
1999/04/23 jprice
|
|
clobber.bat:
|
|
Initial include
|
|
|
|
1999/04/23 jprice
|
|
clean.bat, build.bat, sys/makefile, lib/makefile, makefile, drivers/makefile:
|
|
Improved by jprice
|
|
|
|
1999/04/23 jprice
|
|
boot/makefile:
|
|
Ported to NASM by ror4. Improvements
|
|
|
|
1999/04/23 jprice
|
|
boot.asm:
|
|
Ported to NASM by ror4
|
|
|
|
1999/04/21 jprice
|
|
blockio.c:
|
|
no message
|
|
|
|
1999/04/18 jprice
|
|
blockio.c:
|
|
no message
|
|
|
|
1999/04/17 jprice
|
|
sys.c, boot.asm:
|
|
Fixed multi-sector code
|
|
|
|
1999/04/17 jprice
|
|
build.bat:
|
|
ror4 patches
|
|
|
|
1999/04/17 jprice
|
|
boot.asm:
|
|
Changed so multi-sector IO is optional.
|
|
|
|
1999/04/16 jprice
|
|
blockio.c, config.c, dsk.c, globals.h, main.c, proto.h, floppy.asm:
|
|
ror4 multi-sector IO
|
|
|
|
1999/04/16 jprice
|
|
break.c:
|
|
Steffen contributed.
|
|
|
|
1999/04/16 jprice
|
|
dosfns.c, globals.h, inthndlr.c, irqstack.asm, main.c, makefile, procsupt.asm,
|
|
proto.h, chario.c, config.c:
|
|
Steffen c-break handler changes
|
|
|
|
1999/04/16 jprice
|
|
fatfs.c, fattab.c, globals.h, main.c, task.c, blockio.c, config.c,
|
|
dsk.c, fatdir.c, fnode.h, dcb.h:
|
|
Optimized FAT handling
|
|
|
|
1999/04/13 jprice
|
|
kernel.asm:
|
|
changes for boot loader
|
|
|
|
1999/04/13 jprice
|
|
boot.asm:
|
|
Moves boot sector to top of mem
|
|
|
|
1999/04/13 jprice
|
|
makefile, fatdir.c, drivers/makefile:
|
|
no message
|
|
|
|
1999/04/12 jprice
|
|
fatfs.c, blockio.c:
|
|
Using getbuf to write data instead of getblock
|
|
using getblock made it read the block before it wrote it
|
|
|
|
1999/04/12 jprice
|
|
systime.c, config.c, dosfns.c, fatfs.c, globals.h, main.c, proto.h,
|
|
sysclk.c:
|
|
more ror4 patches. Changes for multi-block IO
|
|
|
|
1999/04/12 jprice
|
|
rdpcclk.asm, rdatclk.asm:
|
|
more ror4 patches
|
|
|
|
1999/04/11 jprice
|
|
blockio.c:
|
|
Working on multi-block IO
|
|
|
|
1999/04/11 jprice
|
|
globals.h, inthndlr.c, main.c, newstuff.c, proto.h, task.c, blockio.c,
|
|
config.c, dosfns.c, fatdir.c, fatfs.c, fattab.c:
|
|
ror4 patches
|
|
|
|
1999/04/06 jprice
|
|
boot.asm:
|
|
Put back code to read multiple sectors at a time.
|
|
|
|
1999/04/04 jprice
|
|
config.c, globals.h, inthndlr.c, main.c, dosfns.c, dosnames.c,
|
|
fatdir.c, fatfs.c, fcbfns.c, globals.h, inthndlr.c, ioctl.c, main.c,
|
|
newstuff.c, prf.c, proto.h, strings.c, chario.c, sft.h, device.h:
|
|
no message
|
|
|
|
1999/04/01 jprice
|
|
sys.c:
|
|
SYS modified for new boot loader
|
|
|
|
1999/04/01 jprice
|
|
boot/makefile, boot.asm:
|
|
New boot loader
|
|
|
|
1999/04/01 jprice
|
|
install.bat:
|
|
no message
|
|
|
|
1999/03/29 jprice
|
|
wrpcclk.asm, wratclk.asm, rdpcclk.asm, rdatclk.asm, drivers/makefile,
|
|
getvec.asm, floppy.asm, globals.h, io.inc, task.c:
|
|
ror4 changes
|
|
|
|
1999/03/29 jprice
|
|
sys.c:
|
|
Fixed error message
|
|
|
|
1999/03/29 jprice
|
|
sys.c, syspack.c, prf.c, misc.c, fcbfns.c, fattab.c, fatfs.c,
|
|
fatdir.c, error.c, dosnames.c, dosfns.c, chario.c, blockio.c, task.c,
|
|
systime.c, sysclk.c, strings.c, proto.h, segs.inc, procsupt.asm,
|
|
printer.asm, nlssupt.asm, newstuff.c, memmgr.c, main.c, makefile,
|
|
kernel.asm, irqstack.asm, ioctl.c, io.inc, io.asm, inthndlr.c,
|
|
int2f.asm, globals.h, initoem.c, execrh.asm, entry.asm, dsk.c,
|
|
console.asm, config.c, asmsupt.asm, apisupt.asm, wrpcclk.asm,
|
|
wratclk.asm, rdpcclk.asm, rdatclk.asm, getvec.asm, floppy.asm,
|
|
drivers/makefile, install.bat, boot/makefile, boot.asm, tail.h,
|
|
time.h, sft.h, stacks.inc, process.h, portab.h, pcb.h, kbd.h, mcb.h,
|
|
file.h, fnode.h, fcb.h, exe.h, fat.h, dosnames.h, error.h, device.h,
|
|
date.h, dcb.h, cds.h, clock.h, dirmatch.h, intfns.txt, clean.bat,
|
|
build.bat:
|
|
New version without IPL.SYS
|
|
|
|
1999/03/25 jprice
|
|
fatdir.c:
|
|
Fixed findfirst & findnext functions to treat the attributes like MSDOS does.
|
|
|
|
1999/03/23 jprice
|
|
inthndlr.c:
|
|
Now sets carry when we don't support a function
|
|
|
|
1999/03/23 jprice
|
|
config.c:
|
|
Now checks for a reads fdconfig.sys file, if exists
|
|
|
|
1999/03/23 jprice
|
|
fatfs.c:
|
|
Fixed mkdir DOS function so it will create a directory with same name as the volument label
|
|
|
|
1999/03/02 jprice
|
|
inthndlr.c:
|
|
Added some comments. Fixed some minor bugs.
|
|
|
|
1999/03/02 jprice
|
|
fatfs.c:
|
|
Fixed bugs with dos set attribute function. Now returns correct
|
|
error code, and errors if user tries to set bits 6 & 7.
|
|
|
|
1999/03/02 jprice
|
|
boot.asm:
|
|
Added entry address for more recent versions of TLINK
|
|
|
|
1999/03/02 jprice
|
|
intfns.txt:
|
|
Updated interrupt list
|
|
|
|
1999/03/01 jprice
|
|
makefile:
|
|
Fixed so it'll work with config.mak
|
|
|
|
1999/03/01 jprice
|
|
makefile:
|
|
Turned off DEBUG define.
|
|
|
|
1999/03/01 jprice
|
|
inthndlr.c:
|
|
Added some DEBUG ifdef's so that it will compile without DEBUG defined.
|
|
|
|
1999/02/14 jprice
|
|
fatdir.c, dsk.c:
|
|
Changed check media so that it checks if a floppy disk has been changed.
|
|
|
|
1999/02/14 jprice
|
|
floppy.asm:
|
|
Added functions to check if a floppy disk has been changed.
|
|
|
|
1999/02/09 jprice
|
|
makefile, drivers/makefile, boot/makefile, clean.bat, build.bat:
|
|
Make makefile use common config.mak file
|
|
|
|
1999/02/09 jprice
|
|
blockio.c, chario.c, dosfns.c, error.c, fatdir.c, fatfs.c, fattab.c,
|
|
fcbfns.c, device.h, error.h, sysclk.c, systime.c, task.c, apisupt.asm,
|
|
asmsupt.asm, config.c, console.asm, dsk.c, entry.asm, execrh.asm,
|
|
globals.h, initoem.c, int2f.asm, inthndlr.c, io.asm, io.inc, ioctl.c,
|
|
irqstack.asm, kernel.asm, main.c, makefile, memmgr.c, newstuff.c,
|
|
nlssupt.asm, printer.asm, procsupt.asm, proto.h, segs.inc, floppy.asm:
|
|
Added Pat's 1937 kernel patches
|
|
|
|
1999/02/04 jprice
|
|
chario.c, fatfs.c, fcbfns.c, strings.c, sysclk.c, systime.c, task.c:
|
|
Formating. Added comments.
|
|
|
|
1999/02/04 jprice
|
|
inthndlr.c:
|
|
Formating
|
|
|
|
1999/02/04 jprice
|
|
makefile:
|
|
Added option to share constants (-d).
|
|
|
|
1999/02/04 jprice
|
|
device.h:
|
|
no message
|
|
|
|
1999/02/02 jprice
|
|
dosnames.c:
|
|
Steve Miller fixed a bug with doing "cd ." would lock the machine.
|
|
|
|
1999/02/01 jprice
|
|
apisupt.asm, asmsupt.asm, config.c, dsk.c, entry.asm, execrh.asm, globals.h,
|
|
initoem.c, int2f.asm, inthndlr.c, ioctl.c, irqstack.asm, kernel.asm,
|
|
main.c, memmgr.c, newstuff.c, nlssupt.asm, procsupt.asm, proto.h,
|
|
strings.c, sysclk.c, systime.c, task.c:
|
|
Clean up; Now you can use hex numbers in config.sys. added config.sys screen function to change screen mode (28 or 43/50 lines)
|
|
|
|
1999/02/01 jprice
|
|
chario.c, dosfns.c, dosnames.c, error.c, fatdir.c, fatfs.c, fattab.c,
|
|
fcbfns.c, misc.c, prf.c, syspack.c, blockio.c:
|
|
Fixed findfirst function to find volume label with Windows long filenames
|
|
|
|
1999/02/01 jprice
|
|
cds.h, clock.h, date.h, dcb.h, device.h, dirmatch.h, dosnames.h, error.h,
|
|
exe.h, fat.h, fcb.h, file.h, fnode.h, kbd.h, mcb.h, pcb.h, portab.h, process.h,
|
|
sft.h, stacks.inc, tail.h, time.h:
|
|
Clean up
|
|
|
|
1999/01/30 jprice
|
|
clean.bat, build.bat:
|
|
Clean up
|
|
|
|
1999/01/30 jprice
|
|
main.c, config.c, initoem.c, inthndlr.c:
|
|
Clean up; Fixed bug with set attribute function.
|
|
|
|
1999/01/30 jprice
|
|
globals.h:
|
|
Clean up; commented out copyright messages while we debug.
|
|
|
|
1999/01/30 jprice
|
|
blockio.c, fatdir.c, fatfs.c:
|
|
Clean up; Fixed bug with set attribute function. If you tried to
|
|
change the attributes of a directory, it would erase it.
|
|
|
|
1999/01/30 jprice
|
|
cds.h, clock.h, error.h, fat.h, fnode.h, build.bat:
|
|
Clean up
|
|
|
|
1999/01/22 jprice
|
|
cds.h, clock.h, date.h, dcb.h, device.h, dirmatch.h, dosnames.h, error.h,
|
|
exe.h, fat.h, fcb.h, file.h, fnode.h, kbd.h, mcb.h, pcb.h, portab.h, process.h,
|
|
sft.h, stacks.inc, tail.h, time.h, wrpcclk.asm, wratclk.asm,
|
|
rdpcclk.asm, rdatclk.asm, drivers/makefile, getvec.asm, floppy.asm,
|
|
blockio.c, chario.c, dosfns.c, dosnames.c, error.c, fatdir.c, fatfs.c,
|
|
fattab.c, fcbfns.c, misc.c, prf.c, syspack.c, procsupt.asm, proto.h,
|
|
strings.c, sysclk.c, systime.c, task.c, globals.h, initoem.c,
|
|
int2f.asm, inthndlr.c, ioctl.c, irqstack.asm, kernel.asm, main.c,
|
|
makefile, memmgr.c, newstuff.c, nlssupt.asm, apisupt.asm, asmsupt.asm,
|
|
config.c, dsk.c, entry.asm, execrh.asm, boot/makefile, boot.asm:
|
|
Formating.
|
|
|
|
1999/01/21 jprice Fixed comments.
|
|
sys.c:
|
|
Added indent program
|
|
|
|
1999/01/21 jprice Added messages to sys. Also made
|
|
sys.c:
|
|
it create a .COM file.
|
|
|
|
1999/01/20 jprice
|
|
cds.h, clock.h, date.h, dcb.h, device.h, dirmatch.h, dosnames.h, error.h,
|
|
exe.h, fat.h, fcb.h, file.h, fnode.h, kbd.h, mcb.h, pcb.h, portab.h, process.h,
|
|
sft.h, stacks.inc, tail.h, time.h, apisupt.asm, asmsupt.asm, config.c, dsk.c,
|
|
entry.asm, execrh.asm, globals.h, initoem.c, int2f.asm, ioctl.c, irqstack.asm,
|
|
kernel.asm, main.c, makefile, memmgr.c, newstuff.c, nlssupt.asm,
|
|
procsupt.asm, proto.h, strings.c, sysclk.c, systime.c, task.c:
|
|
Imported sources
|
|
|
|
1999/01/20 jprice
|
|
wrpcclk.asm, wratclk.asm, rdpcclk.asm, rdatclk.asm, drivers/makefile,
|
|
getvec.asm, floppy.asm, boot/makefile, boot.asm, blockio.c, chario.c, dosfns.c,
|
|
dosnames.c, error.c, fatdir.c, fatfs.c, fattab.c, fcbfns.c,
|
|
inthndlr.c, misc.c, prf.c, syspack.c:
|
|
Imported sources
|
|
|
|
10 Jan 1999 SRM
|
|
makefile:
|
|
Took out "/P-" from TLINK
|
|
Changed "bcc" to "tcc"
|
|
|
|
06 Dec 1998 patv
|
|
entry.asm:
|
|
New int 21h handler code.
|
|
|
|
06 Dec 1998 patv
|
|
inthndlr.c:
|
|
Expanded due to improved int 21h handler code.
|
|
|
|
06 Dec 1998 patv
|
|
ioctl.c, proto.h, apisupt.asm, globals.h:
|
|
Expanded due to new I/O subsystem.
|
|
|
|
06 Dec 1998 patv
|
|
makefile:
|
|
Added new files for I/O subsystem.
|
|
|
|
06 Dec 1998 patv
|
|
main.c, dsk.c:
|
|
Changed due to new I/O subsystem.
|
|
|
|
06 Dec 1998 patv
|
|
irqstack.asm, newstuff.c, int2f.asm, kernel.asm, systime.c,
|
|
nlssupt.asm, asmsupt.asm, procsupt.asm, task.c, execrh.asm, fatdir.c,
|
|
fatfs.c:
|
|
Bug fixes.
|
|
|
|
06 Dec 1998 patv
|
|
dosfns.c:
|
|
Expanded dos functions due to new I/O subsystem.
|
|
|
|
06 Dec 1998 patv
|
|
fcbfns.c:
|
|
Expanded fcb functions for new I/O subsystem.
|
|
|
|
06 Dec 1998 patv
|
|
error.c:
|
|
Now handles errors like MS-DOS.
|
|
|
|
06 Dec 1998 patv
|
|
chario.c:
|
|
changes in character I/O because of new I/O subsystem.
|
|
|
|
06 Dec 1998 patv
|
|
blockio.c:
|
|
Changes in block I/O because of new I/O subsystem.
|
|
|
|
06 Dec 1998 patv
|
|
floppy.asm:
|
|
New floppy support functions.
|
|
|
|
06 Dec 1998 patv
|
|
device.h:
|
|
Changed for new I/O subsystem
|
|
|
|
06 Dec 1998 patv
|
|
error.h:
|
|
Added new errors for new I/O subsystem.
|
|
|
|
06 Dec 1998 patv
|
|
io.inc, segs.inc:
|
|
Initial revision.
|
|
|
|
09 Feb 1998 patv
|
|
fatfs.c, fattab.c:
|
|
Eliminated FAT12 EOF and error returns.
|
|
|
|
07 Feb 1998 patv
|
|
stacks.inc, pcb.h, entry.asm, procsupt.asm, inthndlr.c, task.c,
|
|
globals.h, proto.h:
|
|
Modified stack fram to match DOS standard
|
|
|
|
03 Feb 1998 patv
|
|
kernel.asm:
|
|
Added a start-up stack for loadable device drivers. Need the separate
|
|
stack so that all int 21h functions can be called.
|
|
|
|
03 Feb 1998 patv
|
|
fatfs.c:
|
|
Fixed lseek bug.
|
|
|
|
02 Feb 1998 patv
|
|
globals.h:
|
|
Fixed size of default_drive. Caused failures when break_ena was not zero.
|
|
|
|
31 Jan 1998 patv
|
|
task.c:
|
|
Corrected type in load high code.
|
|
|
|
31 Jan 1998 patv
|
|
task.c:
|
|
Added load high in memory option in DosExeLoader.
|
|
|
|
22 Jan 1998 patv
|
|
task.c:
|
|
Eliminated warnings.
|
|
|
|
22 Jan 1998 patv
|
|
process.h:
|
|
Had to change ps_prevps to VOID FAR * due to BC++ error.
|
|
|
|
22 Jan 1998 patv
|
|
process.h:
|
|
Corrected ps_prevpsp declaration.
|
|
|
|
22 Jan 1998 patv
|
|
task.c:
|
|
Corrected short .COM problem.
|
|
|
|
22 Jan 1998 patv
|
|
makefile:
|
|
Outdated stacks.asm.
|
|
|
|
22 Jan 1998 patv
|
|
fatfs.c:
|
|
Corrected remaining file name and extension copies that did not
|
|
account for far file nodes due to allocated FILES= spec.
|
|
|
|
22 Jan 1998 patv
|
|
inthndlr.c, proto.h, config.c, globals.h, kernel.asm, main.c,
|
|
blockio.c, dosnames.c, fatdir.c, fatfs.c:
|
|
Fixed pointer problems affecting SDA
|
|
|
|
11 Jan 1998 patv
|
|
ioctl.c, proto.h, chario.c, device.h:
|
|
Added functionality to ioctl.
|
|
|
|
08 Jan 1998 patv
|
|
chario.c:
|
|
Changed automatic requestic packets to static to save stack space.
|
|
|
|
06 Jan 1998 patv
|
|
inthndlr.c:
|
|
Broke apart int21_system from int21_handler.
|
|
|
|
06 Jan 1998 patv
|
|
kernel.asm:
|
|
Reduced device driver stack sizes.
|
|
|
|
04 Jan 1998 patv
|
|
globals.h, proto.h, inthndlr.c, newstuff.c, systime.c, main.c,
|
|
config.c, ioctl.c, memmgr.c, dsk.c, initoem.c, strings.c, sysclk.c,
|
|
task.c, fatfs.c, chario.c, dosfns.c, dosnames.c, fattab.c, fcbfns.c,
|
|
prf.c, syspack.c, blockio.c, error.c, fatdir.c, misc.c, device.h,
|
|
cds.h, clock.h, date.h, dcb.h, fat.h, file.h, fnode.h, kbd.h, mcb.h,
|
|
pcb.h, sft.h, dirmatch.h, error.h, exe.h, fcb.h, portab.h, process.h,
|
|
tail.h, time.h:
|
|
Changed Log for strip utility
|
|
|
|
04 Jan 1998 patv
|
|
kernel.asm, inthndlr.c, main.c, config.c, newstuff.c, fatfs.c:
|
|
Corrected subdirectory bug
|
|
|
|
03 Jan 1998 patv
|
|
globals.h, kernel.asm, makefile, systime.c, inthndlr.c, main.c,
|
|
proto.h, asmsupt.asm, dosfns.c, dosnames.c, fatfs.c, blockio.c,
|
|
fatdir.c, fcbfns.c:
|
|
Converted data area to SDA format
|
|
|
|
31 Dec 1997 patv
|
|
strings.c:
|
|
Added new far string functions.
|
|
|
|
30 Dec 1997 patv
|
|
chario.c:
|
|
Modified to support SDA
|
|
|
|
01 Aug 1997 patv
|
|
inthndlr.c:
|
|
COMPATIBILITY: Added return '$' in AL for function int 21h fn 09h
|
|
|
|
06 Feb 1997 patv
|
|
kernel.asm:
|
|
Reduced stack sizes for block and clock devices.
|
|
|
|
06 Feb 1997 patv
|
|
globals.h:
|
|
Changed version format string
|
|
|
|
06 Feb 1997 patv
|
|
main.c:
|
|
Modified to support new version format and changed debug message to
|
|
output drive letter instead of number.
|
|
|
|
06 Feb 1997 patv
|
|
globals.h:
|
|
Modified to support new version format
|
|
|
|
06 Feb 1997 patv
|
|
inthndlr.c, kernel.asm:
|
|
Added hooks for tsc command
|
|
|
|
30 Jan 1997 patv
|
|
makefile:
|
|
Added TSC flag for trace support.
|
|
|
|
22 Jan 1997 patv
|
|
newstuff.c, inthndlr.c, task.c, irqstack.asm:
|
|
pre-0.92 Svante Frey bug fixes.
|
|
|
|
22 Jan 1997 patv
|
|
globals.h:
|
|
Changed to support version.h and pre-0.92 Svante Frey bug fixes.
|
|
|
|
22 Jan 1997 patv
|
|
main.c:
|
|
Now does correct default drive initialization.
|
|
|
|
22 Jan 1997 patv
|
|
fatfs.c, dosfns.c:
|
|
pre-0.92 bug fixes
|
|
|
|
16 Jan 1997 patv
|
|
irqstack.asm:
|
|
Initial revision.
|
|
|
|
16 Jan 1997 patv
|
|
globals.h, main.c, memmgr.c, task.c, ioctl.c, config.c, inthndlr.c,
|
|
apisupt.asm, nlssupt.asm, proto.h, makefile, fcbfns.c, chario.c,
|
|
dosnames.c, blockio.c, dosfns.c, fatdir.c, fatfs.c, fattab.c,
|
|
device.h, fcb.h, sft.h, dsk.c, boot.asm:
|
|
Corrected copyright
|
|
|
|
10 Jan 1997 patv
|
|
boot.asm:
|
|
Re-written to support C drive and eliminate restrictions on IPL.SYS
|
|
|
|
10 Jan 1997 patv
|
|
boot/makefile:
|
|
Changed to use FreeDOS exe2bin and support new boot code
|
|
|
|
17 Dec 1996 patv
|
|
boot/makefile:
|
|
Converted to FreeDOS exe2bin.
|
|
|
|
13 Sep 1996 patv
|
|
globals.h:
|
|
Fixed boot for hard drive
|
|
|
|
29 Aug 1996 patv
|
|
makefile, globals.h, task.c, floppy.asm, wrpcclk.asm, wratclk.asm,
|
|
drivers/makefile, rdpcclk.asm, rdatclk.asm, getvec.asm, boot/makefile,
|
|
boot.asm:
|
|
Bug fixes for v0.91b
|
|
|
|
29 May 1996 patv
|
|
clock.h, date.h, dcb.h, kbd.h, dirmatch.h, error.h, exe.h, sft.h,
|
|
tail.h, time.h, fnode.h, mcb.h, pcb.h, portab.h, process.h,
|
|
dosnames.h, fat.h, fcb.h, file.h, device.h, dosfns.c, fatdir.c,
|
|
misc.c, fatfs.c, fattab.c, fcbfns.c, chario.c, dosnames.c, syspack.c,
|
|
blockio.c, error.c, prf.c, initoem.c, sysclk.c, int2f.asm, config.c,
|
|
kernel.asm, inthndlr.c, proto.h, systime.c, apisupt.asm, asmsupt.asm,
|
|
nlssupt.asm, procsupt.asm, task.c, globals.h, memmgr.c, dsk.c, main.c,
|
|
makefile, execrh.asm, ioctl.c, strings.c:
|
|
bug fixes for v0.91a
|
|
|
|
19 Feb 1996 patv
|
|
int2f.asm:
|
|
Initial revision.
|
|
|
|
19 Feb 1996 patv
|
|
makefile, kernel.asm, nlssupt.asm, proto.h, globals.h, config.c,
|
|
inthndlr.c, task.c, dsk.c, main.c, memmgr.c, strings.c, initoem.c,
|
|
ioctl.c, sysclk.c, systime.c, fatdir.c, misc.c, fatfs.c, dosfns.c,
|
|
dosnames.c, fattab.c, drivers/makefile, cds.h, dirmatch.h, exe.h,
|
|
sft.h, tail.h, time.h, fcb.h, file.h, fnode.h, mcb.h, pcb.h, portab.h,
|
|
process.h, clock.h, date.h, dcb.h, device.h, dosnames.h, fat.h,
|
|
error.h, kbd.h:
|
|
Added NLS, int2f and config.sys processing
|
|
|
|
01 Sep 1995 patv
|
|
wrpcclk.asm, wratclk.asm, rdpcclk.asm, rdatclk.asm, getvec.asm,
|
|
floppy.asm, boot.asm, apisupt.asm, asmsupt.asm, proto.h, kernel.asm,
|
|
procsupt.asm, execrh.asm, strings.c, task.c, inthndlr.c, memmgr.c,
|
|
dsk.c, main.c, sysclk.c, globals.h, initoem.c, ioctl.c, systime.c,
|
|
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,
|
|
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,
|
|
error.h, exe.h, kbd.h:
|
|
First GPL release.
|
|
|
|
30 Jul 1995 patv
|
|
dsk.c, memmgr.c, proto.h, strings.c, task.c, blockio.c, misc.c, chario.c,
|
|
dosnames.c, error.c, fattab.c, fcbfns.c, prf.c, syspack.c, dosfns.c,
|
|
fatdir.c, fatfs.c, mcb.h, pcb.h, portab.h, process.h, sft.h, tail.h,
|
|
time.h, date.h, dcb.h, device.h, dirmatch.h, dosnames.h, fat.h, fcb.h,
|
|
file.h, fnode.h, clock.h:
|
|
Eliminated version strings in ipl
|
|
|
|
30 Jul 1995 patv
|
|
error.h, kbd.h, exe.h:
|
|
Fixed ipl
|
|
|
|
30 Jul 1995 patv
|
|
boot.asm:
|
|
Initialized stack before use.
|
|
|
|
05 Jul 1995 patv
|
|
asmsupt.asm, proto.h:
|
|
Initial revision.
|
|
|
|
02 Jul 1995 patv
|
|
boot.asm, time.h, tail.h, process.h, sft.h, portab.h, pcb.h, kbd.h,
|
|
mcb.h, fnode.h, file.h, fat.h, fcb.h, exe.h, error.h, dirmatch.h,
|
|
dosnames.h, dcb.h, device.h, date.h, clock.h, boot/makefile,
|
|
procsupt.asm, kernel.asm, execrh.asm, apisupt.asm, task.c, strings.c,
|
|
inthndlr.c, main.c, memmgr.c, dsk.c, sysclk.c, systime.c, ioctl.c,
|
|
initoem.c, globals.h, makefile, misc.c, error.c, fcbfns.c, dosnames.c,
|
|
chario.c, syspack.c, prf.c, fattab.c, fatfs.c, fatdir.c, dosfns.c,
|
|
blockio.c, wrpcclk.asm, wratclk.asm, getvec.asm, rdpcclk.asm,
|
|
rdatclk.asm, floppy.asm, drivers/makefile:
|
|
Initial revision.
|
|
|
|
25 May 1993 patv
|
|
dirmatch.h:
|
|
Initial revision.
|
|
|