Its only purpose left was to flush buffers, which isn't necessary after
just open/read, so we can move that to dir_write().
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1410 6ac86273-5f31-0410-b378-82cca8765d1b
dos_setfsize still needed to merge changes for SHARE so the call was replaced
by a new dos_merge_file_changes() call.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1405 6ac86273-5f31-0410-b378-82cca8765d1b
of opening the file, to avoid needing to claim SFTs in later changes.
Clarify and implement parts of the correct SHARE behaviour.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1393 6ac86273-5f31-0410-b378-82cca8765d1b
sector) fields to the fnode, to make fnodes more compatible with SFTs.
Use them to simplify dir_read() and dir_write().
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1390 6ac86273-5f31-0410-b378-82cca8765d1b
* 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.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1387 6ac86273-5f31-0410-b378-82cca8765d1b
but useful for people who are used to writing HIGH everywhere.
Thanks to Christian Wallbaum the hint that config.txt had both.
Removed code which called int 16.1 in a loop before 16.0 - this
would only be useful if you invoke HLT before each int 16.1 ...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1366 6ac86273-5f31-0410-b378-82cca8765d1b
reads the BIOS (CMOS RTC) date (at boot). Note that according to
RBIL, DRDOS would even hook int 1a ah=4 to force a correct year.
/* A BIOS with y2k (year 2000) bug will always report year 19nn */
if ((dosregs.c.x >= 1900) && (dosregs.c.x < 1980)) dosregs.c.x += 100;
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1359 6ac86273-5f31-0410-b378-82cca8765d1b
you reboot while files are open... Reported by Hardi Stengelin :-).
Always test *link_fat* result. New function is_free_cluster. Extra
checks in *link_fat* (bad r/w offset, i/o, write) and *next_cluster*
(dangling chain: bad value in chain) with short messages (no msg for
bad chain start). Shorter "Bad DPB" (FAT size) msg. More comments!
Update FS INFO on disk only when needed. Check if chain EOF was at
expected place when extending. Call *link_fat* before! *setdstart*
when a FAT chain grows. [Q: Does 0 byte write always trunc? Why?]
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1358 6ac86273-5f31-0410-b378-82cca8765d1b
the virtual / created-by-subst drive when it resolves relative
paths, even though truename returns the "real" drive and dir
of where your files actually are in the end. Using the current
directory of the "real" drive made truename give wrong results.
PS: If "subst e: d:\" says "physical path x:\ cannot be made",
then it refers to "making" a root dir. "subst e: d:\foo" works.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1357 6ac86273-5f31-0410-b378-82cca8765d1b
MODULO 1 MB (paras = low_16_bits(pages<<5) ...) because for e.g.
Turbo C++ 3.0 needs this: Their IDE is 1.3 MB BOSS NE style EXE,
the first < 0.3 MB load a DOS ext which loads and runs the rest.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1348 6ac86273-5f31-0410-b378-82cca8765d1b
Removed HaltCpuWhileIdle handling from GetBiosKey because it is
only used *before* IDLEHALT is processed anyway - in the config
sys menu *and* in CheckContinueBootFromHarddisk. Adding s.th.
like "switches /i" would be a way to enable it a bit earlier.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1346 6ac86273-5f31-0410-b378-82cca8765d1b
if no directory given in template if DOS version is 5.
Older and newer DOS versions just use no dirspec in that case.
This helps ftp.sac.sk/pub/sac/pack/iup067.zip exepacker which
tries to rename the temp file to a file in current directory.
Prepared Truename (21.60) to return 0 if okay, 3a00 if char dev
(and not JOIN / network?). May need further coding to actually
have the intended effect...? Note: The shell TRUENAME command
may change names for display!
Changed the "true DOS version" for FAT16 kernels from 5.0 to
6.22 to reflect the updates in 21.5a and 21.60, other 5 / 6
differences are not simply in the kernel but more in COUNTRY,
KEYB, HIMEM, SMARTDRV, DBLSPACE, EMM386, COMMAND and so on.
In addition, 6.22 is a popular version number to report :-).
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1345 6ac86273-5f31-0410-b378-82cca8765d1b
again, as this made the kernel crash in Bochs in PostConfig
(or short before or after it). FASTBOOT should still be okay.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1341 6ac86273-5f31-0410-b378-82cca8765d1b
"HLT on idle" (dosidle.asm, int2f.asm) and KEYBUF=n[,m] to relocate
the keyboard buffer to another area in the 40:ac..40:1ff range. Global
functions and variables: proto.h DosIdle_hlt, init-mod.h and globals.h
DosIdle_hlt() and HaltCpuWhileIdle.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1339 6ac86273-5f31-0410-b378-82cca8765d1b